unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#57655] [PATCH 0/5] gnu: telegram-desktop: Update to 4.1.1.
@ 2022-09-08  0:54 Hilton Chain via Guix-patches via
  2022-09-08  0:56 ` [bug#57655] [PATCH 1/5] gnu: Add abseil-cpp-for-webrtc-for-telegram-desktop Hilton Chain via Guix-patches via
  0 siblings, 1 reply; 16+ messages in thread
From: Hilton Chain via Guix-patches via @ 2022-09-08  0:54 UTC (permalink / raw)
  To: 57655

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




^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#57655] [PATCH 1/5] gnu: Add abseil-cpp-for-webrtc-for-telegram-desktop.
  2022-09-08  0:54 [bug#57655] [PATCH 0/5] gnu: telegram-desktop: Update to 4.1.1 Hilton Chain via Guix-patches via
@ 2022-09-08  0:56 ` Hilton Chain via Guix-patches via
  2022-09-08  0:57   ` [bug#57655] [PATCH 2/5] gnu: webrtc-for-telegram-desktop: Update to a5fbc9 Hilton Chain via Guix-patches via
  2022-09-08 14:15   ` [bug#57655] [PATCH 1/5] gnu: Add abseil-cpp-for-webrtc-for-telegram-desktop Liliana Marie Prikler
  0 siblings, 2 replies; 16+ messages in thread
From: Hilton Chain via Guix-patches via @ 2022-09-08  0:56 UTC (permalink / raw)
  To: 57655


* 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





^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [bug#57655] [PATCH 2/5] gnu: webrtc-for-telegram-desktop: Update to a5fbc9.
  2022-09-08  0:56 ` [bug#57655] [PATCH 1/5] gnu: Add abseil-cpp-for-webrtc-for-telegram-desktop Hilton Chain via Guix-patches via
@ 2022-09-08  0:57   ` Hilton Chain via Guix-patches via
  2022-09-08  0:58     ` [bug#57655] [PATCH 3/5] gnu: Remove rlottie-for-telegram-desktop Hilton Chain via Guix-patches via
  2022-09-08 14:29     ` [bug#57655] [PATCH 2/5] gnu: webrtc-for-telegram-desktop: Update to a5fbc9 Liliana Marie Prikler
  2022-09-08 14:15   ` [bug#57655] [PATCH 1/5] gnu: Add abseil-cpp-for-webrtc-for-telegram-desktop Liliana Marie Prikler
  1 sibling, 2 replies; 16+ messages in thread
From: Hilton Chain via Guix-patches via @ 2022-09-08  0:57 UTC (permalink / raw)
  To: 57655


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




^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [bug#57655] [PATCH 3/5] gnu: Remove rlottie-for-telegram-desktop.
  2022-09-08  0:57   ` [bug#57655] [PATCH 2/5] gnu: webrtc-for-telegram-desktop: Update to a5fbc9 Hilton Chain via Guix-patches via
@ 2022-09-08  0:58     ` Hilton Chain via Guix-patches via
  2022-09-08  0:58       ` [bug#57655] [PATCH 4/5] gnu: Remove libtgvoip-for-telegram-desktop Hilton Chain via Guix-patches via
  2022-09-08 14:16       ` [bug#57655] [PATCH 3/5] gnu: Remove rlottie-for-telegram-desktop Liliana Marie Prikler
  2022-09-08 14:29     ` [bug#57655] [PATCH 2/5] gnu: webrtc-for-telegram-desktop: Update to a5fbc9 Liliana Marie Prikler
  1 sibling, 2 replies; 16+ messages in thread
From: Hilton Chain via Guix-patches via @ 2022-09-08  0:58 UTC (permalink / raw)
  To: 57655


* 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





^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [bug#57655] [PATCH 4/5] gnu: Remove libtgvoip-for-telegram-desktop.
  2022-09-08  0:58     ` [bug#57655] [PATCH 3/5] gnu: Remove rlottie-for-telegram-desktop Hilton Chain via Guix-patches via
@ 2022-09-08  0:58       ` Hilton Chain via Guix-patches via
  2022-09-08  0:59         ` [bug#57655] [PATCH 5/5] gnu: telegram-desktop: Update to 4.1.1 Hilton Chain via Guix-patches via
  2022-09-08 14:16         ` [bug#57655] [PATCH 4/5] gnu: Remove libtgvoip-for-telegram-desktop Liliana Marie Prikler
  2022-09-08 14:16       ` [bug#57655] [PATCH 3/5] gnu: Remove rlottie-for-telegram-desktop Liliana Marie Prikler
  1 sibling, 2 replies; 16+ messages in thread
From: Hilton Chain via Guix-patches via @ 2022-09-08  0:58 UTC (permalink / raw)
  To: 57655


* 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




^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [bug#57655] [PATCH 5/5] gnu: telegram-desktop: Update to 4.1.1.
  2022-09-08  0:58       ` [bug#57655] [PATCH 4/5] gnu: Remove libtgvoip-for-telegram-desktop Hilton Chain via Guix-patches via
@ 2022-09-08  0:59         ` Hilton Chain via Guix-patches via
  2022-09-08  3:10           ` [bug#57655] [PATCH 5/5 RESEND UNTABIFIED] " Hilton Chain via Guix-patches via
  2022-09-08 14:54           ` [bug#57655] [PATCH 5/5] " Liliana Marie Prikler
  2022-09-08 14:16         ` [bug#57655] [PATCH 4/5] gnu: Remove libtgvoip-for-telegram-desktop Liliana Marie Prikler
  1 sibling, 2 replies; 16+ messages in thread
From: Hilton Chain via Guix-patches via @ 2022-09-08  0:59 UTC (permalink / raw)
  To: 57655


* 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@raghavgururajan.name>
+;;; Copyright © 2022 Hilton Chain <hako@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@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




^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [bug#57655] [PATCH 5/5 RESEND UNTABIFIED] gnu: telegram-desktop: Update to 4.1.1.
  2022-09-08  0:59         ` [bug#57655] [PATCH 5/5] gnu: telegram-desktop: Update to 4.1.1 Hilton Chain via Guix-patches via
@ 2022-09-08  3:10           ` Hilton Chain via Guix-patches via
  2022-09-08  3:29             ` Hilton Chain via Guix-patches via
  2022-09-08 14:54           ` [bug#57655] [PATCH 5/5] " Liliana Marie Prikler
  1 sibling, 1 reply; 16+ messages in thread
From: Hilton Chain via Guix-patches via @ 2022-09-08  3:10 UTC (permalink / raw)
  To: 57655


* 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@raghavgururajan.name>
+;;; Copyright © 2022 Hilton Chain <hako@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@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




^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [bug#57655] [PATCH 5/5 RESEND UNTABIFIED] gnu: telegram-desktop: Update to 4.1.1.
  2022-09-08  3:10           ` [bug#57655] [PATCH 5/5 RESEND UNTABIFIED] " Hilton Chain via Guix-patches via
@ 2022-09-08  3:29             ` Hilton Chain via Guix-patches via
  2022-09-08  4:40               ` bug#57655: " Hilton Chain via Guix-patches via
  0 siblings, 1 reply; 16+ messages in thread
From: Hilton Chain via Guix-patches via @ 2022-09-08  3:29 UTC (permalink / raw)
  To: 57655


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.




^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#57655: [PATCH 5/5 RESEND UNTABIFIED] gnu: telegram-desktop: Update to 4.1.1.
  2022-09-08  3:29             ` Hilton Chain via Guix-patches via
@ 2022-09-08  4:40               ` Hilton Chain via Guix-patches via
  0 siblings, 0 replies; 16+ messages in thread
From: Hilton Chain via Guix-patches via @ 2022-09-08  4:40 UTC (permalink / raw)
  To: 57655-close


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.




^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#57655] [PATCH 1/5] gnu: Add abseil-cpp-for-webrtc-for-telegram-desktop.
  2022-09-08  0:56 ` [bug#57655] [PATCH 1/5] gnu: Add abseil-cpp-for-webrtc-for-telegram-desktop Hilton Chain via Guix-patches via
  2022-09-08  0:57   ` [bug#57655] [PATCH 2/5] gnu: webrtc-for-telegram-desktop: Update to a5fbc9 Hilton Chain via Guix-patches via
@ 2022-09-08 14:15   ` Liliana Marie Prikler
  1 sibling, 0 replies; 16+ messages in thread
From: Liliana Marie Prikler @ 2022-09-08 14:15 UTC (permalink / raw)
  To: Hilton Chain, 57655

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




^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#57655] [PATCH 3/5] gnu: Remove rlottie-for-telegram-desktop.
  2022-09-08  0:58     ` [bug#57655] [PATCH 3/5] gnu: Remove rlottie-for-telegram-desktop Hilton Chain via Guix-patches via
  2022-09-08  0:58       ` [bug#57655] [PATCH 4/5] gnu: Remove libtgvoip-for-telegram-desktop Hilton Chain via Guix-patches via
@ 2022-09-08 14:16       ` Liliana Marie Prikler
  1 sibling, 0 replies; 16+ messages in thread
From: Liliana Marie Prikler @ 2022-09-08 14:16 UTC (permalink / raw)
  To: Hilton Chain, 57655

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.




^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#57655] [PATCH 4/5] gnu: Remove libtgvoip-for-telegram-desktop.
  2022-09-08  0:58       ` [bug#57655] [PATCH 4/5] gnu: Remove libtgvoip-for-telegram-desktop Hilton Chain via Guix-patches via
  2022-09-08  0:59         ` [bug#57655] [PATCH 5/5] gnu: telegram-desktop: Update to 4.1.1 Hilton Chain via Guix-patches via
@ 2022-09-08 14:16         ` Liliana Marie Prikler
  1 sibling, 0 replies; 16+ messages in thread
From: Liliana Marie Prikler @ 2022-09-08 14:16 UTC (permalink / raw)
  To: Hilton Chain, 57655

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.




^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#57655] [PATCH 2/5] gnu: webrtc-for-telegram-desktop: Update to a5fbc9.
  2022-09-08  0:57   ` [bug#57655] [PATCH 2/5] gnu: webrtc-for-telegram-desktop: Update to a5fbc9 Hilton Chain via Guix-patches via
  2022-09-08  0:58     ` [bug#57655] [PATCH 3/5] gnu: Remove rlottie-for-telegram-desktop Hilton Chain via Guix-patches via
@ 2022-09-08 14:29     ` Liliana Marie Prikler
  1 sibling, 0 replies; 16+ messages in thread
From: Liliana Marie Prikler @ 2022-09-08 14:29 UTC (permalink / raw)
  To: Hilton Chain, 57655

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@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




^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#57655] [PATCH 5/5] gnu: telegram-desktop: Update to 4.1.1.
  2022-09-08  0:59         ` [bug#57655] [PATCH 5/5] gnu: telegram-desktop: Update to 4.1.1 Hilton Chain via Guix-patches via
  2022-09-08  3:10           ` [bug#57655] [PATCH 5/5 RESEND UNTABIFIED] " Hilton Chain via Guix-patches via
@ 2022-09-08 14:54           ` Liliana Marie Prikler
  2022-09-08 15:28             ` Hilton Chain via Guix-patches via
  1 sibling, 1 reply; 16+ messages in thread
From: Liliana Marie Prikler @ 2022-09-08 14:54 UTC (permalink / raw)
  To: Hilton Chain, 57655

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




^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#57655] [PATCH 5/5] gnu: telegram-desktop: Update to 4.1.1.
  2022-09-08 14:54           ` [bug#57655] [PATCH 5/5] " Liliana Marie Prikler
@ 2022-09-08 15:28             ` Hilton Chain via Guix-patches via
  2022-09-08 16:17               ` Liliana Marie Prikler
  0 siblings, 1 reply; 16+ messages in thread
From: Hilton Chain via Guix-patches via @ 2022-09-08 15:28 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: 57655

> 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!




^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#57655] [PATCH 5/5] gnu: telegram-desktop: Update to 4.1.1.
  2022-09-08 15:28             ` Hilton Chain via Guix-patches via
@ 2022-09-08 16:17               ` Liliana Marie Prikler
  0 siblings, 0 replies; 16+ messages in thread
From: Liliana Marie Prikler @ 2022-09-08 16:17 UTC (permalink / raw)
  To: Hilton Chain; +Cc: 57655

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?





^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2022-09-08 16:26 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-08  0:54 [bug#57655] [PATCH 0/5] gnu: telegram-desktop: Update to 4.1.1 Hilton Chain via Guix-patches via
2022-09-08  0:56 ` [bug#57655] [PATCH 1/5] gnu: Add abseil-cpp-for-webrtc-for-telegram-desktop Hilton Chain via Guix-patches via
2022-09-08  0:57   ` [bug#57655] [PATCH 2/5] gnu: webrtc-for-telegram-desktop: Update to a5fbc9 Hilton Chain via Guix-patches via
2022-09-08  0:58     ` [bug#57655] [PATCH 3/5] gnu: Remove rlottie-for-telegram-desktop Hilton Chain via Guix-patches via
2022-09-08  0:58       ` [bug#57655] [PATCH 4/5] gnu: Remove libtgvoip-for-telegram-desktop Hilton Chain via Guix-patches via
2022-09-08  0:59         ` [bug#57655] [PATCH 5/5] gnu: telegram-desktop: Update to 4.1.1 Hilton Chain via Guix-patches via
2022-09-08  3:10           ` [bug#57655] [PATCH 5/5 RESEND UNTABIFIED] " Hilton Chain via Guix-patches via
2022-09-08  3:29             ` Hilton Chain via Guix-patches via
2022-09-08  4:40               ` bug#57655: " Hilton Chain via Guix-patches via
2022-09-08 14:54           ` [bug#57655] [PATCH 5/5] " Liliana Marie Prikler
2022-09-08 15:28             ` Hilton Chain via Guix-patches via
2022-09-08 16:17               ` Liliana Marie Prikler
2022-09-08 14:16         ` [bug#57655] [PATCH 4/5] gnu: Remove libtgvoip-for-telegram-desktop Liliana Marie Prikler
2022-09-08 14:16       ` [bug#57655] [PATCH 3/5] gnu: Remove rlottie-for-telegram-desktop Liliana Marie Prikler
2022-09-08 14:29     ` [bug#57655] [PATCH 2/5] gnu: webrtc-for-telegram-desktop: Update to a5fbc9 Liliana Marie Prikler
2022-09-08 14:15   ` [bug#57655] [PATCH 1/5] gnu: Add abseil-cpp-for-webrtc-for-telegram-desktop Liliana Marie Prikler

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).