diff mbox series

[bug#57675,v7,03/11] gnu: webrtc-for-telegram-desktop: Use modern package style.

Message ID y76k05xoabu.wl-hako@ultrarare.space
State Accepted
Headers show
Series gnu: telegram-desktop: Update to 4.2.0. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Hilton Chain Sept. 21, 2022, 12:11 a.m. UTC
* gnu/packages/telegram.scm (libvpx-for-telegram-desktop)
(libyuv-for-telegram-desktop): New variables.
(webrtc-for-telegram-desktop): Use modern package style.
[inputs]: Remove sources in favor of variables.
[arguments]<#:phases>: Copy sources with gexp.
---
 gnu/packages/telegram.scm | 148 +++++++++++++++++++-------------------
 1 file changed, 75 insertions(+), 73 deletions(-)
diff mbox series

Patch

diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 08a72d2e0f..b9844c75f4 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 gexp)
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system copy)
@@ -71,6 +72,36 @@  (define-module (gnu packages telegram)
   #:use-module (guix build-system python)
   #:use-module (guix build-system qt))
 
+(define libvpx-for-telegram-desktop
+  (let ((commit "5b63f0f821e94f8072eb483014cfc33b05978bb9")
+        (revision "112"))
+    (origin
+      (method git-fetch)
+      (uri (git-reference
+            (url "https://chromium.googlesource.com/webm/libvpx")
+            (commit commit)))
+      (file-name (git-file-name
+                  "libvpx-for-telegram-desktop"
+                  (git-version "1.9.0" revision commit)))
+      (sha256
+       (base32
+        "1psvxaddihlw1k5n0anxif3qli6zyw2sa2ywn6mkb8six9myrp68")))))
+
+(define libyuv-for-telegram-desktop
+  (let ((commit "ad890067f661dc747a975bc55ba3767fe30d4452")
+        (revision "2211"))
+    (origin
+      (method git-fetch)
+      (uri (git-reference
+            (url "https://chromium.googlesource.com/libyuv/libyuv")
+            (commit commit)))
+      (file-name (git-file-name
+                  "libyuv-for-telegram-desktop"
+                  (git-version "0" revision commit)))
+      (sha256
+       (base32
+        "01knnk4h247rq536097n9n3s3brxlbby3nv3ppdgsqfda3k159ll")))))
+
 (define-public webrtc-for-telegram-desktop
   (let ((commit "91d836dc84a16584c6ac52b36c04c0de504d9c34")
         (revision "166"))
@@ -94,82 +125,53 @@  (define-public webrtc-for-telegram-desktop
                      (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"
-                       ;; Not available in Guix.
-                       "pffft" "usrsctp"
-                       ;; Has cmake support files for libvpx input.
-                       "libvpx")))
-                (with-directory-excursion "src/third_party"
-                  (for-each delete-file-recursively
-                            (lset-difference string=?
-                                             (scandir ".")
-                                             (cons* "." ".." keep)))))))))
+           #~(begin
+               (let ((keep
+                      '( ;; Custom forks which are incompatible with the ones in Guix.
+                        "abseil-cpp" "libsrtp" "openh264" "rnnoise"
+                        ;; Not available in Guix.
+                        "pffft" "usrsctp"
+                        ;; Has cmake support files for libvpx input.
+                        "libvpx")))
+                 (with-directory-excursion "src/third_party"
+                   (for-each delete-file-recursively
+                             (lset-difference string=?
+                                              (scandir ".")
+                                              (cons* "." ".." keep)))))))))
        (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)))))))
-       (native-inputs
-        `(("perl" ,perl)
-          ("pkg-config" ,pkg-config)
-          ("python" ,python-wrapper)
-          ("yasm" ,yasm)))
+        (list #:tests? #f               ; No target
+              #:configure-flags
+              #~`("-DCMAKE_C_FLAGS=-fPIC"
+                  "-DCMAKE_CXX_FLAGS=-fPIC")
+              #:phases
+              #~(modify-phases %standard-phases
+                  (add-after 'unpack 'copy-inputs
+                    (lambda _
+                      (let* ((libvpx-to (string-append (getcwd)
+                                                       "/src/third_party/libvpx/source/libvpx"))
+                             (libyuv-to (string-append (getcwd)
+                                                       "/src/third_party/libyuv")))
+                        (copy-recursively #$libvpx-for-telegram-desktop libvpx-to)
+                        (copy-recursively #$libyuv-for-telegram-desktop libyuv-to)))))))
+       (native-inputs (list perl pkg-config python-wrapper yasm))
        (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)))
+        (list alsa-lib
+              ffmpeg
+              libjpeg-turbo
+              glib
+              libxcomposite
+              libxdamage
+              libxrender
+              libxrandr
+              openssl
+              opus
+              pipewire
+              protobuf
+              pulseaudio
+              libx11
+              libxext
+              libxtst))
        (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.")