123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #!/usr/bin/env bash
- set -ex
- CALLER_DIR=$( pwd )
- cd "$( dirname "${BASH_SOURCE[0]}" )"
- if [[ "${VSCODE_ARCH}" == "x64" ]]; then
- GITHUB_RESPONSE=$( curl --silent --location "https://api.github.com/repos/AppImage/pkg2appimage/releases/latest" )
- APPIMAGE_URL=$( echo "${GITHUB_RESPONSE}" | jq --raw-output '.assets | map(select( .name | test("x86_64.AppImage(?!.zsync)"))) | map(.browser_download_url)[0]' )
- if [[ -z "${APPIMAGE_URL}" ]]; then
- echo "The url for pkg2appimage.AppImage hasn't been found"
- exit 1
- fi
- wget -c "${APPIMAGE_URL}" -O pkg2appimage.AppImage
- chmod +x ./pkg2appimage.AppImage
- ./pkg2appimage.AppImage --appimage-extract && mv ./squashfs-root ./pkg2appimage.AppDir
- # add update's url
- sed -i 's/generate_type2_appimage/generate_type2_appimage -u "gh-releases-zsync|VSCodium|vscodium|latest|*.AppImage.zsync"/' pkg2appimage.AppDir/AppRun
- # remove check so build in docker can succeed
- sed -i 's/grep docker/# grep docker/' pkg2appimage.AppDir/usr/share/pkg2appimage/functions.sh
- APP_NAME_LC="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )"
- if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
- sed -i "s|@@NAME@@|${APP_NAME}-Insiders|g" recipe.yml
- sed -i "s|@@APPNAME@@|${BINARY_NAME}|g" recipe.yml
- sed -i "s|@@ICON@@|${APP_NAME_LC}-insiders|g" recipe.yml
- else
- sed -i "s|@@NAME@@|${APP_NAME}|g" recipe.yml
- sed -i "s|@@APPNAME@@|${BINARY_NAME}|g" recipe.yml
- sed -i "s|@@ICON@@|${APP_NAME_LC}|g" recipe.yml
- fi
- # workaround that enforces x86 ARCH for pkg2appimage having /__w/vscodium/vscodium/build/linux/appimage/VSCodium/VSCodium.AppDir/usr/share/codium/resources/app/node_modules/rc/index.js is of architecture armhf
- export ARCH=x86_64
- bash -ex pkg2appimage.AppDir/AppRun recipe.yml
- rm -f pkg2appimage-*.AppImage
- rm -rf pkg2appimage.AppDir
- rm -rf VSCodium*
- fi
- cd "${CALLER_DIR}"
|