Update snap to core22

This commit is contained in:
Ilya Fedin 2022-06-15 18:21:37 +04:00 committed by John Preston
parent 145d112982
commit d2faacb0fb
3 changed files with 75 additions and 107 deletions

View file

@ -38,7 +38,7 @@ on:
jobs: jobs:
linux: snap:
name: Ubuntu name: Ubuntu
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -54,22 +54,13 @@ jobs:
- name: First set up. - name: First set up.
run: | run: |
sudo apt-get purge --autoremove lxd
sudo snap install --classic snapcraft sudo snap install --classic snapcraft
sudo snap install lxd
# Workaround for snapcraft
# See https://forum.snapcraft.io/t/13258
sudo chown root:root /
sudo usermod -aG lxd $USER sudo usermod -aG lxd $USER
sudo snap run lxd init --auto sudo snap run lxd init --auto
sudo snap run lxd waitready sudo snap run lxd waitready
- name: Telegram Desktop snap build. - name: Telegram Desktop snap build.
run: sg lxd -c 'snap run snapcraft --use-lxd' run: sg lxd -c 'snap run snapcraft -v'
- name: Move artifact. - name: Move artifact.
if: env.UPLOAD_ARTIFACT == 'true' if: env.UPLOAD_ARTIFACT == 'true'

@ -1 +1 @@
Subproject commit 851fbd3cb89385ba733bc37d6149280996715898 Subproject commit ecc678d79f38cf63d24b6d16e18f69a9117d8d73

View file

@ -2,7 +2,7 @@ name: telegram-desktop
adopt-info: telegram adopt-info: telegram
icon: Telegram/Resources/art/icon512@2x.png icon: Telegram/Resources/art/icon512@2x.png
base: core20 base: core22
grade: stable grade: stable
confinement: strict confinement: strict
compression: lzo compression: lzo
@ -77,8 +77,8 @@ layout:
bind: $SNAP/usr/share/alsa bind: $SNAP/usr/share/alsa
/usr/share/X11: /usr/share/X11:
bind: $SNAP/usr/share/X11 bind: $SNAP/usr/share/X11
/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/webkit2gtk-4.0: /usr/lib/$CRAFT_ARCH_TRIPLET/webkit2gtk-4.0:
bind: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/webkit2gtk-4.0 bind: $SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/webkit2gtk-4.0
parts: parts:
telegram: telegram:
@ -87,14 +87,10 @@ parts:
source-type: git source-type: git
parse-info: [usr/share/metainfo/telegram-desktop_telegram-desktop.metainfo.xml] parse-info: [usr/share/metainfo/telegram-desktop_telegram-desktop.metainfo.xml]
build-environment: build-environment:
- CC: gcc-10 - LD_LIBRARY_PATH: $CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
- CXX: g++-10
- LD_LIBRARY_PATH: $SNAPCRAFT_STAGE/usr/lib/$SNAPCRAFT_ARCH_TRIPLET:$LD_LIBRARY_PATH
build-packages: build-packages:
- clang - clang
- g++-10 - python3
- ninja-build
- python
- libasound2-dev - libasound2-dev
- libglib2.0-dev - libglib2.0-dev
- libglibmm-2.4-dev - libglibmm-2.4-dev
@ -113,9 +109,9 @@ parts:
- libglibmm-2.4-1v5 - libglibmm-2.4-1v5
- libopus0 - libopus0
- libpulse0 - libpulse0
- libssl1.1 - libssl3
- libwayland-client0 - libwayland-client0
- libwebkit2gtk-4.0-37 - libwebkit2gtk-4.1-0
- libxcb1 - libxcb1
- libxcb-keysyms1 - libxcb-keysyms1
- libxcb-record0 - libxcb-record0
@ -123,18 +119,18 @@ parts:
- zlib1g - zlib1g
- glib-networking - glib-networking
- systemd - systemd
cmake-generator: Ninja
cmake-parameters: cmake-parameters:
- -GNinja
- -DCMAKE_BUILD_TYPE=Release - -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/usr - -DCMAKE_INSTALL_PREFIX=/usr
- -DJPEG_LIBRARY_RELEASE=$SNAPCRAFT_STAGE/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libjpeg.so - -DCMAKE_LIBRARY_PATH=$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET
- -DJPEG_INCLUDE_DIR=$SNAPCRAFT_STAGE/usr/include - -DCMAKE_INCLUDE_PATH=$CRAFT_STAGE/usr/include
- -DTDESKTOP_API_ID=611335 - -DTDESKTOP_API_ID=611335
- -DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c - -DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c
- -DDESKTOP_APP_USE_PACKAGED_LAZY=ON - -DDESKTOP_APP_USE_PACKAGED_LAZY=ON
- -DTDESKTOP_LAUNCHER_BASENAME=telegram-desktop_telegram-desktop - -DTDESKTOP_LAUNCHER_BASENAME=telegram-desktop_telegram-desktop
override-pull: | override-pull: |
snapcraftctl pull craftctl default
version_file=Telegram/build/version version_file=Telegram/build/version
version=$(sed -n "s/AppVersionStr[ ]\+\(.*\)\+/\1/p" $version_file) version=$(sed -n "s/AppVersionStr[ ]\+\(.*\)\+/\1/p" $version_file)
@ -146,14 +142,14 @@ parts:
version="${version}$(git describe --tags | sed 's,^v[^-]\+,,')" version="${version}$(git describe --tags | sed 's,^v[^-]\+,,')"
snapcraftctl set-version "$version" craftctl set version="$version"
sed -i 's|^Icon=telegram$|Icon=${SNAP}/meta/gui/icon.png|g' lib/xdg/telegramdesktop.desktop sed -i 's|^Icon=telegram$|Icon=${SNAP}/meta/gui/icon.png|g' lib/xdg/telegramdesktop.desktop
override-build: | override-build: |
snapcraftctl build craftctl default
rm -rf "$SNAPCRAFT_PART_INSTALL/usr/share/icons" rm -rf "$CRAFT_PART_INSTALL/usr/share/icons"
stage: stage:
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libjpeg.so.8.2.2 - -./usr/lib/$CRAFT_ARCH_TRIPLET/libjpeg.so.8.2.2
prime: prime:
- -./lib/systemd - -./lib/systemd
after: after:
@ -168,9 +164,12 @@ parts:
source: https://github.com/desktop-app/patches.git source: https://github.com/desktop-app/patches.git
source-depth: 1 source-depth: 1
plugin: dump plugin: dump
organize: override-pull: |
"*": patches/ craftctl default
prime: [-./*] cp -r . "$CRAFT_STAGE/patches"
override-stage: |
rm -rf patches
stage: [-./*]
desktop-qt: desktop-qt:
source: https://github.com/desktop-app/snapcraft-desktop-helpers.git source: https://github.com/desktop-app/snapcraft-desktop-helpers.git
@ -182,7 +181,7 @@ parts:
- dpkg-dev - dpkg-dev
stage-packages: stage-packages:
- libxkbcommon0 - libxkbcommon0
- ttf-ubuntu-font-family - fonts-ubuntu
- dmz-cursor-theme - dmz-cursor-theme
- light-themes - light-themes
- adwaita-icon-theme - adwaita-icon-theme
@ -192,7 +191,7 @@ parts:
- locales-all - locales-all
- xdg-user-dirs - xdg-user-dirs
stage: stage:
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libjpeg.so.8.2.2 - -./usr/lib/$CRAFT_ARCH_TRIPLET/libjpeg.so.8.2.2
after: after:
- mozjpeg - mozjpeg
- qt - qt
@ -212,7 +211,7 @@ parts:
- libswresample3 - libswresample3
- libswscale5 - libswscale5
stage: stage:
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libjpeg.so.8.2.2 - -./usr/lib/$CRAFT_ARCH_TRIPLET/libjpeg.so.8.2.2
after: after:
- mozjpeg - mozjpeg
@ -221,10 +220,8 @@ parts:
source-depth: 1 source-depth: 1
source-tag: v4.0.3 source-tag: v4.0.3
plugin: cmake plugin: cmake
build-packages: cmake-generator: Ninja
- ninja-build
cmake-parameters: cmake-parameters:
- -GNinja
- -DCMAKE_BUILD_TYPE=Release - -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/usr - -DCMAKE_INSTALL_PREFIX=/usr
- -DENABLE_STATIC=OFF - -DENABLE_STATIC=OFF
@ -233,8 +230,8 @@ parts:
prime: prime:
- -./usr/bin - -./usr/bin
- -./usr/include - -./usr/include
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/pkgconfig - -./usr/lib/$CRAFT_ARCH_TRIPLET/pkgconfig
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/*.so - -./usr/lib/$CRAFT_ARCH_TRIPLET/*.so
- -./usr/share - -./usr/share
openal: openal:
@ -243,16 +240,17 @@ parts:
source-tag: 1.22.0 source-tag: 1.22.0
plugin: cmake plugin: cmake
build-packages: build-packages:
- ninja-build
- libasound2-dev - libasound2-dev
- libdbus-1-dev - libdbus-1-dev
- libpipewire-0.3-dev
- libpulse-dev - libpulse-dev
stage-packages: stage-packages:
- libasound2 - libasound2
- libdbus-1-3 - libdbus-1-3
- libpipewire-0.3-0
- libpulse0 - libpulse0
cmake-generator: Ninja
cmake-parameters: cmake-parameters:
- -GNinja
- -DCMAKE_BUILD_TYPE=Release - -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/usr - -DCMAKE_INSTALL_PREFIX=/usr
- -DALSOFT_EXAMPLES=OFF - -DALSOFT_EXAMPLES=OFF
@ -261,9 +259,9 @@ parts:
- -DALSOFT_INSTALL_CONFIG=OFF - -DALSOFT_INSTALL_CONFIG=OFF
prime: prime:
- -./usr/include - -./usr/include
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/cmake - -./usr/lib/$CRAFT_ARCH_TRIPLET/cmake
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/pkgconfig - -./usr/lib/$CRAFT_ARCH_TRIPLET/pkgconfig
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libopenal.so - -./usr/lib/$CRAFT_ARCH_TRIPLET/libopenal.so
qt: qt:
plugin: nil plugin: nil
@ -314,12 +312,12 @@ parts:
- libgtk-3-0 - libgtk-3-0
- libharfbuzz0b - libharfbuzz0b
- libice6 - libice6
- libicu66 - libicu70
- libopengl0 - libopengl0
- libpcre2-16-0 - libpcre2-16-0
- libpng16-16 - libpng16-16
- libsm6 - libsm6
- libssl1.1 - libssl3
- libwayland-client0 - libwayland-client0
- libwayland-cursor0 - libwayland-cursor0
- libwayland-egl1 - libwayland-egl1
@ -350,12 +348,12 @@ parts:
perl init-repository --module-subset=qtbase,qtwayland,qtimageformats,qtsvg,qt5compat perl init-repository --module-subset=qtbase,qtwayland,qtimageformats,qtsvg,qt5compat
cd qtbase cd qtbase
find $SNAPCRAFT_STAGE/patches/qtbase_${QT} -type f -print0 | sort -z | xargs -r0 git apply find $CRAFT_STAGE/patches/qtbase_${QT} -type f -print0 | sort -z | xargs -r0 git apply
cd .. cd ..
override-build: | override-build: |
./configure \ ./configure \
-prefix /usr \ -prefix /usr \
-libdir /usr/lib/$SNAPCRAFT_ARCH_TRIPLET \ -libdir /usr/lib/$CRAFT_ARCH_TRIPLET \
-release \ -release \
-opensource \ -opensource \
-confirm-license \ -confirm-license \
@ -369,20 +367,20 @@ parts:
-nomake examples \ -nomake examples \
-nomake tests -nomake tests
cmake --build . -j$SNAPCRAFT_PARALLEL_BUILD_COUNT cmake --build . -j$CRAFT_PARALLEL_BUILD_COUNT
DESTDIR="$SNAPCRAFT_PART_INSTALL" cmake --install . DESTDIR="$CRAFT_PART_INSTALL" cmake --install .
stage: stage:
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libjpeg.so.8.2.2 - -./usr/lib/$CRAFT_ARCH_TRIPLET/libjpeg.so.8.2.2
prime: prime:
- -./usr/bin - -./usr/bin
- -./usr/doc - -./usr/doc
- -./usr/include - -./usr/include
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/cmake - -./usr/lib/$CRAFT_ARCH_TRIPLET/cmake
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/metatypes - -./usr/lib/$CRAFT_ARCH_TRIPLET/metatypes
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/*.a - -./usr/lib/$CRAFT_ARCH_TRIPLET/*.a
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/*.la - -./usr/lib/$CRAFT_ARCH_TRIPLET/*.la
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/*.prl - -./usr/lib/$CRAFT_ARCH_TRIPLET/*.prl
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/*.so - -./usr/lib/$CRAFT_ARCH_TRIPLET/*.so
- -./usr/libexec - -./usr/libexec
- -./usr/mkspecs - -./usr/mkspecs
- -./usr/modules - -./usr/modules
@ -397,55 +395,34 @@ parts:
plugin: autotools plugin: autotools
autotools-configure-parameters: autotools-configure-parameters:
- --prefix=/usr - --prefix=/usr
- --libdir=\${exec_prefix}/lib/$SNAPCRAFT_ARCH_TRIPLET - --libdir=\${exec_prefix}/lib/$CRAFT_ARCH_TRIPLET
- --disable-static - --disable-static
- --disable-examples - --disable-examples
- --disable-doc - --disable-doc
prime: prime:
- -./usr/include - -./usr/include
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/pkgconfig - -./usr/lib/$CRAFT_ARCH_TRIPLET/pkgconfig
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/librnnoise.la - -./usr/lib/$CRAFT_ARCH_TRIPLET/librnnoise.la
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/librnnoise.so - -./usr/lib/$CRAFT_ARCH_TRIPLET/librnnoise.so
- -./usr/share - -./usr/share
vpx:
source: https://github.com/webmproject/libvpx.git
source-depth: 1
source-tag: v1.11.0
plugin: autotools
autotools-configure-parameters:
- --prefix=/usr
- --libdir=/usr/lib/$SNAPCRAFT_ARCH_TRIPLET
- --disable-examples
- --disable-unit-tests
- --disable-tools
- --disable-docs
- --enable-shared
- --disable-static
- --enable-vp8
- --enable-vp9
- --enable-webm-io
prime:
- -./usr/include
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/pkgconfig
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvpx.so
webrtc: webrtc:
source: https://github.com/desktop-app/tg_owt.git source: https://github.com/desktop-app/tg_owt.git
source-depth: 1 source-depth: 1
source-commit: 10d5f4bf77333ef6b43516f90d2ce13273255f41 source-commit: 10d5f4bf77333ef6b43516f90d2ce13273255f41
plugin: cmake plugin: cmake
build-packages: build-packages:
- ninja-build
- yasm - yasm
#- libdrm-dev - libdrm-dev
#- libegl-dev - libegl-dev
#- libgbm-dev - libgbm-dev
#- libgl-dev - libgl-dev
#- libglib2.0-dev - libglib2.0-dev
- libopenh264-dev
- libopus-dev - libopus-dev
#- libpipewire-0.2-dev - libpipewire-0.3-dev
- libssl-dev - libssl-dev
- libvpx-dev
- libx11-dev - libx11-dev
- libxcomposite-dev - libxcomposite-dev
- libxdamage-dev - libxdamage-dev
@ -455,14 +432,16 @@ parts:
- libxrandr-dev - libxrandr-dev
- libxtst-dev - libxtst-dev
stage-packages: stage-packages:
#- libdrm2 - libdrm2
#- libegl1 - libegl1
#- libgbm1 - libgbm1
#- libgl1 - libgl1
#- libglib2.0-0 - libglib2.0-0
- libopenh264-6
- libopus0 - libopus0
#- libpipewire-0.2-1 - libpipewire-0.3-0
- libssl1.1 - libssl3
- libvpx7
- libx11-6 - libx11-6
- libxcomposite1 - libxcomposite1
- libxdamage1 - libxdamage1
@ -471,18 +450,16 @@ parts:
- libxrender1 - libxrender1
- libxrandr2 - libxrandr2
- libxtst6 - libxtst6
cmake-generator: Ninja
cmake-parameters: cmake-parameters:
- -GNinja
- -DCMAKE_BUILD_TYPE=Release - -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/usr - -DCMAKE_INSTALL_PREFIX=/usr
- -DJPEG_LIBRARY_RELEASE=$SNAPCRAFT_STAGE/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libjpeg.so - -DCMAKE_LIBRARY_PATH=$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET
- -DJPEG_INCLUDE_DIR=$SNAPCRAFT_STAGE/usr/include - -DCMAKE_INCLUDE_PATH=$CRAFT_STAGE/usr/include
- -DTG_OWT_USE_PIPEWIRE=OFF
prime: prime:
- -./usr/include - -./usr/include
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/cmake - -./usr/lib/$CRAFT_ARCH_TRIPLET/cmake
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/*.a - -./usr/lib/$CRAFT_ARCH_TRIPLET/*.a
after: after:
- ffmpeg - ffmpeg
- mozjpeg - mozjpeg
- vpx