forked from pool/telegram-desktop
Accepting request 555794 from home:nuklly:branches:server:messaging
OBS-URL: https://build.opensuse.org/request/show/555794 OBS-URL: https://build.opensuse.org/package/show/server:messaging/telegram-desktop?expand=0&rev=27
This commit is contained in:
parent
75df68587b
commit
f50174eea2
5
input.json
Normal file
5
input.json
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"includes": [
|
||||||
|
"common.gypi"
|
||||||
|
]
|
||||||
|
}
|
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:8097bccebb904800f06bc10d1f258150930df3f9de1aaed27b21bb83f3387790
|
oid sha256:4189a42a0d59f7c650bfb65db43c8db0eb0d87a3250bf8ac37e85dca3a6b8692
|
||||||
size 574566
|
size 565470
|
||||||
|
@ -1,220 +0,0 @@
|
|||||||
Index: tdesktop-1.1.23/Telegram/gyp/qt.gypi
|
|
||||||
===================================================================
|
|
||||||
--- tdesktop-1.1.23.orig/Telegram/gyp/qt.gypi
|
|
||||||
+++ tdesktop-1.1.23/Telegram/gyp/qt.gypi
|
|
||||||
@@ -38,7 +38,6 @@
|
|
||||||
'Qt5Network',
|
|
||||||
'Qt5Widgets',
|
|
||||||
'Qt5Gui',
|
|
||||||
- 'qtharfbuzzng',
|
|
||||||
],
|
|
||||||
'qt_version%': '<(qt_version)',
|
|
||||||
'conditions': [
|
|
||||||
@@ -62,7 +61,6 @@
|
|
||||||
'qtmain',
|
|
||||||
'qwindows',
|
|
||||||
'qtfreetype',
|
|
||||||
- 'qtpcre',
|
|
||||||
],
|
|
||||||
}],
|
|
||||||
[ 'build_mac', {
|
|
||||||
@@ -81,7 +79,6 @@
|
|
||||||
'<@(qt_libs)',
|
|
||||||
'Qt5Core',
|
|
||||||
'qtfreetype',
|
|
||||||
- 'qtpcre',
|
|
||||||
],
|
|
||||||
}],
|
|
||||||
[ 'build_linux', {
|
|
||||||
@@ -97,20 +94,6 @@
|
|
||||||
'<@(qt_libs)',
|
|
||||||
'Qt5DBus',
|
|
||||||
'Qt5Core',
|
|
||||||
- 'qtpcre',
|
|
||||||
- 'Xi',
|
|
||||||
- 'Xext',
|
|
||||||
- 'Xfixes',
|
|
||||||
- 'SM',
|
|
||||||
- 'ICE',
|
|
||||||
- 'fontconfig',
|
|
||||||
- 'expat',
|
|
||||||
- 'freetype',
|
|
||||||
- 'z',
|
|
||||||
- 'xcb-shm',
|
|
||||||
- 'xcb-xfixes',
|
|
||||||
- 'xcb-render',
|
|
||||||
- 'xcb-static',
|
|
||||||
],
|
|
||||||
}],
|
|
||||||
],
|
|
||||||
@@ -220,7 +203,6 @@
|
|
||||||
'<(qt_loc)/plugins/platforminputcontexts',
|
|
||||||
],
|
|
||||||
'libraries': [
|
|
||||||
- '<(linux_path_xkbcommon)/lib/libxkbcommon.a',
|
|
||||||
'<@(qt_libs_release)',
|
|
||||||
'<(linux_lib_ssl)',
|
|
||||||
'<(linux_lib_crypto)',
|
|
||||||
@@ -233,12 +215,28 @@
|
|
||||||
'-lgthread-2.0',
|
|
||||||
'-lglib-2.0',
|
|
||||||
'-lpthread',
|
|
||||||
+ '-ljpeg',
|
|
||||||
+ '-lGL',
|
|
||||||
+ '-lfreetype',
|
|
||||||
+ '-lfontconfig',
|
|
||||||
+ '-lXi',
|
|
||||||
+ '-lSM',
|
|
||||||
+ '-lICE',
|
|
||||||
+ '-lproxy',
|
|
||||||
+ '-lz',
|
|
||||||
+ '<!(pkg-config 2> /dev/null --libs xkbcommon xkbcommon-x11)',
|
|
||||||
+ '<!(pkg-config 2> /dev/null --libs libpcre16)',
|
|
||||||
+ '<!(pkg-config 2> /dev/null --libs zlib)',
|
|
||||||
+ '<!(pkg-config 2> /dev/null --libs libpng16)',
|
|
||||||
+ '<!(pkg-config 2> /dev/null --libs libwebp)',
|
|
||||||
+ '<!(pkg-config 2> /dev/null --libs harfbuzz)',
|
|
||||||
+ '<!(pkg-config 2> /dev/null --libs xcb-shm xcb-xfixes xcb-render xcb-renderutil xcb-sync xcb-randr xcb-xinerama xcb-xkb xcb-icccm xcb-image xcb-shape xcb-keysyms xcb-util)',
|
|
||||||
+
|
|
||||||
],
|
|
||||||
'include_dirs': [
|
|
||||||
'<(qt_loc)/mkspecs/linux-g++',
|
|
||||||
],
|
|
||||||
'ldflags': [
|
|
||||||
- '-static-libstdc++',
|
|
||||||
'-pthread',
|
|
||||||
'-g',
|
|
||||||
'-rdynamic',
|
|
||||||
Index: tdesktop-1.1.23/Telegram/gyp/telegram_linux.gypi
|
|
||||||
===================================================================
|
|
||||||
--- tdesktop-1.1.23.orig/Telegram/gyp/telegram_linux.gypi
|
|
||||||
+++ tdesktop-1.1.23/Telegram/gyp/telegram_linux.gypi
|
|
||||||
@@ -21,11 +21,20 @@
|
|
||||||
'conditions': [[ 'build_linux', {
|
|
||||||
'variables': {
|
|
||||||
'pkgconfig_libs': [
|
|
||||||
-# In order to work libxkbcommon must be linked statically,
|
|
||||||
-# PKGCONFIG links it like "-L/usr/local/lib -lxkbcommon"
|
|
||||||
-# which makes a dynamic link which leads to segfault in
|
|
||||||
-# QApplication() -> createPlatformIntegration -> QXcbIntegrationPlugin::create
|
|
||||||
- #'xkbcommon',
|
|
||||||
+ 'liblzma',
|
|
||||||
+ 'openal',
|
|
||||||
+ 'libavformat',
|
|
||||||
+ 'libavcodec',
|
|
||||||
+ 'libswresample',
|
|
||||||
+ 'libswscale',
|
|
||||||
+ 'libavutil',
|
|
||||||
+ 'opus',
|
|
||||||
+ 'libva-x11',
|
|
||||||
+ 'libva-drm',
|
|
||||||
+ 'libva',
|
|
||||||
+ 'libdrm',
|
|
||||||
+ 'zlib',
|
|
||||||
+
|
|
||||||
],
|
|
||||||
'linux_path_ffmpeg%': '/usr/local',
|
|
||||||
'linux_path_openal%': '/usr/local',
|
|
||||||
@@ -33,51 +42,31 @@
|
|
||||||
'linux_path_va%': '/usr/local',
|
|
||||||
'linux_path_vdpau%': '/usr/local',
|
|
||||||
'linux_path_breakpad%': '<(libs_loc)/breakpad',
|
|
||||||
- 'linux_path_opus_include%': '<(libs_loc)/opus/include',
|
|
||||||
+ 'linux_path_opus_include%': '/usr/include/opus',
|
|
||||||
},
|
|
||||||
'include_dirs': [
|
|
||||||
- '/usr/local/include',
|
|
||||||
- '<(linux_path_ffmpeg)/include',
|
|
||||||
- '<(linux_path_openal)/include',
|
|
||||||
+ '/usr/include',
|
|
||||||
'<(linux_path_breakpad)/include/breakpad',
|
|
||||||
'<(linux_path_opus_include)',
|
|
||||||
],
|
|
||||||
'library_dirs': [
|
|
||||||
- '/usr/local/lib',
|
|
||||||
- '<(linux_path_ffmpeg)/lib',
|
|
||||||
- '<(linux_path_openal)/lib',
|
|
||||||
- '<(linux_path_libexif_lib)',
|
|
||||||
- '<(linux_path_va)/lib',
|
|
||||||
- '<(linux_path_vdpau)/lib',
|
|
||||||
- '<(linux_path_breakpad)/lib',
|
|
||||||
+ '/usr/lib',
|
|
||||||
+ '<(linux_path_breakpad)/src/client/linux',
|
|
||||||
],
|
|
||||||
'libraries': [
|
|
||||||
- 'breakpad_client',
|
|
||||||
'composeplatforminputcontextplugin',
|
|
||||||
'ibusplatforminputcontextplugin',
|
|
||||||
'fcitxplatforminputcontextplugin',
|
|
||||||
'himeplatforminputcontextplugin',
|
|
||||||
- 'liblzma.a',
|
|
||||||
- 'libopenal.a',
|
|
||||||
- 'libavformat.a',
|
|
||||||
- 'libavcodec.a',
|
|
||||||
- 'libswresample.a',
|
|
||||||
- 'libswscale.a',
|
|
||||||
- 'libavutil.a',
|
|
||||||
- 'libopus.a',
|
|
||||||
- 'libva-x11.a',
|
|
||||||
- 'libva-drm.a',
|
|
||||||
- 'libva.a',
|
|
||||||
- 'libvdpau.a',
|
|
||||||
- 'libdrm.a',
|
|
||||||
- 'libz.a',
|
|
||||||
-# '<!(pkg-config 2> /dev/null --libs <@(pkgconfig_libs))',
|
|
||||||
+ '<!(pkg-config 2> /dev/null --libs <@(pkgconfig_libs))',
|
|
||||||
+ 'libbreakpad_client.a',
|
|
||||||
],
|
|
||||||
'cflags_cc': [
|
|
||||||
'<!(pkg-config 2> /dev/null --cflags appindicator-0.1)',
|
|
||||||
'<!(pkg-config 2> /dev/null --cflags gtk+-2.0)',
|
|
||||||
'<!(pkg-config 2> /dev/null --cflags glib-2.0)',
|
|
||||||
'<!(pkg-config 2> /dev/null --cflags dee-1.0)',
|
|
||||||
+ '<!(pkg-config --cflags <@(pkgconfig_libs))',
|
|
||||||
],
|
|
||||||
'configurations': {
|
|
||||||
'Release': {
|
|
||||||
Index: tdesktop-1.1.23/Telegram/gyp/Telegram.gyp
|
|
||||||
===================================================================
|
|
||||||
--- tdesktop-1.1.23.orig/Telegram/gyp/Telegram.gyp
|
|
||||||
+++ tdesktop-1.1.23/Telegram/gyp/Telegram.gyp
|
|
||||||
@@ -85,10 +85,13 @@
|
|
||||||
],
|
|
||||||
|
|
||||||
'defines': [
|
|
||||||
- 'AL_LIBTYPE_STATIC',
|
|
||||||
'AL_ALEXT_PROTOTYPES',
|
|
||||||
'TGVOIP_USE_CXX11_LIB',
|
|
||||||
'<!@(python -c "for s in \'<(build_defines)\'.split(\',\'): print(s)")',
|
|
||||||
+ '__STDC_FORMAT_MACROS',
|
|
||||||
+ 'TDESKTOP_DISABLE_AUTOUPDATE',
|
|
||||||
+ 'TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME',
|
|
||||||
+ 'TDESKTOP_DISABLE_UNITY_INTEGRATION',
|
|
||||||
],
|
|
||||||
|
|
||||||
'include_dirs': [
|
|
||||||
Index: tdesktop-1.1.23/Telegram/ThirdParty/libtgvoip/libtgvoip.gyp
|
|
||||||
===================================================================
|
|
||||||
--- tdesktop-1.1.23.orig/Telegram/ThirdParty/libtgvoip/libtgvoip.gyp
|
|
||||||
+++ tdesktop-1.1.23/Telegram/ThirdParty/libtgvoip/libtgvoip.gyp
|
|
||||||
@@ -13,7 +13,7 @@
|
|
||||||
'variables': {
|
|
||||||
'tgvoip_src_loc': '.',
|
|
||||||
'official_build_target%': '',
|
|
||||||
- 'linux_path_opus_include%': '<(DEPTH)/../../../Libraries/opus/include',
|
|
||||||
+ 'linux_path_opus_include%': '/usr/include/opus',
|
|
||||||
},
|
|
||||||
'include_dirs': [
|
|
||||||
'<(tgvoip_src_loc)/webrtc_dsp',
|
|
||||||
Index: tdesktop-1.1.23/Telegram/gyp/settings_linux.gypi
|
|
||||||
===================================================================
|
|
||||||
--- tdesktop-1.1.23.orig/Telegram/gyp/settings_linux.gypi
|
|
||||||
+++ tdesktop-1.1.23/Telegram/gyp/settings_linux.gypi
|
|
||||||
@@ -36,6 +36,7 @@
|
|
||||||
'-Wno-unused-but-set-variable',
|
|
||||||
'-Wno-missing-field-initializers',
|
|
||||||
'-Wno-sign-compare',
|
|
||||||
+ '-Wno-implicit-fallthrough',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
'conditions': [
|
|
237
patch.py
Normal file
237
patch.py
Normal file
@ -0,0 +1,237 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import json
|
||||||
|
import re
|
||||||
|
from shutil import copyfile
|
||||||
|
|
||||||
|
def remove_trailing_commas(json_like):
|
||||||
|
"""
|
||||||
|
Removes trailing commas from *json_like* and returns the result. Example::
|
||||||
|
>>> remove_trailing_commas('{"foo":"bar","baz":["blah",],}')
|
||||||
|
'{"foo":"bar","baz":["blah"]}'
|
||||||
|
"""
|
||||||
|
trailing_object_commas_re = re.compile(
|
||||||
|
r'(,)\s*}(?=([^"\\]*(\\.|"([^"\\]*\\.)*[^"\\]*"))*[^"]*$)')
|
||||||
|
trailing_array_commas_re = re.compile(
|
||||||
|
r'(,)\s*\](?=([^"\\]*(\\.|"([^"\\]*\\.)*[^"\\]*"))*[^"]*$)')
|
||||||
|
# Fix objects {} first
|
||||||
|
objects_fixed = trailing_object_commas_re.sub("}", json_like)
|
||||||
|
# Now fix arrays/lists [] and return the result
|
||||||
|
return trailing_array_commas_re.sub("]", objects_fixed)
|
||||||
|
|
||||||
|
def find_first_prime(str, ch):
|
||||||
|
for i,c in enumerate(str):
|
||||||
|
if c == ch:
|
||||||
|
return i
|
||||||
|
|
||||||
|
def find_last_prime(str, ch):
|
||||||
|
for i,c in enumerate(str[::-1]):
|
||||||
|
if c == ch:
|
||||||
|
return len(str)-1-i
|
||||||
|
|
||||||
|
def is_inserted_doublequote(line, i):
|
||||||
|
if i >= len(line):
|
||||||
|
return False
|
||||||
|
if line[i] == "\"":
|
||||||
|
if i == 0:
|
||||||
|
return True
|
||||||
|
elif (not line[i-1] == "\\"):
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
return False
|
||||||
|
|
||||||
|
def transform_back(proper_json):
|
||||||
|
gyp_str = ""
|
||||||
|
for line in proper_json.splitlines():
|
||||||
|
temp = '%s' % line
|
||||||
|
# remove double quotes in the middle
|
||||||
|
temp = temp.replace("'\": [[ \"'", "': [[ '")
|
||||||
|
temp = temp.replace("'\": [ \"'", "': [ '")
|
||||||
|
temp = temp.replace("'\": \"'", "': '")
|
||||||
|
# remove all other double quotes
|
||||||
|
for i,s in enumerate(temp):
|
||||||
|
if is_inserted_doublequote(temp, i):
|
||||||
|
if i == 0:
|
||||||
|
temp = temp[1:]
|
||||||
|
else:
|
||||||
|
temp = temp[:i] + temp[i+1:]
|
||||||
|
# replace \" to "
|
||||||
|
temp = temp.replace("\\\"", "\"")
|
||||||
|
# replace all double backslashes with single backslash
|
||||||
|
temp = temp.replace("\\\\", "\\")
|
||||||
|
gyp_str += temp + "\n"
|
||||||
|
return gyp_str
|
||||||
|
|
||||||
|
def read_file_to_proper_json(f):
|
||||||
|
json_like = ""
|
||||||
|
for line in f: # read it all in
|
||||||
|
stripped_line = line.strip()
|
||||||
|
if not stripped_line.startswith("#"):
|
||||||
|
if stripped_line.find("'") != -1:
|
||||||
|
# step 1: replace all " with \"
|
||||||
|
stripped_line = stripped_line.replace("\\'", "\\\\'")
|
||||||
|
stripped_line = stripped_line.replace("\"", "\\\"")
|
||||||
|
first = find_first_prime(stripped_line, "'")
|
||||||
|
last = find_last_prime(stripped_line, "'")
|
||||||
|
# step 2: insert " before the first ' and after the last '
|
||||||
|
first_str = stripped_line[0:first]
|
||||||
|
mid_str = stripped_line[first:last+1]
|
||||||
|
last_str = stripped_line[last+1:]
|
||||||
|
final_str = first_str + "\"" + mid_str + "\"" + last_str
|
||||||
|
line = final_str
|
||||||
|
# add double quotes for single quotes in the middle
|
||||||
|
line = line.replace("': '", "'\": \"'")
|
||||||
|
line = line.replace("': [ '", "'\": [ \"'")
|
||||||
|
line = line.replace("': [[ '", "'\": [[ \"'")
|
||||||
|
json_like += line
|
||||||
|
else:
|
||||||
|
json_like += line
|
||||||
|
proper_json = remove_trailing_commas(json_like)
|
||||||
|
return proper_json
|
||||||
|
|
||||||
|
def load_json(filename):
|
||||||
|
return json.loads(read_file_to_proper_json(open(filename)))
|
||||||
|
|
||||||
|
def save_json(jsonobj, filename):
|
||||||
|
# pass
|
||||||
|
j = transform_back(jsonobj)
|
||||||
|
# backup = filename + ".orig"
|
||||||
|
# copyfile(filename, backup)
|
||||||
|
f = open(filename, 'w')
|
||||||
|
f.write(j)
|
||||||
|
return
|
||||||
|
|
||||||
|
def process_telegram_linux(jsonobj):
|
||||||
|
child = jsonobj["'conditions'"][0][1]["'variables'"]["'pkgconfig_libs'"]
|
||||||
|
child.append("'liblzma'")
|
||||||
|
child.append("'openal'")
|
||||||
|
child.append("'libavformat'")
|
||||||
|
child.append("'libavcodec'")
|
||||||
|
child.append("'libswresample'")
|
||||||
|
child.append("'libswscale'")
|
||||||
|
child.append("'libavutil'")
|
||||||
|
child.append("'opus'")
|
||||||
|
child.append("'libva-x11'")
|
||||||
|
child.append("'libva-drm'")
|
||||||
|
child.append("'libva'")
|
||||||
|
child.append("'libdrm'")
|
||||||
|
child.append("'zlib'")
|
||||||
|
child = jsonobj["'conditions'"][0][1]["'variables'"]["'linux_path_opus_include%'"]
|
||||||
|
child = "'/usr/include/opus'"
|
||||||
|
child = jsonobj["'conditions'"][0][1]["'variables'"]["'linux_path_breakpad%'"]
|
||||||
|
child = "'<(libs_loc)/breakpad'"
|
||||||
|
child = jsonobj["'conditions'"][0][1]["'include_dirs'"]
|
||||||
|
child.remove("'/usr/local/include'")
|
||||||
|
child.remove("'<(linux_path_ffmpeg)/include'")
|
||||||
|
child.remove("'<(linux_path_openal)/include'")
|
||||||
|
child.append("'/usr/include'")
|
||||||
|
child = jsonobj["'conditions'"][0][1]["'library_dirs'"]
|
||||||
|
child.remove("'/usr/local/lib'")
|
||||||
|
child.remove("'<(linux_path_ffmpeg)/lib'")
|
||||||
|
child.remove("'<(linux_path_openal)/lib'")
|
||||||
|
child.remove("'<(linux_path_va)/lib'")
|
||||||
|
child.remove("'<(linux_path_vdpau)/lib'")
|
||||||
|
child.append("'/usr/lib'")
|
||||||
|
child = jsonobj["'conditions'"][0][1]["'libraries'"]
|
||||||
|
child.remove("'breakpad_client'")
|
||||||
|
child.remove("'liblzma.a'")
|
||||||
|
child.remove("'libopenal.a'")
|
||||||
|
child.remove("'libavformat.a'")
|
||||||
|
child.remove("'libavcodec.a'")
|
||||||
|
child.remove("'libswresample.a'")
|
||||||
|
child.remove("'libswscale.a'")
|
||||||
|
child.remove("'libavutil.a'")
|
||||||
|
child.remove("'libopus.a'")
|
||||||
|
child.remove("'libva-x11.a'")
|
||||||
|
child.remove("'libva-drm.a'")
|
||||||
|
child.remove("'libva.a'")
|
||||||
|
child.remove("'libvdpau.a'")
|
||||||
|
child.remove("'libdrm.a'")
|
||||||
|
child.remove("'libz.a'")
|
||||||
|
child.append("'libbreakpad_client.a'")
|
||||||
|
child.append("'<!(pkg-config 2> /dev/null --libs <@(pkgconfig_libs))'")
|
||||||
|
child = jsonobj["'conditions'"][0][1]["'cflags_cc'"]
|
||||||
|
child.append("'<!(pkg-config --cflags <@(pkgconfig_libs))'")
|
||||||
|
return json.dumps(jsonobj)
|
||||||
|
|
||||||
|
def process_qt(jsonobj):
|
||||||
|
child = jsonobj["'variables'"]["'variables'"]["'variables'"]["'variables'"]["'qt_libs'"];
|
||||||
|
child.remove("'qtharfbuzzng'")
|
||||||
|
child = jsonobj["'variables'"]["'variables'"]["'variables'"]["'conditions'"][0][1]["'qt_libs'"]; # build_win
|
||||||
|
child.remove("'qtpcre'")
|
||||||
|
child = jsonobj["'variables'"]["'variables'"]["'variables'"]["'conditions'"][2][1]["'qt_libs'"]; # build_mac not build_macold
|
||||||
|
child.remove("'qtpcre'")
|
||||||
|
child = jsonobj["'variables'"]["'variables'"]["'variables'"]["'conditions'"][3][1]["'qt_libs'"];
|
||||||
|
child.remove("'qtpcre'")
|
||||||
|
child.remove("'Xi'")
|
||||||
|
child.remove("'Xext'")
|
||||||
|
child.remove("'Xfixes'")
|
||||||
|
child.remove("'SM'")
|
||||||
|
child.remove("'ICE'")
|
||||||
|
child.remove("'fontconfig'")
|
||||||
|
child.remove("'expat'")
|
||||||
|
child.remove("'freetype'")
|
||||||
|
child.remove("'z'")
|
||||||
|
child.remove("'xcb-shm'")
|
||||||
|
child.remove("'xcb-xfixes'")
|
||||||
|
child.remove("'xcb-render'")
|
||||||
|
child.remove("'xcb-static'")
|
||||||
|
child = jsonobj["'conditions'"][0][1]["'libraries'"]
|
||||||
|
child.remove("'<(linux_path_xkbcommon)/lib/libxkbcommon.a'")
|
||||||
|
child.append("'-ljpeg'")
|
||||||
|
child.append("'-lGL'")
|
||||||
|
child.append("'-lfreetype'")
|
||||||
|
child.append("'-lfontconfig'")
|
||||||
|
child.append("'-lXi'")
|
||||||
|
child.append("'-lSM'")
|
||||||
|
child.append("'-lICE'")
|
||||||
|
child.append("'-lproxy'")
|
||||||
|
child.append("'-lz'")
|
||||||
|
child.append("'<!(pkg-config 2> /dev/null --libs xkbcommon xkbcommon-x11)'")
|
||||||
|
child.append("'<!(pkg-config 2> /dev/null --libs libpcre16)'")
|
||||||
|
child.append("'<!(pkg-config 2> /dev/null --libs zlib)'")
|
||||||
|
child.append("'<!(pkg-config 2> /dev/null --libs libpng16)'")
|
||||||
|
child.append("'<!(pkg-config 2> /dev/null --libs libwebp)'")
|
||||||
|
child.append("'<!(pkg-config 2> /dev/null --libs harfbuzz)'")
|
||||||
|
child.append("'<!(pkg-config 2> /dev/null --libs xcb-shm xcb-xfixes xcb-render xcb-renderutil xcb-sync xcb-randr xcb-xinerama xcb-xkb xcb-icccm xcb-image xcb-shape xcb-keysyms xcb-util)'")
|
||||||
|
child = jsonobj["'conditions'"][0][1]["'ldflags'"]
|
||||||
|
child.remove("'-static-libstdc++'")
|
||||||
|
return json.dumps(jsonobj)
|
||||||
|
|
||||||
|
def process_settings_linux(jsonobj):
|
||||||
|
child = jsonobj["'conditions'"][0][1]["'variables'"]["'linux_common_flags'"]
|
||||||
|
child.append("'-Wno-implicit-fallthrough'")
|
||||||
|
child.remove("'-Werror'")
|
||||||
|
return json.dumps(jsonobj)
|
||||||
|
|
||||||
|
def process_telegram(jsonobj):
|
||||||
|
child = jsonobj["'targets'"][0]["'defines'"]
|
||||||
|
child.append("'__STDC_FORMAT_MACROS'")
|
||||||
|
child.append("'TDESKTOP_DISABLE_AUTOUPDATE'")
|
||||||
|
child.append("'TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME'")
|
||||||
|
child.append("'TDESKTOP_DISABLE_UNITY_INTEGRATION'")
|
||||||
|
child.remove("'AL_LIBTYPE_STATIC'")
|
||||||
|
child = jsonobj["'targets'"][0]["'include_dirs'"]
|
||||||
|
child.remove("'<(libs_loc)/breakpad/src'")
|
||||||
|
child.append("'<(libs_loc)/breakpad/include/breakpad'")
|
||||||
|
return json.dumps(jsonobj)
|
||||||
|
|
||||||
|
def process(filename, op):
|
||||||
|
json = load_json(filename)
|
||||||
|
json = op(json)
|
||||||
|
save_json(json, filename)
|
||||||
|
|
||||||
|
tl_path = './Telegram/gyp/telegram_linux.gypi'
|
||||||
|
settings_path = './Telegram/gyp/settings_linux.gypi'
|
||||||
|
qt_path = './Telegram/gyp/qt.gypi'
|
||||||
|
tg_path = './Telegram/gyp/Telegram.gyp'
|
||||||
|
|
||||||
|
print("Patching %s ..." % tl_path)
|
||||||
|
process(tl_path, process_telegram_linux)
|
||||||
|
print("Patching %s ..." % settings_path)
|
||||||
|
process(settings_path, process_settings_linux)
|
||||||
|
print("Patching %s ..." % qt_path)
|
||||||
|
process(qt_path, process_qt)
|
||||||
|
print("Patching %s ..." % tg_path)
|
||||||
|
process(tg_path, process_telegram)
|
||||||
|
print("Patching complete!")
|
3
range-v3-master.zip
Normal file
3
range-v3-master.zip
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:fe02b500ce92077c9a603eba02c2aa3fe6a946e93face31dc8ce2c17b38b2264
|
||||||
|
size 808624
|
@ -17,10 +17,11 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: telegram-desktop
|
Name: telegram-desktop
|
||||||
Version: 1.1.23
|
Version: 1.1.29
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: A new era of messaging
|
Summary: A new era of messaging
|
||||||
License: GPL-3.0
|
License: GPL-3.0
|
||||||
|
Group: Productivity/Networking/Instant Messenger
|
||||||
Url: https://github.com/telegramdesktop/tdesktop
|
Url: https://github.com/telegramdesktop/tdesktop
|
||||||
Source: https://github.com/telegramdesktop/tdesktop/archive/v%{version}.tar.gz
|
Source: https://github.com/telegramdesktop/tdesktop/archive/v%{version}.tar.gz
|
||||||
# curl https://chromium.googlesource.com/breakpad/breakpad/+archive/refs/heads/master.tar.gz -o breakpad-master.tar.gz
|
# curl https://chromium.googlesource.com/breakpad/breakpad/+archive/refs/heads/master.tar.gz -o breakpad-master.tar.gz
|
||||||
@ -29,7 +30,7 @@ Source1: breakpad-master.tar.gz
|
|||||||
Source2: linux-syscall-support-refs-heads-master.tar.gz
|
Source2: linux-syscall-support-refs-heads-master.tar.gz
|
||||||
# curl https://chromium.googlesource.com/external/gyp/+archive/master.tar.gz -o gyp-master.tar.gz
|
# curl https://chromium.googlesource.com/external/gyp/+archive/master.tar.gz -o gyp-master.tar.gz
|
||||||
Source3: gyp-master.tar.gz
|
Source3: gyp-master.tar.gz
|
||||||
Source4: patch-%{version}.diff
|
Source4: patch.py
|
||||||
# curl https://codeload.github.com/Microsoft/GSL/zip/master -o GSL-master.zip
|
# curl https://codeload.github.com/Microsoft/GSL/zip/master -o GSL-master.zip
|
||||||
Source5: GSL-master.zip
|
Source5: GSL-master.zip
|
||||||
# curl https://codeload.github.com/mapbox/variant/zip/master -o variant-master.zip
|
# curl https://codeload.github.com/mapbox/variant/zip/master -o variant-master.zip
|
||||||
@ -38,6 +39,8 @@ Source6: variant-master.zip
|
|||||||
Source7: libtgvoip.zip
|
Source7: libtgvoip.zip
|
||||||
# curl https://raw.githubusercontent.com/philsquared/Catch/master/single_include/catch.hpp -o catch.hpp
|
# curl https://raw.githubusercontent.com/philsquared/Catch/master/single_include/catch.hpp -o catch.hpp
|
||||||
Source8: catch.hpp
|
Source8: catch.hpp
|
||||||
|
# curl https://codeload.github.com/ericniebler/range-v3/zip/master -o range-v3-master.zip
|
||||||
|
Source9: range-v3-master.zip
|
||||||
# PATCH-FIX-UPSTREAM breakpad-ucontext_t-glibc2_26.patch badshah400@gmail.com -- Replace `struct ucontext` by `ucontext_t` to make compatible with glib-2.26; merged upstream
|
# PATCH-FIX-UPSTREAM breakpad-ucontext_t-glibc2_26.patch badshah400@gmail.com -- Replace `struct ucontext` by `ucontext_t` to make compatible with glib-2.26; merged upstream
|
||||||
Patch0: breakpad-ucontext_t-glibc2_26.patch
|
Patch0: breakpad-ucontext_t-glibc2_26.patch
|
||||||
BuildRequires: chrpath
|
BuildRequires: chrpath
|
||||||
@ -52,6 +55,7 @@ BuildRequires: libgcc_s1 >= 6.2
|
|||||||
%else
|
%else
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
%endif
|
%endif
|
||||||
|
BuildRequires: python3
|
||||||
BuildRequires: libXfixes-devel
|
BuildRequires: libXfixes-devel
|
||||||
BuildRequires: libexpat-devel
|
BuildRequires: libexpat-devel
|
||||||
BuildRequires: libjpeg-devel
|
BuildRequires: libjpeg-devel
|
||||||
@ -114,7 +118,6 @@ Telegram Desktop app. A new era of messaging.
|
|||||||
%prep
|
%prep
|
||||||
|
|
||||||
%setup -q -n tdesktop-%{version}
|
%setup -q -n tdesktop-%{version}
|
||||||
cp %{_sourcedir}/patch-%{version}.diff .
|
|
||||||
cp %{S:8} Telegram/SourceFiles/base/
|
cp %{S:8} Telegram/SourceFiles/base/
|
||||||
|
|
||||||
# Already included in %{S:8}
|
# Already included in %{S:8}
|
||||||
@ -134,6 +137,14 @@ cp %{_sourcedir}/libtgvoip.zip . && unzip libtgvoip.zip
|
|||||||
mv libtgvoip-public libtgvoip
|
mv libtgvoip-public libtgvoip
|
||||||
mv libtgvoip %{_builddir}/tdesktop-%{version}/Telegram/ThirdParty/
|
mv libtgvoip %{_builddir}/tdesktop-%{version}/Telegram/ThirdParty/
|
||||||
|
|
||||||
|
cp %{_sourcedir}/range-v3-master.zip . && unzip range-v3-master.zip
|
||||||
|
mv range-v3-master range-v3
|
||||||
|
mkdir -p %{_builddir}/Libraries
|
||||||
|
mv range-v3 %{_builddir}/Libraries/
|
||||||
|
|
||||||
|
cp %{_sourcedir}/patch.py . && python3 ./patch.py
|
||||||
|
cp %{_sourcedir}/catch.hpp ./Telegram/SourceFiles/
|
||||||
|
|
||||||
%setup -q -T -c -n breakpad -b 1
|
%setup -q -T -c -n breakpad -b 1
|
||||||
%setup -q -T -c -n breakpad-lss -b 2
|
%setup -q -T -c -n breakpad-lss -b 2
|
||||||
%setup -q -T -c -n gyp -b 3
|
%setup -q -T -c -n gyp -b 3
|
||||||
@ -151,7 +162,6 @@ popd
|
|||||||
# Setup compiler variables
|
# Setup compiler variables
|
||||||
|
|
||||||
mv %{_builddir}/tdesktop-%{version} %{_builddir}/tdesktop
|
mv %{_builddir}/tdesktop-%{version} %{_builddir}/tdesktop
|
||||||
mkdir -p %{_builddir}/Libraries
|
|
||||||
|
|
||||||
# patch gyp
|
# patch gyp
|
||||||
cd %{_builddir}/Libraries
|
cd %{_builddir}/Libraries
|
||||||
@ -165,21 +175,16 @@ cd %{_builddir}/Libraries
|
|||||||
ln -s %{_libdir}/libtelegram-qt5 ./QtStatic
|
ln -s %{_libdir}/libtelegram-qt5 ./QtStatic
|
||||||
|
|
||||||
# Build breakpad
|
# Build breakpad
|
||||||
cd %{_builddir}/Libraries
|
cd %{_builddir}/breakpad
|
||||||
ln -s %{_builddir}/breakpad ./breakpad
|
|
||||||
cd breakpad
|
|
||||||
ln -s %{_builddir}/breakpad-lss ./src/third_party/lss
|
ln -s %{_builddir}/breakpad-lss ./src/third_party/lss
|
||||||
%if 0%{?suse_version} <= 1320
|
%if 0%{?suse_version} <= 1320
|
||||||
export CXX='g++-6'
|
export CXX='g++-6'
|
||||||
export GCC='gcc-6'
|
export GCC='gcc-6'
|
||||||
%endif
|
%endif
|
||||||
# FIXME: you should use the %%configure macro
|
# FIXME: you should use the %%configure macro
|
||||||
./configure
|
./configure --prefix=`pwd`/../Libraries/breakpad
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
make install
|
||||||
# patch with patch.diff
|
|
||||||
cd %{_builddir}/tdesktop
|
|
||||||
patch -p1 < patch-%{version}.diff
|
|
||||||
|
|
||||||
# FIXME: you should use %%cmake macros
|
# FIXME: you should use %%cmake macros
|
||||||
# use gyp to generate cmake files
|
# use gyp to generate cmake files
|
||||||
@ -194,6 +199,8 @@ cd %{_builddir}/tdesktop/Telegram/gyp
|
|||||||
-Dlinux_lib_ssl=-lssl \
|
-Dlinux_lib_ssl=-lssl \
|
||||||
-Dlinux_lib_crypto=-lcrypto \
|
-Dlinux_lib_crypto=-lcrypto \
|
||||||
-Dlinux_lib_icu="-licuuc -licutu -licui18n" \
|
-Dlinux_lib_icu="-licuuc -licutu -licui18n" \
|
||||||
|
-Dlinux_path_opus_include="/usr/include/opus" \
|
||||||
|
-Dlinux_path_breakpad="../../../Libraries/breakpad" \
|
||||||
--depth=. --generator-output="../../" -Goutput_dir=out Telegram.gyp --format=cmake
|
--depth=. --generator-output="../../" -Goutput_dir=out Telegram.gyp --format=cmake
|
||||||
|
|
||||||
# build Telegram
|
# build Telegram
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:56b7fce84adf85a4af1c3174353169f32d0b0c052a4e7a284fc741fa96b04030
|
|
||||||
size 16863984
|
|
3
v1.1.29.tar.gz
Normal file
3
v1.1.29.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:851c62884a7e4a88c5128eaded01b20ec1866fba1415dea08049156dc1b50952
|
||||||
|
size 16820234
|
Loading…
Reference in New Issue
Block a user