[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#71897] [PATCH 2/2] gnu: telegram-desktop: Update to 5.1.7.
From: |
dan |
Subject: |
[bug#71897] [PATCH 2/2] gnu: telegram-desktop: Update to 5.1.7. |
Date: |
Tue, 2 Jul 2024 13:26:49 +0800 |
* gnu/packages/patches/telegram-desktop-unbundle-cppgir.patch: New file.
* gnu/packages/patches/telegram-desktop-unbundle-gsl.patch: New file.
* gnu/local.mk (dist_patch_DATA): register them.
* gnu/packages/telegram.scm: Import (gnu packages boost).
(libyuv-for-telegram-desktop, cmake-helpers-for-telegram-desktop,
codegen-for-telegram-desktop, lib-base-for-telegram-desktop,
lib-crl-for-telegram-desktop, lib-lottie-for-telegram-desktop,
lib-qr-for-telegram-desktop, lib-storage-for-telegram-desktop,
lib-tl-for-telegram-desktop, lib-webrtc-for-telegram-desktop,
tgcalls-for-telegram-desktop, webrtc-for-telegram-desktop): Bump to submodule
checkout.
(cmake-helpers-for-telegram-desktop)[patches]: Add patches to unbundle gsl and
cppgir.
(libprisma-for-telegram-desktop, xdg-desktop-portal-for-telegram-desktop): New
variables.
(telegram-desktop): Update to 5.1.7.
[phases]<unpack-additional-sources>: Add libprisma-for-telegram-desktop and
xdg-desktop-portal-for-telegram-desktop.
<patch-gir-ignore-paths>: New phase.
[inputs]: Add boost, cppgir, expected-lite and gobject-introspection.
Change-Id: I75441a6284e3755f510a7d3ba5746bfbb8acbb91
---
gnu/local.mk | 2 +
.../telegram-desktop-unbundle-cppgir.patch | 95 ++++++++++++++++
.../telegram-desktop-unbundle-gsl.patch | 31 ++++++
gnu/packages/telegram.scm | 105 ++++++++++++------
4 files changed, 202 insertions(+), 31 deletions(-)
create mode 100644 gnu/packages/patches/telegram-desktop-unbundle-cppgir.patch
create mode 100644 gnu/packages/patches/telegram-desktop-unbundle-gsl.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index cf6b1d61b3..ddce260961 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2135,6 +2135,8 @@ dist_patch_DATA =
\
%D%/packages/patches/texinfo-headings-single.patch \
%D%/packages/patches/texinfo-5-perl-compat.patch \
%D%/packages/patches/telegram-desktop-allow-disable-libtgvoip.patch \
+ %D%/packages/patches/telegram-desktop-unbundle-cppgir.patch \
+ %D%/packages/patches/telegram-desktop-unbundle-gsl.patch \
%D%/packages/patches/telegram-purple-adjust-test.patch \
%D%/packages/patches/teuchos-remove-duplicate-using.patch \
%D%/packages/patches/texi2html-document-encoding.patch \
diff --git a/gnu/packages/patches/telegram-desktop-unbundle-cppgir.patch
b/gnu/packages/patches/telegram-desktop-unbundle-cppgir.patch
new file mode 100644
index 0000000000..a24dbe25bb
--- /dev/null
+++ b/gnu/packages/patches/telegram-desktop-unbundle-cppgir.patch
@@ -0,0 +1,95 @@
+From a5c42e07ae223d440ff11347e0cf1fd58fd383df Mon Sep 17 00:00:00 2001
+From: Nicholas Guriev <nicholas@guriev.su>
+Date: Sat, 26 Aug 2023 18:23:53 +0300
+Subject: [PATCH 1/2] Look for system-wide cppgir before fallback to the
+ bundled copy
+
+Closes: #282
+---
+ external/glib/CMakeLists.txt | 4 +++-
+ external/glib/generate_cppgir.cmake | 7 ++++++-
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/external/glib/CMakeLists.txt b/external/glib/CMakeLists.txt
+index 3c6fe4be..c862705f 100644
+--- a/external/glib/CMakeLists.txt
++++ b/external/glib/CMakeLists.txt
+@@ -13,9 +13,11 @@ function(add_cppgir) # isolate scope
+ set(BUILD_EXAMPLES OFF)
+ add_subdirectory(cppgir EXCLUDE_FROM_ALL)
+ endfunction()
+-add_cppgir()
+
+ include(generate_cppgir.cmake)
++if (NOT CppGir_FOUND)
++ add_cppgir()
++endif()
+ generate_cppgir(external_glib Gio-2.0)
+
+ find_package(PkgConfig REQUIRED)
+diff --git a/external/glib/generate_cppgir.cmake
b/external/glib/generate_cppgir.cmake
+index c15d3f9e..9b0a5ac8 100644
+--- a/external/glib/generate_cppgir.cmake
++++ b/external/glib/generate_cppgir.cmake
+@@ -4,6 +4,8 @@
+ # For license and copyright information please follow this link:
+ # https://github.com/desktop-app/legal/blob/master/LEGAL
+
++find_package(CppGir 2.0)
++
+ function(generate_cppgir target_name gir)
+ set(cppgir_loc ${cmake_helpers_loc}/external/glib/cppgir)
+
+@@ -17,6 +19,9 @@ function(generate_cppgir target_name gir)
+ ${cppgir_loc}/data/cppgir.ignore
+ ${cppgir_loc}/data/cppgir_unix.ignore
+ )
++ if (CppGir_FOUND)
++ set(ignore_files) # rely on default ignore list
++ endif()
+
+ set(gir_path)
+ if (IS_ABSOLUTE "${gir}")
+@@ -33,7 +38,7 @@ function(generate_cppgir target_name gir)
+ --class
+ --class-full
+ --expected
+- --ignore
++ "$<$<BOOL:${ignore_files}>:--ignore>"
+ "$<JOIN:${ignore_files},:>"
+ --output
+ ${gen_dst}
+
+From eed39522952c15f448c54290454806dd011c4996 Mon Sep 17 00:00:00 2001
+From: Nicholas Guriev <nicholas@guriev.su>
+Date: Sat, 26 Aug 2023 18:23:53 +0300
+Subject: [PATCH 2/2] Look for system-wide cppgir before fallback to the
+ bundled copy
+
+Closes: #282
+---
+ external/glib/generate_cppgir.cmake | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/external/glib/generate_cppgir.cmake
b/external/glib/generate_cppgir.cmake
+index 9b0a5ac8..2ad82277 100644
+--- a/external/glib/generate_cppgir.cmake
++++ b/external/glib/generate_cppgir.cmake
+@@ -15,11 +15,12 @@ function(generate_cppgir target_name gir)
+
+ set(gen_timestamp ${gen_dst}/${target_name}_cppgir.timestamp)
+
+- set(ignore_files
+- ${cppgir_loc}/data/cppgir.ignore
+- ${cppgir_loc}/data/cppgir_unix.ignore
+- )
+- if (CppGir_FOUND)
++ if (NOT CppGir_FOUND)
++ set(ignore_files
++ ${cppgir_loc}/data/cppgir.ignore
++ ${cppgir_loc}/data/cppgir_unix.ignore
++ )
++ else()
+ set(ignore_files) # rely on default ignore list
+ endif()
+
diff --git a/gnu/packages/patches/telegram-desktop-unbundle-gsl.patch
b/gnu/packages/patches/telegram-desktop-unbundle-gsl.patch
new file mode 100644
index 0000000000..f89d326a5c
--- /dev/null
+++ b/gnu/packages/patches/telegram-desktop-unbundle-gsl.patch
@@ -0,0 +1,31 @@
+From a3ac6df0441b4caca28b1df87febc420e18942ce Mon Sep 17 00:00:00 2001
+From: Zephyr Lykos <git@mochaa.ws>
+Date: Mon, 23 Oct 2023 15:55:24 +0800
+Subject: [PATCH] Revert "Force usage of GSL fork because of a libstdc++ bug."
+
+This reverts commit 982546b169df3d479e6511425870327559b38a89.
+<https://github.com/microsoft/GSL/commit/e64c97fc2cfc11992098bb38eda932de275e3f4d>
+---
+ external/gsl/CMakeLists.txt | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/external/gsl/CMakeLists.txt b/external/gsl/CMakeLists.txt
+index 8eaf19c5..344f9488 100644
+--- a/external/gsl/CMakeLists.txt
++++ b/external/gsl/CMakeLists.txt
+@@ -7,7 +7,6 @@
+ add_library(external_gsl INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_gsl ALIAS external_gsl)
+
+-#[[
+ if (DESKTOP_APP_USE_PACKAGED)
+ if (DESKTOP_APP_USE_PACKAGED_LAZY)
+ find_package(Microsoft.GSL 4.0.0 QUIET)
+@@ -20,7 +19,6 @@ if (DESKTOP_APP_USE_PACKAGED)
+ return()
+ endif()
+ endif()
+-]]
+
+ # https://gitlab.kitware.com/cmake/cmake/-/issues/25222
+ if (NOT EXISTS ${third_party_loc}/GSL/include)
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 358374a5bb..4138dc3779 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -28,6 +28,7 @@ (define-module (gnu packages telegram)
#:use-module (gnu packages assembly)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
@@ -82,11 +83,11 @@ (define-module (gnu packages telegram)
#:use-module (guix build-system python)
#:use-module (guix build-system qt))
-(define %telegram-version "4.8.1")
+(define %telegram-version "5.1.7")
(define libyuv-for-telegram-desktop
- (let ((commit "77c2121f7e6b8e694d6e908bbbe9be24214097da")
- (revision "2439"))
+ (let ((commit "04821d1e7d60845525e8db55c7bcd41ef5be9406")
+ (revision "2440"))
(origin
(method git-fetch)
(uri (git-reference
@@ -97,67 +98,72 @@ (define libyuv-for-telegram-desktop
(git-version "0" revision commit)))
(sha256
(base32
- "1b4k8yskr9ffl5k8s9i0af1gn1pavsfixla26vh8bij69rdr7f9c")))))
+ "1fsvc0f8mckrdzys8lnlnbw6676mjamm6p3ghr2h9liqfa83s6wg")))))
(define cmake-helpers-for-telegram-desktop
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/cmake_helpers.git")
- (commit "6ab5543b3dd1e40979d258e46d03376931b6c37b")))
+ (commit "a7527c0e6eba1c71cd0dfd7bd8de9c1e68cb529f")))
(file-name
(git-file-name "cmake-helpers-for-telegram-desktop" %telegram-version))
+ (patches
+ ;; https://github.com/desktop-app/cmake_helpers/pull/320
+ ;; https://github.com/desktop-app/cmake_helpers/pull/305
+ (search-patches "telegram-desktop-unbundle-gsl.patch"
+ "telegram-desktop-unbundle-cppgir.patch"))
(sha256
(base32
- "0y96mvzs113zh8bdw1h3i6l0pgwg93rigrday8kfdg4magz686k6"))))
+ "176saaaiww9ivmqdi50by7vgq5j7jhqpyzp74lpy1xg83am4malf"))))
(define codegen-for-telegram-desktop
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/codegen.git")
- (commit "1a969faa0afb29d53af03e530775eccdfb8433f1")))
+ (commit "0af136124083369073b8fdaf45f0816fd2b10bad")))
(file-name
(git-file-name "codegen-for-telegram-desktop" %telegram-version))
(sha256
(base32
- "1xmw8dfm51p5g20rlmzqnr72a14ngyxwq09an8clf1v5s6mmwvak"))))
+ "057bwn9smrgnyfb1vraf50ihbkhjc4d72msl7vnbqc4h5sg8dav9"))))
(define lib-base-for-telegram-desktop
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/lib_base.git")
- (commit "fd9adb30ee906ea02c125eaa58fcfae773fdc677")))
+ (commit "4d56f8b4bba52b46844f46fafa5f9b6b2704429e")))
(file-name
(git-file-name "lib-base-for-telegram-desktop" %telegram-version))
(sha256
(base32
- "1m760mcfvgzia53nrs6wvjn353jvzlzln7c9fkx2dhpkigiynz83"))))
+ "1xc6www5bgbl94wp2fg0gxcmv1b2j0z1pyxhmmhp06jvfqx6anqy"))))
(define lib-crl-for-telegram-desktop
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/lib_crl.git")
- (commit "3d7e1e1f1321c3defd21c01882d674e485ecd8df")))
+ (commit "078006d29af0002e6cd8c61a405cdeaf65b37142")))
(file-name
(git-file-name "lib-crl-for-telegram-desktop" %telegram-version))
(sha256
(base32
- "06mzafnjpfr5ih297dh7bxm6bgpg0wy0gv2r2732n5szyrg9sdl6"))))
+ "18n88ghj3akpkxvllrh1rs19vd0d3xw87hd67qphr30b6ggqs9fd"))))
(define lib-lottie-for-telegram-desktop
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/lib_lottie.git")
- (commit "3e9c2f1026e4b5aa3202fca4cc67ece36c7cebb2")))
+ (commit "1a700e5a0d7c3e2f617530354ff2a47c5c72bb4a")))
(file-name
(git-file-name "lib-lottie-for-telegram-desktop" %telegram-version))
(sha256
(base32
- "0l57ibfij9xm4ww4s9cc63q1x8xzpc6ablwaji1krrn3xxksqdd4"))))
+ "18w35sz6k3wcv07v0szx3avpfdl0rjby6yqm1fzmx7fqw2jn6wpl"))))
(define lib-qr-for-telegram-desktop
(origin
@@ -188,24 +194,24 @@ (define lib-spellcheck-for-telegram-desktop
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/lib_spellcheck.git")
- (commit "ae89fefd239ecc47d4dab7ba29f9e230376a57d3")))
+ (commit "9b52030bfcd7e90e3e550231a3783ad1982fda78")))
(file-name
(git-file-name "lib-spellcheck-for-telegram-desktop" %telegram-version))
(sha256
(base32
- "147xbbcza5q4wcdipk5jplajzkc48971kg2s7qv5jlz33sxkw1lq"))))
+ "0s9fjxpxxvj1xgzg3sfw6079blgmdvbb5cy6wb921sqaqwf52j6x"))))
(define lib-storage-for-telegram-desktop
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/lib_storage.git")
- (commit "839609369d04615475cb1518636de3619106a917")))
+ (commit "0971b69ca90f1697ef81276d9820dcd6d26de4ac")))
(file-name
(git-file-name "lib-storage-for-telegram-desktop" %telegram-version))
(sha256
(base32
- "1l26h2fmqp9dcpr6pfvdd5sjb68j7yh0ms2lnr8na7jf5xqmkwwm"))))
+ "0ihbh1ajns0sf42h9992hnawwjr1n439sgb0g4zirn2bj5i1zbdv"))))
(define lib-tl-for-telegram-desktop
(origin
@@ -224,52 +230,52 @@ (define lib-ui-for-telegram-desktop
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/lib_ui.git")
- (commit "37531086ec21a8569deddedb11b402f8a3157b90")))
+ (commit "e9fb40c0d3ef6f05bfef0f4395c8b2d81bc9823a")))
(file-name
(git-file-name "lib-ui-for-telegram-desktop" %telegram-version))
(sha256
(base32
- "0l4baalwdiwcwzn3wgrbyiaryi70lswillbpkzcjpavaa2pjg6b0"))))
+ "1if01nrxy785130cgbqjl8c99yylzsd4q7vv2x0px2nm56vy67lf"))))
(define lib-webrtc-for-telegram-desktop
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/lib_webrtc.git")
- (commit "b68a95ad4d1ae9a1827671100a7fd76cbe448c3f")))
+ (commit "f701713cd798bd7d5f69d318fdefb125d101aa76")))
(file-name
(git-file-name "lib-webrtc-for-telegram-desktop" %telegram-version))
(sha256
(base32
- "1c8jwdnn26n13yp0rp0l71q6xlxa6wp3cspbm3pnghw964jwgp3z"))))
+ "1hki5lc2jrack0r7wyixfh3c08jnmnw3pfrggrznvj4kq490z1b4"))))
(define lib-webview-for-telegram-desktop
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/lib_webview.git")
- (commit "f632fc84cbc62ae8abbbd05f81d472757a337c11")))
+ (commit "659b9181240aae16c05ef8ab7e6c4dd527afcf8a")))
(file-name
(git-file-name "lib-webview-for-telegram-desktop" %telegram-version))
(sha256
(base32
- "0idsfkxq7l9kgyrhifys5l4jkhvbyxkgkp0qdq9218h7g0ldw84i"))))
+ "1hg8jnpkszf3rrbnkqq9xc3n743602vkjp4kj8rccw7syjmgvrf1"))))
(define tgcalls-for-telegram-desktop
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/TelegramMessenger/tgcalls.git")
- (commit "2e2797648aac2588e7fe479c2e8b4455ec65c5e6")))
+ (commit "b9fa8b84d8abe741183f157218ac038c596a54a5")))
(file-name
(git-file-name "tgcalls-for-telegram-desktop" %telegram-version))
(sha256
(base32
- "193m2gkvipijqbfd6a8mhg9nd63wlnshzgspk3pip57vk21l709z"))))
+ "1swni7xw5l0q376b6rnf9h93arzjqm9rkv7g6hz67742lf9a0x9z"))))
(define-public webrtc-for-telegram-desktop
- (let ((commit "0532942ac6176a66ef184fb728a4cbb02958fc0b")
- (revision "389"))
+ (let ((commit "c9cc4390ab951f2cbc103ff783a11f398b27660b")
+ (revision "399"))
(hidden-package
(package
(name "webrtc-for-telegram-desktop")
@@ -285,7 +291,7 @@ (define-public webrtc-for-telegram-desktop
(file-name
(git-file-name name version))
(sha256
- (base32 "0fary99yl1ddk5zjpfy0pyb5brd268j41plcnvv9qjyf0wj9hf2k"))
+ (base32 "0x2hjliiapb9kacbg8fwkz7g09c9k8dc77xxycjh5kmm1fc2i6dd"))
(patches
(search-patches
;; https://github.com/desktop-app/tg_owt/pull/123
@@ -400,6 +406,32 @@ (define cld3-for-telegram-desktop
(base32
"0ayrrhfdwrf4260h9fsirkhhfrcvc3qqnh6h9wj3ixij2lq0wwqb"))))
+(define libprisma-for-telegram-desktop
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/desktop-app/libprisma")
+ (commit "23b0d70f9709da9b38561d5706891a134d18df76")))
+ (file-name
+ (git-file-name "libprisma-for-telegram-desktop" %telegram-version))
+ (sha256
+ (base32
+ "0fg4x4ikj7f3706bmfvkwq4smxc98qr3cgpm25w48n4ys6wfgadg"))))
+
+;; telegram-desktop requires xdg-desktop-portal 1.18 to build, which isn't
+;; available in Guix yet.
+(define xdg-desktop-portal-for-telegram-desktop
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/flatpak/xdg-desktop-portal.git")
+ (commit "fa8d41a2f9a5d30a1e41568b6fb53b046dce14dc")))
+ (file-name
+ (git-file-name "xdg-desktop-portal-for-telegram-desktop"
%telegram-version))
+ (sha256
+ (base32
+ "1hgbpr5x20g63gklrkx2rrarpfsxfy2cpcs3sy2f7z39nlm4ipix"))))
+
(define-public telegram-desktop
(package
(name "telegram-desktop")
@@ -415,7 +447,7 @@ (define-public telegram-desktop
(file-name
(git-file-name name version))
(sha256
- (base32 "0g47ffamh1csp79yzkv28v3qjkhjacj0c7pjf53n1ks80j5hc2j0"))
+ (base32 "17cbx727m46v1w6lh2mh6vj5zkn9914lhn9p3bkp516v2zfisn40"))
(patches
(search-patches
;; https://github.com/telegramdesktop/tdesktop/pull/24126
@@ -481,7 +513,14 @@ (define-public telegram-desktop
("Telegram/lib_webrtc" #$lib-webrtc-for-telegram-desktop)
("Telegram/lib_webview"
#$lib-webview-for-telegram-desktop)
("Telegram/ThirdParty/cld3" #$cld3-for-telegram-desktop)
- ("Telegram/ThirdParty/tgcalls"
#$tgcalls-for-telegram-desktop)))))
+ ("Telegram/ThirdParty/libprisma"
#$libprisma-for-telegram-desktop)
+ ("Telegram/ThirdParty/tgcalls"
#$tgcalls-for-telegram-desktop)
+ ("Telegram/ThirdParty/xdg-desktop-portal"
#$xdg-desktop-portal-for-telegram-desktop)))))
+ (add-after 'unpack-additional-sources 'patch-gir-ignore-paths
+ (lambda _
+ (substitute* "cmake/external/glib/generate_cppgir.cmake"
+ (("\\$\\{cmake_helpers_loc\\}/external/glib/cppgir/data")
+ (string-append #$(this-package-input "cppgir")
"/share/cppgir")))))
(add-after 'install 'glib-or-gtk-compile-schemas
(assoc-ref glib-or-gtk:%standard-phases
'glib-or-gtk-compile-schemas))
(add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
@@ -494,13 +533,17 @@ (define-public telegram-desktop
(inputs
(list abseil-cpp-cxxstd17
alsa-lib
+ boost
c++-gsl
crc32c
+ cppgir
+ expected-lite
fcitx-qt5
fcitx5-qt
ffmpeg
glib
glibmm-2.76
+ gobject-introspection
gtk+
hime
hunspell
--
2.41.0