summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorHilton Chain <hako@ultrarare.space>2022-09-26 21:31:12 +0800
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2022-09-28 20:22:38 +0200
commitadc3b7d31da74aab2f97d109d9f47b1f09789377 (patch)
tree7618b07eee46105e49f4ced55f0d5e3c58a0f9ee /gnu
parentdc07a4ce6c34c2b61d0713a4a6ed89bc128783b4 (diff)
downloadguix-adc3b7d31da74aab2f97d109d9f47b1f09789377.tar.gz
gnu: webrtc-for-telegram-desktop: Update to 621f3da5.
* gnu/packages/patches/webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Register it here.
* gnu/packages/telegram.scm (webrtc-for-telegram-desktop): Update to 621f3da5.
[patches]: Add webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch.
[snippet]: Unbundle libvpx and openh264.
[native-inputs]: Remove perl.
[inputs]: Replace pipewire with pipewire-0.3.
Add abseil-cpp-cxxstd17, libdrm, libglvnd, libvpx, libxfixes, mesa, openh264.
Remove alsa-lib, libx11 and pulseaudio.
[arguments]<#:phases>: Adjust accordingly.
[license]: Likewise.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch21
-rw-r--r--gnu/packages/telegram.scm52
3 files changed, 51 insertions, 23 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 75e2309af5..0f813edd69 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1975,6 +1975,7 @@ 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-fix-gcc12-cstdint.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-fix-gcc12-cstdint.patch b/gnu/packages/patches/webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch
new file mode 100644
index 0000000000..f1fd29d0d3
--- /dev/null
+++ b/gnu/packages/patches/webrtc-for-telegram-desktop-fix-gcc12-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/telegram.scm b/gnu/packages/telegram.scm
index 6c9869f93e..e7beab5c51 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -30,6 +30,8 @@
   #:use-module (gnu packages digest)
   #: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)
   #:use-module (gnu packages gnupg)
@@ -58,6 +60,7 @@
   #: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:)
@@ -297,8 +300,8 @@
       "0fvad87hyxli83xn19mgf8jjrrh6y6iaig14pckpbkg33vf4wqkj"))))
 
 (define-public webrtc-for-telegram-desktop
-  (let ((commit "91d836dc84a16584c6ac52b36c04c0de504d9c34")
-        (revision "166"))
+  (let ((commit "621f3da55331733bf0d1b223786b96b68c03dca1")
+        (revision "327"))
     (hidden-package
      (package
        (name "webrtc-for-telegram-desktop")
@@ -314,57 +317,62 @@
           (file-name
            (git-file-name name version))
           (sha256
-           (base32 "0plwdp6xgxi27hif5j7kpq425cidxyxbbga3z2f64dsninwy5p1x"))
+           (base32 "1ks1572k1jj7pmzwm79p2gdgi31dd4bs761bphnx32zyq4c6skxk"))
+          (patches
+           (search-patches
+            ;; https://github.com/desktop-app/tg_owt/pull/101
+            "webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch"))
           (modules '((guix build utils)
                      (ice-9 ftw)
                      (srfi srfi-1)))
           (snippet
            #~(begin
                (let ((keep
-                      '( ;; Custom forks which are incompatible with the ones in Guix.
-                        "abseil-cpp" "libsrtp" "openh264" "rnnoise"
+                      '("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)))))))))
+                                              (cons* "." ".." keep)))))
+               ;; Unbundle openh264.
+               (substitute* "CMakeLists.txt"
+                 (("\\include\\(cmake\\/libopenh264\\.cmake\\)")""))))))
        (build-system cmake-build-system)
        (arguments
         (list
          #: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
+             (add-after 'unpack 'unpack-additional-sources
                (lambda _
                  (let* ((third-party (string-append (getcwd) "/src/third_party"))
-                        (libvpx-to (string-append third-party
-                                                  "/libvpx/source/libvpx"))
+                        (crc32c-to (string-append third-party "/crc32c/src"))
                         (libyuv-to (string-append third-party "/libyuv")))
-                   (copy-recursively #$libvpx-for-telegram-desktop libvpx-to)
+                   (copy-recursively #$(package-source crc32c) crc32c-to)
                    (copy-recursively #$libyuv-for-telegram-desktop
                                      libyuv-to)))))))
-       (native-inputs (list perl pkg-config python-wrapper yasm))
+       (native-inputs (list pkg-config python-wrapper yasm))
        (inputs
-        (list alsa-lib
+        (list abseil-cpp-cxxstd17
               ffmpeg
               libjpeg-turbo
               glib
+              libdrm
+              libglvnd
+              libvpx
               libxcomposite
               libxdamage
               libxrender
               libxrandr
+              libxfixes
+              mesa
+              openh264
               openssl
               opus
-              pipewire
+              pipewire-0.3
               protobuf
-              pulseaudio
-              libx11
               libxext
               libxtst))
        (synopsis "WebRTC support for Telegram Desktop")
@@ -377,13 +385,11 @@ Telegram project, for its use in telegram desktop client.")
          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