From 3763bca1a3b09c360c669d0ee85e5a8f7b6a3914678300965a4318e337d3b483 Mon Sep 17 00:00:00 2001 From: Xu Zhao Date: Thu, 22 Aug 2024 13:18:22 +0000 Subject: [PATCH] - Remove 0007-tg-owt-disable-h264.patch - Add tg_owt-dlopen-headers.tar.gz - Update tg_owt-packager.sh to use the forked version with dlopen. OBS-URL: https://build.opensuse.org/package/show/server:messaging/telegram-desktop?expand=0&rev=331 --- 0007-tg-owt-disable-h264.patch | 13 ------------ telegram-desktop.changes | 7 +++++++ telegram-desktop.spec | 37 ++++++++++++++++++---------------- tg_owt-dlopen-headers.tar.gz | 3 +++ tg_owt-master.zip | 4 ++-- tg_owt-packager.sh | 6 ++++-- 6 files changed, 36 insertions(+), 34 deletions(-) delete mode 100644 0007-tg-owt-disable-h264.patch create mode 100644 tg_owt-dlopen-headers.tar.gz diff --git a/0007-tg-owt-disable-h264.patch b/0007-tg-owt-disable-h264.patch deleted file mode 100644 index 9b92392..0000000 --- a/0007-tg-owt-disable-h264.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/libwebrtcbuild.cmake b/cmake/libwebrtcbuild.cmake -index 4838e03..56ed23f 100644 ---- a/cmake/libwebrtcbuild.cmake -+++ b/cmake/libwebrtcbuild.cmake -@@ -18,7 +18,7 @@ INTERFACE - WEBRTC_OPUS_VARIABLE_COMPLEXITY=0 - WEBRTC_OPUS_SUPPORT_120MS_PTIME=1 - WEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE -- WEBRTC_USE_H264 -+ # WEBRTC_USE_H264 - WEBRTC_LIBRARY_IMPL - WEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=1 - WEBRTC_HAVE_DCSCTP diff --git a/telegram-desktop.changes b/telegram-desktop.changes index 59da336..b5d4688 100644 --- a/telegram-desktop.changes +++ b/telegram-desktop.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Aug 22 05:30:55 UTC 2024 - Xu Zhao + +- Remove 0007-tg-owt-disable-h264.patch +- Add tg_owt-dlopen-headers.tar.gz +- Update tg_owt-packager.sh to use the forked version with dlopen. + ------------------------------------------------------------------- Wed Aug 21 22:49:40 UTC 2024 - Xu Zhao diff --git a/telegram-desktop.spec b/telegram-desktop.spec index 80f9311..89db270 100644 --- a/telegram-desktop.spec +++ b/telegram-desktop.spec @@ -50,11 +50,14 @@ Source0: https://github.com/telegramdesktop/tdesktop/releases/download/v% Source1: tg_owt-packager.sh Source2: tg_owt-master.zip Source3: ada-v2.9.0.zip +# Usage: bash ads-packager.sh +Source4: ada-packager.sh +Source5: 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 +Source6: rnnoise-git20210122.tar.gz # PATCH-FIX-OPENSUSE Patch1: 0002-use-bundled-rnnoise-expected-gsl-ranges-webrtc.patch %endif @@ -66,8 +69,6 @@ Patch4: 0004-use-dynamic-x-libraries.patch Patch5: 0005-use-bundled-ada.patch # PATCH-FIX-OPENSUSE Patch6: 0006-tdesktop-disable-h264.patch -# PATCH-FIX-OPENSUSE -Patch7: 0007-tg-owt-disable-h264.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 @@ -79,6 +80,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 %if %{with compiler_upgrade} || %{with compiler_downgrade} BuildRequires: gcc12 BuildRequires: gcc12-c++ @@ -142,11 +148,6 @@ BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(harfbuzz) BuildRequires: pkgconfig(hunspell) BuildRequires: pkgconfig(jemalloc) -BuildRequires: pkgconfig(libavcodec) -BuildRequires: pkgconfig(libavdevice) -BuildRequires: pkgconfig(libavfilter) -BuildRequires: pkgconfig(libavformat) -BuildRequires: pkgconfig(libavutil) BuildRequires: pkgconfig(libcrypto) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libmng) @@ -225,23 +226,24 @@ The service also provides APIs to independent developers. %prep %setup -q -n tdesktop-%{version}-full %autopatch -p1 -M 6 -mkdir ../Libraries -%setup -q -T -D -b 3 -n tdesktop-%{version}-full -mv ../ada-v2.9.0 ../Libraries/ada +cd %{_builddir} +mkdir -p %{_builddir}/Libraries +unzip -q %{S:3} +mv ada-v2.9.0 %{_builddir}/Libraries/ada + +mkdir -p %{_builddir}/Libraries/openh264/include +tar xzf %{S:5} +mv wels %{_builddir}/Libraries/openh264/include/ # If not TW, unpack rnnoise source %if %{without use_system_rnnoise} -%setup -q -T -D -b 4 -n tdesktop-%{version}-full +%setup -q -T -D -b 6 -n tdesktop-%{version}-full mv ../rnnoise-git20210122 ../Libraries/rnnoise %endif -cd ../ unzip -q %{SOURCE2} mv tg_owt-master Libraries/tg_owt -pushd Libraries/tg_owt -%patch -P 7 -p1 -popd %build %if %{with compiler_upgrade} || %{with compiler_downgrade} @@ -280,9 +282,10 @@ cmake -G Ninja \ %ifarch armv7l armv7hl -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=/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 \ diff --git a/tg_owt-dlopen-headers.tar.gz b/tg_owt-dlopen-headers.tar.gz new file mode 100644 index 0000000..e43f90e --- /dev/null +++ b/tg_owt-dlopen-headers.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27b9dd3b758f638bbee54ebe3a3d3a15d8e0941a5a2a94b3e8699d508712ee0f +size 17931 diff --git a/tg_owt-master.zip b/tg_owt-master.zip index ae46e6c..fe53efc 100644 --- a/tg_owt-master.zip +++ b/tg_owt-master.zip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4421c50b5d212824f7d82bb2d03fe240834bff35ca35d0155a0b6c6f16dee699 -size 23495649 +oid sha256:6addc180f1fbfe33b03b3616c1f9fefa5d0a4a68972de4bc2739b69b893ad49e +size 23497999 diff --git a/tg_owt-packager.sh b/tg_owt-packager.sh index 931194e..774b675 100644 --- a/tg_owt-packager.sh +++ b/tg_owt-packager.sh @@ -2,14 +2,16 @@ # tg_owt origin # get it from https://github.com/telegramdesktop/tdesktop/blob/dev/Telegram/build/docker/centos_env/Dockerfile around line 761 -tg_owt_origin="4a60ce1ab9fdb962004c6a959f682ace3db50cbd" +# tg_owt_origin="4a60ce1ab9fdb962004c6a959f682ace3db50cbd" +# use xuzhao9's fork to workaround the h264 dlopen issue +tg_owt_origin="0342ae21ee2cc6c6052798bc8fa6b737d9a66418" rm -rf tg_owt \ && mkdir tg_owt \ && cd tg_owt \ && git init tg_owt \ && cd tg_owt \ - && git remote add origin https://github.com/desktop-app/tg_owt.git \ + && git remote add origin https://github.com/xuzhao9/tg_owt.git \ && git fetch --depth=1 origin "$tg_owt_origin" \ && git reset --hard FETCH_HEAD \ && git submodule update --init --recursive --depth=1 \