Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions code-wrapper.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#!/bin/bash

set -e
shopt -s nullglob

function msg() {
echo "flatpak-vscode: $*" >&2
}

PYTHON_SITEDIR=$(python3 <<EOFPYTHON
import os
import site
print(os.path.relpath(site.getusersitepackages(), site.getuserbase()))
EOFPYTHON
)

for tool_dir in /app/tools/*; do
tool_bindir=$tool_dir/bin
if [ -d "$tool_bindir" ]; then
msg "Adding $tool_bindir to PATH"
export PATH=$PATH:$tool_bindir
fi
tool_pythondir=$tool_dir/$PYTHON_SITEDIR
if [ -d "$tool_pythondir" ]; then
msg "Adding $tool_pythondir to PYTHONPATH"
if [ -z "$PYTHONPATH" ]; then
export PYTHONPATH=$tool_pythondir
else
export PYTHONPATH=$PYTHONPATH:$tool_pythondir
fi
fi
done

if [ "$FLATPAK_ENABLE_SDK_EXT" = "*" ]; then
SDK=()
for d in /usr/lib/sdk/*; do
SDK+=("${d##*/}")
done
else
IFS=',' read -ra SDK <<< "$FLATPAK_ENABLE_SDK_EXT"
fi

for i in "${SDK[@]}"; do
if [[ -d /usr/lib/sdk/$i ]]; then
msg "Enabling SDK extension \"$i\""
if [[ -f /usr/lib/sdk/$i/enable.sh ]]; then
. /usr/lib/sdk/$i/enable.sh
else
export PATH=$PATH:/usr/lib/sdk/$i/bin
fi
else
msg "Requested SDK extension \"$i\" is not installed"
fi
done

export PATH="${PATH}:${XDG_DATA_HOME}/node_modules/bin"

exec /app/bin/zypak-wrapper /app/extra/vscode/code "$@"
54 changes: 6 additions & 48 deletions code.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,62 +5,20 @@ shopt -s nullglob

FIRST_RUN="${XDG_CONFIG_HOME}/flatpak-vscode-first-run"

function msg() {
echo "flatpak-vscode: $*" >&2
}

if [ ! -f ${FIRST_RUN} ]; then
WARNING_FILE="/app/share/vscode/flatpak-warning.txt"
touch ${FIRST_RUN}
fi

PYTHON_SITEDIR=$(python3 <<EOFPYTHON
import os
import site
print(os.path.relpath(site.getusersitepackages(), site.getuserbase()))
EOFPYTHON
)

for tool_dir in /app/tools/*; do
tool_bindir=$tool_dir/bin
if [ -d "$tool_bindir" ]; then
msg "Adding $tool_bindir to PATH"
export PATH=$PATH:$tool_bindir
fi
tool_pythondir=$tool_dir/$PYTHON_SITEDIR
if [ -d "$tool_pythondir" ]; then
msg "Adding $tool_pythondir to PYTHONPATH"
if [ -z "$PYTHONPATH" ]; then
export PYTHONPATH=$tool_pythondir
else
export PYTHONPATH=$PYTHONPATH:$tool_pythondir
fi
fi
done
VSCODE_PATH="/app/extra/vscode"

if [ "$FLATPAK_ENABLE_SDK_EXT" = "*" ]; then
SDK=()
for d in /usr/lib/sdk/*; do
SDK+=("${d##*/}")
done
else
IFS=',' read -ra SDK <<< "$FLATPAK_ENABLE_SDK_EXT"
fi
ELECTRON="$VSCODE_PATH/code"
CLI="$VSCODE_PATH/resources/app/out/cli.js"

for i in "${SDK[@]}"; do
if [[ -d /usr/lib/sdk/$i ]]; then
msg "Enabling SDK extension \"$i\""
if [[ -f /usr/lib/sdk/$i/enable.sh ]]; then
. /usr/lib/sdk/$i/enable.sh
else
export PATH=$PATH:/usr/lib/sdk/$i/bin
fi
else
msg "Requested SDK extension \"$i\" is not installed"
fi
done
export CHROME_WRAPPER="/app/bin/code-wrapper"
#export ZYPAK_DISABLE_SANDBOX=1

exec env ELECTRON_RUN_AS_NODE=1 PATH="${PATH}:${XDG_DATA_HOME}/node_modules/bin" \
/app/bin/zypak-wrapper.sh /app/extra/vscode/code /app/extra/vscode/resources/app/out/cli.js \
exec env ELECTRON_RUN_AS_NODE=1 /app/bin/zypak-wrapper "$ELECTRON" "$CLI" \
--ms-enable-electron-run-as-node --extensions-dir=${XDG_DATA_HOME}/vscode/extensions \
"$@" ${WARNING_FILE}
3 changes: 3 additions & 0 deletions com.visualstudio.code.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ modules:
buildsystem: simple
build-commands:
- install -D code.sh /app/bin/code
- install -D code-wrapper.sh /app/bin/code-wrapper
- install -Dm644 vscode_64.png /app/share/icons/hicolor/64x64/apps/com.visualstudio.code.png
- install -Dm644 vscode_128.png /app/share/icons/hicolor/128x128/apps/com.visualstudio.code.png
- install -Dm644 vscode_256.png /app/share/icons/hicolor/256x256/apps/com.visualstudio.code.png
Expand All @@ -74,6 +75,8 @@ modules:
- rm -r code.deb control.tar.* data.tar.xz debian-binary usr
- type: file
path: code.sh
- type: file
path: code-wrapper.sh
- type: file
path: flatpak-warning.txt
- type: file
Expand Down
2 changes: 1 addition & 1 deletion shared-modules
Submodule shared-modules updated 44 files
+7 −1 CODEOWNERS
+3 −0 SDL/SDL_ttf-2.0.11.json
+2 −2 dbus-glib/dbus-glib.json
+10 −6 glew/glew.json
+2 −2 glu/glu-9.json
+26 −2 gtk2/gtk2-common-themes.json
+4 −4 gtk2/gtk2.json
+9 −3 gudev/gudev.json
+18 −0 gzdoom/description.patch
+50 −0 gzdoom/gzdoom.json
+4 −0 intltool/intltool-0.51.json
+59 −0 intltool/intltool-perl5.26-regex-fixes.patch
+3 −2 libappindicator/libappindicator-gtk2-12.10.json
+3 −2 libappindicator/libappindicator-gtk3-12.10.json
+3 −2 libappindicator/libappindicator-gtk3-introspection-12.10.json
+3 −2 libappindicator/libappindicator.json.in
+70 −0 libcanberra/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch
+35 −0 libcanberra/libcanberra.json
+8 −0 libmad/libmad.json
+11 −0 libmad/mad.pc
+0 −21 libsecret/libsecret-init-gcrypt-for-file-collection.patch
+6 −9 libsecret/libsecret.json
+19 −0 libusb/libusb.json
+7 −2 linux-audio/fftw3f-static.json
+7 −2 linux-audio/fftw3f.json
+2 −2 linux-audio/fluidsynth2-static.json
+2 −2 linux-audio/fluidsynth2.json
+4 −2 linux-audio/jack2.json
+2 −2 linux-audio/ladspa.json
+2 −2 linux-audio/libinstpatch.json
+8 −8 linux-audio/lilv.json
+8 −2 linux-audio/lrdf.json
+2 −2 linux-audio/lv2.json
+43 −0 lua5.1/lua-5.1.5-so.patch
+38 −0 lua5.1/lua-5.1.5.json
+8 −11 lua5.3/lua-5.3.5.json
+19 −0 mac/mac.json
+0 −25 openjpeg/openjpeg.json
+4 −4 pygame/pygame-1.9.6.json
+82 −0 pygtk/pygtk.json
+39 −0 pygtk/pygtk.patch
+11 −0 qt4/fixgcc11.patch
+4 −0 qt4/qt4-4.8.7-minimal.json
+6 −0 smpeg/smpeg-0.4.5.json