Date: Thursday, April 21, 2022 @ 00:03:13 Author: svenstaro Revision: 1187206
archrelease: copy trunk to community-x86_64 Added: telegram-desktop/repos/community-x86_64/PKGBUILD (from rev 1187205, telegram-desktop/trunk/PKGBUILD) telegram-desktop/repos/community-x86_64/fix-ffmpeg5.patch (from rev 1187205, telegram-desktop/trunk/fix-ffmpeg5.patch) Deleted: telegram-desktop/repos/community-x86_64/PKGBUILD telegram-desktop/repos/community-x86_64/fix-ffmpeg5.patch -------------------+ PKGBUILD | 114 ++++++++++++++++++++--------------------- fix-ffmpeg5.patch | 144 ++++++++++++++++++++++++++-------------------------- 2 files changed, 129 insertions(+), 129 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2022-04-21 00:02:54 UTC (rev 1187205) +++ PKGBUILD 2022-04-21 00:03:13 UTC (rev 1187206) @@ -1,57 +0,0 @@ -# Maintainer: Sven-Hendrik Haase <svenst...@archlinux.org> -# Contributor: hexchain <i...@hexchain.org> -pkgname=telegram-desktop -pkgver=3.7.0 -pkgrel=1 -pkgdesc='Official Telegram Desktop client' -arch=('x86_64') -url="https://desktop.telegram.org/" -license=('GPL3') -depends=('hunspell' 'ffmpeg4.4' 'hicolor-icon-theme' 'lz4' 'minizip' 'openal' 'ttf-opensans' - 'qt6-imageformats' 'qt6-svg' 'qt6-wayland' 'qt6-5compat' 'xxhash' 'glibmm' - 'rnnoise' 'pipewire' 'libxtst' 'libxrandr' 'jemalloc' 'abseil-cpp' 'libdispatch') -makedepends=('cmake' 'git' 'ninja' 'python' 'range-v3' 'tl-expected' 'microsoft-gsl' 'meson' - 'extra-cmake-modules' 'wayland-protocols' 'plasma-wayland-protocols' 'libtg_owt') -optdepends=('webkit2gtk: embedded browser features' - 'xdg-desktop-portal: desktop integration') -source=("https://github.com/telegramdesktop/tdesktop/releases/download/v${pkgver}/tdesktop-${pkgver}-full.tar.gz" - ) -sha512sums=('425e78e8950c9289b665dda468924b165ed29ec2f4cfa87bd7e8a1e4c9acf08db5949caa87e1d9f4c9e295d9b0bd4ee9caec5eaea2789517bc79fc0b96e14d88') - -prepare() { - cd tdesktop-$pkgver-full -} - -build() { - cd tdesktop-$pkgver-full - - # Fix https://bugs.archlinux.org/task/73220 - export CXXFLAGS+=" -Wp,-U_GLIBCXX_ASSERTIONS" - - export PKG_CONFIG_PATH='/usr/lib/ffmpeg4.4/pkgconfig' - #Turns out we're allowed to 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 @primeos! - cmake \ - -B build \ - -G Ninja \ - -DCMAKE_INSTALL_PREFIX="/usr" \ - -DCMAKE_BUILD_TYPE=Release \ - -DTDESKTOP_API_ID=611335 \ - -DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c - sed -i "s|/usr/lib/libav|/usr/lib/ffmpeg4.4/libav|g" build/build.ninja - sed -i "s|/usr/lib/libsw|/usr/lib/ffmpeg4.4/libsw|g" build/build.ninja - sed -i "s|-lavcodec|/usr/lib/ffmpeg4.4/libavcodec.so|g" build/build.ninja - sed -i "s|-lavformat|/usr/lib/ffmpeg4.4/libavformat.so|g" build/build.ninja - sed -i "s|-lavutil|/usr/lib/ffmpeg4.4/libavutil.so|g" build/build.ninja - sed -i "s|-lswscale|/usr/lib/ffmpeg4.4/libswscale.so|g" build/build.ninja - sed -i "s|-lswresample|/usr/lib/ffmpeg4.4/libswresample.so|g" build/build.ninja - ninja -C build -} - -package() { - cd tdesktop-$pkgver-full - DESTDIR="$pkgdir" ninja -C build install - # They botched the release and put a lot of stuff here. - rm -rf "$pkgdir/build" -} Copied: telegram-desktop/repos/community-x86_64/PKGBUILD (from rev 1187205, telegram-desktop/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2022-04-21 00:03:13 UTC (rev 1187206) @@ -0,0 +1,57 @@ +# Maintainer: Sven-Hendrik Haase <svenst...@archlinux.org> +# Contributor: hexchain <i...@hexchain.org> +pkgname=telegram-desktop +pkgver=3.7.1 +pkgrel=1 +pkgdesc='Official Telegram Desktop client' +arch=('x86_64') +url="https://desktop.telegram.org/" +license=('GPL3') +depends=('hunspell' 'ffmpeg4.4' 'hicolor-icon-theme' 'lz4' 'minizip' 'openal' 'ttf-opensans' + 'qt6-imageformats' 'qt6-svg' 'qt6-wayland' 'qt6-5compat' 'xxhash' 'glibmm' + 'rnnoise' 'pipewire' 'libxtst' 'libxrandr' 'jemalloc' 'abseil-cpp' 'libdispatch') +makedepends=('cmake' 'git' 'ninja' 'python' 'range-v3' 'tl-expected' 'microsoft-gsl' 'meson' + 'extra-cmake-modules' 'wayland-protocols' 'plasma-wayland-protocols' 'libtg_owt') +optdepends=('webkit2gtk: embedded browser features' + 'xdg-desktop-portal: desktop integration') +source=("https://github.com/telegramdesktop/tdesktop/releases/download/v${pkgver}/tdesktop-${pkgver}-full.tar.gz" + ) +sha512sums=('548af6525b92eac8c7431577d81f38b97c6bcd15f553a41c948bdac4cc431badc94e6777de0125f4ba28ff0b03d658ea177e1e34e0136c0b15a00b176499a1dd') + +prepare() { + cd tdesktop-$pkgver-full +} + +build() { + cd tdesktop-$pkgver-full + + # Fix https://bugs.archlinux.org/task/73220 + export CXXFLAGS+=" -Wp,-U_GLIBCXX_ASSERTIONS" + + export PKG_CONFIG_PATH='/usr/lib/ffmpeg4.4/pkgconfig' + #Turns out we're allowed to 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 @primeos! + cmake \ + -B build \ + -G Ninja \ + -DCMAKE_INSTALL_PREFIX="/usr" \ + -DCMAKE_BUILD_TYPE=Release \ + -DTDESKTOP_API_ID=611335 \ + -DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c + sed -i "s|/usr/lib/libav|/usr/lib/ffmpeg4.4/libav|g" build/build.ninja + sed -i "s|/usr/lib/libsw|/usr/lib/ffmpeg4.4/libsw|g" build/build.ninja + sed -i "s|-lavcodec|/usr/lib/ffmpeg4.4/libavcodec.so|g" build/build.ninja + sed -i "s|-lavformat|/usr/lib/ffmpeg4.4/libavformat.so|g" build/build.ninja + sed -i "s|-lavutil|/usr/lib/ffmpeg4.4/libavutil.so|g" build/build.ninja + sed -i "s|-lswscale|/usr/lib/ffmpeg4.4/libswscale.so|g" build/build.ninja + sed -i "s|-lswresample|/usr/lib/ffmpeg4.4/libswresample.so|g" build/build.ninja + ninja -C build +} + +package() { + cd tdesktop-$pkgver-full + DESTDIR="$pkgdir" ninja -C build install + # They botched the release and put a lot of stuff here. + rm -rf "$pkgdir/build" +} Deleted: fix-ffmpeg5.patch =================================================================== --- fix-ffmpeg5.patch 2022-04-21 00:02:54 UTC (rev 1187205) +++ fix-ffmpeg5.patch 2022-04-21 00:03:13 UTC (rev 1187206) @@ -1,72 +0,0 @@ -From e89d9ca78abf7dc4fe7c832c07917696eb993868 Mon Sep 17 00:00:00 2001 -From: Nicholas Guriev <nicho...@guriev.su> -Date: Mon, 7 Mar 2022 11:52:01 +0300 -Subject: [PATCH] Fix build against FFmpeg v5.0 - -It has been released on January 17th. This patch keeps source compatibility -with older versions. ---- - tgcalls/group/AudioStreamingPartInternal.cpp | 5 ++++- - tgcalls/group/AudioStreamingPartPersistentDecoder.cpp | 2 +- - tgcalls/group/VideoStreamingPart.cpp | 5 ++++- - 3 files changed, 9 insertions(+), 3 deletions(-) - -diff --git a/tgcalls/group/AudioStreamingPartInternal.cpp b/tgcalls/group/AudioStreamingPartInternal.cpp -index 27a71cb..5639036 100644 ---- a/tgcalls/group/AudioStreamingPartInternal.cpp -+++ b/tgcalls/group/AudioStreamingPartInternal.cpp -@@ -104,6 +104,9 @@ _avIoContext(std::move(fileData)) { - - _frame = av_frame_alloc(); - -+#if LIBAVFORMAT_VERSION_MAJOR >= 59 -+ const -+#endif - AVInputFormat *inputFormat = av_find_input_format(container.c_str()); - if (!inputFormat) { - _didReadToEnd = true; -@@ -144,7 +147,7 @@ _avIoContext(std::move(fileData)) { - - _streamId = i; - -- _durationInMilliseconds = (int)((inStream->duration + inStream->first_dts) * 1000 / 48000); -+ _durationInMilliseconds = (int)((inStream->duration + av_stream_get_first_dts(inStream)) * 1000 / 48000); - - if (inStream->metadata) { - AVDictionaryEntry *entry = av_dict_get(inStream->metadata, "TG_META", nullptr, 0); -diff --git a/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp b/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp -index e79d430..63ef475 100644 ---- a/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp -+++ b/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp -@@ -32,7 +32,7 @@ class AudioStreamingPartPersistentDecoderState { - AudioStreamingPartPersistentDecoderState(AVCodecParameters const *codecParameters, AVRational timeBase) : - _codecParameters(codecParameters), - _timeBase(timeBase) { -- AVCodec *codec = avcodec_find_decoder(codecParameters->codec_id); -+ const AVCodec *codec = avcodec_find_decoder(codecParameters->codec_id); - if (codec) { - _codecContext = avcodec_alloc_context3(codec); - int ret = avcodec_parameters_to_context(_codecContext, codecParameters); -diff --git a/tgcalls/group/VideoStreamingPart.cpp b/tgcalls/group/VideoStreamingPart.cpp -index 981ad83..bcab11b 100644 ---- a/tgcalls/group/VideoStreamingPart.cpp -+++ b/tgcalls/group/VideoStreamingPart.cpp -@@ -276,6 +276,9 @@ class VideoStreamingPartInternal { - - int ret = 0; - -+#if LIBAVFORMAT_VERSION_MAJOR >= 59 -+ const -+#endif - AVInputFormat *inputFormat = av_find_input_format(container.c_str()); - if (!inputFormat) { - _didReadToEnd = true; -@@ -319,7 +322,7 @@ class VideoStreamingPartInternal { - } - - if (videoCodecParameters && videoStream) { -- AVCodec *codec = avcodec_find_decoder(videoCodecParameters->codec_id); -+ const AVCodec *codec = avcodec_find_decoder(videoCodecParameters->codec_id); - if (codec) { - _codecContext = avcodec_alloc_context3(codec); - ret = avcodec_parameters_to_context(_codecContext, videoCodecParameters); Copied: telegram-desktop/repos/community-x86_64/fix-ffmpeg5.patch (from rev 1187205, telegram-desktop/trunk/fix-ffmpeg5.patch) =================================================================== --- fix-ffmpeg5.patch (rev 0) +++ fix-ffmpeg5.patch 2022-04-21 00:03:13 UTC (rev 1187206) @@ -0,0 +1,72 @@ +From e89d9ca78abf7dc4fe7c832c07917696eb993868 Mon Sep 17 00:00:00 2001 +From: Nicholas Guriev <nicho...@guriev.su> +Date: Mon, 7 Mar 2022 11:52:01 +0300 +Subject: [PATCH] Fix build against FFmpeg v5.0 + +It has been released on January 17th. This patch keeps source compatibility +with older versions. +--- + tgcalls/group/AudioStreamingPartInternal.cpp | 5 ++++- + tgcalls/group/AudioStreamingPartPersistentDecoder.cpp | 2 +- + tgcalls/group/VideoStreamingPart.cpp | 5 ++++- + 3 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/tgcalls/group/AudioStreamingPartInternal.cpp b/tgcalls/group/AudioStreamingPartInternal.cpp +index 27a71cb..5639036 100644 +--- a/tgcalls/group/AudioStreamingPartInternal.cpp ++++ b/tgcalls/group/AudioStreamingPartInternal.cpp +@@ -104,6 +104,9 @@ _avIoContext(std::move(fileData)) { + + _frame = av_frame_alloc(); + ++#if LIBAVFORMAT_VERSION_MAJOR >= 59 ++ const ++#endif + AVInputFormat *inputFormat = av_find_input_format(container.c_str()); + if (!inputFormat) { + _didReadToEnd = true; +@@ -144,7 +147,7 @@ _avIoContext(std::move(fileData)) { + + _streamId = i; + +- _durationInMilliseconds = (int)((inStream->duration + inStream->first_dts) * 1000 / 48000); ++ _durationInMilliseconds = (int)((inStream->duration + av_stream_get_first_dts(inStream)) * 1000 / 48000); + + if (inStream->metadata) { + AVDictionaryEntry *entry = av_dict_get(inStream->metadata, "TG_META", nullptr, 0); +diff --git a/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp b/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp +index e79d430..63ef475 100644 +--- a/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp ++++ b/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp +@@ -32,7 +32,7 @@ class AudioStreamingPartPersistentDecoderState { + AudioStreamingPartPersistentDecoderState(AVCodecParameters const *codecParameters, AVRational timeBase) : + _codecParameters(codecParameters), + _timeBase(timeBase) { +- AVCodec *codec = avcodec_find_decoder(codecParameters->codec_id); ++ const AVCodec *codec = avcodec_find_decoder(codecParameters->codec_id); + if (codec) { + _codecContext = avcodec_alloc_context3(codec); + int ret = avcodec_parameters_to_context(_codecContext, codecParameters); +diff --git a/tgcalls/group/VideoStreamingPart.cpp b/tgcalls/group/VideoStreamingPart.cpp +index 981ad83..bcab11b 100644 +--- a/tgcalls/group/VideoStreamingPart.cpp ++++ b/tgcalls/group/VideoStreamingPart.cpp +@@ -276,6 +276,9 @@ class VideoStreamingPartInternal { + + int ret = 0; + ++#if LIBAVFORMAT_VERSION_MAJOR >= 59 ++ const ++#endif + AVInputFormat *inputFormat = av_find_input_format(container.c_str()); + if (!inputFormat) { + _didReadToEnd = true; +@@ -319,7 +322,7 @@ class VideoStreamingPartInternal { + } + + if (videoCodecParameters && videoStream) { +- AVCodec *codec = avcodec_find_decoder(videoCodecParameters->codec_id); ++ const AVCodec *codec = avcodec_find_decoder(videoCodecParameters->codec_id); + if (codec) { + _codecContext = avcodec_alloc_context3(codec); + ret = avcodec_parameters_to_context(_codecContext, videoCodecParameters);