tdesktop/snap/snapcraft.yaml

619 lines
16 KiB
YAML
Raw Normal View History

Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
name: telegram-desktop
adopt-info: telegram
2020-01-25 06:44:58 +01:00
icon: Telegram/Resources/art/icon512@2x.png
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
2022-06-15 16:21:37 +02:00
base: core22
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
grade: stable
confinement: strict
2021-02-22 23:20:42 +01:00
compression: lzo
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
architectures:
- build-on: amd64
- build-on: arm64
- build-on: armhf
- build-on: ppc64el
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
apps:
telegram-desktop:
command: usr/bin/telegram-desktop
command-chain:
- bin/desktop-launch
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
common-id: org.telegram.desktop
desktop: usr/share/applications/org.telegram.desktop.desktop
2022-11-19 02:12:41 +01:00
autostart: telegram-desktop_telegram-desktop.desktop
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
plugs:
- alsa
- audio-playback
- audio-record
2020-08-15 22:23:00 +02:00
- camera
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
- desktop
- desktop-legacy
- gsettings
- hardware-observe
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
- home
- network
- network-bind
- network-status
- opengl
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
- removable-media
- unity7
- wayland
2020-02-03 09:38:15 +01:00
- x11
2021-03-18 18:12:47 +01:00
slots:
- mpris
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
hooks:
configure:
command-chain:
- bin/hooks-configure-desktop
plugs:
- desktop
plugs:
desktop:
mount-host-font-cache: false
2020-01-25 06:44:58 +01:00
# Support for common GTK themes
# https://forum.snapcraft.io/t/how-to-use-the-system-gtk-theme-via-the-gtk-common-themes-snap/6235
gtk-3-themes:
interface: content
2020-01-25 06:44:58 +01:00
target: $SNAP/data-dir/themes
default-provider: gtk-common-themes
icon-themes:
interface: content
2020-01-25 06:44:58 +01:00
target: $SNAP/data-dir/icons
default-provider: gtk-common-themes
sound-themes:
interface: content
2020-01-25 06:44:58 +01:00
target: $SNAP/data-dir/sounds
default-provider: gtk-common-themes
layout:
/usr/share/alsa:
bind: $SNAP/usr/share/alsa
/usr/share/pipewire:
bind: $SNAP/usr/share/pipewire
/usr/share/X11:
bind: $SNAP/usr/share/X11
/usr/lib/$CRAFT_ARCH_TRIPLET/gtk-3.0:
bind: $SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/gtk-3.0
2023-01-20 13:47:16 +01:00
/usr/lib/$CRAFT_ARCH_TRIPLET/pipewire-0.3:
bind: $SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/pipewire-0.3
2023-01-20 08:02:00 +01:00
/usr/lib/$CRAFT_ARCH_TRIPLET/spa-0.2:
bind: $SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/spa-0.2
/usr/lib/$CRAFT_ARCH_TRIPLET/webkit2gtk-4.1:
bind: $SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/webkit2gtk-4.1
2023-01-02 07:49:31 +01:00
package-repositories:
- type: apt
ppa: kisak/kisak-mesa
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
parts:
telegram:
2020-01-25 06:44:58 +01:00
plugin: cmake
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
source: .
source-type: git
parse-info: [usr/share/metainfo/org.telegram.desktop.metainfo.xml]
build-environment:
2022-06-15 16:21:37 +02:00
- LD_LIBRARY_PATH: $CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
2023-05-18 13:18:50 +02:00
- LDFLAGS: ${LDFLAGS:+$LDFLAGS} -s
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
build-packages:
- clang
2023-05-18 09:00:34 +02:00
- libtool-bin
2022-06-15 16:21:37 +02:00
- python3
2020-01-25 06:44:58 +01:00
- libasound2-dev
- libavif-dev
2023-10-06 21:29:40 +02:00
- libboost-program-options1.74-dev
- libboost-regex1.74-dev
2023-05-15 20:35:52 +02:00
- libfmt-dev
- libgirepository1.0-dev
- libheif-dev
2020-01-25 06:44:58 +01:00
- libopus-dev
- libpulse-dev
- libssl-dev
- libwayland-dev
- libxcb1-dev
2020-12-09 14:07:10 +01:00
- libxcb-keysyms1-dev
- libxcb-record0-dev
- libxcb-screensaver0-dev
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
- zlib1g-dev
stage-packages:
2020-05-15 20:36:35 +02:00
- libasound2
- libavif13
2023-10-06 21:29:40 +02:00
- libboost-regex1.74.0
- libheif1
2020-05-15 20:36:35 +02:00
- libopus0
- libpulse0
- libssl3
- libwayland-client0
2022-06-15 16:21:37 +02:00
- libwebkit2gtk-4.1-0
- libxcb1
2020-12-09 14:07:10 +01:00
- libxcb-keysyms1
- libxcb-record0
- libxcb-screensaver0
2020-05-15 20:36:35 +02:00
- zlib1g
- glib-networking
2022-06-15 16:21:37 +02:00
cmake-generator: Ninja
2020-05-15 20:36:35 +02:00
cmake-parameters:
2020-01-25 06:44:58 +01:00
- -DCMAKE_BUILD_TYPE=Release
2020-05-15 20:36:35 +02:00
- -DCMAKE_INSTALL_PREFIX=/usr
2020-01-25 06:44:58 +01:00
- -DTDESKTOP_API_ID=611335
- -DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c
- -DDESKTOP_APP_USE_PACKAGED_LAZY=ON
2020-01-25 06:44:58 +01:00
override-pull: |
2022-06-15 16:21:37 +02:00
craftctl default
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
2020-01-25 06:44:58 +01:00
version_file=Telegram/build/version
version=$(sed -n "s/AppVersionStr[ ]\+\(.*\)\+/\1/p" $version_file)
beta=$(sed -n "s/BetaChannel[ ]\+\(.*\)\+/\1/p" $version_file)
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
2020-01-25 06:44:58 +01:00
if [ "$beta" != "0" ]; then
version="$version-beta"
fi
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
2020-01-25 06:44:58 +01:00
version="${version}$(git describe --tags | sed 's,^v[^-]\+,,')"
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
2022-06-15 16:21:37 +02:00
craftctl set version="$version"
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
sed -i 's|^Icon=telegram$|Icon=${SNAP}/meta/gui/icon.png|g' lib/xdg/org.telegram.desktop.desktop
override-build: |
2022-06-15 16:21:37 +02:00
craftctl default
rm -rf "$CRAFT_PART_INSTALL/usr/share/icons"
2020-10-07 04:21:20 +02:00
stage:
2022-06-15 16:21:37 +02:00
- -./usr/lib/$CRAFT_ARCH_TRIPLET/libjpeg.so.8.2.2
2020-01-25 06:44:58 +01:00
after:
2020-03-09 08:11:12 +01:00
- ffmpeg
- libjxl
2022-11-04 11:02:52 +01:00
- glibmm
2020-10-07 04:21:20 +02:00
- mozjpeg
- openal
2022-11-25 12:09:09 +01:00
- protobuf
- qt
2021-06-01 15:37:30 +02:00
- rnnoise
2020-08-15 22:23:00 +02:00
- webrtc
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
patches:
source: https://github.com/desktop-app/patches.git
source-depth: 1
plugin: dump
2022-06-15 16:21:37 +02:00
override-pull: |
craftctl default
cp -r . "$CRAFT_STAGE/patches"
2023-03-31 19:04:35 +02:00
override-prime: |
2022-06-15 16:21:37 +02:00
rm -rf patches
stage: [-./*]
2023-10-30 22:08:26 +01:00
meson-deps:
source: https://github.com/mesonbuild/meson.git
source-depth: 1
source-branch: 1.2.3
plugin: nil
build-packages:
- python3-pip
- ninja-build
override-build: |
pip install .
stage: [-./*]
2021-10-25 17:37:20 +02:00
desktop-qt:
source: https://github.com/desktop-app/snapcraft-desktop-helpers.git
2020-05-15 20:36:35 +02:00
source-subdir: qt
2020-01-25 06:44:58 +01:00
plugin: make
2020-05-15 20:36:35 +02:00
make-parameters: ["FLAVOR=qt5"]
2023-03-31 19:05:36 +02:00
build-environment:
- LD_LIBRARY_PATH: $CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
Snap packaging support (#4505) * qtbuilder: inherit from make plugin instead of autotools * qtbuilder: update to properly support snapcraft 2.23 We don't use the default 'source' property as it will recursively download all the submodules and we don't want that. Implement newer get_pull_properties. * gyp-cmake: only strip in Release mode and if we've a binary * telegram-snap: add first basic snapcraft.yaml to build tdesktop from src We need to build upstream versions of libva, ffmpeg (with opus support), openal, portaudio with custom flags and patched versions of gyp, and Qt. This requires some custom plugins for patching sources, mix repos and new build plugins for qt and gyp+cmake. * plugins: properly support snapcraft 2.23 Implementing get_pull_properties class methods * patches: add qt patch for saving tray icon in .cache TMPDIR overriding isn't needed anymore * snapcraft: add xdg-open support to open URIs * snapcraft: move external libraries to desktop-integration part * snapcraft: set QTCOMPOSE pointing to proper x11-data * desktop-integration: add libpulse0 to enable voice/video recording / playing * qtbuilder: add support for local patches that overrides remote ones * qtbuilder: make qt-version optional This allows to build upstream git version * gyp-cmake: inherit from CMakePlugin reusing artifacts + organize * patched-python: add support for patching using local files * snapcraft.yaml: use distro's portaudio instead of building ours * telegram: disable desktop file generation and custuom scheme registration * snapcraft.yaml: update version to 0.10.20 * .travis.yaml: add support for building using travis * qtbuilder: add g++ as build packages * snapcraft: use distro opus version * snapcraft: lzma for qt and ffmpeg * snapcraft: add libdbusmenu for qt * openal: add oss4-dev as build dependency * travis: test some hacks to speed things up * Move plugins to new dir * QtBuilder: add qt-extra-plugins support To include plugins that are out of the main qt repo * QtBuilder: generate branch based on qtversion * GypCMake: allow to define custom environment variables * snapcraft: set name to 'telegram-desktop' * snapcraft: add 'network-status' interface to Telegram app To automatically reconnect * snapcraft: use prime instead of snap for flitering files * snacpraft: update dependencies and versions to build against git * snapcraft: build with GCC-7 hackish solution * QtBuilder: add environment support * QtBuilder: add qt-extra-plugins to get_pull_properties * snapcraft: set name of the app to telegram-desktop too * snapcraft: build opus from git (v1.2.1) So it does upstream, let's follow them * telegram: apply patch to get proper home path from $HOME * snapcraft: add version-script to generate proper version from upstream * telegram: simplify the start command * snapcraft: get rid of snapd-xdg-open * snapcraft: use gtk3 and unity integration * qt5: build using gcc7 too * telegram-desktop: update desktop file * telegram: add support unity launcher when snapped We should actually fix this inside libunity * gcc7: remove toolchain source.list after install * desktop-integration: add pulse-audio as dependency again * telegram-desktop: define XCURSOR_PATH to get system cursors * gui: move files to snap folder * libtgvoip: don't enable SSE2 in unsupported archs * snapcraft: add -alpha sufix on versions and do not include git for tags * telegram: add patch for building in ARM chips * desktop-integration: include libunity * telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do * snapcraft: compile libunity from upstream to get proper launcher integration Drop custom patch, it's just better to do it here. This means we go back to upstream telegramdesktop desktop-id too. * telegram: get desktop file and icon from telegram part source * snapcraft: improve snap description * gcc7: not needed to add devscripts or equivs Unless we try to build gcc7 here, which well... A bit time consuming. * libunity: use upstream branch (my changes just merged) * ci: remove travis integration, it takes to long b.s.io does it already * telegram: don't do unneeded checks in armhf * telegram: more signed/unsigned char fixes for ARM, ignore errors for now * telegram: add getclock definitions for ARM * telegram: arm support, always use signed chars * telegram: don't need to use signed chars in ARM anymmore As we've fixed all the issues * telegram: replace .desktop file icon with snap one, add keywords * snapcraft: use diversity check on alpha value * telegram: detect Ubuntu desktop adding support for badges and indicators * telegram: unset WAYLAND_DISPLAY to get it running properly * Add a README * telegram: just add network-observe plug * snapcraft: add beta detection * snapcraft: only add network-manager plug, users might connect it We should actually have a connection-observe plug. * patches: add patch to use a customizable working dir in debug * snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key Setting compose to proper paths will allow to get composition key working again in snapped QT apps. * desktop-integration: add indicator-gtk3 and chinese fonts * desktop-integration: don't snap fonts, use desktop interface Fonts are now bind-mounted from host by the desktop interface * patches: apply patches using 3way merge if they fail * patches: update telegram-arm-support to apply cleanly * snapcraft: disable wayland using desktop script env * snapcraft: libunity has been SRU'ed, we can go back to archive version * patches: update arm support patch * breakpad: use upstream versions * telegram, patches: remove upstreamed patches * patches: disable Werror It causes failures in some archs, and we don't care much at this level (for now). * patches: remove libtgvoip msse2 patch * Revert "patches: remove libtgvoip msse2 patch" Not yet in the submodule used by telegram desktop This reverts commit 2e6f4cc619ee591fdd250cb3b2af4f0330d1c4ca. * snapcraft: show bash debugging on version script * desktop-gtk3: update mime database and icon-cache during install This saves some startup time * telegram: add gsettings plug * telegram-launch: use user-common as home and migrate if needed * Import snap folder from telegram-snap repo * patches, qtbase: use indicator icon in unity or ubuntu Patch already applied upstream, remove from snap only * .gitignore: add snap related files * telegram-launch: merge downloaded files folder if found * snap: remove patches not needed for upstream * snap, patch, libtgvoip: sync with upstream * telegram-launch: remove default dir after moving download files * snap: remove libtgvoip patches, we can just update the submodule The actual module update should be managed in a different commit though. * snapcraft: explain why gcc7 part is needed * snapcraft: update summary text * qt: no need to build gstreamer, and reorder configflags * plugins: add copyright informations * telegram: add common-id and parse-info with AppData Use the appstream integration that snapcraft now supports. * openal: use v1.18 branch as upstream does now * qtbuilder: support tags in versions better * qtbuilder: use shutil.rmtree to remove files * telegram: set QT_IM_MODULE only if not set * telegram: add removable-media plug * telegram-launch: ignore ibus as input method And add support for getting it from $TELEGRAM_QT_IM_MODULE env var * snapcraft: use git describe to get revision * snapcraft: use override-* stanzas for scriptlets * snap: exit scriptlets on first error * snap: remove summary, inherit from AppData * lib_export: use includes paths as defined per platform
2018-07-21 16:35:37 +02:00
build-packages:
2020-01-25 06:44:58 +01:00
- build-essential
2020-05-15 20:36:35 +02:00
- dpkg-dev
- gtk-update-icon-cache
- libglib2.0-bin
- libgtk-3-0
2020-01-25 06:44:58 +01:00
stage-packages:
- libc-bin
- libgdk-pixbuf-2.0-0
2023-10-03 19:55:47 +02:00
- libnvidia-egl-wayland1
- libxkbcommon0
2020-05-15 20:36:35 +02:00
- locales-all
- shared-mime-info
2020-05-15 20:36:35 +02:00
- xdg-user-dirs
override-prime: |
2023-03-09 23:36:47 +01:00
craftctl default
update-mime-database usr/share/mime
glib-compile-schemas usr/share/glib-2.0/schemas
for theme in usr/share/icons/*; do
if [ -f "$theme/index.theme" ] && [ ! -f "$theme/icon-theme.cache" ]; then
update-icon-caches "$theme"
fi
done
GTK_PATH=$PWD/usr/lib/$CRAFT_ARCH_TRIPLET/gtk-3.0 /usr/lib/$CRAFT_ARCH_TRIPLET/libgtk-3-0/gtk-query-immodules-3.0 > usr/lib/$CRAFT_ARCH_TRIPLET/gtk-3.0/3.0.0/immodules/immodules.cache
stage:
- -./usr/lib/$CRAFT_ARCH_TRIPLET/libjpeg.so.8.2.2
after:
- telegram
2020-03-09 08:11:12 +01:00
ffmpeg:
plugin: nil
2020-03-09 08:11:12 +01:00
build-packages:
- libavcodec-dev
2023-03-09 05:23:44 +01:00
- libavfilter-dev
- libavformat-dev
- libavutil-dev
- libswresample-dev
- libswscale-dev
2020-05-15 20:36:35 +02:00
stage-packages:
- libavcodec58
2023-03-09 05:23:44 +01:00
- libavfilter7
- libavformat58
- libavutil56
- libswresample3
- libswscale5
- va-driver-all
- vdpau-driver-all
2023-03-09 23:34:15 +01:00
override-build: |
craftctl default
mv "$CRAFT_PART_INSTALL/usr/lib/$CRAFT_ARCH_TRIPLET/blas/"* "$CRAFT_PART_INSTALL/usr/lib/$CRAFT_ARCH_TRIPLET"
rmdir "$CRAFT_PART_INSTALL/usr/lib/$CRAFT_ARCH_TRIPLET/blas"
2023-03-10 04:55:36 +01:00
mv "$CRAFT_PART_INSTALL/usr/lib/$CRAFT_ARCH_TRIPLET/lapack/"* "$CRAFT_PART_INSTALL/usr/lib/$CRAFT_ARCH_TRIPLET"
rmdir "$CRAFT_PART_INSTALL/usr/lib/$CRAFT_ARCH_TRIPLET/lapack"
2020-10-07 04:21:20 +02:00
stage:
2022-06-15 16:21:37 +02:00
- -./usr/lib/$CRAFT_ARCH_TRIPLET/libjpeg.so.8.2.2
2020-10-07 04:21:20 +02:00
after:
- mozjpeg
2022-11-04 11:02:52 +01:00
glibmm:
source: https://github.com/GNOME/glibmm.git
source-depth: 1
2023-09-21 08:19:53 +02:00
source-tag: 2.78.0
2022-11-04 11:02:52 +01:00
plugin: meson
build-packages:
2022-11-20 06:31:39 +01:00
- mm-common
2022-11-04 11:02:52 +01:00
- ninja-build
- libxml-parser-perl
meson-parameters:
- --buildtype=release
- --prefix=/usr
2023-02-02 12:54:55 +01:00
- --strip
2022-11-04 11:02:52 +01:00
- -Dbuild-documentation=false
- -Dbuild-examples=false
- -Dsigc++-3.0:build-documentation=false
- -Dsigc++-3.0:build-examples=false
- -Dsigc++-3.0:validation=false
- -Dglib:tests=false
- -Dglib:introspection=disabled
2022-11-04 11:02:52 +01:00
prime:
- -./usr/include
- -./usr/lib/$CRAFT_ARCH_TRIPLET/pkgconfig
- -./usr/lib/$CRAFT_ARCH_TRIPLET/*.so
2023-10-30 22:08:26 +01:00
after:
- meson-deps
2022-11-04 11:02:52 +01:00
libjxl:
source: https://github.com/libjxl/libjxl.git
source-depth: 1
2023-07-17 17:22:19 +02:00
source-tag: v0.8.2
plugin: cmake
2023-02-02 12:54:55 +01:00
build-environment:
2023-05-18 13:18:50 +02:00
- LDFLAGS: ${LDFLAGS:+$LDFLAGS} -s
2023-02-02 12:55:45 +01:00
cmake-generator: Ninja
cmake-parameters:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/usr
- -DBUILD_TESTING=OFF
- -DJPEGXL_ENABLE_DEVTOOLS=OFF
- -DJPEGXL_ENABLE_TOOLS=OFF
2023-02-17 07:56:42 +01:00
- -DJPEGXL_ENABLE_JPEGLI_LIBJPEG=OFF
- -DJPEGXL_ENABLE_DOXYGEN=OFF
- -DJPEGXL_ENABLE_MANPAGES=OFF
- -DJPEGXL_ENABLE_BENCHMARK=OFF
- -DJPEGXL_ENABLE_EXAMPLES=OFF
- -DJPEGXL_ENABLE_JNI=OFF
- -DJPEGXL_ENABLE_SJPEG=OFF
- -DJPEGXL_ENABLE_OPENEXR=OFF
- -DJPEGXL_ENABLE_SKCMS=OFF
stage:
- -./usr/lib/$CRAFT_ARCH_TRIPLET/libbrotli*
prime:
- -./usr/bin
- -./usr/include
- -./usr/lib/$CRAFT_ARCH_TRIPLET/pkgconfig
- -./usr/lib/$CRAFT_ARCH_TRIPLET/*.a
- -./usr/lib/$CRAFT_ARCH_TRIPLET/*.so
- -./usr/share
2020-10-07 04:21:20 +02:00
mozjpeg:
source: https://github.com/mozilla/mozjpeg.git
source-depth: 1
2023-09-21 08:19:53 +02:00
source-tag: v4.1.4
2020-10-07 04:21:20 +02:00
plugin: cmake
2023-02-02 12:54:55 +01:00
build-environment:
2023-05-18 13:18:50 +02:00
- LDFLAGS: ${LDFLAGS:+$LDFLAGS} -s
2022-06-15 16:21:37 +02:00
cmake-generator: Ninja
2020-10-07 04:21:20 +02:00
cmake-parameters:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/usr
- -DENABLE_STATIC=OFF
- -DWITH_JPEG8=ON
- -DPNG_SUPPORTED=OFF
prime:
- -./usr/bin
- -./usr/include
2022-06-15 16:21:37 +02:00
- -./usr/lib/$CRAFT_ARCH_TRIPLET/pkgconfig
- -./usr/lib/$CRAFT_ARCH_TRIPLET/*.so
2020-10-07 04:21:20 +02:00
- -./usr/share
2020-03-09 08:11:12 +01:00
openal:
2022-04-25 18:31:49 +02:00
source: https://github.com/kcat/openal-soft.git
source-depth: 1
2023-09-21 08:19:53 +02:00
source-tag: 1.23.1
plugin: cmake
2023-02-02 12:54:55 +01:00
build-environment:
2023-05-18 13:18:50 +02:00
- LDFLAGS: ${LDFLAGS:+$LDFLAGS} -s
build-packages:
- libasound2-dev
2022-04-25 18:31:49 +02:00
- libdbus-1-dev
2022-06-15 16:21:37 +02:00
- libpipewire-0.3-dev
- libpulse-dev
2020-05-15 20:36:35 +02:00
stage-packages:
- libasound2
2022-04-25 18:31:49 +02:00
- libdbus-1-3
2020-05-15 20:36:35 +02:00
- libpulse0
2023-01-20 11:34:56 +01:00
- pipewire
2022-06-15 16:21:37 +02:00
cmake-generator: Ninja
2020-05-15 20:36:35 +02:00
cmake-parameters:
- -DCMAKE_BUILD_TYPE=Release
2020-05-15 20:36:35 +02:00
- -DCMAKE_INSTALL_PREFIX=/usr
- -DALSOFT_EXAMPLES=OFF
- -DALSOFT_UTILS=OFF
2022-04-25 18:31:49 +02:00
- -DALSOFT_INSTALL_CONFIG=OFF
2020-04-19 04:57:03 +02:00
prime:
2020-05-15 20:36:35 +02:00
- -./usr/include
2022-06-15 16:21:37 +02:00
- -./usr/lib/$CRAFT_ARCH_TRIPLET/cmake
- -./usr/lib/$CRAFT_ARCH_TRIPLET/pkgconfig
- -./usr/lib/$CRAFT_ARCH_TRIPLET/*.so
2022-11-25 12:09:09 +01:00
protobuf:
source: https://github.com/protocolbuffers/protobuf.git
source-depth: 1
2023-09-21 08:19:53 +02:00
source-tag: v24.3
2022-11-25 12:09:09 +01:00
plugin: cmake
2023-02-02 12:54:55 +01:00
build-environment:
2023-05-18 13:18:50 +02:00
- LDFLAGS: ${LDFLAGS:+$LDFLAGS} -s
2022-11-25 12:09:09 +01:00
build-packages:
- zlib1g-dev
stage-packages:
- zlib1g
cmake-generator: Ninja
cmake-parameters:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/usr
- -DBUILD_SHARED_LIBS=ON
- -Dprotobuf_BUILD_TESTS=OFF
prime:
- -./usr/bin
- -./usr/include
- -./usr/lib/$CRAFT_ARCH_TRIPLET/cmake
- -./usr/lib/$CRAFT_ARCH_TRIPLET/pkgconfig
- -./usr/lib/$CRAFT_ARCH_TRIPLET/*.so
2021-10-25 17:37:20 +02:00
qt:
plugin: nil
2023-02-02 12:54:55 +01:00
build-environment:
2023-05-18 13:18:50 +02:00
- LDFLAGS: ${LDFLAGS:+$LDFLAGS} -s
build-packages:
- libdbus-1-dev
- libegl-dev
- libfontconfig1-dev
- libfreetype-dev
- libglx-dev
2021-06-26 18:52:07 +02:00
- libgtk-3-dev
- libharfbuzz-dev
2021-10-30 19:35:10 +02:00
- libice-dev
- libicu-dev
2022-12-28 12:19:36 +01:00
- liblcms2-dev
- libopengl-dev
- libpcre2-dev
- libpng-dev
2021-10-30 19:35:10 +02:00
- libsm-dev
- libssl-dev
- libvulkan-dev
- libwayland-dev
- libx11-dev
- libx11-xcb-dev
- libxcb1-dev
2023-02-24 03:04:53 +01:00
- libxcb-cursor-dev
- libxcb-glx0-dev
- libxcb-icccm4-dev
- libxcb-image0-dev
- libxcb-keysyms1-dev
- libxcb-randr0-dev
- libxcb-render0-dev
- libxcb-render-util0-dev
- libxcb-shape0-dev
- libxcb-shm0-dev
- libxcb-sync-dev
- libxcb-util-dev
- libxcb-xfixes0-dev
- libxcb-xkb-dev
- libxkbcommon-dev
- libxkbcommon-x11-dev
- zlib1g-dev
stage-packages:
- libdbus-1-3
- libegl1
- libfontconfig1
- libfreetype6
- libglx0
2021-06-26 18:52:07 +02:00
- libgtk-3-0
- libharfbuzz0b
2021-10-30 19:35:10 +02:00
- libice6
2022-06-15 16:21:37 +02:00
- libicu70
2022-12-28 12:19:36 +01:00
- liblcms2-2
- libopengl0
- libpcre2-16-0
- libpng16-16
2021-10-30 19:35:10 +02:00
- libsm6
- libssl3
- libvulkan1
- libwayland-client0
2021-01-29 10:28:20 +01:00
- libwayland-cursor0
- libwayland-egl1
- libwayland-server0
- libx11-6
- libx11-xcb1
- libxcb1
2023-02-24 03:04:53 +01:00
- libxcb-cursor0
- libxcb-glx0
- libxcb-icccm4
- libxcb-image0
- libxcb-keysyms1
- libxcb-randr0
- libxcb-render0
- libxcb-render-util0
- libxcb-shape0
- libxcb-shm0
- libxcb-sync1
- libxcb-util1
- libxcb-xfixes0
- libxcb-xkb1
- libxkbcommon0
- libxkbcommon-x11-0
- zlib1g
override-pull: |
2023-09-23 11:02:15 +02:00
QT=6.6.0
2023-10-10 21:03:39 +02:00
git clone -b v${QT} --depth=1 https://code.qt.io/qt/qt5.git .
2023-05-11 04:11:07 +02:00
git submodule update --init --recursive --depth=1 qtbase qtdeclarative qtwayland qtimageformats qtsvg qtshadertools
cd qtbase
2022-06-15 16:21:37 +02:00
find $CRAFT_STAGE/patches/qtbase_${QT} -type f -print0 | sort -z | xargs -r0 git apply
cd ../qtsvg
git fetch origin v6.5.3
git checkout FETCH_HEAD
cd ../qtwayland
2023-10-06 12:20:24 +02:00
git fetch origin v6.5.3
git checkout FETCH_HEAD
git fetch origin da4bb4885d91fad53a573bbeacf1b0705eb5b1a5
git cherry-pick -n FETCH_HEAD
sed -i 's/qMin(version, 8)/qMin(version, 7)/' src/client/qwaylandinputdevice.cpp
cd ..
override-build: |
./configure \
-prefix /usr \
2022-06-15 16:21:37 +02:00
-libdir /usr/lib/$CRAFT_ARCH_TRIPLET \
-release \
-opensource \
-confirm-license \
2022-02-11 20:02:49 +01:00
-no-feature-getentropy \
-no-feature-renameat2 \
-no-feature-statx \
-no-feature-egl-extension-platform-wayland \
-openssl-linked \
-nomake examples \
2022-04-12 16:31:16 +02:00
-nomake tests
2022-06-15 16:21:37 +02:00
cmake --build . -j$CRAFT_PARALLEL_BUILD_COUNT
DESTDIR="$CRAFT_PART_INSTALL" cmake --install .
stage:
2022-06-15 16:21:37 +02:00
- -./usr/lib/$CRAFT_ARCH_TRIPLET/libjpeg.so.8.2.2
prime:
2021-10-25 17:37:20 +02:00
- -./usr/bin
- -./usr/doc
- -./usr/include
2022-06-15 16:21:37 +02:00
- -./usr/lib/$CRAFT_ARCH_TRIPLET/cmake
- -./usr/lib/$CRAFT_ARCH_TRIPLET/metatypes
- -./usr/lib/$CRAFT_ARCH_TRIPLET/pkgconfig
2022-06-15 16:21:37 +02:00
- -./usr/lib/$CRAFT_ARCH_TRIPLET/*.a
- -./usr/lib/$CRAFT_ARCH_TRIPLET/*.la
- -./usr/lib/$CRAFT_ARCH_TRIPLET/*.prl
- -./usr/lib/$CRAFT_ARCH_TRIPLET/*.so
2021-10-25 17:37:20 +02:00
- -./usr/libexec
- -./usr/mkspecs
- -./usr/modules
2020-08-29 18:51:45 +02:00
after:
2023-03-31 19:05:36 +02:00
- glibmm
- mozjpeg
- patches
2020-08-15 22:23:00 +02:00
2021-06-01 15:37:30 +02:00
rnnoise:
source: https://gitlab.xiph.org/xiph/rnnoise.git
source-depth: 1
source-commit: 7f449bf8bd3b933891d12c30112268c4090e4d59
plugin: autotools
2023-02-02 12:54:55 +01:00
build-environment:
- CFLAGS: -O2 -s
2021-06-01 15:37:30 +02:00
autotools-configure-parameters:
2021-06-03 03:56:31 +02:00
- --prefix=/usr
2022-06-15 16:21:37 +02:00
- --libdir=\${exec_prefix}/lib/$CRAFT_ARCH_TRIPLET
2021-06-03 03:56:31 +02:00
- --disable-static
2021-06-01 15:37:30 +02:00
- --disable-examples
- --disable-doc
prime:
- -./usr/include
2022-06-15 16:21:37 +02:00
- -./usr/lib/$CRAFT_ARCH_TRIPLET/pkgconfig
- -./usr/lib/$CRAFT_ARCH_TRIPLET/*.la
- -./usr/lib/$CRAFT_ARCH_TRIPLET/*.so
2021-06-03 03:56:31 +02:00
- -./usr/share
2021-06-01 15:37:30 +02:00
2023-08-22 02:09:37 +02:00
systemd:
plugin: nil
stage-packages:
- systemd
stage:
- ./usr/bin/systemd-detect-virt
2020-08-15 22:23:00 +02:00
webrtc:
2020-08-31 09:59:07 +02:00
source: https://github.com/desktop-app/tg_owt.git
2020-08-29 18:51:45 +02:00
source-depth: 1
source-commit: 3bb3d757681e6cc5135aec6529a753dc3dcdcfb9
2020-08-29 18:51:45 +02:00
plugin: cmake
2023-02-02 12:54:55 +01:00
build-environment:
2023-05-18 13:18:50 +02:00
- LDFLAGS: ${LDFLAGS:+$LDFLAGS} -s
2020-08-15 22:23:00 +02:00
build-packages:
2020-08-29 18:51:45 +02:00
- yasm
2022-06-15 16:21:37 +02:00
- libdrm-dev
- libegl-dev
- libgbm-dev
- libgl-dev
- libopenh264-dev
2020-08-15 22:23:00 +02:00
- libopus-dev
2022-06-15 16:21:37 +02:00
- libpipewire-0.3-dev
- libssl-dev
2022-06-15 16:21:37 +02:00
- libvpx-dev
2021-05-15 21:38:42 +02:00
- libx11-dev
- libxcomposite-dev
- libxdamage-dev
- libxext-dev
- libxfixes-dev
- libxrender-dev
- libxrandr-dev
- libxtst-dev
2020-08-15 22:23:00 +02:00
stage-packages:
2022-06-15 16:21:37 +02:00
- libdrm2
- libegl1
- libgbm1
- libgl1
- libopenh264-6
2020-08-15 22:23:00 +02:00
- libopus0
- libssl3
2022-06-15 16:21:37 +02:00
- libvpx7
2021-05-15 21:38:42 +02:00
- libx11-6
- libxcomposite1
- libxdamage1
- libxext6
- libxfixes3
- libxrender1
- libxrandr2
- libxtst6
2023-01-20 11:34:56 +01:00
- pipewire
2022-06-15 16:21:37 +02:00
cmake-generator: Ninja
cmake-parameters:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/usr
2021-06-03 07:40:32 +02:00
prime:
- -./usr/include
2022-06-15 16:21:37 +02:00
- -./usr/lib/$CRAFT_ARCH_TRIPLET/cmake
- -./usr/lib/$CRAFT_ARCH_TRIPLET/*.a
2020-08-15 22:23:00 +02:00
after:
- ffmpeg
2023-03-31 19:05:36 +02:00
- glibmm
2020-10-07 04:21:20 +02:00
- mozjpeg