* [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 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
* [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 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 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 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
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 external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.