Commit Graph

24 Commits

Author SHA1 Message Date
Marco Trevisan f68cefbdc1 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 2e6f4cc619.

* 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 17:35:37 +03:00
John Preston 7ae1ef0a1a Migrate to VS2017. 2017-09-06 17:11:06 +03:00
John Preston 5faca8d4f6 Add Catch unittest framework and some tests. 2017-09-03 15:45:45 +03:00
John Preston 413be7d76d Alpha 1.1.3.
Also update libtgvoip.
2017-05-24 16:59:40 +03:00
John Preston efb59e8c3a Show GIF in Mediaview on click.
This way you can watch GIF on full screen and switch between them.
2017-05-24 16:25:05 +03:00
John Preston b821978a36 Added Xcode projects to .gitignore, added some Xcode settings to GYP. 2016-08-29 21:36:25 -06:00
John Preston 4def7f2a18 Build docs updated, .sln files added to .gitignore. 2016-08-14 21:41:31 +03:00
John Preston a4c98e74ce GYP/Ninja Windows build: codegen done, WinXP done, Release done.
MetaLang, codegen_style and codegen_numbers utilities are now
built by GYP targets, rules added for codegen_style and actions
added for codegen_numbers and MetaLang.

WinXP supported without Windows 7.1A SDK, but with explicitly
setting MinimumRequiredVersion=5.01. It works (and that is strange).

If you attempt to use MSBuild instead of Ninja you should add
the latest Windows SDK include paths to include_dirs, because v140_xp
toolset implies the Windows 7.1A SDK (and is ignored by Ninja).
2016-08-13 20:43:21 +03:00
John Preston 62cab0750b First attempt to build Telegram on Windows using GYP+Ninja.
It already builds in Debug, using rules for Qt MOC and RCC.
Need to start use rules for styles/langs/numbers, test on WinXP.
Need to support Release and Deploy configurations.
2016-08-10 22:36:00 +03:00
John Preston fe6e3c5252 Build scripts improved, QtCreator build fixed.
qmake and travis builds use -j4 for make.
2016-04-27 16:59:08 +03:00
John Preston 745f89dbb9 Moving build / lang scripts from Telegram to subfolders.
Travis build tested with -j param.
Xcode / QtCreator / qmake builds could be broken.
2016-04-27 15:02:17 +03:00
John Preston 487406ac46 Moved to the Visual Studio Update 2. 2016-04-26 12:55:34 +03:00
John Preston 0501633c75 Added codegen_style/numbers QtCreator projects. Telegram.pro still broken. 2016-04-19 15:06:52 +03:00
John Preston b4d69b847a Xcode build now uses codegen_style/numbers. Xcode projects created. 2016-04-19 13:59:59 +03:00
John Preston 1045d628d6 Moved .qrc, langs and art files from SourceFiles to Resources folder. 2016-04-09 17:17:09 +04:00
John Preston 18db57ba96 Added a new project codegen_style to the solution.
It should replace MetaStyle in the far future.
2016-03-30 01:35:36 +04:00
John Preston ddc802c0af top bar search icon added 2016-03-17 12:23:38 +03:00
John Preston 069333b24d deply scripts improved, crash fixed in dropdown 2015-09-24 17:17:53 +03:00
John Preston 5bcba600e6 basic languages support and italian language added 2014-12-20 00:20:30 +03:00
John Preston 9f011049bf static link of libxcb-image added 2014-07-16 08:54:50 +04:00
John Preston da0f087404 first version ubuntu qt creator build 2014-07-08 14:24:21 +04:00
John Preston cace79bc18 xcode build support started 2014-06-14 23:32:11 +04:00
John Preston f70238759b vs project settings improved, added Deploy configuration, version changed to 0.5 2014-05-30 13:55:07 +04:00
John Preston 4221fe666f initial commit for 0.4.18 version of Telegram Desktop 2014-05-30 12:53:19 +04:00