Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[snap]: migrate to core22 #1817

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ build/windows/msi/Files*.wxs
build/windows/msi/Files*.wixobj
stores/snapcraft/insider/*.snap
stores/snapcraft/stable/*.snap
stores/snapcraft/stable/codium_*.txt
56 changes: 25 additions & 31 deletions stores/snapcraft/stable/snap/snapcraft.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ summary: Code editing. Redefined.
description: |
Binary releases of Code without branding/telemetry/licensing

base: core20
base: core22
grade: stable
confinement: classic
compression: lzo
Expand All @@ -17,59 +17,49 @@ parts:
# Get .deb url
wget --quiet https://api.github.com/repos/VSCodium/vscodium/releases -O latest.json
VERSION=$( jq -r 'sort_by(.tag_name)|last.tag_name' latest.json )
DEB_URL=$( jq -r 'map(select(.tag_name == "'"${VERSION}"'"))|first.assets[].browser_download_url|select(endswith("'"_${SNAPCRAFT_TARGET_ARCH}.deb"'"))' latest.json )
DEB_URL=$( jq -r 'map(select(.tag_name == "'"${VERSION}"'"))|first.assets[].browser_download_url|select(endswith("'"_${CRAFT_TARGET_ARCH}.deb"'"))' latest.json )
DEB_NAME=$( basename "${DEB_URL}" )
# Downloading .deb
wget "${DEB_URL}" -O "${SNAPCRAFT_PART_INSTALL}/${DEB_NAME}"
wget "${DEB_URL}" -O "${CRAFT_PART_INSTALL}/${DEB_NAME}"
# Unpacking .deb
dpkg -x "${SNAPCRAFT_PART_INSTALL}/${DEB_NAME}" "${SNAPCRAFT_PART_INSTALL}"
dpkg -x "${CRAFT_PART_INSTALL}/${DEB_NAME}" "${CRAFT_PART_INSTALL}"
# Clean up
rm -f latest.json
rm -f "${SNAPCRAFT_PART_INSTALL}/${DEB_NAME}"
rm -f "${CRAFT_PART_INSTALL}/${DEB_NAME}"
# Set version
snapcraftctl set-version "${VERSION}"
craftctl set version=${VERSION}
# Prepare GUI
mkdir -p "${SNAPCRAFT_PART_INSTALL}/meta/gui"
cp "${SNAPCRAFT_PART_INSTALL}/usr/share/codium/resources/app/resources/linux/code.png" "${SNAPCRAFT_PART_INSTALL}/meta/gui/codium.png"
mkdir -p "${CRAFT_PART_INSTALL}/meta/gui"
cp "${CRAFT_PART_INSTALL}/usr/share/codium/resources/app/resources/linux/code.png" "${CRAFT_PART_INSTALL}/meta/gui/codium.png"
# Update paths
sed -i 's|Exec=/usr/share/codium/codium|Exec=codium --force-user-env|g' "${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium.desktop"
sed -i 's|Exec=/usr/share/codium/codium|Exec=codium --force-user-env|g' "${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium-url-handler.desktop"
sed -i 's|Icon=vscodium|Icon=${SNAP}/meta/gui/codium.png|g' "${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium.desktop"
sed -i 's|Icon=vscodium|Icon=${SNAP}/meta/gui/codium.png|g' "${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium-url-handler.desktop"
# sed -i 's|Exec=/usr/share/codium/codium|Exec=codium --force-user-env|g' "${CRAFT_PART_INSTALL}/usr/share/applications/codium.desktop"
# sed -i 's|Exec=/usr/share/codium/codium|Exec=codium --force-user-env|g' "${CRAFT_PART_INSTALL}/usr/share/applications/codium-url-handler.desktop"
sed -i 's|Icon=vscodium|Icon=${SNAP}/meta/gui/codium.png|g' "${CRAFT_PART_INSTALL}/usr/share/applications/codium.desktop"
sed -i 's|Icon=vscodium|Icon=${SNAP}/meta/gui/codium.png|g' "${CRAFT_PART_INSTALL}/usr/share/applications/codium-url-handler.desktop"
build-packages:
- wget
- jq
stage-packages:
- ca-certificates
- libasound2
- libatk-bridge2.0-0
- libatk1.0-0
- libatspi2.0-0
- libcairo2
- libcanberra-gtk3-module
- libcurl3-gnutls
- libcurl3-nss
- libcurl4
- libdrm2
- libgbm1
- libgl1
- libglib2.0-0
- libgtk-3-0
- libibus-1.0-5
- libnss3
- libpango-1.0-0
- libsecret-1-0
- libtiff5
- libxcomposite1
- libxdamage1
- libxfixes3
- libxkbcommon0
- libxkbfile1
- libxrandr2
- libxss1
- locales-all
- packagekit-gtk3-module
- xdg-utils
prime:
- -etc
- -var
- -usr/share/doc
- -usr/share/fonts
- -usr/share/icons
Expand All @@ -80,10 +70,10 @@ parts:
- enable-patchelf
override-prime: |
set -eux
snapcraftctl prime
for snap in "core20"; do
cd "/snap/${snap}/current/usr/lib/${SNAPCRAFT_ARCH_TRIPLET}"
find . -type f,l -name "*.so*" -exec bash -c "rm -f ${SNAPCRAFT_PRIME}/{}*" \;
craftctl default
for snap in "core22"; do
cd "/snap/${snap}/current/"
find . -type f,l -name "*.so*" -exec bash -c "rm -rf ${CRAFT_PRIME}/{}*" \;
done

electron-launch:
Expand All @@ -94,10 +84,14 @@ parts:

apps:
codium:
command: electron-launch $SNAP/usr/share/codium/bin/codium --no-sandbox
command: usr/share/codium/bin/codium --no-sandbox
command-chain:
- electron-launch
desktop: usr/share/applications/codium.desktop
common-id: codium.desktop

url-handler:
command: electron-launch $SNAP/usr/share/codium/bin/codium --open-url --no-sandbox
command: usr/share/codium/bin/codium --open-url --no-sandbox
command-chain:
- electron-launch
desktop: usr/share/applications/codium-url-handler.desktop