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: Mon, 6 Jul 2020 01:05:21 -0400 [thread overview]
Message-ID: <a6d93456-e02b-e8d9-081e-e621fce9f6ad@disroot.org> (raw)
In-Reply-To: <20200705212515.711f6327@scratchpost.org>
[-- Attachment #1.1.1: Type: text/plain, Size: 825 bytes --]
@Danny
I reply to your other comments soon.
> openni2: Is it really necessary to have JRE and the JDK as REGULAR inputs? Why?
Ah, thanks for spotting that. It is only required during build. I have
moved them to native-inputs now.
> opesles: Did not review yet. Do we need that random commit ea5104b? Is there a release to use instead?
Unfortunately, this project neither does releases nor tags. They just
bundle things in versioned folders.
> >+ (license (license:non-copyleft "Refer individual files"))))
> I don't think that's acceptable. If it were, we could just remove the "license" field of all packages--because that's always true.
Makes sense! Fixed it now.
Please find the attached patches that are to be applied between
rust-imgref and gtk+-2 commits.
Regards,
RG.
[-- Attachment #1.1.2: 0001-gnu-Add-openni2.patch --]
[-- Type: text/x-patch, Size: 2548 bytes --]
From 22d7b000cffa8a433ecf818858f591f90d69c93b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 6 Jul 2020 00:13:23 -0400
Subject: [PATCH 1/7] gnu: Add openni2.
* gnu/packages/gstreamer.scm (openni2): New variable.
---
gnu/packages/gstreamer.scm | 40 ++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 57593c860e..774137340d 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -54,9 +54,11 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages graphics)
+ #:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages iso-codes)
+ #:use-module (gnu packages java)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
@@ -84,6 +86,44 @@
#:use-module (gnu packages assembly)
#:use-module (gnu packages xml))
+(define-public openni2
+ (package
+ (name "openni2")
+ (version "2.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/occipital/OpenNI2.git")
+ (commit (string-append "v" version "-debian"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0mfnyzpq53wnzgjfx91xcbx0nrl0lp1vrk1rk20a3gb3kshsr675"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No target
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (native-inputs
+ `(("graphviz" ,graphviz)
+ ("doxygen" ,doxygen)
+ ("openjdk" ,openjdk14)
+ ("openjdk:jdk" ,openjdk14 "jdk")
+ ("python" ,python-wrapper)))
+ (inputs
+ `(("freeglut3" ,freeglut)
+ ("libudev" ,eudev)
+ ("libusb" ,libusb)))
+ (synopsis "Framework for sensor-based 'Natural Interaction")
+ (description "OpenNI is a framework for getting data to support
+'Natural Interaction', i.e. skeleton tracking, gesture tracking, and similar
+ways of getting data from humans. It provides the interface for physical devices
+and for middleware components.")
+ (home-page "https://structure.io/openni")
+ (license license:asl2.0)))
+
(define-public libdc1394
(package
(name "libdc1394")
--
2.26.2
[-- Attachment #1.1.3: 0002-gnu-Add-opensles.patch --]
[-- Type: text/x-patch, Size: 6515 bytes --]
From bd946952cf81ddcbb7418a285b5d6cb89860fc8b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 6 Jul 2020 00:45:47 -0400
Subject: [PATCH 2/7] gnu: Add opensles.
* gnu/packages/audio.scm (opensles): New variable.
* gnu/packages/patches/opensles-add-license-file.patch: New file.
* gnu/local.mk (opensles-add-license-file.patch): New reference.
---
gnu/local.mk | 1 +
gnu/packages/audio.scm | 62 +++++++++++++++++++
.../patches/opensles-add-license-file.patch | 45 ++++++++++++++
3 files changed, 108 insertions(+)
create mode 100644 gnu/packages/patches/opensles-add-license-file.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 5c203f67d0..5c1eb7224f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1335,6 +1335,7 @@ dist_patch_DATA = \
%D%/packages/patches/openssh-hurd.patch \
%D%/packages/patches/openresolv-restartcmd-guix.patch \
%D%/packages/patches/openscad-parser-boost-1.72.patch \
+ %D%/packages/patches/opensles-add-license-file.patch \
%D%/packages/patches/openssl-runpath.patch \
%D%/packages/patches/openssl-1.1-c-rehash-in.patch \
%D%/packages/patches/openssl-c-rehash-in.patch \
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 6be39e9445..166a0d5fe1 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -127,6 +127,68 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
+(define-public opensles
+ (package
+ (name "opensles")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/KhronosGroup/OpenSL-ES-Registry.git")
+ (commit "ea5104b")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0j5bm7h3ahz66f23i9abwc0y10agfkpksnj6y078x2nichq66h4f"))
+ (patches
+ (search-patches "opensles-add-license-file.patch"))))
+ (build-system copy-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'clean
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")))
+ (mkdir-p (string-append out "/etc"))
+ (mkdir-p (string-append out "/include"))
+ (mkdir-p (string-append out "/share"))
+ (rename-file
+ (string-append out "/api/1.1/OpenSLES_IID.c")
+ (string-append out "/etc/OpenSLES_IID.c"))
+ (rename-file
+ (string-append out "/api/1.1/OpenSLES.h")
+ (string-append out "/include/OpenSLES.h"))
+ (rename-file
+ (string-append out "/api/1.1/OpenSLES_Platform.h")
+ (string-append out "/include/OpenSLES_Platform.h"))
+ (rename-file
+ (string-append out "/api/1.1/README.txt")
+ (string-append out "/share/README.txt"))
+ (rename-file
+ (string-append out "/LICENSE.txt")
+ (string-append out "/share/LICENSE.txt"))
+ (for-each delete-file-recursively
+ (list
+ (string-append out "/api")
+ (string-append out "/specs")))
+ (for-each delete-file
+ (list
+ (string-append out "/CODE_OF_CONDUCT.md")
+ (string-append out "/index.php")
+ (string-append out "/README.md"))))
+ #t)))))
+ (synopsis "Embedded Audio Acceleration")
+ (description "OpenSLES is a royalty-free, cross-platform,
+hardware-accelerated audio API tuned for embedded systems. It provides a
+standardized, high-performance, low-latency method to access audio
+functionality for developers of native applications on embedded mobile
+multimedia devices, enabling straightforward cross-platform deployment of
+hardware and software audio capabilities, reducing implementation effort, and
+promoting the market for advanced audio.")
+ (home-page "https://www.khronos.org/opensles/")
+ (license (license:non-copyleft "file:///LICENSE.txt"))))
+
(define-public wildmidi
(package
(name "wildmidi")
diff --git a/gnu/packages/patches/opensles-add-license-file.patch b/gnu/packages/patches/opensles-add-license-file.patch
new file mode 100644
index 0000000000..c638b3886a
--- /dev/null
+++ b/gnu/packages/patches/opensles-add-license-file.patch
@@ -0,0 +1,45 @@
+From 3a78134a35b448d9d4136ffbc55175be7fab6644 Mon Sep 17 00:00:00 2001
+From: Raghav Gururajan <raghavgururajan@disroot.org>
+Date: Mon, 6 Jul 2020 00:34:20 -0400
+Subject: [PATCH] [PATCH]: Add license file.
+
+---
+ LICENSE.txt | 25 +++++++++++++++++++++++++
+ 1 file changed, 25 insertions(+)
+ create mode 100644 LICENSE.txt
+
+diff --git a/LICENSE.txt b/LICENSE.txt
+new file mode 100644
+index 0000000..0fce823
+--- /dev/null
++++ b/LICENSE.txt
+@@ -0,0 +1,25 @@
++/*
++ * Copyright (c) 2007-2011 The Khronos Group Inc.
++ *
++ * Permission is hereby granted, free of charge, to any person obtaining a copy of
++ * this software and /or associated documentation files (the "Materials "), to
++ * deal in the Materials without restriction, including without limitation the
++ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
++ * sell copies of the Materials, and to permit persons to whom the Materials are
++ * furnished to do so, subject to
++ * the following conditions:
++ *
++ * The above copyright notice and this permission notice shall be included
++ * in all copies or substantial portions of the Materials.
++ *
++ * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++ * OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS IN THE
++ * MATERIALS.
++ *
++ * OpenSLES_IID.c - OpenSL ES version 1.1
++ *
++ */
+\ No newline at end of file
+--
+2.26.2
+
--
2.26.2
[-- Attachment #1.1.4: 0003-gnu-gst-plugins-bad-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 12267 bytes --]
From 92a47107253338aa2a75aae535a84f7d57a96fca Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 6 Jul 2020 00:49:41 -0400
Subject: [PATCH 3/7] gnu: gst-plugins-bad: Update package definition.
* gnu/packages/gstreamer.scm (gst-plugins-base): Update package definition.
[outputs]: New output 'doc'.
[arguments]<#:glib-or-gtk?>: New argument.
<#:phases>['fix-build-errors]: New phase.
['patch-docbook-xml]: New phase.
['pre-check]: New phase.
['move-doc]: New phase.
[native-inputs]: Add docbook-xml, gettext-minimal, gsettings-desktop-schemas,
perl, libxml2 and xorg-server-for-tests.
[inputs]: Add bzip2, cairo, ccextractor, chromaprint, directfb, faac,
flite, glib, glib-networking, glu, gsm, iqa, lcms, libaom, libbs2b, libdc1394,
libdca, libde265, libdrm, libexif, libfdk, libgme, libmfx, libmms, libmpcdec,
libnice, libofa, libopenmpt, libtiff, libva, libx11, libxcb, libxext, libxshm, lilv,
lv2, mjpegtools, nettle, opencv, openh264, openni2, opensles, pango, rtmpdump,
sbc, sctp, spandsp, srt, svt-hevc, transcode, v4l-utils, vo-aacenc, vo-amrwbenc,
vulkan-headers, vulkan-loader, webrtc-audio-processing, wildmidi,
wpebackend-fdo, zbar and zxing-cpp.
[propagated-inputs]: Add gstreamer and gst-plugins-base.
[synopsis]: Modify.
[description]: Modify.
---
gnu/packages/gstreamer.scm | 179 ++++++++++++++++++++++++++++---------
1 file changed, 137 insertions(+), 42 deletions(-)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 774137340d..925e4fcbb0 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -35,6 +35,7 @@
#:use-module (guix build-system meson)
#:use-module (guix utils)
#:use-module (gnu packages)
+ #:use-module (gnu packages aidc)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
@@ -49,6 +50,7 @@
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
+ #:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@@ -57,6 +59,7 @@
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
+ #:use-module (gnu packages image-processing)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages java)
#:use-module (gnu packages libunwind)
@@ -65,10 +68,13 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages mp3)
#:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages music)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages nettle)
#:use-module (gnu packages networking)
#:use-module (gnu packages ocr)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages photo)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages qt)
#:use-module (gnu packages rdf)
@@ -76,13 +82,17 @@
#:use-module (gnu packages shells)
#:use-module (gnu packages video)
#:use-module (gnu packages xorg)
+ #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xiph)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages speech)
#:use-module (gnu packages python)
#:use-module (gnu packages ssh)
#:use-module (gnu packages telephony)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
+ #:use-module (gnu packages vulkan)
+ #:use-module (gnu packages webkit)
#:use-module (gnu packages assembly)
#:use-module (gnu packages xml))
@@ -690,92 +700,177 @@ model to base your own plug-in on, here it is.")
(package
(name "gst-plugins-bad")
(version "1.16.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://gstreamer.freedesktop.org/src/"
- name "/" name "-" version ".tar.xz"))
- (sha256
- (base32
- "0x0y0hm0ga3zqi5q4090hw5sjh59y1ry9ak16qsaascm72i7mjzi"))))
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://gstreamer.freedesktop.org/src/"
+ name "/" name "-" version ".tar.xz"))
+ (sha256
+ (base32 "0x0y0hm0ga3zqi5q4090hw5sjh59y1ry9ak16qsaascm72i7mjzi"))))
(build-system meson-build-system)
(arguments
- `(#:phases
+ `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+ #:phases
(modify-phases %standard-phases
- ,@%common-gstreamer-phases
- ,@(if (string-prefix? "arm" (or (%current-target-system)
- (%current-system)))
- ;; Disable test that fails on ARMv7.
- ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1188
- `((add-after 'unpack 'disable-asfmux-test
- (lambda _
- (substitute* "tests/check/meson.build"
- (("\\[\\['elements/asfmux\\.c'\\]\\],")
- ""))
- #t)))
- '())
- (add-after 'unpack 'disable-failing-test
+ (add-after 'unpack 'fix-build-errors
+ (lambda _
+ (substitute* "ext/vulkan/vkerror.c"
+ (("VK_RESULT_BEGIN_RANGE")
+ "VK_RESULT_MAX_ENUM"))
+ #t))
+ (add-after 'unpack 'patch-docbook-xml
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "docs"
+ (substitute* '("libs/compiling.sgml"
+ "libs/gst-plugins-bad-libs-docs.sgml"
+ "plugins/gst-plugins-bad-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-after 'unpack 'disable-failing-tests
(lambda _
- ;; FIXME: Why is this failing.
(substitute* "tests/check/meson.build"
- ((".*elements/dash_mpd\\.c.*")
+ (("\\[\\['elements/msdkh264enc.c'\\], not have_msdk, \\[msdk_dep\\]\\],")
+ "")
+ (("\\[\\['elements/dash_mpd.c'\\], not xml2_dep.found\\(\\), \\[xml2_dep\\]\\],")
+ "")
+ (("\\[\\['elements/shm.c'\\], not shm_enabled, shm_deps\\],")
+ "")
+ (("\\[\\['elements/webrtcbin.c'\\], not libnice_dep.found\\(\\), \\[gstwebrtc_dep\\]\\],")
""))
+ #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)))))
- (propagated-inputs
- `(("gst-plugins-base" ,gst-plugins-base)))
(native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
+ `(("docbook-xml" ,docbook-xml-4.1.2)
+ ("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
- ;; TODO: Enable documentation for 1.18.
- ;;("gtk-doc" ,gtk-doc)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("perl" ,perl)
("pkg-config" ,pkg-config)
- ("python" ,python)))
+ ("python-wrapper" ,python-wrapper)
+ ("xorg-server" ,xorg-server-for-tests)))
(inputs
- ;; XXX: The following dependencies are missing:
- ;; vo-amrwbenc, vo-aacenc, bs2b, chromaprint, directfb, daala, libdts,
- ;; faac, flite, libgsm, libde265, libmms, libmimic, mjpegtools,
- ;; mpeg2enc, libofa, opencv, openh264, openni2, libtimemmgr, wildmidi,
- ;; openspc, gme, sbc, schroedinger, zbar, librtmp, spandsp
`(("bluez" ,bluez)
+ ("bzip2" ,bzip2)
+ ("cairo" ,cairo)
+ ("ccextractor" ,ccextractor)
+ ("chromaprint" ,chromaprint)
("curl" ,curl)
+ ("directfb" ,directfb)
+ ;;("dssim" ,dssim)
+ ("faac" ,faac)
("faad2" ,faad2)
+ ("flite" ,flite)
("fluidsynth" ,fluidsynth)
+ ("glib" ,glib)
+ ("glib-networking" ,glib-networking)
+ ("glu" ,glu)
+ ("gsm" ,gsm)
("gtk+" ,gtk+)
+ ("iqa" ,iqa)
("ladspa" ,ladspa)
+ ("lcms" ,lcms)
+ ("libaom" ,libaom)
("libass" ,libass)
+ ("libbs2b" ,libbs2b)
+ ("libdc1394" ,libdc1394)
+ ("libdca" ,libdca)
+ ("libde265" ,libde265)
+ ("libdrm" ,libdrm)
("libdvdnav" ,libdvdnav)
("libdvdread" ,libdvdread)
+ ("libexif" ,libexif)
+ ("libfdk" ,libfdk)
("libgcrypt" ,libgcrypt)
+ ("libgme" ,libgme)
("libgudev" ,libgudev)
("libkate" ,libkate)
+ ("libmfx" ,mediasdk)
+ ("libmms" ,libmms)
("libmodplug" ,libmodplug)
+ ("libmpcdec" ,libmpcdec)
+ ("libnice" ,libnice)
+ ("libofa" ,libofa)
+ ("libopenmpt" ,libopenmpt)
("librsvg" ,librsvg)
("libsndfile" ,libsndfile)
("libsrtp" ,libsrtp)
("libssh2" ,libssh2)
+ ("libtiff" ,libtiff)
("libusb" ,libusb)
+ ("libva" ,libva)
("libvdpau" ,libvdpau)
("libwebp" ,libwebp)
+ ("libx11" ,libx11)
+ ("libxcb" ,libxcb)
+ ("libxext" ,libxext)
+ ("libxkbcommon" ,libxkbcommon)
("libxml2" ,libxml2)
+ ("libxshm" ,libxshmfence)
+ ("lilv" ,lilv)
("lrdf" ,lrdf)
+ ("lv2" ,lv2)
("mesa" ,mesa)
+ ("mjpegtools" ,mjpegtools)
("neon" ,neon)
+ ("nettle" ,nettle)
("openal" ,openal)
+ ("opencv" ,opencv)
("openexr" ,openexr)
+ ("openh264" ,openh264)
("openjpeg" ,openjpeg)
+ ("openni2" ,openni2)
+ ("opensles" ,opensles)
("openssl" ,openssl)
("opus" ,opus)
("orc" ,orc)
- ;("qtbase" ,qtbase)
- ;("qtdeclarative" ,qtdeclarative)
- ;("qtx11extras" ,qtx11extras)
+ ("pango" ,pango)
+ ("rtmp" ,rtmpdump)
+ ("sbc" ,sbc)
+ ("sctp" ,lksctp-tools)
("soundtouch" ,soundtouch)
+ ("spandsp" ,spandsp)
+ ("srt" ,srt)
+ ("svthevcenc" ,svt-hevc)
+ ("tinyalsa" ,tinyalsa)
+ ("transcode" ,transcode)
+ ("v4l" ,v4l-utils)
+ ("voaacenc", vo-aacenc)
+ ("voamrwbenc" ,vo-amrwbenc)
+ ("vulkan-headers" ,vulkan-headers)
+ ("vulkan-loader" ,vulkan-loader)
("x265" ,x265)
- ("wayland" ,wayland)))
+ ("wayland" ,wayland)
+ ("webrtcdsp" ,webrtc-audio-processing)
+ ("wildmidi" ,wildmidi)
+ ("wpebackend-fdo" ,wpebackend-fdo)
+ ;;("wpewebkit" ,wpewebkit)
+ ("zbar" ,zbar)
+ ("zxing" ,zxing-cpp)))
+ (propagated-inputs
+ `(("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (synopsis "GStreamer plugins and helper libraries")
+ (description "Gst-Plugins-Bad are Bad with a capital B. They look fine on
+the outside, and might even appear to get the job done, but at the end of the
+day they're a black sheep. Without a golden-haired angel to watch over them,
+they'll probably land in an unmarked grave at the final showdown.")
(home-page "https://gstreamer.freedesktop.org/")
- (synopsis "Plugins for the GStreamer multimedia library")
- (description
- "GStreamer Bad Plug-ins is a set of plug-ins whose quality aren't up to
-par compared to the rest.")
(license license:lgpl2.0+)))
(define-public gst-plugins-ugly
--
2.26.2
[-- Attachment #1.1.5: 0004-gnu-gst-plugins-ugly-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 4798 bytes --]
From a3f1b80a855a6d4d9a532314761ced0b9441c997 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 6 Jul 2020 00:50:22 -0400
Subject: [PATCH 4/7] gnu: gst-plugins-ugly: Update package definition.
* gnu/packages/gstreamer.scm (gst-plugins-ugly): Update package definition.
[arguments]<#:glib-or-gtk?>: New argument.
<#:phases>['patch-docbook-xml]: New phase.
['pre-check]: New phase.
[native-inputs]: Add docbook-xml, gettext-minimal, gsettings-desktop-schemas,
perl and xorg-server-for-tests.
[inputs]: Add glib, glib-networking and opencore-amr. Remove gst-plugins-base.
[propagated-inputs]: Add gstreamer and gst-plugins-base.
[synopsis]: Modify.
[description]: Modify.
---
gnu/packages/gstreamer.scm | 67 ++++++++++++++++++++++++++++----------
1 file changed, 49 insertions(+), 18 deletions(-)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 925e4fcbb0..e47b73bc87 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -880,35 +880,66 @@ they'll probably land in an unmarked grave at the final showdown.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://gstreamer.freedesktop.org/src/"
- name "/" name "-" version ".tar.xz"))
+ (uri
+ (string-append "https://gstreamer.freedesktop.org/src/"
+ name "/" name "-" version ".tar.xz"))
(sha256
- (base32
- "1jpvc32x6q01zjkfgh6gmq6aaikiyfwwnhj7bmvn52syhrdl202m"))))
+ (base32 "1jpvc32x6q01zjkfgh6gmq6aaikiyfwwnhj7bmvn52syhrdl202m"))))
(build-system meson-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases
- ,@%common-gstreamer-phases)))
+ `(#: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-ugly-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)
+ ("xorg-server" ,xorg-server-for-tests)))
(inputs
- `(("gst-plugins-base" ,gst-plugins-base)
+ `(("glib" ,glib)
+ ("glib-networking" ,glib-networking)
("liba52" ,liba52)
("libcdio" ,libcdio)
+ ("libdvdread" ,libdvdread)
("libmpeg2" ,libmpeg2)
("libdvdread" ,libdvdread)
("libx264" ,libx264)
- ;; TODO:
- ;; * opencore-amr (for the AMR-NB decoder and encoder and the
- ;; AMR-WB decoder) <http://sourceforge.net/projects/opencore-amr/>
+ ("opencore-amr" ,opencore-amr)
("orc" ,orc)))
- (native-inputs
- `(("glib:bin" ,glib "bin")
- ("pkg-config" ,pkg-config)
- ("python-wrapper" ,python-wrapper)))
+ (propagated-inputs
+ `(("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (synopsis "GStreamer plugins and helper libraries")
+ (description "Gst-Plugins-Ugly are the ones that might have a patent noose
+around their neck, or a lock-up license, or any other problem that makes you
+think twice about shipping them.")
(home-page "https://gstreamer.freedesktop.org/")
- (synopsis "GStreamer plugins from the \"ugly\" set")
- (description "GStreamer Ugly Plug-ins. This set contains those plug-ins
-which the developers consider to have good quality code but that might pose
-distribution problems in some jurisdictions, e.g. due to patent threats.")
(license license:lgpl2.0+)))
(define-public gst-libav
--
2.26.2
[-- Attachment #1.1.6: 0005-gnu-gst-libav-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 4386 bytes --]
From d28eb942c492db20db9cdfa2f38afd58246727f0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 6 Jul 2020 00:51:06 -0400
Subject: [PATCH 5/7] gnu: gst-libav: Update package definition.
* gnu/packages/gstreamer.scm (gst-libav): Update package definition.
[arguments]<#:phases>['patch-docbook-xml]: New phase.
[native-inputs]: Add docbook-xml, perl and ruby.
[inputs]: Remove gst-plugins-base, orc and zlib.
[propagated-inputs]: Add gstreamer and gst-plugins-base.
[synopsis]: Modify.
[description]: Modify.
[license]: Change from gpl2+ to lgpl2.0+.
---
gnu/packages/gstreamer.scm | 66 +++++++++++++++++++++++---------------
1 file changed, 40 insertions(+), 26 deletions(-)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index e47b73bc87..b39113bea2 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -85,6 +85,7 @@
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xiph)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages ruby)
#:use-module (gnu packages speech)
#:use-module (gnu packages python)
#:use-module (gnu packages ssh)
@@ -928,7 +929,6 @@ they'll probably land in an unmarked grave at the final showdown.")
("libcdio" ,libcdio)
("libdvdread" ,libdvdread)
("libmpeg2" ,libmpeg2)
- ("libdvdread" ,libdvdread)
("libx264" ,libx264)
("opencore-amr" ,opencore-amr)
("orc" ,orc)))
@@ -946,35 +946,49 @@ think twice about shipping them.")
(package
(name "gst-libav")
(version "1.16.2")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://gstreamer.freedesktop.org/src/" name "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1wpfilc98bad9nsv3y1qapxp35dvn2mvwvrmqwrsj58cf09gc967"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Drop bundled ffmpeg.
- (delete-file-recursively "gst-libs/ext/libav")
- #t))))
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://gstreamer.freedesktop.org/src/" name "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32 "1wpfilc98bad9nsv3y1qapxp35dvn2mvwvrmqwrsj58cf09gc967"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Drop bundled ffmpeg.
+ (delete-file-recursively "gst-libs/ext/libav")
+ #t))))
(build-system meson-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-docbook-xml
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "docs"
+ (substitute* "plugins/gst-libav-plugins-docs.sgml"
+ (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+ (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook/"))))
+ #t)))))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("python" ,python)))
+ `(("docbook-xml" ,docbook-xml-4.1.2)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)
+ ("ruby" ,ruby)))
(inputs
- `(("gst-plugins-base" ,gst-plugins-base)
- ("ffmpeg" ,ffmpeg)
- ("orc" ,orc)
- ("zlib" ,zlib)))
+ `(("ffmpeg" ,ffmpeg)))
+ (propagated-inputs
+ `(("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (synopsis "GStreamer plugins and helper libraries")
+ (description "Gst-Libav contains a GStreamer plugin for using the encoders,
+decoders, muxers, and demuxers provided by FFmpeg.")
(home-page "https://gstreamer.freedesktop.org/")
- (synopsis "Plugins for the GStreamer multimedia library")
- (description
- "This GStreamer plugin supports a large number of audio and video
-compression formats through the use of the libav library.")
- (license license:gpl2+)))
+ (license license:lgpl2.0+)))
(define-public gst-editing-services
(package
--
2.26.2
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2020-07-06 5:07 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 [this message]
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
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=a6d93456-e02b-e8d9-081e-e621fce9f6ad@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).