diff mbox series

[bug#71897,5/5] gnu: telegram-desktop: Update to 5.2.3.

Message ID af9e08cdbed9ad3c2e6c4833afb9eed3e53d5cbd.1720364199.git.i@dan.games
State New
Headers show
Series [bug#71897,1/5] gnu: xdg-desktop-portal: Update to 1.18.4. | expand

Commit Message

dan July 7, 2024, 3 p.m. UTC
* 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:
(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)[origin]: Add patches to unbundle gsl and
cppgir.
(libprisma-for-telegram-desktop): Use %telegram-version.
(telegram-desktop): Update to 5.2.3.
[#:phases]<unpack-additional-sources>: Add libprisma-for-telegram-desktop.
  <patch-gir-ignore-paths>: New phase.
  <use-system-xdg-desktop-portal>: New phase.
[native-inputs]: Add xdg-desktop-portal.
[inputs]: Add boost, cppgir-for-telegram-desktop, expected-lite and
gobject-introspection.

Change-Id: I78df3434a2cd04afc54107b7fecd5e5a8df85564
---
 gnu/local.mk                                  |  2 +
 .../telegram-desktop-unbundle-cppgir.patch    | 95 +++++++++++++++++++
 .../telegram-desktop-unbundle-gsl.patch       | 31 ++++++
 gnu/packages/telegram.scm                     | 90 +++++++++++-------
 4 files changed, 186 insertions(+), 32 deletions(-)
 create mode 100644 gnu/packages/patches/telegram-desktop-unbundle-cppgir.patch
 create mode 100644 gnu/packages/patches/telegram-desktop-unbundle-gsl.patch

Comments

Maxim Cournoyer July 9, 2024, 2:35 a.m. UTC | #1
Hello!

dan <i@dan.games> writes:

> * 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.

Nitpick: "Register", capitalized.

> * gnu/packages/telegram.scm:
> (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)[origin]: Add patches to unbundle gsl and
> cppgir.
> (libprisma-for-telegram-desktop): Use %telegram-version.
> (telegram-desktop): Update to 5.2.3.
> [#:phases]<unpack-additional-sources>: Add libprisma-for-telegram-desktop.
>   <patch-gir-ignore-paths>: New phase.
>   <use-system-xdg-desktop-portal>: New phase.
> [native-inputs]: Add xdg-desktop-portal.

Nitpick: GNU ChangeLog doesn't uses hanging indents.

> [inputs]: Add boost, cppgir-for-telegram-desktop, expected-lite and
> gobject-introspection.

[...]

> diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm

[...]

> -(define %telegram-version "4.8.1")
> +(define %telegram-version "5.2.3")

[...]

>          (search-patches
>           ;; https://github.com/telegramdesktop/tdesktop/pull/24126
> @@ -522,7 +530,20 @@ (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/libprisma" #$libprisma-for-telegram-desktop)
>                        ("Telegram/ThirdParty/tgcalls" #$tgcalls-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 'unpack-additional-sources 'use-system-xdg-desktop-portal
> +                 (lambda _
> +                   (substitute* (list "Telegram/CMakeLists.txt"
> +                                      "Telegram/lib_base/CMakeLists.txt")
> +                     (("\\$\\{third_party_loc\\}/xdg-desktop-portal/data")
> +                      (string-append #$(this-package-native-input "xdg-desktop-portal")
> +                                     "/share/dbus-1/interfaces")))))
>                 (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
> @@ -531,17 +552,22 @@ (define-public telegram-desktop
>       (list `(,glib "bin")
>             `(,gtk+ "bin")
>             pkg-config
> -           python-wrapper))
> +           python-wrapper
> +           xdg-desktop-portal))
>      (inputs
>       (list abseil-cpp-cxxstd17
>             alsa-lib
> +           boost
>             c++-gsl
>             crc32c
> +           cppgir-for-telegram-desktop

Nitpick: should be listed alphabetically before the crc32c input.

> +           expected-lite
>             fcitx-qt5
>             fcitx5-qt
>             ffmpeg
>             glib
>             glibmm-2.76
> +           gobject-introspection
>             gtk+
>             hime
>             hunspell

Otherwise LGTM!  Feel free to adjust the little things above in a v5.
diff mbox series

Patch

diff --git a/gnu/local.mk b/gnu/local.mk
index bb53b08b8e..396cd72fcf 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 0a48361eb4..f4bba8cae9 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -5,6 +5,7 @@ 
 ;;; Copyright © 2023 Lu Hui <luhux76@gmail.com>
 ;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
 ;;; Copyright © 2024 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2024 dan <i@dan.games>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -28,6 +29,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)
@@ -54,6 +56,7 @@  (define-module (gnu packages telegram)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pretty-print)
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
@@ -82,11 +85,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.2.3")
 
 (define libyuv-for-telegram-desktop
-  (let ((commit "77c2121f7e6b8e694d6e908bbbe9be24214097da")
-        (revision "2439"))
+  (let ((commit "04821d1e7d60845525e8db55c7bcd41ef5be9406")
+        (revision "2440"))
     (origin
       (method git-fetch)
       (uri (git-reference
@@ -97,67 +100,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 "4a4bc4cd34b3ade038541a2b8b2c79f05393d67b")))
     (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"))))
+      "129m2wy3jyrcngsln46k7cl00jjg30kj9kdfil7aq9c23z3iqvm8"))))
 
 (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 "1a50fd2300da3198e751a22bf728d33822180e15")))
     (file-name
      (git-file-name "lib-base-for-telegram-desktop" %telegram-version))
     (sha256
      (base32
-      "1m760mcfvgzia53nrs6wvjn353jvzlzln7c9fkx2dhpkigiynz83"))))
+      "1hyhqz6mwdmcs6wcglz3hwlzl1n04lfi22d3n75ad40qfc9kh3ci"))))
 
 (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 +196,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 "0b7622ff38778e9cd03d3997de59351973480a1f")))
     (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 +232,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 "96be2a6b72f0405a9c01407148303fba2dab101c")))
     (file-name
      (git-file-name "lib-ui-for-telegram-desktop" %telegram-version))
     (sha256
      (base32
-      "0l4baalwdiwcwzn3wgrbyiaryi70lswillbpkzcjpavaa2pjg6b0"))))
+      "0y989q2xs5hjm7dg7rpgyqlalf8sjklhg0v26nnzfgabl8248bgy"))))
 
 (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 "eb9496540356945e2c9fb700bcfa51444fd36f41")))
     (file-name
      (git-file-name "lib-webrtc-for-telegram-desktop" %telegram-version))
     (sha256
      (base32
-      "1c8jwdnn26n13yp0rp0l71q6xlxa6wp3cspbm3pnghw964jwgp3z"))))
+      "0nqlzb02b39ywjmazx30y43nalvc3ypkqjh5zvs35gnvm9x2hy43"))))
 
 (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 "363db4e49a0b78e5dd08bd922e09cf8810318c09")))
     (file-name
      (git-file-name "lib-webview-for-telegram-desktop" %telegram-version))
     (sha256
      (base32
-      "0idsfkxq7l9kgyrhifys5l4jkhvbyxkgkp0qdq9218h7g0ldw84i"))))
+      "1l84rlm4cb56q87k5036n4c0g49f6a5qlhrjc5wn57s56wphvhqn"))))
 
 (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 +293,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
@@ -407,7 +415,7 @@  (define libprisma-for-telegram-desktop
          (url "https://github.com/desktop-app/libprisma")
          (commit "23b0d70f9709da9b38561d5706891a134d18df76")))
    (file-name
-    (git-file-name "libprisma-for-telegram-desktop" "5.2.3"))
+    (git-file-name "libprisma-for-telegram-desktop" %telegram-version))
    (sha256
     (base32
      "0fg4x4ikj7f3706bmfvkwq4smxc98qr3cgpm25w48n4ys6wfgadg"))))
@@ -456,7 +464,7 @@  (define-public telegram-desktop
        (file-name
         (git-file-name name version))
        (sha256
-        (base32 "0g47ffamh1csp79yzkv28v3qjkhjacj0c7pjf53n1ks80j5hc2j0"))
+        (base32 "1jwm8irjx5yfzd9a94f5dy4y9v5as0an8m83hlal6czlqbi5v4sm"))
        (patches
         (search-patches
          ;; https://github.com/telegramdesktop/tdesktop/pull/24126
@@ -522,7 +530,20 @@  (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/libprisma" #$libprisma-for-telegram-desktop)
                       ("Telegram/ThirdParty/tgcalls" #$tgcalls-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 'unpack-additional-sources 'use-system-xdg-desktop-portal
+                 (lambda _
+                   (substitute* (list "Telegram/CMakeLists.txt"
+                                      "Telegram/lib_base/CMakeLists.txt")
+                     (("\\$\\{third_party_loc\\}/xdg-desktop-portal/data")
+                      (string-append #$(this-package-native-input "xdg-desktop-portal")
+                                     "/share/dbus-1/interfaces")))))
                (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
@@ -531,17 +552,22 @@  (define-public telegram-desktop
      (list `(,glib "bin")
            `(,gtk+ "bin")
            pkg-config
-           python-wrapper))
+           python-wrapper
+           xdg-desktop-portal))
     (inputs
      (list abseil-cpp-cxxstd17
            alsa-lib
+           boost
            c++-gsl
            crc32c
+           cppgir-for-telegram-desktop
+           expected-lite
            fcitx-qt5
            fcitx5-qt
            ffmpeg
            glib
            glibmm-2.76
+           gobject-introspection
            gtk+
            hime
            hunspell