Accepting request 1238761 from server:messaging
- Replace ffmpeg-6-*-devel with ffmpeg-7-*-devel BuildRequires. - Remove patches * 0001-use-bundled-webrtc.patch * 0002-use-bundled-rnnoise-expected-gsl-ranges-webrtc.patch * 0003-revert-webrtc-cmake-target-file.patch * 0004-use-dynamic-x-libraries.patch * 0005-use-bundled-ada.patch * 0006-tdesktop-disable-h264.patch * 0007-tg_owt-h264-dlopen.patch - Add patches * 0001-dynamic-link-x.patch * 0002-tg_owt-h264-dlopen.patch OBS-URL: https://build.opensuse.org/request/show/1238761 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/telegram-desktop?expand=0&rev=129
This commit is contained in:
commit
2ddc79648e
24
0001-dynamic-link-x.patch
Normal file
24
0001-dynamic-link-x.patch
Normal file
@ -0,0 +1,24 @@
|
||||
diff --git a/tdesktop/cmake/external/webrtc/CMakeLists.txt b/tdesktop-copy/cmake/external/webrtc/CMakeLists.txt
|
||||
index a372fb7..6a81876 100644
|
||||
--- a/cmake/external/webrtc/CMakeLists.txt
|
||||
+++ b/cmake/external/webrtc/CMakeLists.txt
|
||||
@@ -9,7 +9,18 @@ add_library(desktop-app::external_webrtc ALIAS external_webrtc)
|
||||
|
||||
if (DESKTOP_APP_USE_PACKAGED)
|
||||
find_package(tg_owt REQUIRED)
|
||||
- target_link_libraries(external_webrtc INTERFACE tg_owt::tg_owt)
|
||||
+ target_link_libraries(external_webrtc INTERFACE
|
||||
+ tg_owt::tg_owt
|
||||
+ X11
|
||||
+ Xcomposite
|
||||
+ Xdamage
|
||||
+ Xext
|
||||
+ Xfixes
|
||||
+ Xrandr
|
||||
+ Xrender
|
||||
+ Xtst
|
||||
+ vpx
|
||||
+ )
|
||||
return()
|
||||
endif()
|
||||
|
@ -1,13 +0,0 @@
|
||||
Index: tdesktop-4.4.0-full/cmake/external/webrtc/CMakeLists.txt
|
||||
===================================================================
|
||||
--- tdesktop-4.4.0-full.orig/cmake/external/webrtc/CMakeLists.txt
|
||||
+++ tdesktop-4.4.0-full/cmake/external/webrtc/CMakeLists.txt
|
||||
@@ -7,7 +7,7 @@
|
||||
add_library(external_webrtc INTERFACE IMPORTED GLOBAL)
|
||||
add_library(desktop-app::external_webrtc ALIAS external_webrtc)
|
||||
|
||||
-if (DESKTOP_APP_USE_PACKAGED)
|
||||
+if (NOT DESKTOP_APP_USE_PACKAGED)
|
||||
find_package(tg_owt REQUIRED)
|
||||
target_link_libraries(external_webrtc INTERFACE tg_owt::tg_owt)
|
||||
return()
|
@ -1,71 +0,0 @@
|
||||
diff -rup a/cmake/external/expected/CMakeLists.txt b/cmake/external/expected/CMakeLists.txt
|
||||
--- a/cmake/external/expected/CMakeLists.txt 2023-09-04 14:19:11.000000000 +0200
|
||||
+++ b/cmake/external/expected/CMakeLists.txt 2023-09-14 09:56:02.804347761 +0200
|
||||
@@ -7,7 +7,7 @@
|
||||
add_library(external_expected INTERFACE IMPORTED GLOBAL)
|
||||
add_library(desktop-app::external_expected ALIAS external_expected)
|
||||
|
||||
-if (DESKTOP_APP_USE_PACKAGED)
|
||||
+if (NOT DESKTOP_APP_USE_PACKAGED)
|
||||
if (DESKTOP_APP_USE_PACKAGED_LAZY)
|
||||
find_package(tl-expected QUIET)
|
||||
else()
|
||||
Only in b/cmake/external/gsl: CMakeLists.txt.rej
|
||||
diff -rup a/cmake/external/ranges/CMakeLists.txt b/cmake/external/ranges/CMakeLists.txt
|
||||
--- a/cmake/external/ranges/CMakeLists.txt 2023-09-04 14:19:11.000000000 +0200
|
||||
+++ b/cmake/external/ranges/CMakeLists.txt 2023-09-14 09:56:02.804347761 +0200
|
||||
@@ -7,7 +7,7 @@
|
||||
add_library(external_ranges INTERFACE IMPORTED GLOBAL)
|
||||
add_library(desktop-app::external_ranges ALIAS external_ranges)
|
||||
|
||||
-if (DESKTOP_APP_USE_PACKAGED)
|
||||
+if (NOT DESKTOP_APP_USE_PACKAGED)
|
||||
if (DESKTOP_APP_USE_PACKAGED_LAZY)
|
||||
find_package(range-v3 QUIET)
|
||||
else()
|
||||
diff -rup a/cmake/external/rnnoise/CMakeLists.txt b/cmake/external/rnnoise/CMakeLists.txt
|
||||
--- a/cmake/external/rnnoise/CMakeLists.txt 2023-09-04 14:19:11.000000000 +0200
|
||||
+++ b/cmake/external/rnnoise/CMakeLists.txt 2023-09-14 09:56:02.804347761 +0200
|
||||
@@ -4,7 +4,7 @@
|
||||
# For license and copyright information please follow this link:
|
||||
# https://github.com/desktop-app/legal/blob/master/LEGAL
|
||||
|
||||
-if (DESKTOP_APP_USE_PACKAGED)
|
||||
+if (NOT DESKTOP_APP_USE_PACKAGED)
|
||||
add_library(external_rnnoise INTERFACE IMPORTED GLOBAL)
|
||||
add_library(desktop-app::external_rnnoise ALIAS external_rnnoise)
|
||||
|
||||
@@ -18,7 +18,7 @@ endif()
|
||||
add_library(external_rnnoise STATIC IMPORTED GLOBAL)
|
||||
add_library(desktop-app::external_rnnoise ALIAS external_rnnoise)
|
||||
|
||||
-set(rnnoise_lib_loc ${libs_loc}/rnnoise/out)
|
||||
+set(rnnoise_lib_loc ${libs_loc}/rnnoise/.libs)
|
||||
if (WIN32)
|
||||
target_include_directories(external_rnnoise SYSTEM
|
||||
INTERFACE
|
||||
@@ -40,7 +40,11 @@ elseif (APPLE)
|
||||
IMPORTED_LOCATION_DEBUG "${rnnoise_lib_loc}/Debug/librnnoise.a"
|
||||
)
|
||||
else()
|
||||
+ target_include_directories(external_rnnoise SYSTEM
|
||||
+ INTERFACE
|
||||
+ ${libs_loc}/rnnoise/include
|
||||
+ )
|
||||
- find_library(DESKTOP_APP_RNNOISE_LIBRARIES librnnoise.a REQUIRED)
|
||||
+ find_library(DESKTOP_APP_RNNOISE_LIBRARIES librnnoise.a HINTS "${rnnoise_lib_loc}" REQUIRED)
|
||||
set_target_properties(external_rnnoise PROPERTIES
|
||||
IMPORTED_LOCATION "${DESKTOP_APP_RNNOISE_LIBRARIES}"
|
||||
)
|
||||
diff -rup a/cmake/external/webrtc/CMakeLists.txt b/cmake/external/webrtc/CMakeLists.txt
|
||||
--- a/cmake/external/webrtc/CMakeLists.txt 2023-09-04 14:19:11.000000000 +0200
|
||||
+++ b/cmake/external/webrtc/CMakeLists.txt 2023-09-14 09:56:02.804347761 +0200
|
||||
@@ -7,7 +7,7 @@
|
||||
add_library(external_webrtc INTERFACE IMPORTED GLOBAL)
|
||||
add_library(desktop-app::external_webrtc ALIAS external_webrtc)
|
||||
|
||||
-if (DESKTOP_APP_USE_PACKAGED)
|
||||
+if (NOT DESKTOP_APP_USE_PACKAGED)
|
||||
find_package(tg_owt REQUIRED)
|
||||
target_link_libraries(external_webrtc INTERFACE tg_owt::tg_owt)
|
||||
return()
|
@ -1,18 +0,0 @@
|
||||
Index: tdesktop-5.6.3-full/cmake/external/webrtc/CMakeLists.txt
|
||||
===================================================================
|
||||
--- tdesktop-5.6.3-full.orig/cmake/external/webrtc/CMakeLists.txt
|
||||
+++ tdesktop-5.6.3-full/cmake/external/webrtc/CMakeLists.txt
|
||||
@@ -97,13 +97,10 @@ INTERFACE
|
||||
${webrtc_libs_list}
|
||||
$<LINK_ONLY:desktop-app::external_openssl>
|
||||
$<LINK_ONLY:desktop-app::external_jpeg>
|
||||
- $<TARGET_FILE:desktop-app::external_jpeg>
|
||||
$<LINK_ONLY:desktop-app::external_openh264>
|
||||
$<TARGET_FILE:desktop-app::external_openh264>
|
||||
$<LINK_ONLY:desktop-app::external_opus>
|
||||
- $<TARGET_FILE:desktop-app::external_opus>
|
||||
$<LINK_ONLY:desktop-app::external_vpx>
|
||||
- $<TARGET_FILE:desktop-app::external_vpx>
|
||||
)
|
||||
|
||||
if (WIN32)
|
@ -1,13 +0,0 @@
|
||||
Index: tdesktop-4.4.0-full/cmake/external/webrtc/CMakeLists.txt
|
||||
===================================================================
|
||||
--- tdesktop-4.4.0-full.orig/cmake/external/webrtc/CMakeLists.txt
|
||||
+++ tdesktop-4.4.0-full/cmake/external/webrtc/CMakeLists.txt
|
||||
@@ -110,7 +110,7 @@ elseif (APPLE)
|
||||
)
|
||||
else()
|
||||
# Required for desktop_capture
|
||||
- target_link_static_libraries(external_webrtc
|
||||
+ target_link_libraries(external_webrtc
|
||||
INTERFACE
|
||||
Xcomposite
|
||||
Xdamage
|
@ -1,26 +0,0 @@
|
||||
diff --git a/cmake/external/ada/CMakeLists.txt b/cmake/external/ada/CMakeLists.txt
|
||||
index 4b8063b..fbddaac 100644
|
||||
--- a/cmake/external/ada/CMakeLists.txt
|
||||
+++ b/cmake/external/ada/CMakeLists.txt
|
||||
@@ -4,7 +4,7 @@
|
||||
# For license and copyright information please follow this link:
|
||||
# https://github.com/desktop-app/legal/blob/master/LEGAL
|
||||
|
||||
-if (DESKTOP_APP_USE_PACKAGED)
|
||||
+if (NOT DESKTOP_APP_USE_PACKAGED)
|
||||
add_library(external_ada INTERFACE IMPORTED GLOBAL)
|
||||
add_library(desktop-app::external_ada ALIAS external_ada)
|
||||
|
||||
@@ -37,10 +37,9 @@ elseif (APPLE)
|
||||
else()
|
||||
target_include_directories(external_ada SYSTEM
|
||||
INTERFACE
|
||||
- /usr/local/include
|
||||
+ ${libs_loc}/ada/include
|
||||
)
|
||||
- find_library(DESKTOP_APP_ADA_LIBRARIES libada.a REQUIRED)
|
||||
set_target_properties(external_ada PROPERTIES
|
||||
- IMPORTED_LOCATION "${DESKTOP_APP_ADA_LIBRARIES}"
|
||||
+ IMPORTED_LOCATION ${libs_loc}/ada/build/src/libada.a
|
||||
)
|
||||
endif()
|
@ -1,12 +0,0 @@
|
||||
Index: tdesktop-5.6.3-full/cmake/external/webrtc/CMakeLists.txt
|
||||
===================================================================
|
||||
--- tdesktop-5.6.3-full.orig/cmake/external/webrtc/CMakeLists.txt
|
||||
+++ tdesktop-5.6.3-full/cmake/external/webrtc/CMakeLists.txt
|
||||
@@ -98,7 +98,6 @@ INTERFACE
|
||||
$<LINK_ONLY:desktop-app::external_openssl>
|
||||
$<LINK_ONLY:desktop-app::external_jpeg>
|
||||
$<LINK_ONLY:desktop-app::external_openh264>
|
||||
- $<TARGET_FILE:desktop-app::external_openh264>
|
||||
$<LINK_ONLY:desktop-app::external_opus>
|
||||
$<LINK_ONLY:desktop-app::external_vpx>
|
||||
)
|
4
_service
4
_service
@ -26,8 +26,8 @@
|
||||
<param name="version">_none_</param>
|
||||
</service>
|
||||
|
||||
<service name="tar" mode="manual" />
|
||||
<service name="recompress" mode="manual">
|
||||
<service name="tar" mode="buildtime" />
|
||||
<service name="recompress" mode="buildtime">
|
||||
<param name="compression">zstd</param>
|
||||
<param name="file">*.tar</param>
|
||||
</service>
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5204e3b21a8d62fe3cb77c71659d74c8df00956f0d2fd853da85b7513f8f1ad8
|
||||
size 319285
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:beacaecc2de9b8f8acff44bb6d0bcc60210a050cd444779d05d628c7c3822290
|
||||
size 62007582
|
@ -1,3 +1,23 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 18 12:50:30 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Replace ffmpeg-6-*-devel with ffmpeg-7-*-devel BuildRequires.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 18 06:50:26 UTC 2025 - Xu Zhao <i@xuzhao.net>
|
||||
|
||||
- Remove patches
|
||||
* 0001-use-bundled-webrtc.patch
|
||||
* 0002-use-bundled-rnnoise-expected-gsl-ranges-webrtc.patch
|
||||
* 0003-revert-webrtc-cmake-target-file.patch
|
||||
* 0004-use-dynamic-x-libraries.patch
|
||||
* 0005-use-bundled-ada.patch
|
||||
* 0006-tdesktop-disable-h264.patch
|
||||
* 0007-tg_owt-h264-dlopen.patch
|
||||
- Add patches
|
||||
* 0001-dynamic-link-x.patch
|
||||
* 0002-tg_owt-h264-dlopen.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 10 23:14:36 UTC 2025 - Xu Zhao <i@xuzhao.net>
|
||||
|
||||
|
@ -50,23 +50,11 @@ Source1: tg_owt.%{srcext}
|
||||
Source2: ada.%{srcext}
|
||||
Source3: tg_owt-dlopen-headers.tar.gz
|
||||
%if %{with use_system_rnnoise}
|
||||
# PATCH-FIX-OPENSUSE
|
||||
Patch1: 0001-use-bundled-webrtc.patch
|
||||
%else
|
||||
Source4: rnnoise-git20210122.tar.gz
|
||||
# PATCH-FIX-OPENSUSE
|
||||
Patch2: 0002-use-bundled-rnnoise-expected-gsl-ranges-webrtc.patch
|
||||
%endif
|
||||
# PATCH-FIX-OPENSUSE
|
||||
Patch3: 0003-revert-webrtc-cmake-target-file.patch
|
||||
# PATCH-FIX-OPENSUSE
|
||||
Patch4: 0004-use-dynamic-x-libraries.patch
|
||||
# PATCH-FIX-OPENSUSE
|
||||
Patch5: 0005-use-bundled-ada.patch
|
||||
# PATCH-FIX-OPENSUSE
|
||||
Patch6: 0006-tdesktop-disable-h264.patch
|
||||
# PATCH-FIX_OPENSUSE
|
||||
Patch7: 0007-tg_owt-h264-dlopen.patch
|
||||
Patch1: 0001-dynamic-link-x.patch
|
||||
Patch2: 0002-tg_owt-h264-dlopen.patch
|
||||
# There is an (incomplete) patch available for part of the source:
|
||||
# https://github.com/desktop-app/lib_base.git 3582bca53a1e195a31760978dc41f67ce44fc7e4
|
||||
# but tdesktop itself still falls short, and it looks to be something
|
||||
@ -78,11 +66,11 @@ BuildRequires: clang
|
||||
BuildRequires: cmake >= 3.16
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: enchant-devel
|
||||
BuildRequires: ffmpeg-6-libavcodec-devel
|
||||
BuildRequires: ffmpeg-6-libavdevice-devel
|
||||
BuildRequires: ffmpeg-6-libavfilter-devel
|
||||
BuildRequires: ffmpeg-6-libavformat-devel
|
||||
BuildRequires: ffmpeg-6-libavutil-devel
|
||||
BuildRequires: ffmpeg-7-libavcodec-devel
|
||||
BuildRequires: ffmpeg-7-libavdevice-devel
|
||||
BuildRequires: ffmpeg-7-libavfilter-devel
|
||||
BuildRequires: ffmpeg-7-libavformat-devel
|
||||
BuildRequires: ffmpeg-7-libavutil-devel
|
||||
%if %{with compiler_upgrade} || %{with compiler_downgrade}
|
||||
BuildRequires: gcc12
|
||||
BuildRequires: gcc12-c++
|
||||
@ -183,7 +171,6 @@ BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: libtool
|
||||
%endif
|
||||
BuildRequires: zstd
|
||||
BuildRequires: pkgconfig(tslib)
|
||||
BuildRequires: pkgconfig(vdpau)
|
||||
BuildRequires: pkgconfig(vpx)
|
||||
@ -224,13 +211,13 @@ The service also provides APIs to independent developers.
|
||||
|
||||
%prep
|
||||
%setup -q -n tdesktop-%{version}
|
||||
%autopatch -p1 -M 6
|
||||
%autopatch -p1 1
|
||||
|
||||
cd %{_builddir}
|
||||
mkdir -p %{_builddir}/Libraries
|
||||
# -q: quiet mode
|
||||
# -T: do not perform default archive unpacking
|
||||
# -D: do not delete tdesktop-%{version} directory
|
||||
# -D: do not delete the tdesktop-{version} directory
|
||||
# -b <n>: unpack nth sources before changing the directory
|
||||
%setup -q -T -D -b 1 -n tdesktop-%{version}
|
||||
mv ../tg_owt %{_builddir}/Libraries
|
||||
@ -247,7 +234,7 @@ mv ../rnnoise-git20210122 ../Libraries/rnnoise
|
||||
%endif
|
||||
|
||||
pushd %{_builddir}/Libraries/tg_owt
|
||||
%autopatch -p1 7
|
||||
%autopatch -p1 2
|
||||
popd
|
||||
|
||||
%build
|
||||
@ -271,38 +258,47 @@ pushd %{_builddir}/Libraries/rnnoise
|
||||
popd
|
||||
%endif
|
||||
|
||||
# setup library install path
|
||||
mkdir -p %{_builddir}/Libraries/install
|
||||
|
||||
# Build Ada
|
||||
pushd %{_builddir}/Libraries/ada
|
||||
cmake -GNinja -B build . \
|
||||
-D CMAKE_INSTALL_PREFIX=%{_builddir}/Libraries/install \
|
||||
-D CMAKE_BUILD_TYPE=None \
|
||||
-D ADA_TESTING=OFF \
|
||||
-D ADA_TOOLS=OFF
|
||||
cmake --build build --parallel
|
||||
# Install ada to build dir
|
||||
ninja install -C build
|
||||
|
||||
# Build tg_owt
|
||||
cd %{_builddir}/Libraries/tg_owt
|
||||
mkdir -p out/Release
|
||||
cd out/Release
|
||||
cmake -G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-B out/Release \
|
||||
-DCMAKE_INSTALL_PREFIX=%{_builddir}/Libraries/install \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
%ifarch armv7l armv7hl
|
||||
-DTG_OWT_ARCH_ARMV7_USE_NEON=OFF \
|
||||
-DTG_OWT_ARCH_ARMV7_USE_NEON=OFF \
|
||||
%endif
|
||||
-DTG_OWT_DLOPEN_H264=ON \
|
||||
-DTG_OWT_SPECIAL_TARGET=linux \
|
||||
-DTG_OWT_LIBJPEG_INCLUDE_PATH=/usr/include \
|
||||
-DTG_OWT_OPENH264_INCLUDE_PATH=%{_builddir}/Libraries/openh264/include \
|
||||
-DTG_OWT_OPENSSL_INCLUDE_PATH=/usr/include/openssl \
|
||||
-DTG_OWT_OPUS_INCLUDE_PATH=/usr/include/opus \
|
||||
-DTG_OWT_FFMPEG_INCLUDE_PATH=/usr/include/ffmpeg \
|
||||
-DTG_OWT_LIBVPX_INCLUDE_PATH=/usr/include/vpx \
|
||||
../..
|
||||
sed -i 's,gnu++2a,gnu++17,g' build.ninja
|
||||
ninja
|
||||
-DTG_OWT_DLOPEN_H264=ON \
|
||||
-DTG_OWT_SPECIAL_TARGET=linux \
|
||||
-DTG_OWT_LIBJPEG_INCLUDE_PATH=/usr/include \
|
||||
-DTG_OWT_OPENH264_INCLUDE_PATH=%{_builddir}/Libraries/openh264/include \
|
||||
-DTG_OWT_OPENSSL_INCLUDE_PATH=/usr/include/openssl \
|
||||
-DTG_OWT_OPUS_INCLUDE_PATH=/usr/include/opus \
|
||||
-DTG_OWT_FFMPEG_INCLUDE_PATH=/usr/include/ffmpeg \
|
||||
-DTG_OWT_LIBVPX_INCLUDE_PATH=/usr/include/vpx \
|
||||
.
|
||||
sed -i 's,gnu++2a,gnu++17,g' out/Release/build.ninja
|
||||
cmake --build out/Release --parallel
|
||||
ninja install -C out/Release
|
||||
|
||||
cd %{_builddir}/tdesktop-%{version}
|
||||
pushd %{_builddir}/tdesktop-%{version}
|
||||
# Use the official API key that telegram uses for their snap builds:
|
||||
# https://github.com/telegramdesktop/tdesktop/blob/8fab9167beb2407c1153930ed03a4badd0c2b59f/snap/snapcraft.yaml#L87-L88
|
||||
# Thanks to @primeos on Github.
|
||||
export CMAKE_PREFIX_PATH=%{_builddir}/Libraries/install/lib64/cmake
|
||||
%cmake \
|
||||
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:63272e4ce309381962248ef75e704e32f753ea016ef6f98f54e1c25df6b34dfc
|
||||
size 13348903
|
Loading…
x
Reference in New Issue
Block a user