diff --git a/0001-dynamic-link-x.patch b/0001-dynamic-link-x.patch new file mode 100644 index 0000000..dd329d6 --- /dev/null +++ b/0001-dynamic-link-x.patch @@ -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() + diff --git a/0001-use-bundled-webrtc.patch b/0001-use-bundled-webrtc.patch deleted file mode 100644 index 1e426ba..0000000 --- a/0001-use-bundled-webrtc.patch +++ /dev/null @@ -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() diff --git a/0007-tg_owt-h264-dlopen.patch b/0002-tg_owt-h264-dlopen.patch similarity index 100% rename from 0007-tg_owt-h264-dlopen.patch rename to 0002-tg_owt-h264-dlopen.patch diff --git a/0002-use-bundled-rnnoise-expected-gsl-ranges-webrtc.patch b/0002-use-bundled-rnnoise-expected-gsl-ranges-webrtc.patch deleted file mode 100644 index 4116fbc..0000000 --- a/0002-use-bundled-rnnoise-expected-gsl-ranges-webrtc.patch +++ /dev/null @@ -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() diff --git a/0003-revert-webrtc-cmake-target-file.patch b/0003-revert-webrtc-cmake-target-file.patch deleted file mode 100644 index 055d816..0000000 --- a/0003-revert-webrtc-cmake-target-file.patch +++ /dev/null @@ -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} - $ - $ -- $ - $ - $ - $ -- $ - $ -- $ - ) - - if (WIN32) diff --git a/0004-use-dynamic-x-libraries.patch b/0004-use-dynamic-x-libraries.patch deleted file mode 100644 index 38010f0..0000000 --- a/0004-use-dynamic-x-libraries.patch +++ /dev/null @@ -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 diff --git a/0005-use-bundled-ada.patch b/0005-use-bundled-ada.patch deleted file mode 100644 index d1c3477..0000000 --- a/0005-use-bundled-ada.patch +++ /dev/null @@ -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() diff --git a/0006-tdesktop-disable-h264.patch b/0006-tdesktop-disable-h264.patch deleted file mode 100644 index 7becddf..0000000 --- a/0006-tdesktop-disable-h264.patch +++ /dev/null @@ -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 - $ - $ - $ -- $ - $ - $ - ) diff --git a/_service b/_service index e2f963f..0b36394 100644 --- a/_service +++ b/_service @@ -26,8 +26,8 @@ _none_ - - + + zstd *.tar diff --git a/ada.tar.zst b/ada.tar.zst deleted file mode 100644 index 18e139c..0000000 --- a/ada.tar.zst +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5204e3b21a8d62fe3cb77c71659d74c8df00956f0d2fd853da85b7513f8f1ad8 -size 319285 diff --git a/tdesktop-5.10.3.tar.zst b/tdesktop-5.10.3.tar.zst deleted file mode 100644 index 2f67eeb..0000000 --- a/tdesktop-5.10.3.tar.zst +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:beacaecc2de9b8f8acff44bb6d0bcc60210a050cd444779d05d628c7c3822290 -size 62007582 diff --git a/telegram-desktop.changes b/telegram-desktop.changes index 12c090e..a69b2c6 100644 --- a/telegram-desktop.changes +++ b/telegram-desktop.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Sat Jan 18 12:50:30 UTC 2025 - Bjørn Lie + +- Replace ffmpeg-6-*-devel with ffmpeg-7-*-devel BuildRequires. + +------------------------------------------------------------------- +Sat Jan 18 06:50:26 UTC 2025 - Xu Zhao + +- 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 diff --git a/telegram-desktop.spec b/telegram-desktop.spec index 37fdb9e..0891c46 100644 --- a/telegram-desktop.spec +++ b/telegram-desktop.spec @@ -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 : 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 \ diff --git a/tg_owt.tar.zst b/tg_owt.tar.zst deleted file mode 100644 index d391dc8..0000000 --- a/tg_owt.tar.zst +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:63272e4ce309381962248ef75e704e32f753ea016ef6f98f54e1c25df6b34dfc -size 13348903