diff mbox series

[bug#47643,20/22] gnu: gst-plugins-bad: Add missing inputs to enable more features.

Message ID 20210407204237.3875-20-rg@raghavgururajan.name
State Accepted
Headers show
Series [bug#47643,01/22] gnu: gstreamer: Update to 1.18.4. | expand

Checks

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

Commit Message

Raghav Gururajan April 7, 2021, 8:42 p.m. UTC
* gnu/packages/gstreamer.scm (gst-plugins-bad)[inputs]: Add bzip2,
cairo, 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, openh264, 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.
---
 gnu/packages/gstreamer.scm | 84 ++++++++++++++++++++++++++++++++------
 1 file changed, 72 insertions(+), 12 deletions(-)

Comments

Leo Famulari April 8, 2021, 11:20 p.m. UTC | #1
On Wed, Apr 07, 2021 at 04:42:35PM -0400, Raghav Gururajan via Guix-patches via wrote:
> * gnu/packages/gstreamer.scm (gst-plugins-bad)[inputs]: Add bzip2,
> cairo, 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, openh264, 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.

Is there pending work that requires these new dependencies?

Otherwise, I would leave them out until they are needed.

Remember, these plugins are considered "bad" from gstreamer's
perspective:

https://gstreamer.freedesktop.org/modules/gst-plugins-bad.html
Raghav Gururajan April 8, 2021, 11:29 p.m. UTC | #2
> Is there pending work that requires these new dependencies?

Yes.

> Otherwise, I would leave them out until they are needed.

These inputs enables support for different codecs. Most of these inputs 
were not added because it wasn't packaged. I packaged them during 
outreachy project.

I think, as a distribution we should provide the package with all its 
intended features, as provided my upstream. It is up to the user, 
whether to install gst-plugins-bad to their profile.

:)
Leo Prikler April 9, 2021, 8:28 a.m. UTC | #3
Am Donnerstag, den 08.04.2021, 19:20 -0400 schrieb Leo Famulari:
> On Wed, Apr 07, 2021 at 04:42:35PM -0400, Raghav Gururajan via Guix-
> patches via wrote:
> > * gnu/packages/gstreamer.scm (gst-plugins-bad)[inputs]: Add bzip2,
> > cairo, 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, openh264, 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.
> 
> Is there pending work that requires these new dependencies?
> 
> Otherwise, I would leave them out until they are needed.
> 
> Remember, these plugins are considered "bad" from gstreamer's
> perspective:
> 
> https://gstreamer.freedesktop.org/modules/gst-plugins-bad.html
It is for this reason, that I've packaged gst-plugins/selection. 
People, who don't want all of the bad plugins, but just a working
subset, can use that procedure to limit the plugins they want to build.
I don't think raghav's patch added anything that will be built
regardless of configuration.

That said, gst-plugins/selection will still pull those extra inputs. 
Once we have parameterized packages, I believe gst-plugins-* will
become a nice playground for those.

Regards,
Leo
diff mbox series

Patch

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 77b2988bd5..6225dfcbd3 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -37,6 +37,7 @@ 
   #:use-module (guix build-system trivial)
   #: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)
@@ -50,6 +51,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)
@@ -58,6 +60,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)
@@ -66,10 +69,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)
@@ -87,6 +93,8 @@ 
   #: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))
 
@@ -791,51 +799,103 @@  model to base your own plug-in on, here it is.")
        ("python" ,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)
-       ;; GStreamer is not yet compatible with srt > 1.4.1.
-       ("srt" ,srt-1.4.1)
+       ("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)
-       ("webrtc-audio-processing" ,webrtc-audio-processing)
-       ("wayland" ,wayland)))
+       ("wayland" ,wayland)
+       ("webrtcdsp" ,webrtc-audio-processing)
+       ("wildmidi" ,wildmidi)
+       ("wpebackend-fdo" ,wpebackend-fdo)
+       ;; ("wpewebkit" ,wpewebkit)
+       ("zbar" ,zbar)
+       ("zxing" ,zxing-cpp)))
     (home-page "https://gstreamer.freedesktop.org/")
     (synopsis "GStreamer plugins and helper libraries")
     (description