From: Raghav Gururajan <raghavgururajan@disroot.org>
To: Danny Milosavljevic <dannym@scratchpost.org>
Cc: guix-devel@gnu.org
Subject: Re: [OUTREACHY]: Integration of desktop environments into GNU Guix
Date: Sun, 28 Jun 2020 01:56:35 -0400 [thread overview]
Message-ID: <dd842bd1-d9cb-78b8-0312-255dc55113f4@disroot.org> (raw)
In-Reply-To: <20200625134723.53d2a216@scratchpost.org>
[-- Attachment #1.1.1: Type: text/plain, Size: 540 bytes --]
Hi Danny!
>>> * gstreamer
>
> Please add a comment on why this is here:
>
>> + (search-paths native-search-paths)
>
>>> * libvisual
>
>> + (search-paths native-search-paths)
>
> Same
>
>>> * libvisual-plugins
>
>> + (search-paths native-search-paths)
>
> Same
>
>>> * gst-plugins-base
>
> I didn't apply it because I didn't apply gstreamer.
>
>>> * gst-plugins-good
>
> I didn't apply it because I didn't apply gstreamer.
Please find the revised patches attached.
Regards,
RG.
[-- Attachment #1.1.2: 0001-gnu-glib-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 19452 bytes --]
From 8a829c439290d7e5f52f09e4d895729592c50393 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 24 Jun 2020 22:13:27 -0400
Subject: [PATCH 1/9] gnu: glib: Update package definition.
* gnu/packages/glib.scm (glib) [version]: Update to 2.64.3.
[source]<origin>[sha256]: Modify base32.
[patches]: Add glib-disable-failing-tests.patch.
Remove glib-tests-timer.patch.
[arguments]<#:disallowed-references>: Remove argument.
<#:phases>['patch-python-references]: New phase.
['pre-check]: New phase.
['move-bin]: New phase.
['patch-dbus-launch-path]: Remove phase.
['patch-gio-launch-desktop]: Remove phase.
['pre-build]: Remove phase.
['disable-failing-tests]: Remove phase.
['check]: Remove phase.
['move-executables]: Remove phase.
[native-inputs]: Add intltool, python, libxml2 and libxslt.
Remove dbus.
[inputs]: Add dbus and libelf.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Update to lgpl2.1+.
---
gnu/packages/glib.scm | 316 ++++++------------
.../patches/glib-disable-failing-tests.patch | 84 +++++
2 files changed, 193 insertions(+), 207 deletions(-)
create mode 100644 gnu/packages/patches/glib-disable-failing-tests.patch
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index e6e9d00cf4..a1b7125a1b 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -38,6 +38,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages elf)
#:use-module (gnu packages enlightenment)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
@@ -177,213 +178,114 @@ shared NFS home directories.")
(define glib
(package
- (name "glib")
- (version "2.62.6")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/"
- name "/" (string-take version 4) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
- (patches (search-patches "glib-tests-timer.patch"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (substitute* "tests/spawn-test.c"
- (("/bin/sh") "sh"))
- #t))))
- (build-system meson-build-system)
- (outputs '("out" ; everything
- "bin")) ; glib-mkenums, gtester, etc.; depends on Python
- (propagated-inputs
- `(("pcre" ,pcre) ; in the Requires.private field of glib-2.0.pc
- ("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
- ;; These are in the Requires.private field of gio-2.0.pc
- ("util-linux" ,util-linux "lib") ;for libmount
- ("libselinux" ,libselinux)
- ("zlib" ,zlib)))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("m4" ,m4) ; for installing m4 macros
- ("dbus" ,dbus) ; for GDBus tests
- ("pkg-config" ,pkg-config)
- ("python" ,python-wrapper)
- ("perl" ,perl) ; needed by GIO tests
- ("tzdata" ,tzdata-for-tests))) ; for tests/gdatetime.c
- (arguments
- `(#:disallowed-references (,tzdata-for-tests)
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-dbus-launch-path
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((dbus (assoc-ref inputs "dbus")))
- (substitute* "gio/gdbusaddress.c"
- (("command_line = g_strdup_printf \\(\"dbus-launch")
- (string-append "command_line = g_strdup_printf (\""
- dbus "/bin/dbus-launch")))
- #t)))
- (add-after 'unpack 'patch-gio-launch-desktop
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
- ;; for another future fix.
- (substitute* "gio/gdesktopappinfo.c"
- (("gio-launch-desktop")
- (string-append out "/libexec/gio-launch-desktop")))
- #t)))
- (add-before 'build 'pre-build
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; For tests/gdatetime.c.
- (setenv "TZDIR"
- (string-append (assoc-ref inputs "tzdata")
- "/share/zoneinfo"))
-
- ;; Some tests want write access there.
- (setenv "HOME" (getcwd))
- (setenv "XDG_CACHE_HOME" (getcwd))
- #t))
- (add-after 'unpack 'disable-failing-tests
- (lambda _
- (let ((disable
- (lambda (test-file test-paths)
- (define pattern+procs
- (map (lambda (test-path)
- (cons
- ;; XXX: only works for single line statements.
- (format #f "g_test_add_func.*\"~a\".*" test-path)
- (const "")))
- test-paths))
- (substitute test-file pattern+procs)))
- (failing-tests
- '(("glib/tests/thread.c"
- (;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
- ;; as found on hydra.gnu.org, and strace(1) doesn't
- ;; recognize it.
- "/thread/thread4"))
-
- ;; This tries to find programs in FHS directories.
- ("glib/tests/utils.c"
- ("/utils/find-program"))
-
- ;; This fails because "glib/tests/echo-script" cannot be
- ;; found.
- ("glib/tests/spawn-singlethread.c"
- ("/gthread/spawn-script"))
-
- ("glib/tests/timer.c"
- (;; fails if compiler optimizations are enabled, which they
- ;; are by default.
- "/timer/stop"))
-
- ("gio/tests/gapplication.c"
- (;; XXX: proven to be unreliable. See:
- ;; <https://bugs.debian.org/756273>
- ;; <http://bugs.gnu.org/18445>
- "/gapplication/quit"
-
- ;; XXX: fails randomly for unknown reason. See:
- ;; <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
- "/gapplication/local-actions"))
-
- ("gio/tests/contenttype.c"
- (;; XXX: requires shared-mime-info.
- "/contenttype/guess"
- "/contenttype/guess_svg_from_data"
- "/contenttype/subtype"
- "/contenttype/list"
- "/contenttype/icon"
- "/contenttype/symbolic-icon"
- "/contenttype/tree"))
-
- ("gio/tests/appinfo.c"
- (;; XXX: requires update-desktop-database.
- "/appinfo/associations"))
-
- ("gio/tests/desktop-app-info.c"
- (;; XXX: requires update-desktop-database.
- "/desktop-app-info/delete"
- "/desktop-app-info/default"
- "/desktop-app-info/fallback"
- "/desktop-app-info/lastused"
- "/desktop-app-info/search"))
-
- ("gio/tests/gdbus-peer.c"
- (;; Requires /etc/machine-id.
- "/gdbus/codegen-peer-to-peer"))
-
- ("gio/tests/gdbus-address-get-session.c"
- (;; Requires /etc/machine-id.
- "/gdbus/x11-autolaunch"))
-
- ("gio/tests/gsocketclient-slow.c"
- (;; These tests tries to resolve "localhost", and fails.
- "/socket-client/happy-eyeballs/slow"
- "/socket-client/happy-eyeballs/cancellation/delayed"))
-
- )))
- (for-each (lambda (x) (apply disable x)) failing-tests)
- #t)))
- (replace 'check
- (lambda _
- (setenv "MESON_TESTTHREADS"
- (number->string (parallel-job-count)))
- ;; Do not run tests marked as "flaky".
- (invoke "meson" "test" "--no-suite" "flaky")))
- ;; TODO: meson does not permit the bindir to be outside of prefix.
- ;; See https://github.com/mesonbuild/meson/issues/2561
- ;; We can remove this once meson is patched.
- (add-after 'install 'move-executables
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (bin (assoc-ref outputs "bin")))
- (mkdir-p bin)
- (rename-file (string-append out "/bin")
- (string-append bin "/bin"))
- ;; This one is an implementation detail of glib.
- ;; It is wrong that that's in "/bin" in the first place,
- ;; but that's what upstream is doing right now.
- ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
- (mkdir (string-append out "/libexec"))
- (rename-file (string-append bin "/bin/gio-launch-desktop")
- (string-append out "/libexec/gio-launch-desktop"))
- ;; Do not refer to "bindir", which points to "${prefix}/bin".
- ;; We don't patch "bindir" to point to "$bin/bin", because that
- ;; would create a reference cycle between the "out" and "bin"
- ;; outputs.
- (substitute* (list (string-append out "/lib/pkgconfig/gio-2.0.pc")
- (string-append out "/lib/pkgconfig/glib-2.0.pc"))
- (("bindir=\\$\\{prefix\\}/bin") "")
- (("=\\$\\{bindir\\}/") "="))
- #t))))))
- ;; TODO: see above for explanation.
- ;; #:configure-flags (list (string-append "--bindir="
- ;; (assoc-ref %outputs "bin")
- ;; "/bin"))
-
- (native-search-paths
- ;; This variable is not really "owned" by GLib, but several related
- ;; packages refer to it: gobject-introspection's tools use it as a search
- ;; path for .gir files, and it's also a search path for schemas produced
- ;; by 'glib-compile-schemas'.
- (list (search-path-specification
- (variable "XDG_DATA_DIRS")
- (files '("share")))
- ;; To load extra gio modules from glib-networking, etc.
- (search-path-specification
- (variable "GIO_EXTRA_MODULES")
- (files '("lib/gio/modules")))))
- (search-paths native-search-paths)
- (properties '((hidden? . #t)))
-
- (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
- (description
- "GLib provides data structure handling for C, portability wrappers,
-and interfaces for such runtime functionality as an event loop, threads,
-dynamic loading, and an object system.")
- (home-page "https://developer.gnome.org/glib/")
- (license license:lgpl2.1+)))
+ (name "glib")
+ (version "2.64.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "mirror://gnome/sources/"
+ name "/" (string-take version 4) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32 "08pbgiv5m3rica4ydvwvpq5mrxbyswx7l1jzjc2ch52xjabvr77y"))
+ (patches
+ (search-patches "glib-disable-failing-tests.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "tests/spawn-test.c"
+ (("/bin/sh") "sh"))
+ #t))))
+ (build-system meson-build-system)
+ (outputs '("out" "bin"))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Python references are not being patched in patch-phase of build,
+ ;; despite using python-wrapper as input. So we patch them manually.
+ (add-after 'unpack 'patch-python-references
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* '("gio/gdbus-2.0/codegen/gdbus-codegen.in"
+ "glib/gtester-report.in"
+ "gobject/glib-genmarshal.in"
+ "gobject/glib-mkenums.in")
+ (("@PYTHON@")
+ (string-append (assoc-ref inputs "python")
+ "/bin/python"
+ ,(version-major+minor
+ (package-version python)))))
+ #t))
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; For tests/gdatetime.c.
+ (setenv "TZDIR"
+ (string-append (assoc-ref inputs "tzdata")
+ "/share/zoneinfo"))
+ ;; Some tests want write access there.
+ (setenv "HOME" (getcwd))
+ (setenv "XDG_CACHE_HOME" (getcwd))
+ #t))
+ ;; Meson does not permit the bindir to be outside of prefix.
+ (add-after 'install 'move-bin
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (assoc-ref outputs "bin")))
+ (mkdir-p bin)
+ (rename-file
+ (string-append out "/bin")
+ (string-append bin "/bin"))
+ ;; Do not refer to "bindir", which points to "${prefix}/bin".
+ ;; We don't patch "bindir" to point to "$bin/bin", because that
+ ;; would create a reference cycle between the "out" and "bin"
+ ;; outputs.
+ (substitute*
+ (list
+ (string-append out "/lib/pkgconfig/gio-2.0.pc")
+ (string-append out "/lib/pkgconfig/glib-2.0.pc"))
+ (("bindir=\\$\\{prefix\\}/bin") "")
+ (("=\\$\\{bindir\\}/") "="))
+ #t))))))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("libintl" ,intltool)
+ ("m4" ,m4)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python-wrapper" ,python-wrapper)
+ ("python" ,python) ; For 'patch-python-references
+ ("tzdata" ,tzdata-for-tests)
+ ("xmllint" ,libxml2)
+ ("xsltproc" ,libxslt)))
+ (inputs
+ `(("dbus" ,dbus)
+ ("libelf" ,libelf)))
+ (propagated-inputs
+ `(("libffi" ,libffi)
+ ("libselinux" ,libselinux)
+ ("pcre" ,pcre)
+ ("util-linux" ,util-linux "lib")
+ ("zlib" ,zlib)))
+ (native-search-paths
+ ;; This variable is not really "owned" by GLib, but several related
+ ;; packages refer to it: gobject-introspection's tools use it as a search
+ ;; path for .gir files, and it's also a search path for schemas produced
+ ;; by 'glib-compile-schemas'.
+ (list
+ (search-path-specification
+ (variable "XDG_DATA_DIRS")
+ (files '("share")))
+ ;; To load extra gio modules from glib-networking, etc.
+ (search-path-specification
+ (variable "GIO_EXTRA_MODULES")
+ (files '("lib/gio/modules")))))
+ (search-paths native-search-paths)
+ (synopsis "Low-level core library for GNOME projects")
+ (description "GLib provides data structure handling for C, portability
+wrappers, and interfaces for such runtime functionality as an event loop,
+threads, dynamic loading, and an object system.")
+ (home-page "https://wiki.gnome.org/Projects/GLib")
+ (license license:lgpl2.1+)))
(define-public glib-with-documentation
;; glib's doc must be built in a separate package since it requires gtk-doc,
diff --git a/gnu/packages/patches/glib-disable-failing-tests.patch b/gnu/packages/patches/glib-disable-failing-tests.patch
new file mode 100644
index 0000000000..3601c42030
--- /dev/null
+++ b/gnu/packages/patches/glib-disable-failing-tests.patch
@@ -0,0 +1,84 @@
+From a2e6783f2278ed32b1e552691ec5d67d6940757e Mon Sep 17 00:00:00 2001
+From: Raghav Gururajan <raghavgururajan@disroot.org>
+Date: Tue, 9 Jun 2020 05:17:53 -0400
+Subject: [PATCH] PATCH: Disable failing tests.
+
+---
+ gio/tests/meson.build | 19 -------------------
+ glib/tests/meson.build | 2 --
+ 2 files changed, 21 deletions(-)
+
+diff --git a/gio/tests/meson.build b/gio/tests/meson.build
+index c7c3e3035..6e38eb39e 100644
+--- a/gio/tests/meson.build
++++ b/gio/tests/meson.build
+@@ -34,7 +34,6 @@ gio_tests = {
+ 'buffered-output-stream' : {},
+ 'cancellable' : {},
+ 'contexts' : {},
+- 'contenttype' : {},
+ 'converter-stream' : {},
+ 'credentials' : {},
+ 'data-input-stream' : {},
+@@ -78,7 +77,6 @@ gio_tests = {
+ 'tls-certificate' : {'extra_sources' : ['gtesttlsbackend.c']},
+ 'tls-interaction' : {'extra_sources' : ['gtesttlsbackend.c']},
+ 'tls-database' : {'extra_sources' : ['gtesttlsbackend.c']},
+- 'gdbus-address-get-session' : {},
+ 'win32-appinfo' : {},
+ }
+
+@@ -135,10 +133,6 @@ endif
+ if host_machine.system() != 'windows'
+ gio_tests += {
+ 'file' : {},
+- 'gdbus-peer' : {
+- 'dependencies' : [libgdbus_example_objectmanager_dep],
+- 'install_rpath' : installed_tests_execdir
+- },
+ 'gdbus-peer-object-manager' : {},
+ 'live-g-file' : {},
+ 'socket-address' : {},
+@@ -173,19 +167,6 @@ if host_machine.system() != 'windows'
+ }
+ endif
+
+- # Uninstalled because of the check-for-executable logic in DesktopAppInfo
+- # unable to find the installed executable
+- if not glib_have_cocoa
+- gio_tests += {
+- 'appinfo' : {
+- 'install' : false,
+- },
+- 'desktop-app-info' : {
+- 'install' : false,
+- },
+- }
+- endif
+-
+ test_extra_programs += {
+ 'basic-application' : {},
+ 'dbus-launch' : {},
+diff --git a/glib/tests/meson.build b/glib/tests/meson.build
+index 8da477d19..9fa24dd49 100644
+--- a/glib/tests/meson.build
++++ b/glib/tests/meson.build
+@@ -103,7 +103,6 @@ glib_tests = {
+ 'utf8-pointer' : {},
+ 'utf8-validate' : {},
+ 'utf8-misc' : {},
+- 'utils' : {},
+ 'unicode' : {},
+ 'uri' : {},
+ '1bit-mutex' : {},
+@@ -151,7 +150,6 @@ if host_machine.system() == 'windows'
+ else
+ glib_tests += {
+ 'include' : {},
+- 'unix' : {},
+ }
+ if have_rtld_next
+ glib_tests += {
+--
+2.26.2
+
--
2.26.2
[-- Attachment #1.1.3: 0002-gnu-glib-with-documentation-Update-package-definitio.patch --]
[-- Type: text/x-patch, Size: 3162 bytes --]
From e644692b46700402bec0b2b342da67f8bc02375b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 24 Jun 2020 22:15:44 -0400
Subject: [PATCH 2/9] gnu: glib-with-documentation: Update package definition.
* gnu/packages/glib.scm (glib-with-documentation): Update package
definition.
[properties]: Remove field.
[native-inputs]: Remove libxml2.
[arguments]<#:phases>['patch-docbook-xml]: New phase.
['move-doc]: Modify phase.
---
gnu/packages/glib.scm | 29 +++++++++++++++++++++--------
1 file changed, 21 insertions(+), 8 deletions(-)
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index a1b7125a1b..271b8a0293 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -292,27 +292,40 @@ threads, dynamic loading, and an object system.")
;; which in turn depends on glib.
(package
(inherit glib)
- (properties (alist-delete 'hidden? (package-properties glib)))
- (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
(native-inputs
- `(("gtk-doc" ,gtk-doc) ; for the doc
- ("docbook-xml" ,docbook-xml)
- ("libxml2" ,libxml2)
+ `(("gtk-doc" ,gtk-doc)
+ ("docbook-xml-4.2" ,docbook-xml-4.2)
+ ("docbook-xml-4.5" ,docbook-xml)
,@(package-native-inputs glib)))
+ (outputs (cons "doc" (package-outputs glib)))
(arguments
(substitute-keyword-arguments (package-arguments glib)
((#:configure-flags flags ''())
`(cons "-Dgtk_doc=true" ,flags))
((#:phases phases)
`(modify-phases ,phases
+ (add-after 'unpack 'patch-docbook-xml
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "docs/reference"
+ (substitute* '("gio/gdbus-object-manager-example/.*\\.xml"
+ "gio/.*\\.xml" "glib/.*\\.xml" "gobject/.*\\.xml")
+ (("http://www.oasis-open.org/docbook/xml/4.5/")
+ (string-append (assoc-ref inputs "docbook-xml-4.5")
+ "/xml/dtd/docbook/")))
+ (substitute* "gio/gio.xml"
+ (("http://www.oasis-open.org/docbook/xml/4.2/")
+ (string-append (assoc-ref inputs "docbook-xml-4.2")
+ "/xml/dtd/docbook/"))))
+ #t))
(add-after 'install 'move-doc
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc"))
(html (string-append "/share/gtk-doc")))
- (copy-recursively (string-append out html)
- (string-append doc html))
- (delete-file-recursively (string-append out html))
+ (mkdir-p (string-append doc "/share"))
+ (rename-file
+ (string-append out html)
+ (string-append doc html))
#t)))))))))
(define gobject-introspection
--
2.26.2
[-- Attachment #1.1.4: 0003-gnu-glib-networking-Update-to-2.64.3.patch --]
[-- Type: text/x-patch, Size: 1244 bytes --]
From 8e88d6d12ff0a2e7cddf3bfa107912ebbdcbb6a3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 24 Jun 2020 22:25:10 -0400
Subject: [PATCH 3/9] gnu: glib-networking: Update to 2.64.3.
* gnu/packages/gnome.scm (glib-networking) [version]: Update to
2.64.3.
---
gnu/packages/gnome.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 491ff7fb51..f6a530a9fc 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3982,7 +3982,7 @@ library.")
(define-public glib-networking
(package
(name "glib-networking")
- (version "2.62.4")
+ (version "2.64.3")
(source
(origin
(method url-fetch)
@@ -3991,7 +3991,7 @@ library.")
(version-major+minor version) "/"
"glib-networking-" version ".tar.xz"))
(sha256
- (base32 "1kwlnaiz4qfy2d1as5hd8sgxy7jjfxps1h2443hxq3s8xjg2i3y1"))))
+ (base32 "0s518l4bwvdvcp51lbjqcw8g0vq18bznpf5hq2zi6a054jqhcylk"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
--
2.26.2
[-- Attachment #1.1.5: 0004-gnu-gobject-introspection-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 4652 bytes --]
From 92187e2422b833b167e521904408d92a9fea40fd Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 24 Jun 2020 22:27:11 -0400
Subject: [PATCH 4/9] gnu: gobject-introspection: Update package definition.
* gnu/packages/glib.scm (gobject-introspection) [version]: Update
to 1.64.1.
[patches]: Remove all patches.
[arguments]<#:glib-or-gtk?>: New argument.
<#:phases>: Remove all phases.
[native-inputs]: Add bison and flex.
[inputs]: Remove bison, flex and zlib.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Modify.
---
gnu/packages/glib.scm | 71 +++++++++++++++++++------------------------
1 file changed, 31 insertions(+), 40 deletions(-)
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 271b8a0293..a0ddffeb4a 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -328,59 +328,50 @@ threads, dynamic loading, and an object system.")
(string-append doc html))
#t)))))))))
-(define gobject-introspection
+(define-public gobject-introspection
(package
(name "gobject-introspection")
- (version "1.62.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/"
- "gobject-introspection/" (version-major+minor version)
- "/gobject-introspection-" version ".tar.xz"))
- (sha256
- (base32 "18lhglg9v6y83lhqzyifc1z0wrlawzrhzzxx0a3h1g7xaz97xvmi"))
- (patches (search-patches
- "gobject-introspection-cc.patch"
- "gobject-introspection-girepository.patch"
- "gobject-introspection-absolute-shlib-path.patch"))))
+ (version "1.64.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "mirror://gnome/sources/"
+ name "/" (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32 "19vz7vp10h0zj3f491yk72dp89bix6rgkzxg4qcm4d6151ksxgl0"))))
(build-system meson-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'do-not-use-/usr/bin/env
- (lambda _
- (substitute* "tools/g-ir-tool-template.in"
- (("#!@PYTHON_CMD@")
- (string-append "#!" (which "python3"))))
- #t)))))
- (inputs
+ `(#:glib-or-gtk? #t)) ; To wrap binaries and/or compile schemas
+ (native-inputs
`(("bison" ,bison)
("flex" ,flex)
- ("glib" ,glib)
- ("python" ,python-wrapper)
- ("zlib" ,zlib)))
- (native-inputs
- `(("glib" ,glib "bin")
+ ("glib" ,glib "bin")
("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("python" ,python-wrapper)))
(propagated-inputs
- `(;; In practice, GIR users will need libffi when using
- ;; gobject-introspection.
- ("libffi" ,libffi)))
+ `(("libffi" ,libffi)))
(native-search-paths
(list (search-path-specification
(variable "GI_TYPELIB_PATH")
(files '("lib/girepository-1.0")))))
(search-paths native-search-paths)
- (home-page "https://wiki.gnome.org/GObjectIntrospection")
- (synopsis "Generate interface introspection data for GObject libraries")
- (description
- "GObject introspection is a middleware layer between C libraries (using
-GObject) and language bindings. The C library can be scanned at compile time
-and generate a metadata file, in addition to the actual native C library. Then
-at runtime, language bindings can read this metadata and automatically provide
-bindings to call into the C library.")
- ; Some bits are distributed under the LGPL2+, others under the GPL2+
- (license license:gpl2+)))
+ (synopsis "GObject introspection tools and libraries")
+ (description "GObject introspection is a middleware layer between
+C libraries (using GObject) and language bindings. The C library can be scanned
+at compile time and generate metadata files, in addition to the actual native
+C library. Then language bindings can read this metadata and automatically
+provide bindings to call into the C library.")
+ (home-page "https://wiki.gnome.org/Projects/GObjectIntrospection")
+ (license
+ (list
+ ;; For library.
+ license:lgpl2.0+
+ ;; For tools.
+ license:gpl2+))))
(define intltool
(package
--
2.26.2
[-- Attachment #1.1.6: 0005-gnu-gstreamer-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 8381 bytes --]
From 1a3b1be1d36b45845912b1e6169537fc84dd9d30 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 24 Jun 2020 23:28:32 -0400
Subject: [PATCH 5/9] 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.
---
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 6381d426ba..7a134b8c57 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
--
2.26.2
[-- Attachment #1.1.7: 0006-gnu-Add-libvisual.patch --]
[-- Type: text/x-patch, Size: 2571 bytes --]
From aed6ec7672efca9f307c41ce610080073f403e39 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 24 Jun 2020 23:38:53 -0400
Subject: [PATCH 6/9] gnu: Add libvisual.
* gnu/packages/gstreamer.scm (libvisual): New variable.
---
gnu/packages/gstreamer.scm | 49 ++++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 7a134b8c57..3b0bfad1a1 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -66,6 +66,7 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages qt)
#:use-module (gnu packages rdf)
+ #:use-module (gnu packages sdl)
#:use-module (gnu packages shells)
#:use-module (gnu packages video)
#:use-module (gnu packages xorg)
@@ -79,6 +80,54 @@
#:use-module (gnu packages assembly)
#:use-module (gnu packages xml))
+(define-public libvisual
+ (package
+ (name "libvisual")
+ (version "0.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/Libvisual/libvisual.git")
+ (commit (string-append name "-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "02xwakwkqjsznc03pjlb6hcv1li1gw3r8xvyswqsm4msix5xq18a"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; The package is in a sub-dir of this repo.
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "libvisual")
+ #t)))))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("libintl" ,intltool)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("sdl" ,sdl)))
+ (native-search-paths
+ (list
+ (search-path-specification
+ (variable "LIBVISUAL_PLUGINS_BASE_DIR")
+ (files '("lib/libvisual-0.4")))))
+ ;; To load libvisual-plugins.
+ (search-paths native-search-paths)
+ (synopsis "Audio visualisation library")
+ (description "Libvisual is a library that acts as a middle layer between
+applications that want audio visualisation and audio visualisation plugins.")
+ (home-page "http://libvisual.org/")
+ (license
+ (list
+ ;; Libraries.
+ license:lgpl2.1+
+ ;; Examples and Tests.
+ license:gpl2+))))
+
(define-public esound
(package
(name "esound")
--
2.26.2
[-- Attachment #1.1.8: 0007-gnu-Add-libvisual-plugins.patch --]
[-- Type: text/x-patch, Size: 2608 bytes --]
From 4c497148e0898c208a1f2014334ff12a3a85a508 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 24 Jun 2020 23:44:23 -0400
Subject: [PATCH 7/9] gnu: Add libvisual-plugins.
* gnu/packages/gstreamer.scm (libvisual-plugins): New variable.
---
gnu/packages/gstreamer.scm | 53 ++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 3b0bfad1a1..3ffc7a2b70 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -128,6 +128,59 @@ applications that want audio visualisation and audio visualisation plugins.")
;; Examples and Tests.
license:gpl2+))))
+(define-public libvisual-plugins
+ (package
+ (name "libvisual-plugins")
+ (version "0.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/Libvisual/libvisual.git")
+ (commit (string-append name "-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "02xwakwkqjsznc03pjlb6hcv1li1gw3r8xvyswqsm4msix5xq18a"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list
+ "--disable-gstreamer-plugin"
+ "--disable-corona"
+ "--disable-gforce"
+ (string-append "--with-plugins-base-dir=" (assoc-ref %outputs "out")
+ "/lib/libvisual-0.4"))
+ #:phases
+ (modify-phases %standard-phases
+ ;; The package is in a sub-dir of this repo.
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "libvisual-plugins")
+ #t)))))
+ (native-inputs
+ `(("bison" ,bison)
+ ("flex" ,flex)
+ ("gettext" ,gettext-minimal)
+ ("libintl" ,intltool)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("esound" ,esound)
+ ("gdk-pixbuf" ,gdk-pixbuf+svg)
+ ("gtk+" ,gtk+-2)
+ ("jack" ,jack-2)
+ ("libx11" ,libx11)
+ ("libxext" ,libxext)))
+ (propagated-inputs
+ `(("libvisual" ,libvisual)))
+ (synopsis "Audio visualisation library")
+ (description "Libvisual is a library that acts as a middle layer between
+applications that want audio visualisation and audio visualisation plugins.")
+ (home-page "http://libvisual.org/")
+ (license license:gpl2+)))
+
(define-public esound
(package
(name "esound")
--
2.26.2
[-- Attachment #1.1.9: 0008-gnu-gst-plugins-base-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 7939 bytes --]
From 9d118e1dbafeb9bebd782bbb526a50efd7ca65ab Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 24 Jun 2020 23:50:40 -0400
Subject: [PATCH 8/9] gnu: gst-plugins-base: Update package definition.
* gnu/packages/gstreamer.scm (gst-plugins-base): Update package definition.
[outputs]: New output 'doc'.
[arguments]<#:glib-or-gtk?>: New argument.
<#:configure-flags>[-Dgl]: Remove flag.
[-Ddoc]: Remove flag.
<#:phases>['patch]: Remove phase.
['patch-docbook-xml]: New phase.
['patch-tests]: New phase.
['pre-check]: New phase.
['move-doc]: New phase.
[native-inputs]: Add docbook-xml, gettext-minimal, gtk-doc, gsettings-desktop-
schemas, perl, libxml2 and xorg-server-for-tests.
[inputs]: Add gdk-pixbuf+svg, glu, graphene, gtk+, iso-codes, libgudev, libjpeg-
turbo, libvisual, libxshmfence, mesa, sdl and wayland. Remove arguments for opus.
[propagated-inputs]: Add glib-networking. Remove arguments for orc.
[synopsis]: Modify.
[description]: Modify.
---
gnu/packages/gstreamer.scm | 146 +++++++++++++++++++++++--------------
1 file changed, 92 insertions(+), 54 deletions(-)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 3ffc7a2b70..0d7d5d4382 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -54,6 +54,7 @@
#:use-module (gnu packages graphics)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
+ #:use-module (gnu packages iso-codes)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
@@ -359,66 +360,103 @@ processing.")
(package
(name "gst-plugins-base")
(version "1.16.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://gstreamer.freedesktop.org/src/" name "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0sl1hxlyq46r02k7z70v09vx1gi4rcypqmzra9jid93lzvi76gmi"))))
- (build-system meson-build-system)
- (propagated-inputs
- `(("glib" ,glib) ;required by gstreamer-sdp-1.0.pc
- ("gstreamer" ,gstreamer) ;required by gstreamer-plugins-base-1.0.pc
-
- ;; XXX: Do not enable Orc optimizations on ARM systems because
- ;; it leads to two test failures.
- ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/683
- ,@(if (string-prefix? "arm" (or (%current-target-system)
- (%current-system)))
- '()
- `(("orc" ,orc))))) ;required by gstreamer-audio-1.0.pc
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://gstreamer.freedesktop.org/src/" name "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32 "0sl1hxlyq46r02k7z70v09vx1gi4rcypqmzra9jid93lzvi76gmi"))))
+ (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* '("libs/compiling.sgml"
+ "libs/gst-plugins-base-libs-docs.sgml")
+ (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+ (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook/"))))
+ #t))
+ (add-after 'unpack 'patch-tests
+ (lambda _
+ (substitute* "tests/check/libs/pbutils.c"
+ (("/bin/sh") (which "sh")))
+ #t))
+ (add-before
+ 'check 'pre-check
+ (lambda _
+ ;; Tests require a running X server.
+ (system "Xvfb :1 +extension GLX &")
+ (setenv "DISPLAY" ":1")
+ ;; Tests write to $HOME.
+ (setenv "HOME" (getcwd))
+ ;; Tests look for $XDG_RUNTIME_DIR.
+ (setenv "XDG_RUNTIME_DIR" (getcwd))
+ ;; For missing '/etc/machine-id'.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ #t))
+ (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/gtk-doc")
+ (string-append doc "/share/gtk-doc"))
+ #t))))))
+ (native-inputs
+ `(("docbook-xml" ,docbook-xml-4.1.2)
+ ("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("gtk-doc" ,gtk-doc)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python-wrapper" ,python-wrapper)
+ ("xmllint" ,libxml2)
+ ("xorg-server" ,xorg-server-for-tests)))
(inputs
- `(("cdparanoia" ,cdparanoia)
- ("pango" ,pango)
+ `(("alsa-lib" ,alsa-lib)
+ ("cdparanoia" ,cdparanoia)
+ ("gdk-pixbuf" ,gdk-pixbuf+svg)
+ ("glu" ,glu)
+ ("graphene" ,graphene)
+ ("gtk+" ,gtk+)
+ ("iso-codes" ,iso-codes)
+ ("libgudev" ,libgudev)
+ ("libjpeg" ,libjpeg-turbo)
("libogg" ,libogg)
("libtheora" ,libtheora)
+ ("libvisual" ,libvisual)
("libvorbis" ,libvorbis)
("libx11" ,libx11)
- ("zlib" ,zlib)
- ("libXext" ,libxext)
+ ("libxext" ,libxext)
+ ("libxshm" ,libxshmfence)
("libxv" ,libxv)
- ("alsa-lib" ,alsa-lib)
- ;; XXX Don't build with opus on 32-bit systems:
- ;; <https://bugs.gnu.org/32360>
- ,@(if (target-64bit?)
- `(("opus" ,opus))
- '())))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("python-wrapper" ,python-wrapper)))
- (arguments
- `(#:configure-flags '("-Dgl=disabled"
- ;; FIXME: Documentation fails to build without
- ;; enabling GL above, which causes other problems.
- "-Ddoc=false")
- #:phases
- (modify-phases %standard-phases
- ,@%common-gstreamer-phases
- (add-before 'configure 'patch
- (lambda _
- (substitute* "tests/check/libs/pbutils.c"
- (("/bin/sh") (which "sh")))
- #t)))))
- (home-page "https://gstreamer.freedesktop.org/")
- (synopsis
- "Plugins for the GStreamer multimedia library")
- (description "This package provides an essential exemplary set of plug-ins
-for the GStreamer multimedia library.")
- (license license:lgpl2.0+)))
+ ("mesa" ,mesa)
+ ("opus" ,opus)
+ ("pango" ,pango)
+ ("sdl" ,sdl)
+ ("wayland" ,wayland)
+ ("zlib" ,zlib)))
+ (propagated-inputs
+ `(("glib" ,glib)
+ ("glib-networking" ,glib-networking)
+ ("gstreamer" ,gstreamer)
+ ("orc" ,orc)))
+ (synopsis "GStreamer plugins and helper libraries")
+ (description "Gst-Plugins-Base is a well-groomed and well-maintained
+collection of GStreamer plug-ins and elements, spanning the range of possible
+types of elements one would want to write for GStreamer.")
+ (home-page "https://gstreamer.freedesktop.org/")
+ (license license:lgpl2.0+)))
(define-public gst-plugins-good
(package
--
2.26.2
[-- Attachment #1.1.10: 0009-gnu-gst-plugins-good-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 7303 bytes --]
From 0f2e43235c994ef456e187727b4754cb0ce182c1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 24 Jun 2020 23:58:52 -0400
Subject: [PATCH 9/9] gnu: gst-plugins-good: Update package definition.
* gnu/packages/gstreamer.scm (gst-plugins-good): Update package definition.
[arguments]<#:glib-or-gtk?>: New argument.
<#:phases>['disable-tests-for-armhf]: Remove phase.
['disable-failing-tests]: Remove phase.
['patch-docbook-xml]: New phase.
['pre-check]: New phase.
[native-inputs]: Add docbook-xml, gettext-minimal, gobject-introspection,
gsettings-desktop-schemas, perl, libxml2 and xorg-server-for-tests.
[inputs]: Add bzip2, glib, glib-networking, glu, libgudev, libx11,
libxdamage, libxfixes, libxext, libxshmfence, mesa and v4l-utils.
Remove gst-plugins-base.
[propagated-inputs]: Add gstreamer and gst-plugins-base.
[synopsis]: Modify.
[description]: Modify.
---
gnu/packages/gstreamer.scm | 117 +++++++++++++++++++++----------------
1 file changed, 68 insertions(+), 49 deletions(-)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 0d7d5d4382..8b62894210 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -464,78 +464,97 @@ types of elements one would want to write for GStreamer.")
(version "1.16.2")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "https://gstreamer.freedesktop.org/src/" name "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "068k3cbv1yf3gbllfdzqsg263kzwh21y8dpwr0wvgh15vapkpfs0"))))
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://gstreamer.freedesktop.org/src/" name "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32 "068k3cbv1yf3gbllfdzqsg263kzwh21y8dpwr0wvgh15vapkpfs0"))))
(build-system meson-build-system)
+ (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* "plugins/gst-plugins-good-plugins-docs.sgml"
+ (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+ (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook/"))))
+ #t))
+ (add-before
+ 'check 'pre-check
+ (lambda _
+ ;; Tests require a running X server.
+ (system "Xvfb :1 +extension GLX &")
+ (setenv "DISPLAY" ":1")
+ ;; Tests write to $HOME.
+ (setenv "HOME" (getcwd))
+ ;; Tests look for $XDG_RUNTIME_DIR.
+ (setenv "XDG_RUNTIME_DIR" (getcwd))
+ ;; For missing '/etc/machine-id'.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ #t)))))
+ (native-inputs
+ `(("docbook-xml" ,docbook-xml-4.1.2)
+ ("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python-wrapper" ,python-wrapper)
+ ("xmllint" ,libxml2)
+ ("xorg-server" ,xorg-server-for-tests)))
(inputs
`(("aalib" ,aalib)
+ ("bzip2" ,bzip2)
("cairo" ,cairo)
("flac" ,flac)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("gst-plugins-base" ,gst-plugins-base)
+ ("gdk-pixbuf" ,gdk-pixbuf+svg)
+ ("glib" ,glib)
+ ("glib-networking" ,glib-networking)
+ ("glu" ,glu)
("gtk+" ,gtk+)
- ("jack" ,jack-1)
+ ("jack" ,jack-2)
("lame" ,lame)
("libavc1394" ,libavc1394)
("libcaca" ,libcaca)
("libdv" ,libdv)
+ ("libgudev" ,libgudev)
("libiec61883" ,libiec61883)
("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libshout" ,libshout)
("libsoup" ,libsoup)
("libvpx" ,libvpx)
+ ("libx11" ,libx11)
+ ("libxdamage" ,libxdamage)
+ ("libxfixes" ,libxfixes)
+ ("libxext" ,libxext)
+ ("libxshm" ,libxshmfence)
+ ("mesa" ,mesa)
("mpg123" ,mpg123)
("orc" ,orc)
("pulseaudio" ,pulseaudio)
("speex" ,speex)
("taglib" ,taglib)
("twolame" ,twolame)
- ("wavpack" ,wavpack)))
- (native-inputs
- `(("glib:bin" ,glib "bin")
- ("pkg-config" ,pkg-config)
- ("python-wrapper" ,python-wrapper)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- ,@%common-gstreamer-phases
- ,@(if (string-prefix? "arm" (or (%current-target-system)
- (%current-system)))
- ;; FIXME: These tests started failing on armhf after switching to Meson.
- ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/689
- `((add-after 'unpack 'disable-tests-for-armhf
- (lambda _
- (substitute* "tests/check/elements/rtpbin_buffer_list.c"
- (("tcase_add_test \\(tc_chain, test_bufferlist\\);")
- ""))
- (substitute* "tests/check/elements/rtpulpfec.c"
- (("tcase_add_loop_test.*rtpulpfecdec_recovered_from_many.*")
- "")
- (("tcase_add.*rtpulpfecdec_recovered_using_recovered_packet.*")
- ""))
- #t)))
- '())
- (add-after
- 'unpack 'disable-failing-tests
- (lambda _
- ;; Disable tests that fail non-deterministically.
- ;; This test fails on aarch64 on 1.12.x.
- (substitute* "tests/check/elements/alpha.c"
- (("tcase_add_test \\(tc_chain, test_chromakeying\\);" all)
- (string-append "/* " all " */")))
- #t)))))
+ ("v4l-utils" ,v4l-utils)
+ ("wavpack" ,wavpack)
+ ("zlib" ,zlib)))
+ (propagated-inputs
+ `(("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (synopsis "GStreamer plugins and helper libraries")
+ (description "GStreamer-Plugins-Good is a collection of plug-ins you'd want
+to have right next to you on the battlefield. Shooting sharp and making no
+mistakes, these plug-ins have it all: good looks, good code, and good
+licensing. Documented and dressed up in tests. If you're looking for a role
+model to base your own plug-in on, here it is.")
(home-page "https://gstreamer.freedesktop.org/")
- (synopsis
- "Plugins for the GStreamer multimedia library")
- (description "GStreamer Good Plug-ins is a set of plug-ins for the
-GStreamer multimedia library. This set contains those plug-ins which the
-developers consider to have good quality code and correct functionality.")
(license license:lgpl2.0+)))
(define-public gst-plugins-bad
--
2.26.2
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2020-06-28 5:58 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-06 9:13 [OUTREACHY]: Integration of desktop environments into GNU Guix Raghav Gururajan
2020-05-06 14:19 ` Ludovic Courtès
2020-05-06 15:05 ` Gábor Boskovits
2020-05-06 15:49 ` Ricardo Wurmus
2020-05-06 16:03 ` Raghav Gururajan
2020-05-06 15:52 ` sirgazil
2020-05-06 16:04 ` Raghav Gururajan
2020-05-06 17:22 ` Jan Nieuwenhuizen
2020-05-06 17:23 ` Raghav Gururajan
2020-05-20 13:34 ` Raghav Gururajan
2020-05-20 13:51 ` Pierre Neidhardt
2020-05-20 13:57 ` Raghav Gururajan
2020-05-20 14:06 ` Pierre Neidhardt
2020-05-21 9:08 ` Efraim Flashner
2020-05-22 11:18 ` Raghav Gururajan
2020-05-22 11:25 ` Raghav Gururajan
2020-05-23 14:26 ` Raghav Gururajan
2020-05-25 20:08 ` Danny Milosavljevic
2020-05-28 17:11 ` Raghav Gururajan
2020-05-28 17:10 ` Raghav Gururajan
2020-05-28 18:23 ` Danny Milosavljevic
2020-05-29 21:01 ` Raghav Gururajan
2020-05-29 23:02 ` Danny Milosavljevic
2020-05-29 20:54 ` Raghav Gururajan
2020-05-29 21:08 ` Raghav Gururajan
2020-05-30 20:30 ` Raghav Gururajan
2020-05-31 13:31 ` Danny Milosavljevic
2020-06-10 13:12 ` Raghav Gururajan
2020-06-04 18:31 ` Raghav Gururajan
2020-06-04 18:52 ` Vincent Legoll
2020-06-10 13:06 ` Raghav Gururajan
2020-06-04 18:57 ` Danny Milosavljevic
2020-06-14 13:31 ` Raghav Gururajan
2020-06-19 23:37 ` Raghav Gururajan
2020-06-24 22:40 ` Danny Milosavljevic
2020-07-04 10:37 ` Raghav Gururajan
2020-07-04 11:14 ` Raghav Gururajan
2020-07-06 1:36 ` Raghav Gururajan
2020-07-06 19:24 ` Danny Milosavljevic
2020-07-06 19:56 ` Efraim Flashner
2020-07-05 19:25 ` Danny Milosavljevic
2020-07-06 5:05 ` Raghav Gururajan
2020-07-13 13:45 ` Ludovic Courtès
2020-07-13 13:50 ` Raghav Gururajan
2020-07-16 1:21 ` Raghav Gururajan
2020-07-17 12:38 ` Danny Milosavljevic
2020-07-18 13:29 ` Raghav Gururajan
2020-07-18 14:12 ` Danny Milosavljevic
2020-07-18 19:27 ` Raghav Gururajan
2020-07-18 20:18 ` Raghav Gururajan
2020-07-19 11:43 ` Danny Milosavljevic
2020-07-19 19:21 ` Danny Milosavljevic
2020-07-19 19:22 ` Danny Milosavljevic
2020-07-20 1:54 ` Raghav Gururajan
2020-07-24 18:29 ` Raghav Gururajan
2020-07-25 8:15 ` Raghav Gururajan
2020-07-25 8:18 ` Raghav Gururajan
2020-07-25 8:24 ` Raghav Gururajan
2020-07-25 9:12 ` Raghav Gururajan
2020-07-27 16:11 ` Raghav Gururajan
2020-07-30 23:51 ` Raghav Gururajan
2020-08-02 7:32 ` Raghav Gururajan
2020-08-03 22:29 ` Danny Milosavljevic
2020-08-04 10:22 ` Raghav Gururajan
2020-08-04 22:50 ` Raghav Gururajan
2020-08-05 15:14 ` Danny Milosavljevic
2020-08-07 2:14 ` Raghav Gururajan
2020-08-09 22:28 ` Danny Milosavljevic
2020-08-11 10:38 ` Raghav Gururajan
2020-08-12 4:05 ` Raghav Gururajan
2020-08-12 4:11 ` Raghav Gururajan
2020-08-12 8:02 ` Danny Milosavljevic
2020-08-19 15:06 ` Raghav Gururajan
2020-08-22 14:48 ` Pierre Neidhardt
2020-08-24 3:18 ` Maxim Cournoyer
2020-08-14 14:24 ` [20.08.2020 Hartmut Goebel
2020-08-14 14:28 ` [20.08.2020 Raghav Gururajan
2020-06-24 11:37 ` [OUTREACHY]: Integration of desktop environments into GNU Guix Danny Milosavljevic
2020-06-25 4:04 ` Raghav Gururajan
2020-06-25 11:47 ` Danny Milosavljevic
2020-06-28 5:56 ` Raghav Gururajan [this message]
2020-06-25 11:52 ` Danny Milosavljevic
2020-05-25 19:58 ` Danny Milosavljevic
2020-05-25 20:00 ` Danny Milosavljevic
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=dd842bd1-d9cb-78b8-0312-255dc55113f4@disroot.org \
--to=raghavgururajan@disroot.org \
--cc=dannym@scratchpost.org \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).