GNU bug report logs - #57655
[PATCH 0/5] gnu: telegram-desktop: Update to 4.1.1.

Previous Next

Package: guix-patches;

Reported by: Hilton Chain <hako <at> ultrarare.space>

Date: Thu, 8 Sep 2022 00:56:02 UTC

Severity: normal

Tags: patch

Done: Hilton Chain <hako <at> ultrarare.space>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 57655 in the body.
You can then email your comments to 57655 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#57655; Package guix-patches. (Thu, 08 Sep 2022 00:56:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Hilton Chain <hako <at> ultrarare.space>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 08 Sep 2022 00:56:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: guix-patches <at> gnu.org
Subject: [PATCH 0/5] gnu: telegram-desktop: Update to 4.1.1.
Date: Thu, 08 Sep 2022 08:54:37 +0800
Hello Guix,

This patchset updates telegram-desktop to version 4.1.1, too many changes for
me to write them all down (>.<), so just reply me when confused!

Hilton Chain (5):
  gnu: Add abseil-cpp-for-webrtc-for-telegram-desktop.
  gnu: webrtc-for-telegram-desktop: Update to a5fbc9.
  gnu: Remove rlottie-for-telegram-desktop.
  gnu: Remove libtgvoip-for-telegram-desktop.
  gnu: telegram-desktop: Update to 4.1.1.

 gnu/local.mk                                  |   3 +
 ...se-for-telegram-desktop-support-musl.patch |  35 +
 ...telegram-desktop-add-missing-cstdint.patch |  21 +
 ...telegram-desktop-allow-disabling-X11.patch | 123 +++
 gnu/packages/telegram.scm                     | 993 +++++++++---------
 5 files changed, 700 insertions(+), 475 deletions(-)
 create mode 100644 gnu/packages/patches/lib-base-for-telegram-desktop-support-musl.patch
 create mode 100644 gnu/packages/patches/webrtc-for-telegram-desktop-add-missing-cstdint.patch
 create mode 100644 gnu/packages/patches/webrtc-for-telegram-desktop-allow-disabling-X11.patch


base-commit: b45a44eaad890f31d9418dbb8cb14e3ee1d83c19
--
2.37.2




Information forwarded to guix-patches <at> gnu.org:
bug#57655; Package guix-patches. (Thu, 08 Sep 2022 00:58:01 GMT) Full text and rfc822 format available.

Message #8 received at 57655 <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: 57655 <at> debbugs.gnu.org
Subject: [PATCH 1/5] gnu: Add abseil-cpp-for-webrtc-for-telegram-desktop.
Date: Thu, 08 Sep 2022 08:56:56 +0800
* gnu/packages/telegram.scm (abseil-cpp-for-webrtc-for-telegram-desktop): New
variable.
---
 gnu/packages/telegram.scm | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 4976acbc0c..25d6a3e226 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -62,6 +62,7 @@ (define-module (gnu packages telegram)
   #:use-module (gnu packages xorg)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
+  #:use-module (guix utils)
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system copy)
@@ -71,6 +72,17 @@ (define-module (gnu packages telegram)
   #:use-module (guix build-system python)
   #:use-module (guix build-system qt))
 
+(define-public abseil-cpp-for-webrtc-for-telegram-desktop
+  (let ((base abseil-cpp))
+    ;; This package fixs a linking issue of Telegram Desktop.
+    ;; Remove once abseil-cpp had required C++17 as minimun.
+    (hidden-package
+     (package/inherit base
+       (arguments
+        (substitute-keyword-arguments (package-arguments base)
+          ((#:configure-flags flags)
+           `(cons* "-DCMAKE_CXX_STANDARD=17" ,flags))))))))
+
 (define-public webrtc-for-telegram-desktop
   (let ((commit "91d836dc84a16584c6ac52b36c04c0de504d9c34")
         (revision "166"))
-- 
2.37.2





Information forwarded to guix-patches <at> gnu.org:
bug#57655; Package guix-patches. (Thu, 08 Sep 2022 00:59:02 GMT) Full text and rfc822 format available.

Message #11 received at 57655 <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: 57655 <at> debbugs.gnu.org
Subject: [PATCH 2/5] gnu: webrtc-for-telegram-desktop: Update to a5fbc9.
Date: Thu, 08 Sep 2022 08:57:39 +0800
* gnu/packages/telegram.scm (webrtc-for-telegram-desktop):
Update to a5fbc9123e056e611e69acf0ceb4252ddd838adb.
Use abseil-cpp-for-webrtc-for-telegram-desktop for abseil-cpp.
[patches]:
Add missing <cstdint.h> header.
Add flag for disabling X11.
[snippet]:
Don't keep these files: openh264, usrsctp, libvpx.
Remove use of bundled openh264.
[#:configure-flags]: Comment out.
[#:phases]:
Drop bundled libvpx.
Copy crc32c.
Use cmake tool for compilation and installation (and use ninja).
[inputs]:
Simplify.
Drop unneeded inputs.
Add external-sources variable for managing recursive checkouts.
Add crc32c.
[native-inputs]:
Add ninja.
Drop perl.
[propagated-inputs]: Move libraries also needed by telegram-desktop here from
inputs.
[license]: Update according to source tree updates.

* gnu/packages/patches/webrtc-for-telegram-desktop-add-missing-cstdint.patch:
New file.
* gnu/packages/patches/webrtc-for-telegram-desktop-allow-disabling-X11.patch:
New file.
* gnu/local.mk: Add patches.
---
 gnu/local.mk                                  |   2 +
 ...telegram-desktop-add-missing-cstdint.patch |  21 +++
 ...telegram-desktop-allow-disabling-X11.patch | 123 +++++++++++++
 gnu/packages/telegram.scm                     | 171 ++++++++++--------
 4 files changed, 242 insertions(+), 75 deletions(-)
 create mode 100644 gnu/packages/patches/webrtc-for-telegram-desktop-add-missing-cstdint.patch
 create mode 100644 gnu/packages/patches/webrtc-for-telegram-desktop-allow-disabling-X11.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 19102113c9..d0e5aeb125 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1966,6 +1966,8 @@ dist_patch_DATA =						\
   %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch	\
   %D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch	\
   %D%/packages/patches/webrtc-audio-processing-big-endian.patch	\
+  %D%/packages/patches/webrtc-for-telegram-desktop-add-missing-cstdint.patch \
+  %D%/packages/patches/webrtc-for-telegram-desktop-allow-disabling-X11.patch \
   %D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch	\
   %D%/packages/patches/widelands-add-missing-map-include.patch	\
   %D%/packages/patches/widelands-system-wide_minizip.patch	\
diff --git a/gnu/packages/patches/webrtc-for-telegram-desktop-add-missing-cstdint.patch b/gnu/packages/patches/webrtc-for-telegram-desktop-add-missing-cstdint.patch
new file mode 100644
index 0000000000..9dee9cf8e3
--- /dev/null
+++ b/gnu/packages/patches/webrtc-for-telegram-desktop-add-missing-cstdint.patch
@@ -0,0 +1,21 @@
+From 86d2bcd7afb8706663d29e30f65863de5a626142 Mon Sep 17 00:00:00 2001
+From: Xiretza <xiretza <at> xiretza.xyz>
+Date: Sun, 15 May 2022 12:47:41 +0200
+Subject: [PATCH] fix(h265_pps_parser): fix missing cstdint include
+
+---
+ src/common_video/h265/h265_pps_parser.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/common_video/h265/h265_pps_parser.h b/src/common_video/h265/h265_pps_parser.h
+index 28c95ea9..c180b1b9 100644
+--- a/src/common_video/h265/h265_pps_parser.h
++++ b/src/common_video/h265/h265_pps_parser.h
+@@ -12,6 +12,7 @@
+ #define COMMON_VIDEO_H265_PPS_PARSER_H_
+
+ #include "absl/types/optional.h"
++#include <cstdint>
+
+ namespace rtc {
+ class BitBuffer;
diff --git a/gnu/packages/patches/webrtc-for-telegram-desktop-allow-disabling-X11.patch b/gnu/packages/patches/webrtc-for-telegram-desktop-allow-disabling-X11.patch
new file mode 100644
index 0000000000..977f72475f
--- /dev/null
+++ b/gnu/packages/patches/webrtc-for-telegram-desktop-allow-disabling-X11.patch
@@ -0,0 +1,123 @@
+Add -DTG_OWT_USE_X11
+
+Allows disabling X11 desktop capturing independently of pipewire support, for
+the few people that run wayland without any X11 support whatsoever.
+
+This setup is untested, but supported by the GNI build system, see:
+* src/modules/desktop_capture/BUILD.gn (option rtc_use_x11_extensions)
+
+Toggling the WEBRTC_USE_X11 define also affects some files under
+src/modules/audio_device, but that falls under "X11 support", regardless...
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2e081ae7..c269177b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -24,13 +24,14 @@ endif()
+
+ option(BUILD_SHARED_LIBS "Builds shared libraries instead of static." OFF)
+ option(TG_OWT_USE_PROTOBUF "Use protobuf to generate additional headers. Useful for packaged build." ${BUILD_SHARED_LIBS})
++cmake_dependent_option(TG_OWT_USE_X11 "Use X11 for desktop capture on non-Apple Unix."  ON "UNIX; NOT APPLE" OFF)
+ cmake_dependent_option(TG_OWT_USE_PIPEWIRE "Use pipewire for desktop capture." ON "UNIX; NOT APPLE" OFF)
+ cmake_dependent_option(TG_OWT_DLOPEN_PIPEWIRE "dlopen pipewire for desktop capture." ${not_packaged_build} TG_OWT_USE_PIPEWIRE OFF)
+ option(TG_OWT_BUILD_AUDIO_BACKENDS "Build webrtc audio backends." OFF)
+
+ if (BUILD_SHARED_LIBS)
+     set(CMAKE_POSITION_INDEPENDENT_CODE ON)
+-    message(WARNING
++    message(DEBUG
+         "tg_owt is a fork of Google's webrtc library and is developed by them as a static library without stable ABI in mind."
+         "The feature of building tg_owt as a shared library is community maintained, it may and will break at any time without guarantee to work again."
+         "Please reconsider your decision. Good luck."
+@@ -96,6 +97,10 @@ endif()
+ add_library(tg_owt)
+ init_target(tg_owt)
+
++if (TG_OWT_USE_X11)
++    link_x11(tg_owt)
++endif()
++
+ if (TG_OWT_USE_PIPEWIRE)
+     if (TG_OWT_DLOPEN_PIPEWIRE)
+         include(cmake/generate_stubs.cmake)
+@@ -188,10 +193,6 @@ endif()
+ include(cmake/libwebrtcbuild.cmake)
+ target_link_libraries(tg_owt PUBLIC tg_owt::libwebrtcbuild)
+
+-if (UNIX AND NOT APPLE)
+-    link_x11(tg_owt)
+-endif()
+-
+ function(add_sublibrary postfix)
+     add_library(tg_owt_${postfix} OBJECT)
+     init_feature_target(tg_owt_${postfix} ${postfix})
+@@ -2369,6 +2370,39 @@ if (NOT TG_OWT_USE_PROTOBUF)
+     )
+ endif()
+
++if (NOT TG_OWT_USE_X11)
++    remove_target_sources(tg_owt ${webrtc_loc}
++        # src/modules/desktop_capture/BUILD.gn (rtc_use_x11_extensions)
++        modules/desktop_capture/linux/x11/mouse_cursor_monitor_x11.cc
++        modules/desktop_capture/linux/x11/mouse_cursor_monitor_x11.h
++        modules/desktop_capture/linux/x11/screen_capturer_x11.cc
++        modules/desktop_capture/linux/x11/screen_capturer_x11.h
++        modules/desktop_capture/linux/x11/shared_x_display.cc
++        modules/desktop_capture/linux/x11/shared_x_display.h
++        modules/desktop_capture/linux/x11/window_capturer_x11.cc
++        modules/desktop_capture/linux/x11/window_capturer_x11.h
++        modules/desktop_capture/linux/x11/window_finder_x11.cc
++        modules/desktop_capture/linux/x11/window_finder_x11.h
++        modules/desktop_capture/linux/x11/window_list_utils.cc
++        modules/desktop_capture/linux/x11/window_list_utils.h
++        modules/desktop_capture/linux/x11/x_atom_cache.cc
++        modules/desktop_capture/linux/x11/x_atom_cache.h
++        modules/desktop_capture/linux/x11/x_error_trap.cc
++        modules/desktop_capture/linux/x11/x_error_trap.h
++        modules/desktop_capture/linux/x11/x_server_pixel_buffer.cc
++        modules/desktop_capture/linux/x11/x_server_pixel_buffer.h
++        modules/desktop_capture/linux/x11/x_window_property.cc
++        modules/desktop_capture/linux/x11/x_window_property.h
++
++        # screen_drawer_linux.cc depends on x11, rest are revdeps
++        modules/desktop_capture/screen_drawer.cc
++        modules/desktop_capture/screen_drawer.h
++        modules/desktop_capture/screen_drawer_linux.cc
++        modules/desktop_capture/screen_drawer_lock_posix.cc
++        modules/desktop_capture/screen_drawer_lock_posix.h
++    )
++endif()
++
+ if (NOT TG_OWT_USE_PIPEWIRE)
+     remove_target_sources(tg_owt ${webrtc_loc}
+         modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc
+diff --git a/cmake/libwebrtcbuild.cmake b/cmake/libwebrtcbuild.cmake
+index 4d037f4b..388b7aa9 100644
+--- a/cmake/libwebrtcbuild.cmake
++++ b/cmake/libwebrtcbuild.cmake
+@@ -29,6 +29,13 @@ INTERFACE
+     BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=0
+ )
+
++if (TG_OWT_USE_X11)
++    target_compile_definitions(libwebrtcbuild
++    INTERFACE
++        WEBRTC_USE_X11
++    )
++endif()
++
+ if (TG_OWT_USE_PIPEWIRE)
+     target_compile_definitions(libwebrtcbuild
+     INTERFACE
+@@ -65,11 +72,6 @@ else()
+         INTERFACE
+             WEBRTC_MAC
+         )
+-    else()
+-        target_compile_definitions(libwebrtcbuild
+-        INTERFACE
+-            WEBRTC_USE_X11
+-        )
+     endif()
+
+     if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 25d6a3e226..d339bae017 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -30,6 +30,7 @@ (define-module (gnu packages telegram)
   #:use-module (gnu packages digest)
   #:use-module (gnu packages fcitx)
   #:use-module (gnu packages fcitx5)
+  #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
@@ -43,6 +44,7 @@ (define-module (gnu packages telegram)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lxqt)
   #:use-module (gnu packages lua)
+  #:use-module (gnu packages ninja)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages protobuf)
@@ -58,11 +60,13 @@ (define-module (gnu packages telegram)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
   #:use-module (gnu packages web)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xorg)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix utils)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system copy)
@@ -83,9 +87,12 @@ (define-public abseil-cpp-for-webrtc-for-telegram-desktop
           ((#:configure-flags flags)
            `(cons* "-DCMAKE_CXX_STANDARD=17" ,flags))))))))

+;; NOTE: Here's Telegram Desktop's official build guide.
+;; https://github.com/telegramdesktop/tdesktop/wiki/The-Packaged-Building-Mode
 (define-public webrtc-for-telegram-desktop
-  (let ((commit "91d836dc84a16584c6ac52b36c04c0de504d9c34")
-        (revision "166"))
+  (let ((abseil-cpp abseil-cpp-for-webrtc-for-telegram-desktop)
+        (commit "a5fbc9123e056e611e69acf0ceb4252ddd838adb")
+        (revision "167"))
     (hidden-package
      (package
        (name "webrtc-for-telegram-desktop")
@@ -96,94 +103,110 @@ (define-public webrtc-for-telegram-desktop
           (method git-fetch)
           (uri
            (git-reference
-            (url "https://github.com/desktop-app/tg_owt.git")
+            (url "https://github.com/desktop-app/tg_owt")
             (commit commit)))
           (file-name
            (git-file-name name version))
           (sha256
-           (base32 "0plwdp6xgxi27hif5j7kpq425cidxyxbbga3z2f64dsninwy5p1x"))
+           (base32 "12qirihhabv46vn27dpw7dz0smlngb7wqjpypa9fm6k2zvf5py32"))
           (modules '((guix build utils)
                      (ice-9 ftw)
                      (srfi srfi-1)))
+          (patches
+           (search-patches
+            ;; https://github.com/desktop-app/tg_owt/pull/101
+            "webrtc-for-telegram-desktop-add-missing-cstdint.patch"
+            ;; Picked from Gentoo's repository.
+            ;; TODO: There's also a patch for using standalone crc32c, we can
+            ;; grab that patch once crc32c's been packaged.
+            "webrtc-for-telegram-desktop-allow-disabling-X11.patch"))
           (snippet
            `(begin
               (let ((keep
-                     '( ;; Custom forks which are incompatible with the ones in Guix.
-                       "abseil-cpp" "libsrtp" "openh264" "rnnoise"
+                     '(;; Custom forks which are incompatible with the ones in Guix.
+                       "abseil-cpp" "libsrtp" "rnnoise"
                        ;; Not available in Guix.
-                       "pffft" "usrsctp"
-                       ;; Has cmake support files for libvpx input.
-                       "libvpx")))
+                       "pffft")))
                 (with-directory-excursion "src/third_party"
                   (for-each delete-file-recursively
                             (lset-difference string=?
                                              (scandir ".")
-                                             (cons* "." ".." keep))))
-                #t)))))
+                                             (cons* "." ".." keep)))))
+              ;; Force using standalone openh264.
+              (substitute* "CMakeLists.txt"
+                (("\\include\\(cmake\\/libopenh264\\.cmake\\)")""))))))
        (build-system cmake-build-system)
        (arguments
-        `(#:tests? #f                   ; No target
-          #:configure-flags
-          (list
-           "-DCMAKE_C_FLAGS=-fPIC"
-           "-DCMAKE_CXX_FLAGS=-fPIC")
-          #:phases
-          (modify-phases %standard-phases
-            (add-after 'unpack 'copy-inputs
-              (lambda* (#:key inputs outputs #:allow-other-keys)
-                (let* ((libvpx-from (assoc-ref inputs "libvpx"))
-                       (libyuv-from (assoc-ref inputs "libyuv"))
-                       (libvpx-to (string-append (getcwd)
-                                                 "/src/third_party/libvpx/source/libvpx"))
-                       (libyuv-to (string-append (getcwd)
-                                                 "/src/third_party/libyuv")))
-                  (copy-recursively libvpx-from libvpx-to)
-                  (copy-recursively libyuv-from libyuv-to))
-                #t)))))
-       (native-inputs
-        `(("perl" ,perl)
-          ("pkg-config" ,pkg-config)
-          ("python" ,python-wrapper)
-          ("yasm" ,yasm)))
+        (list #:tests? #f                   ; No target
+              ;; NOTE: Options commented are default values.
+              ;; See also: comments in inputs.
+              ;; #:configure-flags
+              ;; #~'("-DTG_OWT_USE_PIPEWIRE=ON"
+              ;;     "-DTG_OWT_USE_X11=ON"
+              ;;     "-DTG_OWT_USE_PROTOBUF=ON")
+              #:phases
+              #~(modify-phases %standard-phases
+                  (add-after 'unpack 'copy-inputs
+                    (lambda* (#:key inputs outputs #:allow-other-keys)
+                      (let* ((libyuv-from (assoc-ref inputs "libyuv"))
+                             (crc32c-from (assoc-ref inputs "crc32c"))
+                             (libyuv-to (string-append (getcwd)
+                                                       "/src/third_party/libyuv"))
+                             (crc32c-to (string-append (getcwd)
+                                                       "/src/third_party/crc32c/src")))
+                        (copy-recursively libyuv-from libyuv-to)
+                        (copy-recursively crc32c-from crc32c-to))))
+                  (replace 'build
+                    (lambda* (#:key (make-flags '()) (parallel-build? #t)
+                              #:allow-other-keys)
+                      (apply invoke "cmake" "--build" "."
+                             `(,@(if parallel-build?
+                                     `("-j" ,(number->string (parallel-job-count)))
+                                     '())
+                               ,@make-flags))))
+                  (replace 'install
+                    (lambda* (#:key (make-flags '()) #:allow-other-keys)
+                      (apply invoke "cmake" "--install" "." make-flags))))))
        (inputs
-        `(("alsa" ,alsa-lib)
-          ("ffmpeg" ,ffmpeg)
-          ("libjpeg" ,libjpeg-turbo)
-          ("glib" ,glib)
-          ("libvpx"
-           ,(origin
-              (method git-fetch)
-              (uri
-               (git-reference
-                (url "https://chromium.googlesource.com/webm/libvpx")
-                (commit "5b63f0f821e94f8072eb483014cfc33b05978bb9")))
-              (file-name
-               (git-file-name "libvpx-for-webrtc-for-telegram-desktop" version))
-              (sha256
-               (base32 "1psvxaddihlw1k5n0anxif3qli6zyw2sa2ywn6mkb8six9myrp68"))))
-          ("libyuv"
-           ,(origin
-              (method git-fetch)
-              (uri
-               (git-reference
-                (url "https://chromium.googlesource.com/libyuv/libyuv")
-                (commit "ad890067f661dc747a975bc55ba3767fe30d4452")))
-              (file-name
-               (git-file-name "libyuv-for-webrtc-for-telegram-desktop" version))
-              (sha256
-               (base32 "01knnk4h247rq536097n9n3s3brxlbby3nv3ppdgsqfda3k159ll"))))
-          ("libxcomposite" ,libxcomposite)
-          ("libxdamage" ,libxdamage)
-          ("libxrender" ,libxrender)
-          ("libxrandr" ,libxrandr)
-          ("openssl" ,openssl)
-          ("opus" ,opus)
-          ("pipewire" ,pipewire)
-          ("protobuf" ,protobuf)
-          ("pulseaudio" ,pulseaudio)
-          ("x11" ,libx11)
-          ("xext" ,libxext)
-          ("xtst" ,libxtst)))
+        (let ((external-sources
+               `(("libyuv"
+                  ,(origin
+                     (method git-fetch)
+                     (uri (git-reference
+                           (url "https://chromium.googlesource.com/libyuv/libyuv")
+                           (commit "ad890067f661dc747a975bc55ba3767fe30d4452")))
+                     (file-name
+                      (git-file-name "libyuv-for-webrtc-for-telegram-desktop" version))
+                     (sha256
+                      (base32 "01knnk4h247rq536097n9n3s3brxlbby3nv3ppdgsqfda3k159ll"))))
+                 ("crc32c"
+                  ,(origin
+                     (method git-fetch)
+                     (uri (git-reference
+                           (url "https://github.com/google/crc32c")
+                           (commit "21fc8ef30415a635e7351ffa0e5d5367943d4a94")))
+                     (file-name
+                      (git-file-name "crc32c-for-webrtc-for-telegram-desktop" version))
+                     (sha256
+                      (base32 "0cddf8z7v33gfb2k60lkzwa97g20m1v81cnvllm3q9ylpnx8g6f4")))))))
+          (modify-inputs external-sources
+            (prepend openh264           ;Required
+                     protobuf           ;TG_OWT_USE_PROTOBUF
+                     glib               ;TG_OWT_USE_PIPEWIRE
+                     libdrm
+                     libglvnd
+                     mesa
+                     pipewire-0.3
+                     libxcomposite      ;TG_OWT_USE_X11
+                     libxdamage
+                     libxext
+                     libxfixes
+                     libxrandr
+                     libxrender
+                     libxtst))))
+       (native-inputs (list ninja python-wrapper pkg-config yasm))
+       (propagated-inputs
+        (list abseil-cpp ffmpeg libjpeg-turbo libvpx openssl opus))
        (synopsis "WebRTC support for Telegram Desktop")
        (description "WebRTC-for-Telegram-Desktop is a custom WebRTC fork by
 Telegram project, for its use in telegram desktop client.")
@@ -194,13 +217,11 @@ (define-public webrtc-for-telegram-desktop
          license:asl2.0
          ;; LibYuv
          (license:non-copyleft "file:///src/third_party/libyuv/LICENSE")
-         ;; OpenH264
-         license:bsd-2
          ;; PFFFT
          (license:non-copyleft "file:///src/third_party/pffft/LICENSE")
          ;; RnNoise
          license:gpl3
-         ;; LibSRTP, LibVPx, UsrSCTP and Others
+         ;; LibSRTP, Crc32c and Others
          license:bsd-3))))))

 (define-public rlottie-for-telegram-desktop
--
2.37.2




Information forwarded to guix-patches <at> gnu.org:
bug#57655; Package guix-patches. (Thu, 08 Sep 2022 00:59:02 GMT) Full text and rfc822 format available.

Message #14 received at 57655 <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: 57655 <at> debbugs.gnu.org
Subject: [PATCH 3/5] gnu: Remove rlottie-for-telegram-desktop.
Date: Thu, 08 Sep 2022 08:58:05 +0800
* gnu/packages/telegram.scm (rlottie-for-telegram-desktop): Delete variable.
---
 gnu/packages/telegram.scm | 34 ----------------------------------
 1 file changed, 34 deletions(-)

diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index d339bae017..214e8ff90a 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -224,40 +224,6 @@ (define-public webrtc-for-telegram-desktop
          ;; LibSRTP, Crc32c and Others
          license:bsd-3))))))
 
-(define-public rlottie-for-telegram-desktop
-  (let ((commit "cbd43984ebdf783e94c8303c41385bf82aa36d5b")
-        (revision "671"))
-    (hidden-package
-     (package
-       (inherit rlottie)
-       (version
-        (git-version "0.0.1" revision commit))
-       (source
-        (origin
-          (method git-fetch)
-          (uri
-           (git-reference
-            (url "https://github.com/desktop-app/rlottie.git")
-            (commit commit)))
-          (file-name
-           (git-file-name "rlottie-for-telegram-desktop" version))
-          (sha256
-           (base32 "1lxpbgbhps9rmck036mgmiknqrzpjxpas8n7qxykv6pwzn0c8n0c"))))
-       (arguments
-        `(#:configure-flags
-          (list
-           "-Dlog=true"
-           "-Ddumptree=true"
-           "-Dtest=true")
-          #:phases
-          (modify-phases %standard-phases
-            (add-after 'unpack 'patch-cxx-flags
-              (lambda _
-                (substitute* "meson.build"
-                  (("werror=true")
-                   "werror=false"))
-                #t)))))))))
-
 (define-public libtgvoip-for-telegram-desktop
   (let ((commit "13a5fcb16b04472d808ce122abd695dbf5d206cd")
         (revision "88"))
-- 
2.37.2





Information forwarded to guix-patches <at> gnu.org:
bug#57655; Package guix-patches. (Thu, 08 Sep 2022 00:59:02 GMT) Full text and rfc822 format available.

Message #17 received at 57655 <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: 57655 <at> debbugs.gnu.org
Subject: [PATCH 4/5] gnu: Remove libtgvoip-for-telegram-desktop.
Date: Thu, 08 Sep 2022 08:58:30 +0800
* gnu/packages/telegram.scm (libtgvoip-for-telegram-desktop): Delete variable.
---
 gnu/packages/telegram.scm | 41 ---------------------------------------
 1 file changed, 41 deletions(-)

diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 214e8ff90a..bd8b5b31a7 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -224,47 +224,6 @@ (define-public webrtc-for-telegram-desktop
          ;; LibSRTP, Crc32c and Others
          license:bsd-3))))))

-(define-public libtgvoip-for-telegram-desktop
-  (let ((commit "13a5fcb16b04472d808ce122abd695dbf5d206cd")
-        (revision "88"))
-    (hidden-package
-     (package
-       (inherit libtgvoip)
-       (version
-        (git-version "2.4.4" revision commit))
-       (source
-        (origin
-          (method git-fetch)
-          (uri
-           (git-reference
-            (url "https://github.com/telegramdesktop/libtgvoip.git")
-            (commit commit)))
-          (file-name
-           (git-file-name "libtgvoip-for-telegram-desktop" version))
-          (sha256
-           (base32 "12p6s7vxkf1gh1spdckkdxrx7bjzw881ds9bky7l5fw751cwb3xd"))))
-       (arguments
-        `(#:configure-flags
-          (list
-           "--disable-static"
-           "--disable-dsp"              ; FIXME
-           "--enable-audio-callback"
-           "--with-alsa"
-           "--with-pulse")
-          #:phases
-          (modify-phases %standard-phases
-            (add-after 'unpack 'patch-linkers
-              (lambda _
-                (substitute* "Makefile.am"
-                  (("\\$\\(CRYPTO_LIBS\\) \\$\\(OPUS_LIBS\\)")
-                   "$(CRYPTO_LIBS) $(OPUS_LIBS) $(ALSA_LIBS) $(PULSE_LIBS)"))
-                (substitute* "tgvoip.pc.in"
-                  (("libcrypto opus")
-                   "libcrypto opus alsa libpulse"))
-                #t)))))
-       (native-inputs
-        (list autoconf automake libtool pkg-config))))))
-
 (define-public telegram-desktop
   (package
     (name "telegram-desktop")
--
2.37.2




Information forwarded to guix-patches <at> gnu.org:
bug#57655; Package guix-patches. (Thu, 08 Sep 2022 01:00:02 GMT) Full text and rfc822 format available.

Message #20 received at 57655 <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: 57655 <at> debbugs.gnu.org
Subject: [PATCH 5/5] gnu: telegram-desktop: Update to 4.1.1.
Date: Thu, 08 Sep 2022 08:59:03 +0800
* gnu/packages/telegram.scm (telegram-desktop): Update to 4.1.1.
[snippet]:
Don't keep SPMediaKeyTap and statusnotifieritem as they'd got removed from
upstream.
Keep rlottie, libtgvoip and dispatch.
[#:configure-flags]:
Comment out to default value
Use API id from official Snap builds.
Enable DESKTOP_APP_USE_PACKAGED_LAZY, which is suitable for default
configuration as it'll bundle as many features as possible.
[#:phases]:
Copy dispatch, fcitx-qt5, fcitx5-qt, hime, nimf, rlottie and libtgvoip.
Remove phase patch-cxx-flags, as that string's not there any more.
Replace build and install phases with ones that use cmake tools.
[native-inputs]
Add variable external-sources for managing recursive checkouts.
Bump cmake-helpers to source checkout-ed commit.
Add ninja and clang-toolchain.
[inputs]
Add variable external-sources for managing recursive checkouts.
Add dispatch, fcitx-qt5, fcitx5-qt, hime, nimf, rlottie, libtgvoip to
external-sources.
Bump codegen, lib_base, lib_crl, lib_lottie, lib_qr, lib_rpl, lib_spellcheck,
lib_storage, lib_tl, lib_ui, lib_waylandshells, lib_webrtc, lib_webview and
tgcalls to source checkout-ed commit.
Add patch for lib_base to support musl compilation.
Style adjustment.
[license]
Update with source tree changes.

* gnu/packages/patches/lib-base-for-telegram-desktop-support-musl.patch: New
file.
* gnu/local.mk: Add patch.
---
 gnu/local.mk                                  |   1 +
 ...se-for-telegram-desktop-support-musl.patch |  35 +
 gnu/packages/telegram.scm                     | 735 ++++++++++--------
 3 files changed, 446 insertions(+), 325 deletions(-)
 create mode 100644 gnu/packages/patches/lib-base-for-telegram-desktop-support-musl.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index d0e5aeb125..aa2fa69ddd 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1354,6 +1354,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/julia-tracker-16-compat.patch		\
   %D%/packages/patches/julia-allow-parallel-build.patch		\
   %D%/packages/patches/kdbusaddons-kinit-file-name.patch	\
+  %D%/packages/patches/lib-base-for-telegram-desktop-support-musl.patch	\
   %D%/packages/patches/libffi-3.3-powerpc-fixes.patch		\
   %D%/packages/patches/libffi-float128-powerpc64le.patch	\
   %D%/packages/patches/libobjc2-unbundle-robin-map.patch	\
diff --git a/gnu/packages/patches/lib-base-for-telegram-desktop-support-musl.patch b/gnu/packages/patches/lib-base-for-telegram-desktop-support-musl.patch
new file mode 100644
index 0000000000..1a3a70286f
--- /dev/null
+++ b/gnu/packages/patches/lib-base-for-telegram-desktop-support-musl.patch
@@ -0,0 +1,35 @@
+Stub out some glibc-specific functions
+
+This allows support for alternative libcs like musl
+
+diff --git a/base/platform/linux/base_info_linux.cpp b/base/platform/linux/base_info_linux.cpp
+index 714d8dc..b70cc23 100644
+--- a/base/platform/linux/base_info_linux.cpp
++++ b/base/platform/linux/base_info_linux.cpp
+@@ -22,7 +22,7 @@
+
+ #include <sys/utsname.h>
+
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) && defined(__GLIBC__)
+ #include <gnu/libc-version.h>
+ #endif // Q_OS_LINUX
+
+@@ -200,7 +200,7 @@ QString AutoUpdateKey() {
+ }
+
+ QString GetLibcName() {
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) && defined(__GLIBC__)
+ 	return "glibc";
+ #endif // Q_OS_LINUX
+
+@@ -208,7 +208,7 @@ QString GetLibcName() {
+ }
+
+ QString GetLibcVersion() {
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) && defined(__GLIBC__)
+ 	static const auto result = [&] {
+ 		const auto version = QString::fromLatin1(gnu_get_libc_version());
+ 		return QVersionNumber::fromString(version).isNull() ? QString() : version;
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index bd8b5b31a7..961cd32890 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2021 Raghav Gururajan <rg <at> raghavgururajan.name>
+;;; Copyright © 2022 Hilton Chain <hako <at> ultrarare.space>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -28,8 +29,10 @@ (define-module (gnu packages telegram)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cpp)
   #:use-module (gnu packages digest)
+  #:use-module (gnu packages enchant)
   #:use-module (gnu packages fcitx)
   #:use-module (gnu packages fcitx5)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
@@ -42,6 +45,7 @@ (define-module (gnu packages telegram)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libreoffice)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages llvm)
   #:use-module (gnu packages lxqt)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages ninja)
@@ -60,6 +64,7 @@ (define-module (gnu packages telegram)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
   #:use-module (gnu packages web)
+  #:use-module (gnu packages webkit)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xorg)
@@ -227,339 +232,419 @@ (define-public webrtc-for-telegram-desktop
 (define-public telegram-desktop
   (package
     (name "telegram-desktop")
-    (version "2.9.3")
-    (source
-     (origin
-       (method git-fetch)
-       (uri
-        (git-reference
-         (url "https://github.com/telegramdesktop/tdesktop.git")
-         (commit
-          (string-append "v" version))))
-       (file-name
-        (git-file-name name version))
-       (sha256
-        (base32 "0dzf1y3xhqvizg29bd1kya48cjbkq073d2x10ynwcmmx396l4nd8"))
-       (modules '((guix build utils)
-                  (ice-9 ftw)
-                  (srfi srfi-1)))
-       (snippet
-        `(begin
-           (let ((keep
-                  '( ;; Not available in Guix.
-                    "SPMediaKeyTap" "statusnotifieritem" "tgcalls")))
-             (with-directory-excursion "Telegram/ThirdParty"
-               (for-each delete-file-recursively
-                         (lset-difference string=?
-                                          (scandir ".")
-                                          (cons* "." ".." keep))))
-             #t)))))
+    (version "4.1.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/telegramdesktop/tdesktop")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0zhwaql1fk0nqr1x2lchcswz61x7sb2297qdxiysgqamr0fk9ppn"))
+              (modules '((guix build utils)
+                         (ice-9 ftw)
+                         (srfi srfi-1)))
+              (snippet #~(begin
+                           (let ((keep
+                                  '(;; Custom fork
+                                    "rlottie" "libtgvoip"
+                                    ;; Not available in Guix.
+                                    "dispatch" "tgcalls")))
+                             (with-directory-excursion "Telegram/ThirdParty"
+                               (for-each delete-file-recursively
+                                         (lset-difference string=?
+                                                          (scandir ".")
+                                                          (cons* "." ".." keep)))))))))
     (build-system qt-build-system)
     (arguments
-     `(#:tests? #f                      ; No target
-       #:imported-modules
-       (,@%qt-build-system-modules
-        (guix build glib-or-gtk-build-system))
-       #:modules
-       ((guix build qt-build-system)
-        ((guix build glib-or-gtk-build-system)
-         #:prefix glib-or-gtk:)
-        (guix build utils)
-        (ice-9 match))
-       #:configure-flags
-       (list
-        ;; Client applications must provide their own API-ID and API-HASH,
-        ;; see also <https://core.telegram.org/api/obtaining_api_id>.
-        ;; In case, that the credentials below fail to work, contact
-        ;;   Raghav Gururajan <rg <at> raghavgururajan.name>
-        "-DTDESKTOP_API_ID=2791056"
-        "-DTDESKTOP_API_HASH=582d6d0b44f7a2de949e99271fd8b3f2"
-        ;; Disable WebkitGTK support as it fails to link
-        "-DDESKTOP_APP_DISABLE_WEBKITGTK=ON"
-        ;; Use bundled fonts as fallback.
-        "-DDESKTOP_APP_USE_PACKAGED_FONTS=OFF")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'make-writable
-           (lambda _
-             (for-each make-file-writable (find-files "."))
-             #t))
-         (add-after 'make-writable 'copy-inputs
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (for-each
-              (match-lambda
-                ((dst src)
-                 (copy-recursively src dst)
-                 (for-each make-file-writable (find-files dst))))
-              `(("cmake" ,(assoc-ref inputs "cmake-helpers"))
-                ("Telegram/codegen" ,(assoc-ref inputs "codegen-source"))
-                ("Telegram/lib_base" ,(assoc-ref inputs "lib-base-source"))
-                ("Telegram/lib_crl" ,(assoc-ref inputs "lib-crl-source"))
-                ("Telegram/lib_lottie"
-                 ,(assoc-ref inputs "lib-lottie-source"))
-                ("Telegram/lib_qr" ,(assoc-ref inputs "lib-qr-source"))
-                ("Telegram/lib_rlottie"
-                 ,(assoc-ref inputs "lib-rlottie-source"))
-                ("Telegram/lib_rpl" ,(assoc-ref inputs "lib-rpl-source"))
-                ("Telegram/lib_spellcheck"
-                 ,(assoc-ref inputs "lib-spellcheck-source"))
-                ("Telegram/lib_storage"
-                 ,(assoc-ref inputs "lib-storage-source"))
-                ("Telegram/lib_tl" ,(assoc-ref inputs "lib-tl-source"))
-                ("Telegram/lib_ui" ,(assoc-ref inputs "lib-ui-source"))
-                ("Telegram/lib_waylandshells" ,(assoc-ref inputs "lib-waylandshells-source"))
-                ("Telegram/lib_webrtc" ,(assoc-ref inputs "lib-webrtc-source"))
-                ("Telegram/lib_webview" ,(assoc-ref inputs "lib-webview-source"))
-                ("Telegram/ThirdParty/tgcalls"
-                 ,(assoc-ref inputs "tgcalls-source"))))
-             #t))
-         (add-before 'configure 'patch-cxx-flags
-           (lambda _
-             (substitute* "cmake/options_linux.cmake"
-               (("class-memaccess") "all"))
-             #t))
-         (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
-           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+     (list #:tests? #f                  ;No target
+           #:imported-modules
+           `(,@%qt-build-system-modules
+             (guix build glib-or-gtk-build-system))
+           #:modules
+           '((guix build qt-build-system)
+             ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
+             (guix build utils)
+             (ice-9 match))
+           #:configure-flags
+           #~`(;; https://github.com/telegramdesktop/tdesktop/blob/dev/snap/snapcraft.yaml
+               ;; see also <https://core.telegram.org/api/obtaining_api_id>.
+               "-DTDESKTOP_API_ID=611335"
+               "-DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c"
+               ,(string-append "-DTDESKTOP_LAUTCHER_BASENAME=" #$name)
+
+               ;; NOTE: Options commented are default values.
+               ;; See also: comments in inputs.
+
+               ;; "-DDESKTOP_APP_USE_PACKAGED=ON"
+               ;; "-DDESKTOP_APP_DISABLE_DBUS_INTEGRATION=OFF"
+               ;; "-DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=OFF"
+               ;; "-DDESKTOP_APP_DISABLE_X11_INTEGRATION=OFF"
+               ;; "-DDESKTOP_APP_DISABLE_SPELLCHECK=OFF"
+               ;; "-DDESKTOP_APP_USE_ENCHANT=OFF"
+               ;; "-DDESKTOP_APP_LOTTIE_USE_CACHE=ON"
+
+               ;; "-DLIBTGVOIP_DISABLE_ALSA=OFF"
+               ;; "-DLIBTGVOIP_DISABLE_PULSEAUDIO=OFF"
+
+               ;; Build all the available detected features in the build
+               ;; environment.
+               "-DDESKTOP_APP_USE_PACKAGED_LAZY=ON")
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'make-writable
+                 (lambda _
+                   (for-each make-file-writable (find-files "."))))
+               (add-after 'make-writable 'copy-inputs
+                 (lambda* (#:key inputs outputs #:allow-other-keys)
+                   (for-each
+                    (match-lambda
+                      ((dst src)
+                       (copy-recursively src dst)
+                       (for-each make-file-writable (find-files dst))))
+                    `(("cmake" ,(assoc-ref inputs "cmake-helpers"))
+                      ("Telegram/codegen" ,(assoc-ref inputs "codegen-source"))
+                      ("Telegram/lib_base" ,(assoc-ref inputs "lib-base-source"))
+                      ("Telegram/lib_crl" ,(assoc-ref inputs "lib-crl-source"))
+                      ("Telegram/lib_lottie" ,(assoc-ref inputs "lib-lottie-source"))
+                      ("Telegram/lib_qr" ,(assoc-ref inputs "lib-qr-source"))
+                      ("Telegram/lib_rpl" ,(assoc-ref inputs "lib-rpl-source"))
+                      ("Telegram/lib_spellcheck" ,(assoc-ref inputs "lib-spellcheck-source"))
+                      ("Telegram/lib_storage" ,(assoc-ref inputs "lib-storage-source"))
+                      ("Telegram/lib_tl" ,(assoc-ref inputs "lib-tl-source"))
+                      ("Telegram/lib_ui" ,(assoc-ref inputs "lib-ui-source"))
+                      ("Telegram/lib_waylandshells" ,(assoc-ref inputs "lib-waylandshells-source"))
+                      ("Telegram/lib_webrtc" ,(assoc-ref inputs "lib-webrtc-source"))
+                      ("Telegram/lib_webview" ,(assoc-ref inputs "lib-webview-source"))
+                      ("Telegram/ThirdParty/dispatch" ,(assoc-ref inputs "dispatch-source"))
+                      ("Telegram/ThirdParty/fcitx-qt5" ,(assoc-ref inputs "fcitx-qt5-source"))
+                      ("Telegram/ThirdParty/fcitx5-qt" ,(assoc-ref inputs "fcitx5-qt-source"))
+                      ("Telegram/ThirdParty/hime" ,(assoc-ref inputs "hime-source"))
+                      ("Telegram/ThirdParty/nimf" ,(assoc-ref inputs "nimf-source"))
+                      ("Telegram/ThirdParty/rlottie" ,(assoc-ref inputs "rlottie-source"))
+                      ("Telegram/ThirdParty/tgcalls" ,(assoc-ref inputs "tgcalls-source"))
+                      ("Telegram/ThirdParty/libtgvoip" ,(assoc-ref inputs "libtgvoip-source"))))))
+               (replace 'build
+                 (lambda* (#:key (make-flags '())
+                           (parallel-build? #t) #:allow-other-keys)
+                   (apply invoke "cmake" "--build" "."
+                          `(,@(if parallel-build?
+                                  `("-j" ,(number->string (parallel-job-count)))
+                                  '())
+                             ,@make-flags))))
+               (replace 'install
+                 (lambda* (#:key (make-flags '()) #:allow-other-keys)
+                   (apply invoke "cmake" "--install" "." make-flags)))
+               (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
+                 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
     (native-inputs
-     `(("cmake-helpers"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/cmake_helpers.git")
-             (commit "4d44d822e01b3b5fbec3ce824e01f56aa35d7f72")))
-           (file-name
-            (git-file-name "cmake-helpers-for-telegram-desktop" version))
-           (sha256
-            (base32 "0h6cjiqy014h2mz90h1z5a7plb3ihbnds4bja8994ybr1dy3m7m5"))))
-       ("cmake-shared" ,cmake-shared)
-       ("extra-cmake-modules" ,extra-cmake-modules)
-       ("glib:bin" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("gtk+:bin" ,gtk+ "bin")
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("qttools-5" ,qttools-5)))
+     (let ((external-sources
+            `(("cmake-helpers"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/cmake_helpers")
+                        (commit "0702ef4cdd8ab888fdadaa4f5b2eb0c9d5844b69")))
+                  (file-name
+                   (git-file-name "cmake-helpers-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "16lsm3pb8md4ksr2ps3bnkvr0jygdamkxyirxgz214n6wa281zk1")))))))
+       (modify-inputs external-sources
+         (append clang-toolchain ninja pkg-config python-wrapper))))
     (inputs
-     `(("alsa" ,alsa-lib)
-       ("c++-gsl" ,c++-gsl)
-       ("catch" ,catch-framework2)
-       ("codegen-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/codegen.git")
-             (commit "248614b49cd7d5aff69d75a737f2e35b79fbb119")))
-           (file-name
-            (git-file-name "codegen" version))
-           (sha256
-            (base32 "00f7g2z6xmkbkrmi3q27hscjl44mg66wf9q0mz3rhy3jaa6cfdrk"))))
-       ("expected" ,libexpected)
-       ("fcitx-qt5" ,fcitx-qt5)
-       ("fcitx5-qt" ,fcitx5-qt)
-       ("ffmpeg" ,ffmpeg)
-       ("glib" ,glib)
-       ("glibmm" ,glibmm-2.64)
-       ("gtk+" ,gtk+)
-       ("hime" ,hime)
-       ("hunspell" ,hunspell)
-       ("jemalloc" ,jemalloc)
-       ("kwayland" ,kwayland)
-       ("lib-base-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_base.git")
-             (commit "a23c05c44e4f01dc4428f4d75d4db98c59d313a6")))
-           (file-name
-            (git-file-name "lib-base-for-telegram-desktop" version))
-           (sha256
-            (base32 "0vh5zgxwalmbnvz8lzlnba87ch8vnpmcz6nvf56w09f3nlxvvq78"))))
-       ("lib-crl-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_crl.git")
-             (commit "3ccf2ed5095442e5874bba8852cb7dc4efeae29f")))
-           (file-name
-            (git-file-name "lib-crl-for-telegram-desktop" version))
-           (sha256
-            (base32 "11my7q54m4lvvlgma6pbdyjxi1cv1adk1gph2j50mh18sqlm8myz"))))
-       ("lib-lottie-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_lottie.git")
-             (commit "0770df009db7928df1d0cad0900dc5110106d229")))
-           (file-name
-            (git-file-name "lib-lottie-for-telegram-desktop" version))
-           (sha256
-            (base32 "1gj56ymlbk5dnk82jw674808m511lv9dky8891a5wm4gp3pph5jb"))))
-       ("lib-qr-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_qr.git")
-             (commit "2b08c71c6edcfc3e31f7d7f518cc963493b6e189")))
-           (file-name
-            (git-file-name "lib-qr-for-telegram-desktop" version))
-           (sha256
-            (base32 "05hrkmwgrczyjv87r507i2r7m1zr6k2i43mq3my0s6j4szr1rjq0"))))
-       ("lib-rlottie-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_rlottie.git")
-             (commit "0671bf70547381effcf442ec9618e04502a8adbc")))
-           (file-name
-            (git-file-name "lib-rlottie-for-telegram-desktop" version))
-           (sha256
-            (base32 "05qnza7j15356s8jq16pkbyp4zr586lssmd86lz5jq23lcb3raxv"))))
-       ("lib-rpl-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_rpl.git")
-             (commit "df721be3fa14a27dfc230d2e3c42bb1a7c9d0617")))
-           (file-name
-            (git-file-name "lib-rpl-for-telegram-desktop" version))
-           (sha256
-            (base32 "15fnv3ssn7rn5d0j52gggdvyqc2wm464678dj7v2x9h8lka2jjxn"))))
-       ("lib-spellcheck-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_spellcheck.git")
-             (commit "68c9b788958904aea7de79f986a0f82ec8c5b094")))
-           (file-name
-            (git-file-name "lib-spellcheck-for-telegram-desktop" version))
-           (sha256
-            (base32 "0d8s4wwk6fxf536mhzq2vb9qw3j0m8nqia7ylvvpsbc4kh09dadn"))))
-       ("lib-storage-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_storage.git")
-             (commit "403df6c4a29562bd417c92d410e49819f5a48cc1")))
-           (file-name
-            (git-file-name "lib-storage-for-telegram-desktop" version))
-           (sha256
-            (base32 "1zxvzfrxbj4d395fzyb5pm9wn3n8jyimxx88cyqjcdd46sx4h7r5"))))
-       ("lib-tl-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_tl.git")
-             (commit "45faed44e7f4d11fec79b7a70e4a35dc91ef3fdb")))
-           (file-name
-            (git-file-name "lib-tl-for-telegram-desktop" version))
-           (sha256
-            (base32 "0h43xvzklda02494d466jp52hl8c1kmav9f12dyld10dpf1w6c7m"))))
-       ("lib-ui-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_ui.git")
-             (commit "1b590f9e16eb9571a039f072d6fea66c607e419f")))
-           (file-name
-            (git-file-name "lib-ui-for-telegram-desktop" version))
-           (sha256
-            (base32 "0ighyhfp29h9h8c7vr70pnhcv2xnsr9ln084pssn8hb5z4pmb62f"))))
-       ("lib-waylandshells-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_waylandshells.git")
-             (commit "59b0ee55a68976d27f1bf7cec0e11d5939e185e7")))
-           (file-name
-            (git-file-name "lib-waylandshells-for-telegram-desktop" version))
-           (sha256
-            (base32 "0l2xrpc5mvvdlsj333pmkgfvn9wi1ijfdaaz8skfnw9icw52faaf"))))
-       ("lib-webrtc-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_webrtc.git")
-             (commit "ef49f953f12b112008a094a719f40939aaf39db4")))
-           (file-name
-            (git-file-name "lib-webrtc-for-telegram-desktop" version))
-           (sha256
-            (base32 "15k4xs3462p3ddp5cn9im3nvdiaijmxir8wxsf5yrj70ghy26ibw"))))
-       ("lib-webview-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_webview.git")
-             (commit "e06427c624515485774e2e2181d4afeb05ad5a67")))
-           (file-name
-            (git-file-name "lib-webview-for-telegram-desktop" version))
-           (sha256
-            (base32 "148z7xzfscynwwwqssdsd97npax6yn8zrd64xw8qzbwff2g2r7k4"))))
-       ("libdbusmenu-qt" ,libdbusmenu-qt)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libtgvoip" ,libtgvoip-for-telegram-desktop)
-       ("lz4" ,lz4)
-       ("materialdecoration" ,materialdecoration)
-       ("minizip" ,minizip)
-       ("nimf" ,nimf)
-       ("openal" ,openal)
-       ("openssl" ,openssl)
-       ("opus" ,opus)
-       ("pulseaudio" ,pulseaudio)
-       ("qrcodegen" ,qrcodegen-cpp)
-       ("qt" ,qtbase-5)
-       ("qtsvg-5" ,qtsvg-5)
-       ("qt5ct" ,qt5ct)
-       ("qtimageformats" ,qtimageformats)
-       ("qtwayland" ,qtwayland)
-       ("range-v3" ,range-v3)
-       ("rlottie" ,rlottie-for-telegram-desktop)
-       ("rnnoise" ,rnnoise)
-       ("tgcalls-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/TelegramMessenger/tgcalls.git")
-             (commit "81e97fa52e25b7775b62ce07bb653533d81e91b3")))
-           (file-name
-            (git-file-name "tgcalls-for-telegram-desktop" version))
-           (sha256
-            (base32 "0fvad87hyxli83xn19mgf8jjrrh6y6iaig14pckpbkg33vf4wqkj"))))
-       ("webrtc" ,webrtc-for-telegram-desktop)
-       ("x11" ,libx11)
-       ("xcb" ,libxcb)
-       ("xcb-keysyms" ,xcb-util-keysyms)
-       ("xxhash" ,xxhash)
-       ("zlib" ,zlib)))
-    (propagated-inputs
-     (list dconf))
+     (let ((external-sources
+            `(("codegen-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/codegen")
+                        (commit "8815d7aec9b901191d08445f29e2edd0aeba7b2c")))
+                  (file-name
+                   (git-file-name "codegen" version))
+                  (sha256
+                   (base32 "1ly958mjk25kfcpa174kvg134p9r751ixi275afj5kr57by9mbq2"))))
+              ("lib-base-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_base")
+                        (commit "37fab6b4da32c91bc5d049baad2e9ad51cfcd195")))
+                  (file-name
+                   (git-file-name "lib-base-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "1b2zc0ag5w46vwjz2240yj9aniyv09yjyrwif32994drfq6l10k5"))
+                  (patches
+                   (search-patches "lib-base-for-telegram-desktop-support-musl.patch"))))
+              ("lib-crl-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_crl")
+                        (commit "4e620bc383d032aadea8e6af02661f8c76695cec")))
+                  (file-name
+                   (git-file-name "lib-crl-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "17bngj247qwq0dg4h37xdi5v1mk22y4yp7sp6ph3irmnz4awah0x"))))
+              ("lib-lottie-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_lottie")
+                        (commit "f3563bc6b0e042095d4d667d013f62cb8ae62b65")))
+                  (file-name
+                   (git-file-name "lib-lottie-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "0i0w6lcrmqln7axnlazcqkaj4z0lzn0gl3z59hng40ard76cgvsg"))))
+              ("lib-qr-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_qr")
+                        (commit "501f4c3502fd872ab4d777df8911bdac32de7c48")))
+                  (file-name
+                   (git-file-name "lib-qr-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "05hrkmwgrczyjv87r507i2r7m1zr6k2i43mq3my0s6j4szr1rjq0"))))
+              ("lib-rpl-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_rpl")
+                        (commit "fd31f5bf382d2679eccdb1abaf8240a56c6a7abe")))
+                  (file-name
+                   (git-file-name "lib-rpl-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "1fpq8nyh8wx6zkb3sjjrx9ydqzyhw4483bdk1i9blp0ijn9xxdxf"))))
+              ("lib-spellcheck-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_spellcheck")
+                        (commit "b2f2b7b6bce60bc1c6429a6b5ec4bc5891baa060")))
+                  (file-name
+                   (git-file-name "lib-spellcheck-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "1v8xdbwza457wmjkfmpys46g5g1aw7yabjab6knxd4p4vhyjhbwh"))))
+              ("lib-storage-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_storage")
+                        (commit "839609369d04615475cb1518636de3619106a917")))
+                  (file-name
+                   (git-file-name "lib-storage-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "1l26h2fmqp9dcpr6pfvdd5sjb68j7yh0ms2lnr8na7jf5xqmkwwm"))))
+              ("lib-tl-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_tl")
+                        (commit "0d234b5aabf43d598e0cb0867566ee570d9e2755")))
+                  (file-name
+                   (git-file-name "lib-tl-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "1wc8d94h4ga36yl9g8h67j914xwpwv7rmkrrvvslgbgxb7sxcd96"))))
+              ("lib-ui-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_ui")
+                        (commit "2f5d5e0e79bf52ab04047bc93a4b624d6d33d46a")))
+                  (file-name
+                   (git-file-name "lib-ui-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "09kmc1igh37wafngwk6raqx2wrlxg10lf9p72j84sxs05hbybfcn"))))
+              ("lib-waylandshells-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_waylandshells")
+                        (commit "271290b93c65b6fb634cb9c69bff97f51b74f3a7")))
+                  (file-name
+                   (git-file-name "lib-waylandshells-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "02d966kbpqf029wwma17vicmc8n5iaksibaq6d81jmh770p2vsc9"))))
+              ("lib-webrtc-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_webrtc")
+                        (commit "9b11599c3c56047cfa4c68b69f1fcc93b602c33a")))
+                  (file-name
+                   (git-file-name "lib-webrtc-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "0158jx8hj4fv6qpw5pgcr2mdlihj0dxs060dg3iy61zz6q68z5dq"))))
+              ("lib-webview-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_webview")
+                        (commit "546df65eb2424550ed84ce14fc9c5d1bb3586f35")))
+                  (file-name
+                   (git-file-name "lib-webview-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "0zzjwyw82bggncmmsw969lnjl04pklmqjqm77jjzadinivl52z0l"))))
+              ("tgcalls-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/TelegramMessenger/tgcalls")
+                        (commit "82c4921045c440b727c38e464f3a0539708423ff")))
+                  (file-name
+                   (git-file-name "tgcalls-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "1109r17abh66yz91b65fn2g4ryfybnsr5g6075sjhbah1gccv9mk"))))
+              ("libtgvoip-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/telegramdesktop/libtgvoip")
+                        (commit "78a8e22bedb0d06004da8bafeba88b7474cb89a4")))
+                  (file-name
+                   (git-file-name "libtgvoip-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "1y1jvm4i0i4fkl6c0bgcv2cpzziyyn1pywxqz726q008hwki941h"))))
+              ("dispatch-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/apple/swift-corelibs-libdispatch")
+                        (commit "ecc678d79f38cf63d24b6d16e18f69a9117d8d73")))
+                  (file-name
+                   (git-file-name "dispatch-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "0hy4q6x3bgphazmpl3v62995abc9fpi8y7yg9aiblzsqkxmgjmqn"))))
+              ("fcitx-qt5-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/fcitx/fcitx-qt5")
+                        (commit "c2feea444ab79e6a8d6d205d4c7b13ab1db353c9")))
+                  (file-name
+                   (git-file-name "fcitx-qt5-for-telegram-desktop" version))
+                  (sha256
+                   (base32
+                    "1y10n2l0rbzpvsryw0mikyv9hic8wxd8gwr0ax37niwjbkil2zv8"))))
+              ("fcitx5-qt-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/fcitx/fcitx5-qt")
+                        (commit "fd06094f48e8281b6dc3fd4aaadfcd216c426a5a")))
+                  (file-name
+                   (git-file-name "fcitx5-qt-for-telegram-desktop" version))
+                  (sha256
+                   (base32
+                    "15mhcv3m39fi375ccd05hr8va4js9lkj0vllypnq90v43fcvawr1"))))
+              ("hime-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/hime-ime/hime")
+                        (commit "9b3e6f9ab59d1fe4d9de73d3bf0fed7789f921c5")))
+                  (file-name
+                   (git-file-name "hime-for-telegram-desktop" version))
+                  (sha256
+                   (base32
+                    "1b98ql30ihbqz1zwlm0c3c1qmxp3gdz96wsic3h6ypqcr3xyj28f"))))
+              ("nimf-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/hamonikr/nimf")
+                        (commit "181f9467fc1883c228fc272330ab2f000bfae163")))
+                  (file-name
+                   (git-file-name "nimf-for-telegram-desktop" version))
+                  (sha256
+                   (base32
+                    "0kk430bx3w9n8c1d42ng5gicx44gi9bsjd60n2927wdpm6jxm2yl"))))
+              ("rlottie-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/rlottie")
+                        (commit "8c69fc20cf2e150db304311f1233a4b55a8892d7")))
+                  (file-name
+                   (git-file-name "rlottie-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "14gwg3sn6xdx9ymnx5r0vfm4pk8dwk92s10a1wdvfbjpyrxll64i")))))))
+       (modify-inputs external-sources
+         (append c++-gsl                ;Required
+                 jemalloc
+                 libexpected
+                 minizip
+                 openal
+                 qrcodegen-cpp
+                 qt5compat
+                 qtbase
+                 qtimageformats
+                 qtsvg-5
+                 range-v3
+                 rnnoise
+                 webrtc-for-telegram-desktop
+                 xxhash
+                 zlib
+                 ;; Has options
+                 fcitx-qt5            ;DESKTOP_APP_USE_PACKAGED_LAZY
+                 fcitx5-qt
+                 hime
+                 nimf
+                 glibmm-2.64          ;DESKTOP_APP_DISABLE_DBUS_INTEGRATION
+                 enchant              ;DESKTOP_APP_USE_ENCHANT
+                 hunspell             ;DESKTOP_APP_DISABLE_SPELLCHECK
+                 lz4                  ;DESKTOP_APP_LOTTIE_USE_CACHE
+                 alsa-lib             ;LIBTGVOIP_DISABLE_ALSA
+                 pulseaudio           ;LIBTGVOIP_DISABLE_PULSEAUDIO
+                 qtwayland            ;DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION
+                 wayland
+                 libxcb               ;DESKTOP_APP_DISABLE_X11_INTEGRATION
+                 xcb-util-keysyms
+                 ;; Optional
+                 webkitgtk))))
     (synopsis "Telegram Desktop")
     (description "Telegram desktop is the official desktop version of the
 Telegram instant messenger.")
     (home-page "https://desktop.telegram.org/")
-    (license
-     (list
-      ;; ThirdParty
-      license:lgpl2.1+
-      ;; Others
-      license:gpl3+))))
+    (license (list
+              ;; Telegram/ThirdParty/dispatch
+              license:asl2.0
+
+              ;; Telegram/ThirdParty/fcitx-qt5 (platform input context plugin)
+              ;; Telegram/ThirdParty/fcitx5-qt (Fcitx5Qt4DBusAddons library
+              ;; and input context plugin, Fcitx5Qt5DBusAddons library and Qt5
+              ;; platform input context plugin)
+              license:bsd-3
+
+              ;; Telegram/ThirdParty/rlottie/src/vector/pixman
+              ;; Telegram/ThirdParty/rlottie/src/vector/stb
+              ;; Telegram/ThirdParty/rlottie/src/vector/rapidjson
+              license:expat
+
+              ;; Telegram/ThirdParty/rlottie/src/vector/freetype
+              license:freetype
+
+              ;; Telegram/ThirdParty/hime (files not mentioned below)
+              license:lgpl2.1
+
+              ;; Telegram/ThirdParty/fcitx5-qt (files not mentioned above)
+              ;; Telegram/ThirdParty/rlottie
+              ;; Telegram/ThirdParty/rlottie/src/vector
+              license:lgpl2.1+
+
+              ;; Telegram/ThirdParty/nimf
+              ;; Telegram/ThirdParty/tgcalls
+              license:lgpl3
+
+              ;; Telegram/ThirdParty/fcitx-qt5 (files not mentioned above)
+              ;; Telegram/ThirdParty/hime (Qt immodules)
+              license:gpl2
+
+              ;; Others
+              license:gpl3+))))

 (define-public tl-parser
   (let ((commit "1933e76f8f4fb74311be723b432e4c56e3a5ec06")
--
2.37.2




Information forwarded to guix-patches <at> gnu.org:
bug#57655; Package guix-patches. (Thu, 08 Sep 2022 03:12:02 GMT) Full text and rfc822 format available.

Message #23 received at 57655 <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: 57655 <at> debbugs.gnu.org
Subject: [PATCH 5/5 RESEND UNTABIFIED] gnu: telegram-desktop: Update to 4.1.1.
Date: Thu, 08 Sep 2022 11:10:58 +0800
* gnu/packages/telegram.scm (telegram-desktop): Update to 4.1.1.
[snippet]:
Don't keep SPMediaKeyTap and statusnotifieritem as they'd got removed from
upstream.
Keep rlottie, libtgvoip and dispatch.
[#:configure-flags]:
Comment out to default value
Use API id from official Snap builds.
Enable DESKTOP_APP_USE_PACKAGED_LAZY, which is suitable for default
configuration as it'll bundle as many features as possible.
[#:phases]:
Copy dispatch, fcitx-qt5, fcitx5-qt, hime, nimf, rlottie and libtgvoip.
Remove phase patch-cxx-flags, as that string's not there any more.
Replace build and install phases with ones that use cmake tools.
[native-inputs]
Add variable external-sources for managing recursive checkouts.
Bump cmake-helpers to source checkout-ed commit.
Add ninja and clang-toolchain.
[inputs]
Add variable external-sources for managing recursive checkouts.
Add dispatch, fcitx-qt5, fcitx5-qt, hime, nimf, rlottie, libtgvoip to
external-sources.
Bump codegen, lib_base, lib_crl, lib_lottie, lib_qr, lib_rpl, lib_spellcheck,
lib_storage, lib_tl, lib_ui, lib_waylandshells, lib_webrtc, lib_webview and
tgcalls to source checkout-ed commit.
Add patch for lib_base to support musl compilation.
Style adjustment.
[license]
Update with source tree changes.

* gnu/packages/patches/lib-base-for-telegram-desktop-support-musl.patch: New
file.
* gnu/local.mk: Add patch.
---
RESEND: Untabify musl patch.

 gnu/local.mk                                  |   1 +
 ...se-for-telegram-desktop-support-musl.patch |  35 +
 gnu/packages/telegram.scm                     | 735 ++++++++++--------
 3 files changed, 446 insertions(+), 325 deletions(-)
 create mode 100644 gnu/packages/patches/lib-base-for-telegram-desktop-support-musl.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index f1fda8151b..dfcc82b7f6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1356,6 +1356,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/julia-tracker-16-compat.patch		\
   %D%/packages/patches/julia-allow-parallel-build.patch		\
   %D%/packages/patches/kdbusaddons-kinit-file-name.patch	\
+  %D%/packages/patches/lib-base-for-telegram-desktop-support-musl.patch	\
   %D%/packages/patches/libffi-3.3-powerpc-fixes.patch		\
   %D%/packages/patches/libffi-float128-powerpc64le.patch	\
   %D%/packages/patches/libobjc2-unbundle-robin-map.patch	\
diff --git a/gnu/packages/patches/lib-base-for-telegram-desktop-support-musl.patch b/gnu/packages/patches/lib-base-for-telegram-desktop-support-musl.patch
new file mode 100644
index 0000000000..1a3a70286f
--- /dev/null
+++ b/gnu/packages/patches/lib-base-for-telegram-desktop-support-musl.patch
@@ -0,0 +1,35 @@
+Stub out some glibc-specific functions
+
+This allows support for alternative libcs like musl
+
+diff --git a/base/platform/linux/base_info_linux.cpp b/base/platform/linux/base_info_linux.cpp
+index 714d8dc..b70cc23 100644
+--- a/base/platform/linux/base_info_linux.cpp
++++ b/base/platform/linux/base_info_linux.cpp
+@@ -22,7 +22,7 @@
+
+ #include <sys/utsname.h>
+
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) && defined(__GLIBC__)
+ #include <gnu/libc-version.h>
+ #endif // Q_OS_LINUX
+
+@@ -200,7 +200,7 @@ QString AutoUpdateKey() {
+ }
+
+ QString GetLibcName() {
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) && defined(__GLIBC__)
+       return "glibc";
+ #endif // Q_OS_LINUX
+
+@@ -208,7 +208,7 @@ QString GetLibcName() {
+ }
+
+ QString GetLibcVersion() {
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) && defined(__GLIBC__)
+       static const auto result = [&] {
+               const auto version = QString::fromLatin1(gnu_get_libc_version());
+               return QVersionNumber::fromString(version).isNull() ? QString() : version;
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index bd8b5b31a7..961cd32890 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2021 Raghav Gururajan <rg <at> raghavgururajan.name>
+;;; Copyright © 2022 Hilton Chain <hako <at> ultrarare.space>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -28,8 +29,10 @@ (define-module (gnu packages telegram)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cpp)
   #:use-module (gnu packages digest)
+  #:use-module (gnu packages enchant)
   #:use-module (gnu packages fcitx)
   #:use-module (gnu packages fcitx5)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
@@ -42,6 +45,7 @@ (define-module (gnu packages telegram)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libreoffice)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages llvm)
   #:use-module (gnu packages lxqt)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages ninja)
@@ -60,6 +64,7 @@ (define-module (gnu packages telegram)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
   #:use-module (gnu packages web)
+  #:use-module (gnu packages webkit)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xorg)
@@ -227,339 +232,419 @@ (define-public webrtc-for-telegram-desktop
 (define-public telegram-desktop
   (package
     (name "telegram-desktop")
-    (version "2.9.3")
-    (source
-     (origin
-       (method git-fetch)
-       (uri
-        (git-reference
-         (url "https://github.com/telegramdesktop/tdesktop.git")
-         (commit
-          (string-append "v" version))))
-       (file-name
-        (git-file-name name version))
-       (sha256
-        (base32 "0dzf1y3xhqvizg29bd1kya48cjbkq073d2x10ynwcmmx396l4nd8"))
-       (modules '((guix build utils)
-                  (ice-9 ftw)
-                  (srfi srfi-1)))
-       (snippet
-        `(begin
-           (let ((keep
-                  '( ;; Not available in Guix.
-                    "SPMediaKeyTap" "statusnotifieritem" "tgcalls")))
-             (with-directory-excursion "Telegram/ThirdParty"
-               (for-each delete-file-recursively
-                         (lset-difference string=?
-                                          (scandir ".")
-                                          (cons* "." ".." keep))))
-             #t)))))
+    (version "4.1.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/telegramdesktop/tdesktop")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0zhwaql1fk0nqr1x2lchcswz61x7sb2297qdxiysgqamr0fk9ppn"))
+              (modules '((guix build utils)
+                         (ice-9 ftw)
+                         (srfi srfi-1)))
+              (snippet #~(begin
+                           (let ((keep
+                                  '(;; Custom fork
+                                    "rlottie" "libtgvoip"
+                                    ;; Not available in Guix.
+                                    "dispatch" "tgcalls")))
+                             (with-directory-excursion "Telegram/ThirdParty"
+                               (for-each delete-file-recursively
+                                         (lset-difference string=?
+                                                          (scandir ".")
+                                                          (cons* "." ".." keep)))))))))
     (build-system qt-build-system)
     (arguments
-     `(#:tests? #f                      ; No target
-       #:imported-modules
-       (,@%qt-build-system-modules
-        (guix build glib-or-gtk-build-system))
-       #:modules
-       ((guix build qt-build-system)
-        ((guix build glib-or-gtk-build-system)
-         #:prefix glib-or-gtk:)
-        (guix build utils)
-        (ice-9 match))
-       #:configure-flags
-       (list
-        ;; Client applications must provide their own API-ID and API-HASH,
-        ;; see also <https://core.telegram.org/api/obtaining_api_id>.
-        ;; In case, that the credentials below fail to work, contact
-        ;;   Raghav Gururajan <rg <at> raghavgururajan.name>
-        "-DTDESKTOP_API_ID=2791056"
-        "-DTDESKTOP_API_HASH=582d6d0b44f7a2de949e99271fd8b3f2"
-        ;; Disable WebkitGTK support as it fails to link
-        "-DDESKTOP_APP_DISABLE_WEBKITGTK=ON"
-        ;; Use bundled fonts as fallback.
-        "-DDESKTOP_APP_USE_PACKAGED_FONTS=OFF")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'make-writable
-           (lambda _
-             (for-each make-file-writable (find-files "."))
-             #t))
-         (add-after 'make-writable 'copy-inputs
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (for-each
-              (match-lambda
-                ((dst src)
-                 (copy-recursively src dst)
-                 (for-each make-file-writable (find-files dst))))
-              `(("cmake" ,(assoc-ref inputs "cmake-helpers"))
-                ("Telegram/codegen" ,(assoc-ref inputs "codegen-source"))
-                ("Telegram/lib_base" ,(assoc-ref inputs "lib-base-source"))
-                ("Telegram/lib_crl" ,(assoc-ref inputs "lib-crl-source"))
-                ("Telegram/lib_lottie"
-                 ,(assoc-ref inputs "lib-lottie-source"))
-                ("Telegram/lib_qr" ,(assoc-ref inputs "lib-qr-source"))
-                ("Telegram/lib_rlottie"
-                 ,(assoc-ref inputs "lib-rlottie-source"))
-                ("Telegram/lib_rpl" ,(assoc-ref inputs "lib-rpl-source"))
-                ("Telegram/lib_spellcheck"
-                 ,(assoc-ref inputs "lib-spellcheck-source"))
-                ("Telegram/lib_storage"
-                 ,(assoc-ref inputs "lib-storage-source"))
-                ("Telegram/lib_tl" ,(assoc-ref inputs "lib-tl-source"))
-                ("Telegram/lib_ui" ,(assoc-ref inputs "lib-ui-source"))
-                ("Telegram/lib_waylandshells" ,(assoc-ref inputs "lib-waylandshells-source"))
-                ("Telegram/lib_webrtc" ,(assoc-ref inputs "lib-webrtc-source"))
-                ("Telegram/lib_webview" ,(assoc-ref inputs "lib-webview-source"))
-                ("Telegram/ThirdParty/tgcalls"
-                 ,(assoc-ref inputs "tgcalls-source"))))
-             #t))
-         (add-before 'configure 'patch-cxx-flags
-           (lambda _
-             (substitute* "cmake/options_linux.cmake"
-               (("class-memaccess") "all"))
-             #t))
-         (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
-           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+     (list #:tests? #f                  ;No target
+           #:imported-modules
+           `(,@%qt-build-system-modules
+             (guix build glib-or-gtk-build-system))
+           #:modules
+           '((guix build qt-build-system)
+             ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
+             (guix build utils)
+             (ice-9 match))
+           #:configure-flags
+           #~`(;; https://github.com/telegramdesktop/tdesktop/blob/dev/snap/snapcraft.yaml
+               ;; see also <https://core.telegram.org/api/obtaining_api_id>.
+               "-DTDESKTOP_API_ID=611335"
+               "-DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c"
+               ,(string-append "-DTDESKTOP_LAUTCHER_BASENAME=" #$name)
+
+               ;; NOTE: Options commented are default values.
+               ;; See also: comments in inputs.
+
+               ;; "-DDESKTOP_APP_USE_PACKAGED=ON"
+               ;; "-DDESKTOP_APP_DISABLE_DBUS_INTEGRATION=OFF"
+               ;; "-DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=OFF"
+               ;; "-DDESKTOP_APP_DISABLE_X11_INTEGRATION=OFF"
+               ;; "-DDESKTOP_APP_DISABLE_SPELLCHECK=OFF"
+               ;; "-DDESKTOP_APP_USE_ENCHANT=OFF"
+               ;; "-DDESKTOP_APP_LOTTIE_USE_CACHE=ON"
+
+               ;; "-DLIBTGVOIP_DISABLE_ALSA=OFF"
+               ;; "-DLIBTGVOIP_DISABLE_PULSEAUDIO=OFF"
+
+               ;; Build all the available detected features in the build
+               ;; environment.
+               "-DDESKTOP_APP_USE_PACKAGED_LAZY=ON")
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'make-writable
+                 (lambda _
+                   (for-each make-file-writable (find-files "."))))
+               (add-after 'make-writable 'copy-inputs
+                 (lambda* (#:key inputs outputs #:allow-other-keys)
+                   (for-each
+                    (match-lambda
+                      ((dst src)
+                       (copy-recursively src dst)
+                       (for-each make-file-writable (find-files dst))))
+                    `(("cmake" ,(assoc-ref inputs "cmake-helpers"))
+                      ("Telegram/codegen" ,(assoc-ref inputs "codegen-source"))
+                      ("Telegram/lib_base" ,(assoc-ref inputs "lib-base-source"))
+                      ("Telegram/lib_crl" ,(assoc-ref inputs "lib-crl-source"))
+                      ("Telegram/lib_lottie" ,(assoc-ref inputs "lib-lottie-source"))
+                      ("Telegram/lib_qr" ,(assoc-ref inputs "lib-qr-source"))
+                      ("Telegram/lib_rpl" ,(assoc-ref inputs "lib-rpl-source"))
+                      ("Telegram/lib_spellcheck" ,(assoc-ref inputs "lib-spellcheck-source"))
+                      ("Telegram/lib_storage" ,(assoc-ref inputs "lib-storage-source"))
+                      ("Telegram/lib_tl" ,(assoc-ref inputs "lib-tl-source"))
+                      ("Telegram/lib_ui" ,(assoc-ref inputs "lib-ui-source"))
+                      ("Telegram/lib_waylandshells" ,(assoc-ref inputs "lib-waylandshells-source"))
+                      ("Telegram/lib_webrtc" ,(assoc-ref inputs "lib-webrtc-source"))
+                      ("Telegram/lib_webview" ,(assoc-ref inputs "lib-webview-source"))
+                      ("Telegram/ThirdParty/dispatch" ,(assoc-ref inputs "dispatch-source"))
+                      ("Telegram/ThirdParty/fcitx-qt5" ,(assoc-ref inputs "fcitx-qt5-source"))
+                      ("Telegram/ThirdParty/fcitx5-qt" ,(assoc-ref inputs "fcitx5-qt-source"))
+                      ("Telegram/ThirdParty/hime" ,(assoc-ref inputs "hime-source"))
+                      ("Telegram/ThirdParty/nimf" ,(assoc-ref inputs "nimf-source"))
+                      ("Telegram/ThirdParty/rlottie" ,(assoc-ref inputs "rlottie-source"))
+                      ("Telegram/ThirdParty/tgcalls" ,(assoc-ref inputs "tgcalls-source"))
+                      ("Telegram/ThirdParty/libtgvoip" ,(assoc-ref inputs "libtgvoip-source"))))))
+               (replace 'build
+                 (lambda* (#:key (make-flags '())
+                           (parallel-build? #t) #:allow-other-keys)
+                   (apply invoke "cmake" "--build" "."
+                          `(,@(if parallel-build?
+                                  `("-j" ,(number->string (parallel-job-count)))
+                                  '())
+                             ,@make-flags))))
+               (replace 'install
+                 (lambda* (#:key (make-flags '()) #:allow-other-keys)
+                   (apply invoke "cmake" "--install" "." make-flags)))
+               (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
+                 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
     (native-inputs
-     `(("cmake-helpers"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/cmake_helpers.git")
-             (commit "4d44d822e01b3b5fbec3ce824e01f56aa35d7f72")))
-           (file-name
-            (git-file-name "cmake-helpers-for-telegram-desktop" version))
-           (sha256
-            (base32 "0h6cjiqy014h2mz90h1z5a7plb3ihbnds4bja8994ybr1dy3m7m5"))))
-       ("cmake-shared" ,cmake-shared)
-       ("extra-cmake-modules" ,extra-cmake-modules)
-       ("glib:bin" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("gtk+:bin" ,gtk+ "bin")
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("qttools-5" ,qttools-5)))
+     (let ((external-sources
+            `(("cmake-helpers"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/cmake_helpers")
+                        (commit "0702ef4cdd8ab888fdadaa4f5b2eb0c9d5844b69")))
+                  (file-name
+                   (git-file-name "cmake-helpers-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "16lsm3pb8md4ksr2ps3bnkvr0jygdamkxyirxgz214n6wa281zk1")))))))
+       (modify-inputs external-sources
+         (append clang-toolchain ninja pkg-config python-wrapper))))
     (inputs
-     `(("alsa" ,alsa-lib)
-       ("c++-gsl" ,c++-gsl)
-       ("catch" ,catch-framework2)
-       ("codegen-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/codegen.git")
-             (commit "248614b49cd7d5aff69d75a737f2e35b79fbb119")))
-           (file-name
-            (git-file-name "codegen" version))
-           (sha256
-            (base32 "00f7g2z6xmkbkrmi3q27hscjl44mg66wf9q0mz3rhy3jaa6cfdrk"))))
-       ("expected" ,libexpected)
-       ("fcitx-qt5" ,fcitx-qt5)
-       ("fcitx5-qt" ,fcitx5-qt)
-       ("ffmpeg" ,ffmpeg)
-       ("glib" ,glib)
-       ("glibmm" ,glibmm-2.64)
-       ("gtk+" ,gtk+)
-       ("hime" ,hime)
-       ("hunspell" ,hunspell)
-       ("jemalloc" ,jemalloc)
-       ("kwayland" ,kwayland)
-       ("lib-base-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_base.git")
-             (commit "a23c05c44e4f01dc4428f4d75d4db98c59d313a6")))
-           (file-name
-            (git-file-name "lib-base-for-telegram-desktop" version))
-           (sha256
-            (base32 "0vh5zgxwalmbnvz8lzlnba87ch8vnpmcz6nvf56w09f3nlxvvq78"))))
-       ("lib-crl-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_crl.git")
-             (commit "3ccf2ed5095442e5874bba8852cb7dc4efeae29f")))
-           (file-name
-            (git-file-name "lib-crl-for-telegram-desktop" version))
-           (sha256
-            (base32 "11my7q54m4lvvlgma6pbdyjxi1cv1adk1gph2j50mh18sqlm8myz"))))
-       ("lib-lottie-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_lottie.git")
-             (commit "0770df009db7928df1d0cad0900dc5110106d229")))
-           (file-name
-            (git-file-name "lib-lottie-for-telegram-desktop" version))
-           (sha256
-            (base32 "1gj56ymlbk5dnk82jw674808m511lv9dky8891a5wm4gp3pph5jb"))))
-       ("lib-qr-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_qr.git")
-             (commit "2b08c71c6edcfc3e31f7d7f518cc963493b6e189")))
-           (file-name
-            (git-file-name "lib-qr-for-telegram-desktop" version))
-           (sha256
-            (base32 "05hrkmwgrczyjv87r507i2r7m1zr6k2i43mq3my0s6j4szr1rjq0"))))
-       ("lib-rlottie-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_rlottie.git")
-             (commit "0671bf70547381effcf442ec9618e04502a8adbc")))
-           (file-name
-            (git-file-name "lib-rlottie-for-telegram-desktop" version))
-           (sha256
-            (base32 "05qnza7j15356s8jq16pkbyp4zr586lssmd86lz5jq23lcb3raxv"))))
-       ("lib-rpl-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_rpl.git")
-             (commit "df721be3fa14a27dfc230d2e3c42bb1a7c9d0617")))
-           (file-name
-            (git-file-name "lib-rpl-for-telegram-desktop" version))
-           (sha256
-            (base32 "15fnv3ssn7rn5d0j52gggdvyqc2wm464678dj7v2x9h8lka2jjxn"))))
-       ("lib-spellcheck-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_spellcheck.git")
-             (commit "68c9b788958904aea7de79f986a0f82ec8c5b094")))
-           (file-name
-            (git-file-name "lib-spellcheck-for-telegram-desktop" version))
-           (sha256
-            (base32 "0d8s4wwk6fxf536mhzq2vb9qw3j0m8nqia7ylvvpsbc4kh09dadn"))))
-       ("lib-storage-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_storage.git")
-             (commit "403df6c4a29562bd417c92d410e49819f5a48cc1")))
-           (file-name
-            (git-file-name "lib-storage-for-telegram-desktop" version))
-           (sha256
-            (base32 "1zxvzfrxbj4d395fzyb5pm9wn3n8jyimxx88cyqjcdd46sx4h7r5"))))
-       ("lib-tl-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_tl.git")
-             (commit "45faed44e7f4d11fec79b7a70e4a35dc91ef3fdb")))
-           (file-name
-            (git-file-name "lib-tl-for-telegram-desktop" version))
-           (sha256
-            (base32 "0h43xvzklda02494d466jp52hl8c1kmav9f12dyld10dpf1w6c7m"))))
-       ("lib-ui-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_ui.git")
-             (commit "1b590f9e16eb9571a039f072d6fea66c607e419f")))
-           (file-name
-            (git-file-name "lib-ui-for-telegram-desktop" version))
-           (sha256
-            (base32 "0ighyhfp29h9h8c7vr70pnhcv2xnsr9ln084pssn8hb5z4pmb62f"))))
-       ("lib-waylandshells-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_waylandshells.git")
-             (commit "59b0ee55a68976d27f1bf7cec0e11d5939e185e7")))
-           (file-name
-            (git-file-name "lib-waylandshells-for-telegram-desktop" version))
-           (sha256
-            (base32 "0l2xrpc5mvvdlsj333pmkgfvn9wi1ijfdaaz8skfnw9icw52faaf"))))
-       ("lib-webrtc-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_webrtc.git")
-             (commit "ef49f953f12b112008a094a719f40939aaf39db4")))
-           (file-name
-            (git-file-name "lib-webrtc-for-telegram-desktop" version))
-           (sha256
-            (base32 "15k4xs3462p3ddp5cn9im3nvdiaijmxir8wxsf5yrj70ghy26ibw"))))
-       ("lib-webview-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_webview.git")
-             (commit "e06427c624515485774e2e2181d4afeb05ad5a67")))
-           (file-name
-            (git-file-name "lib-webview-for-telegram-desktop" version))
-           (sha256
-            (base32 "148z7xzfscynwwwqssdsd97npax6yn8zrd64xw8qzbwff2g2r7k4"))))
-       ("libdbusmenu-qt" ,libdbusmenu-qt)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libtgvoip" ,libtgvoip-for-telegram-desktop)
-       ("lz4" ,lz4)
-       ("materialdecoration" ,materialdecoration)
-       ("minizip" ,minizip)
-       ("nimf" ,nimf)
-       ("openal" ,openal)
-       ("openssl" ,openssl)
-       ("opus" ,opus)
-       ("pulseaudio" ,pulseaudio)
-       ("qrcodegen" ,qrcodegen-cpp)
-       ("qt" ,qtbase-5)
-       ("qtsvg-5" ,qtsvg-5)
-       ("qt5ct" ,qt5ct)
-       ("qtimageformats" ,qtimageformats)
-       ("qtwayland" ,qtwayland)
-       ("range-v3" ,range-v3)
-       ("rlottie" ,rlottie-for-telegram-desktop)
-       ("rnnoise" ,rnnoise)
-       ("tgcalls-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/TelegramMessenger/tgcalls.git")
-             (commit "81e97fa52e25b7775b62ce07bb653533d81e91b3")))
-           (file-name
-            (git-file-name "tgcalls-for-telegram-desktop" version))
-           (sha256
-            (base32 "0fvad87hyxli83xn19mgf8jjrrh6y6iaig14pckpbkg33vf4wqkj"))))
-       ("webrtc" ,webrtc-for-telegram-desktop)
-       ("x11" ,libx11)
-       ("xcb" ,libxcb)
-       ("xcb-keysyms" ,xcb-util-keysyms)
-       ("xxhash" ,xxhash)
-       ("zlib" ,zlib)))
-    (propagated-inputs
-     (list dconf))
+     (let ((external-sources
+            `(("codegen-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/codegen")
+                        (commit "8815d7aec9b901191d08445f29e2edd0aeba7b2c")))
+                  (file-name
+                   (git-file-name "codegen" version))
+                  (sha256
+                   (base32 "1ly958mjk25kfcpa174kvg134p9r751ixi275afj5kr57by9mbq2"))))
+              ("lib-base-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_base")
+                        (commit "37fab6b4da32c91bc5d049baad2e9ad51cfcd195")))
+                  (file-name
+                   (git-file-name "lib-base-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "1b2zc0ag5w46vwjz2240yj9aniyv09yjyrwif32994drfq6l10k5"))
+                  (patches
+                   (search-patches "lib-base-for-telegram-desktop-support-musl.patch"))))
+              ("lib-crl-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_crl")
+                        (commit "4e620bc383d032aadea8e6af02661f8c76695cec")))
+                  (file-name
+                   (git-file-name "lib-crl-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "17bngj247qwq0dg4h37xdi5v1mk22y4yp7sp6ph3irmnz4awah0x"))))
+              ("lib-lottie-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_lottie")
+                        (commit "f3563bc6b0e042095d4d667d013f62cb8ae62b65")))
+                  (file-name
+                   (git-file-name "lib-lottie-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "0i0w6lcrmqln7axnlazcqkaj4z0lzn0gl3z59hng40ard76cgvsg"))))
+              ("lib-qr-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_qr")
+                        (commit "501f4c3502fd872ab4d777df8911bdac32de7c48")))
+                  (file-name
+                   (git-file-name "lib-qr-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "05hrkmwgrczyjv87r507i2r7m1zr6k2i43mq3my0s6j4szr1rjq0"))))
+              ("lib-rpl-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_rpl")
+                        (commit "fd31f5bf382d2679eccdb1abaf8240a56c6a7abe")))
+                  (file-name
+                   (git-file-name "lib-rpl-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "1fpq8nyh8wx6zkb3sjjrx9ydqzyhw4483bdk1i9blp0ijn9xxdxf"))))
+              ("lib-spellcheck-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_spellcheck")
+                        (commit "b2f2b7b6bce60bc1c6429a6b5ec4bc5891baa060")))
+                  (file-name
+                   (git-file-name "lib-spellcheck-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "1v8xdbwza457wmjkfmpys46g5g1aw7yabjab6knxd4p4vhyjhbwh"))))
+              ("lib-storage-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_storage")
+                        (commit "839609369d04615475cb1518636de3619106a917")))
+                  (file-name
+                   (git-file-name "lib-storage-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "1l26h2fmqp9dcpr6pfvdd5sjb68j7yh0ms2lnr8na7jf5xqmkwwm"))))
+              ("lib-tl-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_tl")
+                        (commit "0d234b5aabf43d598e0cb0867566ee570d9e2755")))
+                  (file-name
+                   (git-file-name "lib-tl-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "1wc8d94h4ga36yl9g8h67j914xwpwv7rmkrrvvslgbgxb7sxcd96"))))
+              ("lib-ui-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_ui")
+                        (commit "2f5d5e0e79bf52ab04047bc93a4b624d6d33d46a")))
+                  (file-name
+                   (git-file-name "lib-ui-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "09kmc1igh37wafngwk6raqx2wrlxg10lf9p72j84sxs05hbybfcn"))))
+              ("lib-waylandshells-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_waylandshells")
+                        (commit "271290b93c65b6fb634cb9c69bff97f51b74f3a7")))
+                  (file-name
+                   (git-file-name "lib-waylandshells-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "02d966kbpqf029wwma17vicmc8n5iaksibaq6d81jmh770p2vsc9"))))
+              ("lib-webrtc-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_webrtc")
+                        (commit "9b11599c3c56047cfa4c68b69f1fcc93b602c33a")))
+                  (file-name
+                   (git-file-name "lib-webrtc-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "0158jx8hj4fv6qpw5pgcr2mdlihj0dxs060dg3iy61zz6q68z5dq"))))
+              ("lib-webview-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/lib_webview")
+                        (commit "546df65eb2424550ed84ce14fc9c5d1bb3586f35")))
+                  (file-name
+                   (git-file-name "lib-webview-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "0zzjwyw82bggncmmsw969lnjl04pklmqjqm77jjzadinivl52z0l"))))
+              ("tgcalls-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/TelegramMessenger/tgcalls")
+                        (commit "82c4921045c440b727c38e464f3a0539708423ff")))
+                  (file-name
+                   (git-file-name "tgcalls-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "1109r17abh66yz91b65fn2g4ryfybnsr5g6075sjhbah1gccv9mk"))))
+              ("libtgvoip-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/telegramdesktop/libtgvoip")
+                        (commit "78a8e22bedb0d06004da8bafeba88b7474cb89a4")))
+                  (file-name
+                   (git-file-name "libtgvoip-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "1y1jvm4i0i4fkl6c0bgcv2cpzziyyn1pywxqz726q008hwki941h"))))
+              ("dispatch-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/apple/swift-corelibs-libdispatch")
+                        (commit "ecc678d79f38cf63d24b6d16e18f69a9117d8d73")))
+                  (file-name
+                   (git-file-name "dispatch-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "0hy4q6x3bgphazmpl3v62995abc9fpi8y7yg9aiblzsqkxmgjmqn"))))
+              ("fcitx-qt5-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/fcitx/fcitx-qt5")
+                        (commit "c2feea444ab79e6a8d6d205d4c7b13ab1db353c9")))
+                  (file-name
+                   (git-file-name "fcitx-qt5-for-telegram-desktop" version))
+                  (sha256
+                   (base32
+                    "1y10n2l0rbzpvsryw0mikyv9hic8wxd8gwr0ax37niwjbkil2zv8"))))
+              ("fcitx5-qt-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/fcitx/fcitx5-qt")
+                        (commit "fd06094f48e8281b6dc3fd4aaadfcd216c426a5a")))
+                  (file-name
+                   (git-file-name "fcitx5-qt-for-telegram-desktop" version))
+                  (sha256
+                   (base32
+                    "15mhcv3m39fi375ccd05hr8va4js9lkj0vllypnq90v43fcvawr1"))))
+              ("hime-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/hime-ime/hime")
+                        (commit "9b3e6f9ab59d1fe4d9de73d3bf0fed7789f921c5")))
+                  (file-name
+                   (git-file-name "hime-for-telegram-desktop" version))
+                  (sha256
+                   (base32
+                    "1b98ql30ihbqz1zwlm0c3c1qmxp3gdz96wsic3h6ypqcr3xyj28f"))))
+              ("nimf-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/hamonikr/nimf")
+                        (commit "181f9467fc1883c228fc272330ab2f000bfae163")))
+                  (file-name
+                   (git-file-name "nimf-for-telegram-desktop" version))
+                  (sha256
+                   (base32
+                    "0kk430bx3w9n8c1d42ng5gicx44gi9bsjd60n2927wdpm6jxm2yl"))))
+              ("rlottie-source"
+               ,(origin
+                  (method git-fetch)
+                  (uri (git-reference
+                        (url "https://github.com/desktop-app/rlottie")
+                        (commit "8c69fc20cf2e150db304311f1233a4b55a8892d7")))
+                  (file-name
+                   (git-file-name "rlottie-for-telegram-desktop" version))
+                  (sha256
+                   (base32 "14gwg3sn6xdx9ymnx5r0vfm4pk8dwk92s10a1wdvfbjpyrxll64i")))))))
+       (modify-inputs external-sources
+         (append c++-gsl                ;Required
+                 jemalloc
+                 libexpected
+                 minizip
+                 openal
+                 qrcodegen-cpp
+                 qt5compat
+                 qtbase
+                 qtimageformats
+                 qtsvg-5
+                 range-v3
+                 rnnoise
+                 webrtc-for-telegram-desktop
+                 xxhash
+                 zlib
+                 ;; Has options
+                 fcitx-qt5            ;DESKTOP_APP_USE_PACKAGED_LAZY
+                 fcitx5-qt
+                 hime
+                 nimf
+                 glibmm-2.64          ;DESKTOP_APP_DISABLE_DBUS_INTEGRATION
+                 enchant              ;DESKTOP_APP_USE_ENCHANT
+                 hunspell             ;DESKTOP_APP_DISABLE_SPELLCHECK
+                 lz4                  ;DESKTOP_APP_LOTTIE_USE_CACHE
+                 alsa-lib             ;LIBTGVOIP_DISABLE_ALSA
+                 pulseaudio           ;LIBTGVOIP_DISABLE_PULSEAUDIO
+                 qtwayland            ;DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION
+                 wayland
+                 libxcb               ;DESKTOP_APP_DISABLE_X11_INTEGRATION
+                 xcb-util-keysyms
+                 ;; Optional
+                 webkitgtk))))
     (synopsis "Telegram Desktop")
     (description "Telegram desktop is the official desktop version of the
 Telegram instant messenger.")
     (home-page "https://desktop.telegram.org/")
-    (license
-     (list
-      ;; ThirdParty
-      license:lgpl2.1+
-      ;; Others
-      license:gpl3+))))
+    (license (list
+              ;; Telegram/ThirdParty/dispatch
+              license:asl2.0
+
+              ;; Telegram/ThirdParty/fcitx-qt5 (platform input context plugin)
+              ;; Telegram/ThirdParty/fcitx5-qt (Fcitx5Qt4DBusAddons library
+              ;; and input context plugin, Fcitx5Qt5DBusAddons library and Qt5
+              ;; platform input context plugin)
+              license:bsd-3
+
+              ;; Telegram/ThirdParty/rlottie/src/vector/pixman
+              ;; Telegram/ThirdParty/rlottie/src/vector/stb
+              ;; Telegram/ThirdParty/rlottie/src/vector/rapidjson
+              license:expat
+
+              ;; Telegram/ThirdParty/rlottie/src/vector/freetype
+              license:freetype
+
+              ;; Telegram/ThirdParty/hime (files not mentioned below)
+              license:lgpl2.1
+
+              ;; Telegram/ThirdParty/fcitx5-qt (files not mentioned above)
+              ;; Telegram/ThirdParty/rlottie
+              ;; Telegram/ThirdParty/rlottie/src/vector
+              license:lgpl2.1+
+
+              ;; Telegram/ThirdParty/nimf
+              ;; Telegram/ThirdParty/tgcalls
+              license:lgpl3
+
+              ;; Telegram/ThirdParty/fcitx-qt5 (files not mentioned above)
+              ;; Telegram/ThirdParty/hime (Qt immodules)
+              license:gpl2
+
+              ;; Others
+              license:gpl3+))))

 (define-public tl-parser
   (let ((commit "1933e76f8f4fb74311be723b432e4c56e3a5ec06")
--
2.37.2




Information forwarded to guix-patches <at> gnu.org:
bug#57655; Package guix-patches. (Thu, 08 Sep 2022 03:31:03 GMT) Full text and rfc822 format available.

Message #26 received at 57655 <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: 57655 <at> debbugs.gnu.org
Subject: Re: [PATCH 5/5 RESEND UNTABIFIED] gnu: telegram-desktop: Update to
 4.1.1.
Date: Thu, 08 Sep 2022 11:29:55 +0800
Sorry that this RESEND one just makes it worse, since lib_base really uses a space before tabs...

Just ignore this patch, if you feel confused, reply me and I'll send another set.




Reply sent to Hilton Chain <hako <at> ultrarare.space>:
You have taken responsibility. (Thu, 08 Sep 2022 04:42:01 GMT) Full text and rfc822 format available.

Notification sent to Hilton Chain <hako <at> ultrarare.space>:
bug acknowledged by developer. (Thu, 08 Sep 2022 04:42:02 GMT) Full text and rfc822 format available.

Message #31 received at 57655-close <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: 57655-close <at> debbugs.gnu.org
Subject: Re: [PATCH 5/5 RESEND UNTABIFIED] gnu: telegram-desktop: Update to
 4.1.1.
Date: Thu, 08 Sep 2022 12:40:33 +0800
There seem to be an encoding issue, adding that I've received a hash-mismatching
report, it's better close this for now...

I'll send v2 once I'd checked again.




Information forwarded to guix-patches <at> gnu.org:
bug#57655; Package guix-patches. (Thu, 08 Sep 2022 14:17:01 GMT) Full text and rfc822 format available.

Message #34 received at 57655 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Hilton Chain <hako <at> ultrarare.space>, 57655 <at> debbugs.gnu.org
Subject: Re: [PATCH 1/5] gnu: Add abseil-cpp-for-webrtc-for-telegram-desktop.
Date: Thu, 08 Sep 2022 16:15:57 +0200
Am Donnerstag, dem 08.09.2022 um 08:56 +0800 schrieb Hilton Chain:
> 
> * gnu/packages/telegram.scm (abseil-cpp-for-webrtc-for-telegram-
> desktop): New
> variable.
> ---
LGTM




Information forwarded to guix-patches <at> gnu.org:
bug#57655; Package guix-patches. (Thu, 08 Sep 2022 14:17:02 GMT) Full text and rfc822 format available.

Message #37 received at 57655 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Hilton Chain <hako <at> ultrarare.space>, 57655 <at> debbugs.gnu.org
Subject: Re: [PATCH 3/5] gnu: Remove rlottie-for-telegram-desktop.
Date: Thu, 08 Sep 2022 16:16:24 +0200
Am Donnerstag, dem 08.09.2022 um 08:58 +0800 schrieb Hilton Chain:
> 
> * gnu/packages/telegram.scm (rlottie-for-telegram-desktop): Delete
> variable.
SGTM but do this only after updating telegram desktop.




Information forwarded to guix-patches <at> gnu.org:
bug#57655; Package guix-patches. (Thu, 08 Sep 2022 14:17:02 GMT) Full text and rfc822 format available.

Message #40 received at 57655 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Hilton Chain <hako <at> ultrarare.space>, 57655 <at> debbugs.gnu.org
Subject: Re: [PATCH 4/5] gnu: Remove libtgvoip-for-telegram-desktop.
Date: Thu, 08 Sep 2022 16:16:47 +0200
Am Donnerstag, dem 08.09.2022 um 08:58 +0800 schrieb Hilton Chain:
> 
> * gnu/packages/telegram.scm (libtgvoip-for-telegram-desktop): Delete
> variable.
Same as for rlottie-for-telegram-desktop.




Information forwarded to guix-patches <at> gnu.org:
bug#57655; Package guix-patches. (Thu, 08 Sep 2022 14:31:02 GMT) Full text and rfc822 format available.

Message #43 received at 57655 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Hilton Chain <hako <at> ultrarare.space>, 57655 <at> debbugs.gnu.org
Subject: Re: [PATCH 2/5] gnu: webrtc-for-telegram-desktop: Update to a5fbc9.
Date: Thu, 08 Sep 2022 16:29:51 +0200
Am Donnerstag, dem 08.09.2022 um 08:57 +0800 schrieb Hilton Chain:
> 
> * gnu/packages/telegram.scm (webrtc-for-telegram-desktop):
> Update to a5fbc9123e056e611e69acf0ceb4252ddd838adb.
> Use abseil-cpp-for-webrtc-for-telegram-desktop for abseil-cpp.
> [patches]:
> Add missing <cstdint.h> header.
> Add flag for disabling X11.
Mention the patches first in the ChangeLog, then you can just say "Add
[patch basename]".
> [snippet]:
> Don't keep these files: openh264, usrsctp, libvpx.
> Remove use of bundled openh264.
Can be shortened to "Remove bundled openh264, ..."
> [#:configure-flags]: Comment out.
> [#:phases]:
> Drop bundled libvpx.
You might want to do this in the snippet.
> Copy crc32c.
> Use cmake tool for compilation and installation (and use ninja).
You should still be able to produce Unix Makefiles with CMake.  If
ninja is really required, invoke it as ninja.
> [inputs]:
> Simplify.
> Drop unneeded inputs.
> Add external-sources variable for managing recursive checkouts.
> Add crc32c.
I think it's wiser to declare the external sources as variables, e.g.
(define libyuv-for-telegram-desktop (origin ...))
and then just refer to those variables in the post-unpack unpack step
via G-Expressions.
> [native-inputs]:
> Add ninja.
> Drop perl.
> [propagated-inputs]: Move libraries also needed by telegram-desktop
> here from
> inputs.
> [license]: Update according to source tree updates.
> 
> * gnu/packages/patches/webrtc-for-telegram-desktop-add-missing-
> cstdint.patch:
> New file.
> * gnu/packages/patches/webrtc-for-telegram-desktop-allow-disabling-
> X11.patch:
> New file.
> * gnu/local.mk: Add patches.
> ---
Please avoid gratuitous newlines in the ChangeLog.

>  gnu/local.mk                                  |   2 +
>  ...telegram-desktop-add-missing-cstdint.patch |  21 +++
>  ...telegram-desktop-allow-disabling-X11.patch | 123 +++++++++++++
>  gnu/packages/telegram.scm                     | 171 ++++++++++------
> --
>  4 files changed, 242 insertions(+), 75 deletions(-)
>  create mode 100644 gnu/packages/patches/webrtc-for-telegram-desktop-
> add-missing-cstdint.patch
>  create mode 100644 gnu/packages/patches/webrtc-for-telegram-desktop-
> allow-disabling-X11.patch
> 
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 19102113c9..d0e5aeb125 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -1966,6 +1966,8 @@ dist_patch_DATA
> =                                         \
>    %D%/packages/patches/warsow-qfusion-fix-bool-return-
> type.patch       \
>    %D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \
>    %D%/packages/patches/webrtc-audio-processing-big-
> endian.patch        \
> +  %D%/packages/patches/webrtc-for-telegram-desktop-add-missing-
> cstdint.patch \
> +  %D%/packages/patches/webrtc-for-telegram-desktop-allow-disabling-
> X11.patch \
>    %D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch    \
>    %D%/packages/patches/widelands-add-missing-map-include.patch \
>    %D%/packages/patches/widelands-system-wide_minizip.patch     \
> diff --git a/gnu/packages/patches/webrtc-for-telegram-desktop-add-
> missing-cstdint.patch b/gnu/packages/patches/webrtc-for-telegram-
> desktop-add-missing-cstdint.patch
> new file mode 100644
> index 0000000000..9dee9cf8e3
> --- /dev/null
> +++ b/gnu/packages/patches/webrtc-for-telegram-desktop-add-missing-
> cstdint.patch
> @@ -0,0 +1,21 @@
> +From 86d2bcd7afb8706663d29e30f65863de5a626142 Mon Sep 17 00:00:00
> 2001
> +From: Xiretza <xiretza <at> xiretza.xyz>
> +Date: Sun, 15 May 2022 12:47:41 +0200
> +Subject: [PATCH] fix(h265_pps_parser): fix missing cstdint include
> +
> +---
> + src/common_video/h265/h265_pps_parser.h | 1 +
> + 1 file changed, 1 insertion(+)
> +
> +diff --git a/src/common_video/h265/h265_pps_parser.h
> b/src/common_video/h265/h265_pps_parser.h
> +index 28c95ea9..c180b1b9 100644
> +--- a/src/common_video/h265/h265_pps_parser.h
> ++++ b/src/common_video/h265/h265_pps_parser.h
> +@@ -12,6 +12,7 @@
> + #define COMMON_VIDEO_H265_PPS_PARSER_H_
> +
> + #include "absl/types/optional.h"
> ++#include <cstdint>
> +
> + namespace rtc {
> + class BitBuffer;
> diff --git a/gnu/packages/patches/webrtc-for-telegram-desktop-allow-
> disabling-X11.patch b/gnu/packages/patches/webrtc-for-telegram-
> desktop-allow-disabling-X11.patch
> new file mode 100644
> index 0000000000..977f72475f
> --- /dev/null
> +++ b/gnu/packages/patches/webrtc-for-telegram-desktop-allow-
> disabling-X11.patch
> @@ -0,0 +1,123 @@
> +Add -DTG_OWT_USE_X11
> +
> +Allows disabling X11 desktop capturing independently of pipewire
> support, for
> +the few people that run wayland without any X11 support whatsoever.
> +
> +This setup is untested, but supported by the GNI build system, see:
> +* src/modules/desktop_capture/BUILD.gn (option
> rtc_use_x11_extensions)
> +
> +Toggling the WEBRTC_USE_X11 define also affects some files under
> +src/modules/audio_device, but that falls under "X11 support",
> regardless...
> +
> +diff --git a/CMakeLists.txt b/CMakeLists.txt
> +index 2e081ae7..c269177b 100644
> +--- a/CMakeLists.txt
> ++++ b/CMakeLists.txt
> +@@ -24,13 +24,14 @@ endif()
> +
> + option(BUILD_SHARED_LIBS "Builds shared libraries instead of
> static." OFF)
> + option(TG_OWT_USE_PROTOBUF "Use protobuf to generate additional
> headers. Useful for packaged build." ${BUILD_SHARED_LIBS})
> ++cmake_dependent_option(TG_OWT_USE_X11 "Use X11 for desktop capture
> on non-Apple Unix."  ON "UNIX; NOT APPLE" OFF)
> + cmake_dependent_option(TG_OWT_USE_PIPEWIRE "Use pipewire for
> desktop capture." ON "UNIX; NOT APPLE" OFF)
> + cmake_dependent_option(TG_OWT_DLOPEN_PIPEWIRE "dlopen pipewire for
> desktop capture." ${not_packaged_build} TG_OWT_USE_PIPEWIRE OFF)
> + option(TG_OWT_BUILD_AUDIO_BACKENDS "Build webrtc audio backends."
> OFF)
> +
> + if (BUILD_SHARED_LIBS)
> +     set(CMAKE_POSITION_INDEPENDENT_CODE ON)
> +-    message(WARNING
> ++    message(DEBUG
> +         "tg_owt is a fork of Google's webrtc library and is
> developed by them as a static library without stable ABI in mind."
> +         "The feature of building tg_owt as a shared library is
> community maintained, it may and will break at any time without
> guarantee to work again."
> +         "Please reconsider your decision. Good luck."
> +@@ -96,6 +97,10 @@ endif()
> + add_library(tg_owt)
> + init_target(tg_owt)
> +
> ++if (TG_OWT_USE_X11)
> ++    link_x11(tg_owt)
> ++endif()
> ++
> + if (TG_OWT_USE_PIPEWIRE)
> +     if (TG_OWT_DLOPEN_PIPEWIRE)
> +         include(cmake/generate_stubs.cmake)
> +@@ -188,10 +193,6 @@ endif()
> + include(cmake/libwebrtcbuild.cmake)
> + target_link_libraries(tg_owt PUBLIC tg_owt::libwebrtcbuild)
> +
> +-if (UNIX AND NOT APPLE)
> +-    link_x11(tg_owt)
> +-endif()
> +-
> + function(add_sublibrary postfix)
> +     add_library(tg_owt_${postfix} OBJECT)
> +     init_feature_target(tg_owt_${postfix} ${postfix})
> +@@ -2369,6 +2370,39 @@ if (NOT TG_OWT_USE_PROTOBUF)
> +     )
> + endif()
> +
> ++if (NOT TG_OWT_USE_X11)
> ++    remove_target_sources(tg_owt ${webrtc_loc}
> ++        # src/modules/desktop_capture/BUILD.gn
> (rtc_use_x11_extensions)
> ++       
> modules/desktop_capture/linux/x11/mouse_cursor_monitor_x11.cc
> ++       
> modules/desktop_capture/linux/x11/mouse_cursor_monitor_x11.h
> ++        modules/desktop_capture/linux/x11/screen_capturer_x11.cc
> ++        modules/desktop_capture/linux/x11/screen_capturer_x11.h
> ++        modules/desktop_capture/linux/x11/shared_x_display.cc
> ++        modules/desktop_capture/linux/x11/shared_x_display.h
> ++        modules/desktop_capture/linux/x11/window_capturer_x11.cc
> ++        modules/desktop_capture/linux/x11/window_capturer_x11.h
> ++        modules/desktop_capture/linux/x11/window_finder_x11.cc
> ++        modules/desktop_capture/linux/x11/window_finder_x11.h
> ++        modules/desktop_capture/linux/x11/window_list_utils.cc
> ++        modules/desktop_capture/linux/x11/window_list_utils.h
> ++        modules/desktop_capture/linux/x11/x_atom_cache.cc
> ++        modules/desktop_capture/linux/x11/x_atom_cache.h
> ++        modules/desktop_capture/linux/x11/x_error_trap.cc
> ++        modules/desktop_capture/linux/x11/x_error_trap.h
> ++        modules/desktop_capture/linux/x11/x_server_pixel_buffer.cc
> ++        modules/desktop_capture/linux/x11/x_server_pixel_buffer.h
> ++        modules/desktop_capture/linux/x11/x_window_property.cc
> ++        modules/desktop_capture/linux/x11/x_window_property.h
> ++
> ++        # screen_drawer_linux.cc depends on x11, rest are revdeps
> ++        modules/desktop_capture/screen_drawer.cc
> ++        modules/desktop_capture/screen_drawer.h
> ++        modules/desktop_capture/screen_drawer_linux.cc
> ++        modules/desktop_capture/screen_drawer_lock_posix.cc
> ++        modules/desktop_capture/screen_drawer_lock_posix.h
> ++    )
> ++endif()
> ++
> + if (NOT TG_OWT_USE_PIPEWIRE)
> +     remove_target_sources(tg_owt ${webrtc_loc}
> +        
> modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc
> +diff --git a/cmake/libwebrtcbuild.cmake b/cmake/libwebrtcbuild.cmake
> +index 4d037f4b..388b7aa9 100644
> +--- a/cmake/libwebrtcbuild.cmake
> ++++ b/cmake/libwebrtcbuild.cmake
> +@@ -29,6 +29,13 @@ INTERFACE
> +     BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=0
> + )
> +
> ++if (TG_OWT_USE_X11)
> ++    target_compile_definitions(libwebrtcbuild
> ++    INTERFACE
> ++        WEBRTC_USE_X11
> ++    )
> ++endif()
> ++
> + if (TG_OWT_USE_PIPEWIRE)
> +     target_compile_definitions(libwebrtcbuild
> +     INTERFACE
> +@@ -65,11 +72,6 @@ else()
> +         INTERFACE
> +             WEBRTC_MAC
> +         )
> +-    else()
> +-        target_compile_definitions(libwebrtcbuild
> +-        INTERFACE
> +-            WEBRTC_USE_X11
> +-        )
> +     endif()
> +
> +     if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
> diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
> index 25d6a3e226..d339bae017 100644
> --- a/gnu/packages/telegram.scm
> +++ b/gnu/packages/telegram.scm
> @@ -30,6 +30,7 @@ (define-module (gnu packages telegram)
>    #:use-module (gnu packages digest)
>    #:use-module (gnu packages fcitx)
>    #:use-module (gnu packages fcitx5)
> +  #:use-module (gnu packages gl)
>    #:use-module (gnu packages glib)
>    #:use-module (gnu packages gnome)
>    #:use-module (gnu packages gnupg)
> @@ -43,6 +44,7 @@ (define-module (gnu packages telegram)
>    #:use-module (gnu packages linux)
>    #:use-module (gnu packages lxqt)
>    #:use-module (gnu packages lua)
> +  #:use-module (gnu packages ninja)
>    #:use-module (gnu packages perl)
>    #:use-module (gnu packages pkg-config)
>    #:use-module (gnu packages protobuf)
> @@ -58,11 +60,13 @@ (define-module (gnu packages telegram)
>    #:use-module (gnu packages tls)
>    #:use-module (gnu packages video)
>    #:use-module (gnu packages web)
> +  #:use-module (gnu packages xdisorg)
>    #:use-module (gnu packages xiph)
>    #:use-module (gnu packages xorg)
>    #:use-module ((guix licenses) #:prefix license:)
>    #:use-module (guix packages)
>    #:use-module (guix utils)
> +  #:use-module (guix gexp)
>    #:use-module (guix git-download)
>    #:use-module (guix build-system cmake)
>    #:use-module (guix build-system copy)
> @@ -83,9 +87,12 @@ (define-public abseil-cpp-for-webrtc-for-telegram-
> desktop
>            ((#:configure-flags flags)
>             `(cons* "-DCMAKE_CXX_STANDARD=17" ,flags))))))))
> 
> +;; NOTE: Here's Telegram Desktop's official build guide.
> +;;
> https://github.com/telegramdesktop/tdesktop/wiki/The-Packaged-Building-Mode
>  (define-public webrtc-for-telegram-desktop
> -  (let ((commit "91d836dc84a16584c6ac52b36c04c0de504d9c34")
> -        (revision "166"))
> +  (let ((abseil-cpp abseil-cpp-for-webrtc-for-telegram-desktop)
> +        (commit "a5fbc9123e056e611e69acf0ceb4252ddd838adb")
> +        (revision "167"))
>      (hidden-package
>       (package
>         (name "webrtc-for-telegram-desktop")
> @@ -96,94 +103,110 @@ (define-public webrtc-for-telegram-desktop
>            (method git-fetch)
>            (uri
>             (git-reference
> -            (url "https://github.com/desktop-app/tg_owt.git")
> +            (url "https://github.com/desktop-app/tg_owt")
>              (commit commit)))
>            (file-name
>             (git-file-name name version))
>            (sha256
> -           (base32
> "0plwdp6xgxi27hif5j7kpq425cidxyxbbga3z2f64dsninwy5p1x"))
> +           (base32
> "12qirihhabv46vn27dpw7dz0smlngb7wqjpypa9fm6k2zvf5py32"))
>            (modules '((guix build utils)
>                       (ice-9 ftw)
>                       (srfi srfi-1)))
> +          (patches
> +           (search-patches
> +            ;; https://github.com/desktop-app/tg_owt/pull/101
> +            "webrtc-for-telegram-desktop-add-missing-cstdint.patch"
> +            ;; Picked from Gentoo's repository.
> +            ;; TODO: There's also a patch for using standalone
> crc32c, we can
> +            ;; grab that patch once crc32c's been packaged.
> +            "webrtc-for-telegram-desktop-allow-disabling-
> X11.patch"))
>            (snippet
>             `(begin
>                (let ((keep
> -                     '( ;; Custom forks which are incompatible with
> the ones in Guix.
> -                       "abseil-cpp" "libsrtp" "openh264" "rnnoise"
> +                     '(;; Custom forks which are incompatible with
> the ones in Guix.
> +                       "abseil-cpp" "libsrtp" "rnnoise"
>                         ;; Not available in Guix.
> -                       "pffft" "usrsctp"
> -                       ;; Has cmake support files for libvpx input.
> -                       "libvpx")))
> +                       "pffft")))
>                  (with-directory-excursion "src/third_party"
>                    (for-each delete-file-recursively
>                              (lset-difference string=?
>                                               (scandir ".")
> -                                             (cons* "." ".."
> keep))))
> -                #t)))))
> +                                             (cons* "." ".."
> keep)))))
> +              ;; Force using standalone openh264.
> +              (substitute* "CMakeLists.txt"
> +               
> (("\\include\\(cmake\\/libopenh264\\.cmake\\)")""))))))
>         (build-system cmake-build-system)
>         (arguments
> -        `(#:tests? #f                   ; No target
> -          #:configure-flags
> -          (list
> -           "-DCMAKE_C_FLAGS=-fPIC"
> -           "-DCMAKE_CXX_FLAGS=-fPIC")
> -          #:phases
> -          (modify-phases %standard-phases
> -            (add-after 'unpack 'copy-inputs
> -              (lambda* (#:key inputs outputs #:allow-other-keys)
> -                (let* ((libvpx-from (assoc-ref inputs "libvpx"))
> -                       (libyuv-from (assoc-ref inputs "libyuv"))
> -                       (libvpx-to (string-append (getcwd)
> -                                                
> "/src/third_party/libvpx/source/libvpx"))
> -                       (libyuv-to (string-append (getcwd)
> -                                                
> "/src/third_party/libyuv")))
> -                  (copy-recursively libvpx-from libvpx-to)
> -                  (copy-recursively libyuv-from libyuv-to))
> -                #t)))))
> -       (native-inputs
> -        `(("perl" ,perl)
> -          ("pkg-config" ,pkg-config)
> -          ("python" ,python-wrapper)
> -          ("yasm" ,yasm)))
> +        (list #:tests? #f                   ; No target
> +              ;; NOTE: Options commented are default values.
> +              ;; See also: comments in inputs.
> +              ;; #:configure-flags
> +              ;; #~'("-DTG_OWT_USE_PIPEWIRE=ON"
> +              ;;     "-DTG_OWT_USE_X11=ON"
> +              ;;     "-DTG_OWT_USE_PROTOBUF=ON")
> +              #:phases
> +              #~(modify-phases %standard-phases
> +                  (add-after 'unpack 'copy-inputs
> +                    (lambda* (#:key inputs outputs #:allow-other-
> keys)
> +                      (let* ((libyuv-from (assoc-ref inputs
> "libyuv"))
> +                             (crc32c-from (assoc-ref inputs
> "crc32c"))
> +                             (libyuv-to (string-append (getcwd)
> +                                                      
> "/src/third_party/libyuv"))
> +                             (crc32c-to (string-append (getcwd)
> +                                                      
> "/src/third_party/crc32c/src")))
> +                        (copy-recursively libyuv-from libyuv-to)
> +                        (copy-recursively crc32c-from crc32c-to))))
> +                  (replace 'build
> +                    (lambda* (#:key (make-flags '()) (parallel-
> build? #t)
> +                              #:allow-other-keys)
> +                      (apply invoke "cmake" "--build" "."
> +                             `(,@(if parallel-build?
> +                                     `("-j" ,(number->string
> (parallel-job-count)))
> +                                     '())
> +                               ,@make-flags))))
> +                  (replace 'install
> +                    (lambda* (#:key (make-flags '()) #:allow-other-
> keys)
> +                      (apply invoke "cmake" "--install" "." make-
> flags))))))
>         (inputs
> -        `(("alsa" ,alsa-lib)
> -          ("ffmpeg" ,ffmpeg)
> -          ("libjpeg" ,libjpeg-turbo)
> -          ("glib" ,glib)
> -          ("libvpx"
> -           ,(origin
> -              (method git-fetch)
> -              (uri
> -               (git-reference
> -                (url
> "https://chromium.googlesource.com/webm/libvpx")
> -                (commit
> "5b63f0f821e94f8072eb483014cfc33b05978bb9")))
> -              (file-name
> -               (git-file-name "libvpx-for-webrtc-for-telegram-
> desktop" version))
> -              (sha256
> -               (base32
> "1psvxaddihlw1k5n0anxif3qli6zyw2sa2ywn6mkb8six9myrp68"))))
> -          ("libyuv"
> -           ,(origin
> -              (method git-fetch)
> -              (uri
> -               (git-reference
> -                (url
> "https://chromium.googlesource.com/libyuv/libyuv")
> -                (commit
> "ad890067f661dc747a975bc55ba3767fe30d4452")))
> -              (file-name
> -               (git-file-name "libyuv-for-webrtc-for-telegram-
> desktop" version))
> -              (sha256
> -               (base32
> "01knnk4h247rq536097n9n3s3brxlbby3nv3ppdgsqfda3k159ll"))))
> -          ("libxcomposite" ,libxcomposite)
> -          ("libxdamage" ,libxdamage)
> -          ("libxrender" ,libxrender)
> -          ("libxrandr" ,libxrandr)
> -          ("openssl" ,openssl)
> -          ("opus" ,opus)
> -          ("pipewire" ,pipewire)
> -          ("protobuf" ,protobuf)
> -          ("pulseaudio" ,pulseaudio)
> -          ("x11" ,libx11)
> -          ("xext" ,libxext)
> -          ("xtst" ,libxtst)))
> +        (let ((external-sources
> +               `(("libyuv"
> +                  ,(origin
> +                     (method git-fetch)
> +                     (uri (git-reference
> +                           (url
> "https://chromium.googlesource.com/libyuv/libyuv")
> +                           (commit
> "ad890067f661dc747a975bc55ba3767fe30d4452")))
> +                     (file-name
> +                      (git-file-name "libyuv-for-webrtc-for-
> telegram-desktop" version))
> +                     (sha256
> +                      (base32
> "01knnk4h247rq536097n9n3s3brxlbby3nv3ppdgsqfda3k159ll"))))
> +                 ("crc32c"
> +                  ,(origin
> +                     (method git-fetch)
> +                     (uri (git-reference
> +                           (url "https://github.com/google/crc32c")
> +                           (commit
> "21fc8ef30415a635e7351ffa0e5d5367943d4a94")))
> +                     (file-name
> +                      (git-file-name "crc32c-for-webrtc-for-
> telegram-desktop" version))
> +                     (sha256
> +                      (base32
> "0cddf8z7v33gfb2k60lkzwa97g20m1v81cnvllm3q9ylpnx8g6f4")))))))
> +          (modify-inputs external-sources
> +            (prepend openh264           ;Required
> +                     protobuf           ;TG_OWT_USE_PROTOBUF
> +                     glib               ;TG_OWT_USE_PIPEWIRE
> +                     libdrm
> +                     libglvnd
> +                     mesa
> +                     pipewire-0.3
> +                     libxcomposite      ;TG_OWT_USE_X11
> +                     libxdamage
> +                     libxext
> +                     libxfixes
> +                     libxrandr
> +                     libxrender
> +                     libxtst))))
> +       (native-inputs (list ninja python-wrapper pkg-config yasm))
> +       (propagated-inputs
> +        (list abseil-cpp ffmpeg libjpeg-turbo libvpx openssl opus))
Avoid propagating inputs.  Instead patch invocations where needed.
>         (synopsis "WebRTC support for Telegram Desktop")
>         (description "WebRTC-for-Telegram-Desktop is a custom WebRTC
> fork by
>  Telegram project, for its use in telegram desktop client.")
> @@ -194,13 +217,11 @@ (define-public webrtc-for-telegram-desktop
>           license:asl2.0
>           ;; LibYuv
>           (license:non-copyleft
> "file:///src/third_party/libyuv/LICENSE")
> -         ;; OpenH264
> -         license:bsd-2
>           ;; PFFFT
>           (license:non-copyleft
> "file:///src/third_party/pffft/LICENSE")
>           ;; RnNoise
>           license:gpl3
> -         ;; LibSRTP, LibVPx, UsrSCTP and Others
> +         ;; LibSRTP, Crc32c and Others
>           license:bsd-3))))))
> 
>  (define-public rlottie-for-telegram-desktop
> --
> 2.37.2
> 
Cheers




Information forwarded to guix-patches <at> gnu.org:
bug#57655; Package guix-patches. (Thu, 08 Sep 2022 14:55:02 GMT) Full text and rfc822 format available.

Message #46 received at 57655 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Hilton Chain <hako <at> ultrarare.space>, 57655 <at> debbugs.gnu.org
Subject: Re: [PATCH 5/5] gnu: telegram-desktop: Update to 4.1.1.
Date: Thu, 08 Sep 2022 16:54:05 +0200
Am Donnerstag, dem 08.09.2022 um 08:59 +0800 schrieb Hilton Chain:
> 
> * gnu/packages/telegram.scm (telegram-desktop): Update to 4.1.1.
> [snippet]:
> Don't keep SPMediaKeyTap and statusnotifieritem as they'd got removed
> from
> upstream.
> Keep rlottie, libtgvoip and dispatch.
Why keep rlottie and libtgvoip?  We had packages for those (which fair
enough, you removed, but still...)
> [#:configure-flags]:
> Comment out to default value
> Use API id from official Snap builds.
SGTM.
> Enable DESKTOP_APP_USE_PACKAGED_LAZY, which is suitable for default
> configuration as it'll bundle as many features as possible.
> [#:phases]:
> Copy dispatch, fcitx-qt5, fcitx5-qt, hime, nimf, rlottie and
> libtgvoip.
We should *unbundle* those, not make the bundling worse.
> Remove phase patch-cxx-flags, as that string's not there any more.
> Replace build and install phases with ones that use cmake tools.
Like with webrtc, use ninja if you like it better, but prefer invoking
it as ninja :)
> [native-inputs]
> Add variable external-sources for managing recursive checkouts.
> Bump cmake-helpers to source checkout-ed commit.
> Add ninja and clang-toolchain.
> [inputs]
> Add variable external-sources for managing recursive checkouts.
> Add dispatch, fcitx-qt5, fcitx5-qt, hime, nimf, rlottie, libtgvoip to
> external-sources.
> Bump codegen, lib_base, lib_crl, lib_lottie, lib_qr, lib_rpl,
> lib_spellcheck,
> lib_storage, lib_tl, lib_ui, lib_waylandshells, lib_webrtc,
> lib_webview and
> tgcalls to source checkout-ed commit.
> Add patch for lib_base to support musl compilation.
> Style adjustment.
I didn't mention this in 2/5, but try separating style changes from
code changes.
> [license]
> Update with source tree changes.
> 
> * gnu/packages/patches/lib-base-for-telegram-desktop-support-
> musl.patch: New
> file.
> * gnu/local.mk: Add patch.
> ---
Again, avoid gratuitous vertical spaces, mention patches by name, yadda
yadda.


So I'm aware you're going to do a v2 anyway due to some tabs vs spaces
issue, but I wanted you to know that there are more things to fix :)

Cheers




Information forwarded to guix-patches <at> gnu.org:
bug#57655; Package guix-patches. (Thu, 08 Sep 2022 15:30:01 GMT) Full text and rfc822 format available.

Message #49 received at 57655 <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Cc: 57655 <at> debbugs.gnu.org
Subject: Re: [PATCH 5/5] gnu: telegram-desktop: Update to 4.1.1.
Date: Thu, 08 Sep 2022 23:28:34 +0800
> Why keep rlottie and libtgvoip?  We had packages for those (which fair
> enough, you removed, but still...)

Telegram uses their own fork for these two.. (*_*)

A lot to learn! Also a great learning chance. :)

It's a bit late at my place, changes would come tommorrow. (^>^)

Thanks!




Information forwarded to guix-patches <at> gnu.org:
bug#57655; Package guix-patches. (Thu, 08 Sep 2022 16:18:02 GMT) Full text and rfc822 format available.

Message #52 received at 57655 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Hilton Chain <hako <at> ultrarare.space>
Cc: 57655 <at> debbugs.gnu.org
Subject: Re: [PATCH 5/5] gnu: telegram-desktop: Update to 4.1.1.
Date: Thu, 08 Sep 2022 18:17:00 +0200
Am Donnerstag, dem 08.09.2022 um 23:28 +0800 schrieb Hilton Chain:
> > Why keep rlottie and libtgvoip?  We had packages for those (which
> > fair
> > enough, you removed, but still...)
> 
> Telegram uses their own fork for these two.. (*_*)
We hitherto built those forks outside of telegram.  Is this no longer
possible?





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 07 Oct 2022 11:24:10 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 202 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.