guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

260/295: gnu: pipewire: Update package definition.


From: guix-commits
Subject: 260/295: gnu: pipewire: Update package definition.
Date: Mon, 27 Jul 2020 06:26:31 -0400 (EDT)

dannym pushed a commit to branch wip-desktop
in repository guix.

commit 033c4afa013622db976aaaad2e3ac559e9fcf684
Author: Raghav Gururajan <raghavgururajan@disroot.org>
AuthorDate: Tue Jul 14 19:06:41 2020 -0400

    gnu: pipewire: Update package definition.
    
    * gnu/packages/linux.scm (pipewire) [version]: Update to 0.3.6.
    [source]<origin>[uri]: Modify url.
    [sha256]: Modify base32.
    [outputs]: New output "doc".
    [arguments]<#:glib-or-gtk?>: New argument.
    <#:configure-flags>[-Ddocs]: New flag.
    [-Daudiotestsrc]: New flag.
    [-Dffmpeg]: New flag.
    [-Dtest]: New flag.
    [-Dlibcamera]: New flag.
    [-Dvideotestsrc]: New flag.
    [-Dvolume]: New flag.
    [-Dc_link_args]: New flag.
    <#:phases>['move-doc]: New phase.
    [native-inputs]: Add graphviz, doxygen and xmltoman.
    [inputs]: Add bluez, libcamera, glib, jack-2, pulseaudio, libsndfile,
    vulkan-headers and vulkan-loader.
    [synopsis]: Modify.
    [description]: Modify.
    
    Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/linux.scm | 91 ++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 66 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 21d0e55..4357ed8 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -90,6 +90,7 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages gperf)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages haskell-apps)
@@ -130,6 +131,7 @@
   #:use-module (gnu packages rsync)
   #:use-module (gnu packages selinux)
   #:use-module (gnu packages swig)
+  #:use-module (gnu packages vulkan)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
@@ -6982,42 +6984,81 @@ types and interfaces and translates so that the X 
server can use them.")
 (define-public pipewire
   (package
     (name "pipewire")
-    (version "0.2.7")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/PipeWire/pipewire";)
-                    (commit version)))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1q5wrqnhhs6r49p8yvkw1pl0cnsd4rndxy4h5lvdydwgf1civcwc"))))
+    (version "0.3.6")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://gitlab.freedesktop.org/pipewire/pipewire.git";)
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "0g149vyaigf4gzm764fcgxxci9niw19z0af9afs4diwq5xzr1qd3"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     '(#:configure-flags '("-Dsystemd=false")))
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Ddocs=true"
+        "-Dsystemd=false"
+        "-Daudiotestsrc=true"
+        "-Dffmpeg=true"
+        ;; XXX: EVL not available.
+        ;; https://evlproject.org/
+        ;; "-Devl=true"
+        "-Dtest=true"
+        "-Dlibcamera=true"
+        "-Dvideotestsrc=true"
+        "-Dvolume=true"
+        ;; Required for RUNPATH validation.
+        (string-append "-Dc_link_args=-Wl,-rpath="
+                       (assoc-ref %outputs "out") "/lib"
+                       ":"
+                       (assoc-ref %outputs "out") "/lib/pipewire-0.3"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'move-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share"))
+               (rename-file
+                (string-append out "/share/doc")
+                (string-append doc "/share/doc"))
+               #t))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)
+       ("xmltoman" ,xmltoman)))
     (inputs
-     `(("alsa-lib" ,alsa-lib)
+     `(("alsa" ,alsa-lib)
+       ("bluez" ,bluez)
+       ("camera" ,libcamera)
        ("dbus" ,dbus)
-       ("eudev" ,eudev)
        ("ffmpeg" ,ffmpeg)
+       ("glib" ,glib)
        ("gstreamer" ,gstreamer)
        ("gst-plugins-base" ,gst-plugins-base)
+       ("jack" ,jack-2)
        ("libva" ,libva)
+       ("pulseaudio" ,pulseaudio)
        ("sbc" ,sbc)
-       ("sdl2" ,sdl2)))
+       ("sdl2" ,sdl2)
+       ("sndfile" ,libsndfile)
+       ("udev" ,eudev)
+       ("vulkan-headers" ,vulkan-headers)
+       ("vulkan-loader" ,vulkan-loader)))
+    (synopsis "Multimedia processing graphs")
+    (description "PipeWire is a server and user space API to deal with
+multimedia pipelines.  It provides a low-latency, graph based processing engine
+on top of audio and video devices that can be used to support the use cases
+currently handled by both pulseaudio and JACK.")
     (home-page "https://pipewire.org/";)
-    (synopsis "Server and user space API to deal with multimedia pipelines")
-    (description
-     "PipeWire is a project that aims to greatly improve handling of audio and
-video under Linux.  It aims to support the usecases currently handled by both
-PulseAudio and Jack and at the same time provide same level of powerful 
handling
-of Video input and output.  It also introduces a security model that makes
-interacting with audio and video devices from containerized applications easy,
-with supporting Flatpak applications being the primary goal.  Alongside Wayland
-and Flatpak we expect PipeWire to provide a core building block for the future
-of Linux application development.")
     (license license:lgpl2.0+)))
 
 (define-public ell



reply via email to

[Prev in Thread] Current Thread [Next in Thread]