Subject: [PATCH v2 3/5] gnu: Add gst-plugins/selection.

From: Leo Prikler <[email-masked]>
Date: Tue, 15 Dec 2020 10:03:04 +0100

* gnu/packages/gstreamer.scm (gst-plugins/selection): New variable.
---
 gnu/packages/gstreamer.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index f8c5159a3b..3b572b9f07 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -912,6 +912,28 @@ decoders, muxers, and demuxers provided by FFmpeg.")
 non-linear editors.")
     (license license:gpl2+)))
 
+(define-public gst-plugins/selection
+  (lambda* (pkg #:key plugins configure-flags)
+    "Build PKG with only PLUGINS enabled.  Optionally, if CONFIGURE-FLAGS are
+given, also pass them to the build system instead of the ones used by PKG."
+    (package/inherit pkg
+      (arguments
+       (substitute-keyword-arguments (package-arguments pkg)
+         ((#:configure-flags flags `(,@(or configure-flags '())))
+          `(append
+            (list
+             ,@(map (lambda (plugin)
+                      (string-append "-D" plugin "=enabled"))
+                    plugins))
+            (list ,@(or configure-flags flags))))
+          ((#:phases phases)
+           `(modify-phases ,phases
+              (add-after 'unpack 'disable-auto-plugins
+                (lambda _
+                  (substitute* "meson_options.txt"
+                    (("'auto'") "'disabled'"))
+                  #t)))))))))
+
 (define-public python-gst
   (package
     (name "python-gst")
-- 
2.29.2