Merge remote-tracking branch 'tdesktop/dev' into dev

This commit is contained in:
Eric Kotato 2019-11-06 20:50:07 +03:00
commit 6a0280f9f0
17 changed files with 130 additions and 45 deletions

View file

@ -50,8 +50,8 @@ GOTO:EOF
git submodule init
git submodule update
cd %SRC_DIR%\Telegram
call gyp\refresh.bat --api-id 17349 --api-hash 344583e45741c457fe1862106095a5eb
GOTO:EOF
call gyp\refresh.bat --api-id 17349 --api-hash 344583e45741c457fe1862106095a5eb --ci-build
GOTO:EOF
:configureBuild
call:logInfo "Configuring build"

View file

@ -11,21 +11,21 @@ CACHE="$HOME/travisCacheDir"
QT_WAS_BUILT="0"
QT_VERSION=5.6.2
QT_VERSION=5.12.5
XKB_PATH="$BUILD/libxkbcommon"
XKB_CACHE_VERSION="3"
QT_PATH="$BUILD/qt"
QT_CACHE_VERSION="4"
QT_PATCH="$UPSTREAM/Telegram/Patches/qtbase_${QT_VERSION//\./_}.diff"
QT_PATCH="$EXTERNAL/patches/qtbase_${QT_VERSION//\./_}.diff"
BREAKPAD_PATH="$BUILD/breakpad"
BREAKPAD_CACHE_VERSION="3"
GYP_PATH="$BUILD/gyp"
GYP_CACHE_VERSION="3"
GYP_PATCH="$UPSTREAM/Telegram/Patches/gyp.diff"
GYP_PATCH="$EXTERNAL/patches/gyp.diff"
RANGE_PATH="$BUILD/range-v3"
RANGE_CACHE_VERSION="3"
@ -64,6 +64,8 @@ build() {
BUILD_VERSION_DATA=$(echo $BUILD_VERSION | cut -d'-' -f 1)
getPatches
# libxkbcommon
getXkbCommon
@ -127,6 +129,11 @@ build() {
travisEndFold
}
getPatches() {
cd "$EXTERNAL"
git clone --depth 1 https://github.com/desktop-app/patches
}
getXkbCommon() {
travisStartFold "Getting xkbcommon"
@ -580,8 +587,8 @@ buildCustomQt() {
QT_WAS_BUILT="1"
info_msg "Downloading and building patched qt"
if [ -d "$EXTERNAL/qt${QT_VERSION}" ]; then
sudo rm -rf "$EXTERNAL/qt${QT_VERSION}"
if [ -d "$EXTERNAL/qt_${QT_VERSION}" ]; then
sudo rm -rf "$EXTERNAL/qt_${QT_VERSION}"
fi
cd $QT_PATH
sudo rm -rf *
@ -592,8 +599,8 @@ buildCustomQt() {
cd "$EXTERNAL/qt${QT_VERSION}"
perl init-repository --branch --module-subset=qtbase,qtimageformats
git checkout v${QT_VERSION}
cd qtbase && git checkout v${QT_VERSION} && cd ..
cd qtimageformats && git checkout v${QT_VERSION} && cd ..
git submodule update qtbase
git submodule update qtimageformats
cd "$EXTERNAL/qt${QT_VERSION}/qtbase"
git apply "$QT_PATCH"
@ -606,10 +613,10 @@ buildCustomQt() {
cd ../../../..
./configure -prefix $QT_PATH -release -opensource -confirm-license -qt-zlib \
-qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz -qt-pcre -qt-xcb \
-qt-xkbcommon-x11 -no-opengl -no-gtkstyle -static \
-qt-libpng -qt-libjpeg -qt-harfbuzz -qt-pcre -qt-xcb \
-system-freetype -fontconfig -no-opengl -no-gtk -static \
-nomake examples -nomake tests -no-mirclient \
-dbus-runtime -no-gstreamer -no-mtdev # <- Not sure about these
-dbus-runtime -no-mtdev # <- Not sure about these
make $MAKE_ARGS
sudo make install
}
@ -664,7 +671,7 @@ buildGYP() {
git clone https://chromium.googlesource.com/external/gyp
cd "$EXTERNAL/gyp"
git checkout 702ac58e47
git checkout 9f2a7bb1
git apply "$GYP_PATCH"
cp -r * "$GYP_PATH/"
}
@ -676,6 +683,7 @@ buildTelegram() {
"$GYP_PATH/gyp" \
-Dapi_id=17349 \
-Dapi_hash=344583e45741c457fe1862106095a5eb \
-Dspecial_build_target= \
-Dbuild_defines=${GYP_DEFINES:1} \
-Dlinux_path_xkbcommon=$XKB_PATH \
-Dlinux_path_va=$VA_PATH \

View file

@ -9,7 +9,7 @@
<Identity Name="TelegramMessengerLLP.TelegramDesktop"
ProcessorArchitecture="ARCHITECTURE"
Publisher="CN=536BC709-8EE1-4478-AF22-F0F0F26FF64A"
Version="1.9.0.0" />
Version="1.9.1.0" />
<Properties>
<DisplayName>Telegram Desktop</DisplayName>
<PublisherDisplayName>Telegram FZ-LLC</PublisherDisplayName>

View file

@ -279,9 +279,8 @@ void InitSpellchecker(
not_null<Ui::InputField*> field) {
#ifndef TDESKTOP_DISABLE_SPELLCHECK
const auto s = Ui::CreateChild<Spellchecker::SpellingHighlighter>(
field->rawTextEdit().get(),
session->settings().spellcheckerEnabledValue(),
field->documentContentsChanges());
field.get(),
session->settings().spellcheckerEnabledValue());
Spellchecker::SetPhrases({ {
{ &ph::lng_spellchecker_add, tr::lng_spellchecker_add() },
{ &ph::lng_spellchecker_remove, tr::lng_spellchecker_remove() },

View file

@ -15,8 +15,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#define TDESKTOP_ALPHA_VERSION (0ULL)
#endif // TDESKTOP_OFFICIAL_TARGET
constexpr auto AppVersion = 1009000;
constexpr auto AppVersionStr = "1.9";
constexpr auto AppVersion = 1009001;
constexpr auto AppVersionStr = "1.9.1";
constexpr auto AppBetaVersion = true;
constexpr auto AppAlphaVersion = TDESKTOP_ALPHA_VERSION;
constexpr auto AppKotatoVersion = 1001000;

View file

@ -244,6 +244,9 @@ void SetupUpdate(not_null<Ui::VerticalLayout*> container) {
}
bool HasSystemSpellchecker() {
#ifdef TDESKTOP_DISABLE_SPELLCHECK
return false;
#endif // TDESKTOP_DISABLE_SPELLCHECK
return (Platform::IsWindows() && Platform::IsWindows8OrGreater())
|| Platform::IsMac();
}

View file

@ -57,7 +57,7 @@ set "DeployPath=%ReleasePath%\deploy\%AppVersionStrMajor%\%AppVersionStrFull%"
set "SignPath=%HomePath%\..\..\DesktopPrivate\Sign.bat"
set "BinaryName=Telegram"
set "DropboxSymbolsPath=Y:\Telegram\symbols"
set "FinalReleasePath=Z:\Telegram\backup"
set "FinalReleasePath=Z:\Projects\backup\tdesktop"
if not exist %DropboxSymbolsPath% (
echo Dropbox path %DropboxSymbolsPath% not found!

View file

@ -118,8 +118,8 @@ if [ "$BuildTarget" == "linux" ] || [ "$BuildTarget" == "linux32" ]; then
Error "Dropbox path not found!"
fi
BackupPath="/media/psf/backup/$AppVersionStrMajor/$AppVersionStrFull/t$BuildTarget"
if [ ! -d "/media/psf/backup" ]; then
BackupPath="/media/psf/backup/tdesktop/$AppVersionStrMajor/$AppVersionStrFull/t$BuildTarget"
if [ ! -d "/media/psf/backup/tdesktop" ]; then
Error "Backup folder not found!"
fi
@ -248,8 +248,8 @@ if [ "$BuildTarget" == "mac" ] || [ "$BuildTarget" == "osx" ] || [ "$BuildTarget
Error "Dropbox path not found!"
fi
BackupPath="$HOME/Telegram/backup/$AppVersionStrMajor/$AppVersionStrFull"
if [ ! -d "$HOME/Telegram/backup" ]; then
BackupPath="$HOME/Projects/backup/tdesktop/$AppVersionStrMajor/$AppVersionStrFull"
if [ ! -d "$HOME/Projects/backup/tdesktop" ]; then
Error "Backup path not found!"
fi

View file

@ -79,9 +79,9 @@ else
fi
fi
if [ "$BuildTarget" == "mac" ]; then
BackupPath="$HOME/Telegram/backup"
BackupPath="$HOME/Projects/backup/tdesktop"
elif [ "$BuildTarget" == "linux" ]; then
BackupPath="/media/psf/Home/Telegram/backup"
BackupPath="/media/psf/Home/Projects/backup/tdesktop"
else
Error "Can't deploy here"
fi

View file

@ -1,6 +1,6 @@
import os, sys, requests, pprint, re, json
from uritemplate import URITemplate, expand
from subprocess import call
from subprocess import call, Popen, PIPE
from os.path import expanduser
changelog_file = '../../changelog.txt'
@ -53,6 +53,59 @@ def checkResponseCode(result, right_code):
print('Wrong result code: ' + str(result.status_code) + ', should be ' + str(right_code))
sys.exit(1)
def getOutput(command):
p = Popen(command.split(), stdout=PIPE)
output, err = p.communicate()
if err != None or p.returncode != 0:
print('ERROR!')
print(err)
print(p.returncode)
sys.exit(1)
return output.decode('utf-8')
def prepareSources():
workpath = os.getcwd()
os.chdir('../..')
rootpath = os.getcwd()
finalpath = rootpath + '/out/Release/sources.tar'
if os.path.exists(finalpath):
os.remove(finalpath)
if os.path.exists(finalpath + '.gz'):
os.remove(finalpath + '.gz')
tmppath = rootpath + '/out/Release/tmp.tar'
print('Preparing source tarball...')
if (call(('git archive --prefix=tdesktop-' + version + '-full/ -o ' + finalpath + ' v' + version).split()) != 0):
os.remove(finalpath)
sys.exit(1)
lines = getOutput('git submodule foreach').split('\n')
for line in lines:
if len(line) == 0:
continue
match = re.match(r"^Entering '([^']+)'$", line)
if not match:
print('Bad line: ' + line)
sys.exit(1)
path = match.group(1)
revision = getOutput('git rev-parse v' + version + ':' + path).split('\n')[0]
print('Adding submodule ' + path + '...')
os.chdir(path)
if (call(('git archive --prefix=tdesktop-' + version + '-full/' + path + '/ ' + revision + ' -o ' + tmppath).split()) != 0):
os.remove(finalpath)
os.remove(tmppath)
sys.exit(1)
if (call(('gtar --concatenate --file=' + finalpath + ' ' + tmppath).split()) != 0):
os.remove(finalpath)
os.remove(tmppath)
sys.exit(1)
os.remove(tmppath)
os.chdir(rootpath)
print('Compressing...')
if (call(('gzip -9 ' + finalpath).split()) != 0):
os.remove(finalpath)
sys.exit(1)
os.chdir(workpath)
return finalpath + '.gz'
pp = pprint.PrettyPrinter(indent=2)
url = 'https://api.github.com/'
@ -152,6 +205,12 @@ files.append({
'mime': 'application/octet-stream',
'label': 'Linux 32 bit: Binary',
})
files.append({
'local': 'sources',
'remote': 'tdesktop-' + version + '-full.tar.gz',
'mime': 'application/x-gzip',
'label': 'Source code (tar.gz, full)',
})
r = requests.get(url + 'repos/telegramdesktop/tdesktop/releases/tags/v' + version)
if r.status_code == 404:
@ -182,8 +241,8 @@ if r.status_code == 404:
sys.exit(1)
changelog = changelog.strip()
print('Changelog: ');
print(changelog);
print('Changelog: ')
print(changelog)
r = requests.post(url + 'repos/telegramdesktop/tdesktop/releases', headers={'Authorization': 'token ' + access_token}, data=json.dumps({
'tag_name': 'v' + version,
@ -195,7 +254,7 @@ if r.status_code == 404:
checkResponseCode(r, 201)
tagname = 'v' + version
call("git fetch origin".split());
call("git fetch origin".split())
if stable == 1:
call("git push launchpad {}:master".format(tagname).split())
else:
@ -203,7 +262,7 @@ else:
call("git push --tags launchpad".split())
r = requests.get(url + 'repos/telegramdesktop/tdesktop/releases/tags/v' + version)
checkResponseCode(r, 200);
checkResponseCode(r, 200)
release_data = r.json()
#pp.pprint(release_data)
@ -211,8 +270,8 @@ release_data = r.json()
release_id = release_data['id']
print('Release ID: ' + str(release_id))
r = requests.get(url + 'repos/telegramdesktop/tdesktop/releases/' + str(release_id) + '/assets');
checkResponseCode(r, 200);
r = requests.get(url + 'repos/telegramdesktop/tdesktop/releases/' + str(release_id) + '/assets')
checkResponseCode(r, 200)
assets = release_data['assets']
for asset in assets:
@ -230,12 +289,15 @@ for asset in assets:
for file in files:
if 'already' in file:
continue
file_path = local_folder + file['backup_folder'] + '/' + file['local']
if file['local'] == 'sources':
file_path = prepareSources()
else:
file_path = local_folder + file['backup_folder'] + '/' + file['local']
if not os.path.isfile(file_path):
print('Warning: file not found ' + file['local'])
continue
upload_url = expand(release_data['upload_url'], {'name': file['remote'], 'label': file['label']}) + '&access_token=' + access_token;
upload_url = expand(release_data['upload_url'], {'name': file['remote'], 'label': file['label']}) + '&access_token=' + access_token
content = upload_in_chunks(file_path, 10)

View file

@ -1,6 +1,6 @@
AppVersion 1009000
AppVersion 1009001
AppVersionStrMajor 1.9
AppVersionStrSmall 1.9
AppVersionStr 1.9.0
AppVersionStrSmall 1.9.1
AppVersionStr 1.9.1
BetaChannel 1
AlphaVersion 0

View file

@ -23,6 +23,7 @@ apiId = ''
apiHash = ''
nextApiId = False
nextApiHash = False
ciBuild = False
for arg in sys.argv:
if nextApiId:
apiId = re.sub(r'[^\d]', '', arg)
@ -33,6 +34,8 @@ for arg in sys.argv:
else:
nextApiId = (arg == '--api-id')
nextApiHash = (arg == '--api-hash')
if arg == '--ci-build':
ciBuild = True
officialTarget = ''
officialTargetFile = scriptPath + '/../build/target'
@ -86,6 +89,9 @@ gypArguments.append('-Dapi_id=' + apiId)
gypArguments.append('-Dapi_hash=' + apiHash)
gypArguments.append('-Dlottie_use_cache=1')
gypArguments.append('-Dspecial_build_target=' + officialTarget)
if ciBuild:
gypArguments.append('-Dci_build=1')
if 'TDESKTOP_BUILD_DEFINES' in os.environ:
buildDefines = os.environ['TDESKTOP_BUILD_DEFINES']
gypArguments.append('-Dbuild_defines=' + buildDefines)

@ -1 +1 @@
Subproject commit b12d0dbe9a388d08dc97ac8b164b52b8b6e33ea1
Subproject commit d76b213fc41943ecc1a469b6cd7f8a60318a18be

View file

@ -1,3 +1,7 @@
1.9.1 beta (06.11.19)
- Bug fixes and other minor improvements.
1.9 beta (05.11.19)
- System spellchecker on Windows 8+ and macOS 10.12+.

View file

@ -13,7 +13,7 @@ You will require **api_id** and **api_hash** to access the Telegram API servers.
You will need GCC 8.1 installed. To install them and all the required dependencies run
sudo apt-get install software-properties-common -y && \
sudo apt-get install git libexif-dev liblzma-dev libz-dev libssl-dev libappindicator-dev libicu-dev libdee-dev libdrm-dev dh-autoreconf autoconf automake build-essential libass-dev libfreetype6-dev libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-xfixes0-dev libxcb-keysyms1-dev libxcb-icccm4-dev libxcb-render-util0-dev libxcb-util0-dev libxrender-dev libasound-dev libpulse-dev libxcb-sync0-dev libxcb-randr0-dev libx11-xcb-dev libffi-dev libncurses5-dev pkg-config texi2html zlib1g-dev yasm xutils-dev bison python-xcbgen chrpath gperf -y && \
sudo apt-get install git libexif-dev liblzma-dev libz-dev libssl-dev libappindicator-dev libicu-dev libdee-dev libdrm-dev dh-autoreconf autoconf automake build-essential libass-dev libfreetype6-dev libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-xfixes0-dev libxcb-keysyms1-dev libxcb-icccm4-dev libxcb-render-util0-dev libxcb-util0-dev libxcb-xkb-dev libxrender-dev libasound-dev libpulse-dev libxcb-sync0-dev libxcb-randr0-dev libx11-xcb-dev libffi-dev libncurses5-dev pkg-config texi2html zlib1g-dev yasm xutils-dev bison python-xcbgen chrpath gperf -y && \
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
sudo apt-get update && \
sudo apt-get install gcc-8 g++-8 -y && \
@ -218,7 +218,7 @@ Go to ***BuildPath*** and run
git clone https://github.com/xkbcommon/libxkbcommon.git
cd libxkbcommon
git checkout xkbcommon-0.8.4
./autogen.sh --disable-x11
./autogen.sh
make $MAKE_THREADS_CNT
sudo make install
cd ..
@ -259,7 +259,11 @@ Go to ***BuildPath*** and run
./configure
make $MAKE_THREADS_CNT
sudo make install
cd src/tools
cd src
rm -r testing
git clone https://github.com/google/googletest testing
cd tools
sed -i 's/minidump_upload.m/minidump_upload.cc/' linux/tools_linux.gypi
../../../gyp/gyp --depth=. --generator-output=.. -Goutput_dir=../out tools.gyp --format=cmake
cd ../../out/Default
cmake .

View file

@ -32,7 +32,7 @@ Open **x86 Native Tools Command Prompt for VS 2019.bat**, go to ***BuildPath***
cd ThirdParty
git clone https://github.com/desktop-app/patches.git
cd patches
git checkout b0ec5df4
git checkout b0ec5df
cd ../
git clone https://chromium.googlesource.com/external/gyp
cd gyp
@ -95,7 +95,6 @@ Open **x86 Native Tools Command Prompt for VS 2019.bat**, go to ***BuildPath***
git clone https://github.com/desktop-app/zlib.git
cd zlib
git checkout tdesktop
cd contrib\vstudio\vc14
msbuild zlibstat.vcxproj /property:Configuration=Debug
msbuild zlibstat.vcxproj /property:Configuration=ReleaseWithoutAsm

View file

@ -22,7 +22,7 @@ Go to ***BuildPath*** and run
MACOSX_DEPLOYMENT_TARGET=10.12
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install automake cmake fdk-aac git lame libass libtool libvorbis libvpx ninja opus sdl shtool texi2html theora wget x264 xvid yasm pkg-config
brew install automake cmake fdk-aac git lame libass libtool libvorbis libvpx ninja opus sdl shtool texi2html theora wget x264 xvid yasm pkg-config gnu-tar
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer