guix-commits
[Top][All Lists]
Advanced

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

45/86: gnu: gstreamer: Update package definition.


From: guix-commits
Subject: 45/86: gnu: gstreamer: Update package definition.
Date: Sun, 5 Jul 2020 16:17:02 -0400 (EDT)

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

commit 8e9a160b2e720953828393c8cf233923c516741c
Author: Raghav Gururajan <raghavgururajan@disroot.org>
AuthorDate: Wed Jun 24 23:28:32 2020 -0400

    gnu: gstreamer: Update package definition.
    
    * gnu/packages/gstreamer.scm (gstreamer): Update package definition.
    [arguments]<#:glib-or-gtk?>: New argument.
    <#:phases>['patch-dockbook-xml]: New phase.
    ['disable-failing-tests]: Remove phase.
    [native-inputs]: Add bash-completion, docbook-xml, docbook-xsl,
    gettext-minimal and libxml2.
    [inputs]: Add gmp, gsl, gtk+ and libcap.
    [propagated-inputs]: Add glib-networking, elfutils and libunwind.
    [search-paths]: New field.
    [synopsis]: Modify.
    [description]: Modify.
    
    Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gstreamer.scm | 150 +++++++++++++++++++++++++--------------------
 1 file changed, 83 insertions(+), 67 deletions(-)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 6381d42..7a134b8 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -37,10 +37,13 @@
   #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages cdrom)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages docbook)
+  #:use-module (gnu packages elf)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
@@ -51,9 +54,12 @@
   #:use-module (gnu packages graphics)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages libunwind)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages maths)
   #:use-module (gnu packages mp3)
+  #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages perl)
@@ -169,73 +175,83 @@ arrays of data.")
 (define-public gstreamer
   (package
     (name "gstreamer")
-    (version "1.16.2")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append
-            "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-";
-            version ".tar.xz"))
-      (sha256
-       (base32
-        "0kp93622y29pck8asvil1fmzf55s2gx76wv475a6izc3cwj49w73"))))
-    (build-system meson-build-system)
-    (outputs '("out" "doc"))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         ,@%common-gstreamer-phases
-         ;; FIXME: Since switching to the meson-build-system, two tests
-         ;; started failing on i686.  See
-         ;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/499>.
-         ,@(if (string-prefix? "i686" (or (%current-target-system)
-                                          (%current-system)))
-               `((add-after 'unpack 'disable-some-tests
-                   (lambda _
-                     (substitute* "tests/check/gst/gstsystemclock.c"
-                       (("tcase_add_test \\(tc_chain, 
test_stress_cleanup_unschedule.*")
-                        "")
-                       (("tcase_add_test \\(tc_chain, 
test_stress_reschedule.*")
-                      ""))
-                     #t)))
-               '())
-         (add-after 'install 'move-docs
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (doc (assoc-ref outputs "doc")))
-               (mkdir-p (string-append doc "/share"))
-               (copy-recursively (string-append out "/share/gtk-doc")
-                                 (string-append doc "/share/gtk-doc"))
-               (delete-file-recursively (string-append out "/share/gtk-doc"))
-               #t))))))
-    (propagated-inputs `(("glib" ,glib))) ; required by gstreamer-1.0.pc.
-    (native-inputs
-     `(("bison" ,bison)
-       ("flex" ,flex)
-       ("glib" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("gtk-doc" ,gtk-doc)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python-wrapper" ,python-wrapper)))
-    (native-search-paths
-     (list (search-path-specification
-            (variable "GST_PLUGIN_SYSTEM_PATH")
-            (files '("lib/gstreamer-1.0")))))
-    (home-page "https://gstreamer.freedesktop.org/";)
-    (synopsis "Multimedia library")
-    (description
-     "GStreamer is a library for constructing graphs of media-handling
-components.  The applications it supports range from simple Ogg/Vorbis
-playback, audio/video streaming to complex audio mixing and video
-non-linear editing.
-
-Applications can take advantage of advances in codec and filter technology
-transparently.  Developers can add new codecs and filters by writing a
-simple plugin with a clean, generic interface.
-
-This package provides the core library and elements.")
-    (license license:lgpl2.0+)))
+     (version "1.16.2")
+     (source
+      (origin
+       (method url-fetch)
+       (uri
+        (string-append
+         "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-";
+         version ".tar.xz"))
+       (sha256
+        (base32 "0kp93622y29pck8asvil1fmzf55s2gx76wv475a6izc3cwj49w73"))))
+     (build-system meson-build-system)
+     (outputs '("out" "doc"))
+     (arguments
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:phases
+        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* '("gst/building.xml" "gst/running.xml")
+                 (("http://www.oasis-open.org/docbook/xml/4.3/";)
+                  (string-append (assoc-ref inputs "docbook-xml-4.3")
+                                 "/xml/dtd/docbook/")))
+               (substitute* '("libs/gstreamer-libs-docs.sgml"
+                              "plugins/gstreamer-plugins-docs.sgml")
+                 (("http://www.oasis-open.org/docbook/xml/4.1.2/";)
+                  (string-append (assoc-ref inputs "docbook-xml-4.1.2")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+          (add-after 'install 'move-docs
+            (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/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+                #t))))))
+     (native-inputs
+     `(("bash-completion" ,bash-completion)
+       ("bison" ,bison)
+       ("docbook-xml-4.1.2" ,docbook-xml-4.1.2)
+       ("docbook-xml-4.3" ,docbook-xml-4.3)
+       ("docbook-xsl" ,docbook-xsl)
+        ("flex" ,flex)
+       ("gettext" ,gettext-minimal)
+        ("glib" ,glib "bin")
+        ("gobject-introspection" ,gobject-introspection)
+        ("gtk-doc" ,gtk-doc)
+       ("libxml2" ,libxml2)
+        ("perl" ,perl)
+        ("pkg-config" ,pkg-config)
+        ("python-wrapper" ,python-wrapper)))
+    (inputs
+     `(("gmp" ,gmp)
+       ("gsl" ,gsl)
+       ("gtk+" ,gtk+)
+       ("setcap" ,libcap)))
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("glib-networking" ,glib-networking)
+       ("libdw" ,elfutils)
+       ("libunwind" ,libunwind)))
+     (native-search-paths
+     (list
+      (search-path-specification
+       (variable "GST_PLUGIN_SYSTEM_PATH")
+       (files '("lib/gstreamer-1.0")))))
+     ;; To load gst-plugins.
+     (search-paths native-search-paths)
+    (synopsis "Multimedia framework core library")
+    (description "GStreamer is a library for constructing graphs of
+media-handling components.  The applications it supports range from simple
+Ogg/Vorbis playback, audio/video streaming to complex audio and video
+processing.")
+     (home-page "https://gstreamer.freedesktop.org/";)
+     (license license:lgpl2.0+)))
 
 (define-public gst-plugins-base
   (package



reply via email to

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