123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- name: codium
- adopt-info: codium
- summary: Code editing. Redefined.
- description: |
- Binary releases of Code without branding/telemetry/licensing
- base: core20
- grade: stable
- confinement: classic
- compression: lzo
- parts:
- codium:
- plugin: nil
- override-build: |
- set -eu
- # 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_NAME=$( basename "${DEB_URL}" )
- # Downloading .deb
- wget "${DEB_URL}" -O "${SNAPCRAFT_PART_INSTALL}/${DEB_NAME}"
- # Unpacking .deb
- dpkg -x "${SNAPCRAFT_PART_INSTALL}/${DEB_NAME}" "${SNAPCRAFT_PART_INSTALL}"
- # Clean up
- rm -f latest.json
- rm -f "${SNAPCRAFT_PART_INSTALL}/${DEB_NAME}"
- # Set version
- snapcraftctl 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"
- # 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"
- 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
- - libxcomposite1
- - libxdamage1
- - libxfixes3
- - libxkbcommon0
- - libxkbfile1
- - libxrandr2
- - libxss1
- - locales-all
- - packagekit-gtk3-module
- - xdg-utils
- prime:
- - -usr/share/doc
- - -usr/share/fonts
- - -usr/share/icons
- - -usr/share/lintian
- - -usr/share/man
- - -usr/share/codium/chrome-sandbox
- build-attributes:
- - 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}/{}*" \;
- done
- electron-launch:
- after:
- - codium
- plugin: dump
- source: snap/local/bin
- apps:
- codium:
- command: electron-launch $SNAP/usr/share/codium/bin/codium --no-sandbox
- 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
- desktop: usr/share/applications/codium-url-handler.desktop
|