[PATCH] Update gstreamer and its families to 1.20.1.

DoneSubmitted by Zhu Zihao.
Details
3 participants
  • Zhu Zihao
  • Liliana Marie Prikler
  • Liliana Marie Prikler
Owner
unassigned
Severity
normal
Z
Z
Zhu Zihao wrote on 6 Apr 05:38 +0200
(address . guix-patches@gnu.org)
86bkxeop1g.fsf@163.com
Here's a series of patches that updates gstreamer to 1.20.1.

`guix refresh gstreamer -l` shows that triggers 900+ rebuilds, I'm not
sure every packages depends on gstreamer is tested and worked well.
Currently only webkitgtk is tested.
-----BEGIN PGP SIGNATURE-----

iIsEARYIADMWIQRefA5qkqvnKdl/GTlmOX+E92aT+QUCYk0MOxUcYWxsX2J1dF9s
YXN0QDE2My5jb20ACgkQZjl/hPdmk/n9UAEA7TQ8/XLe+uDzdgv8nsDru8XXry2A
9y7/yJPpqz1B724A/3mzQv17jenynocC0gfqejYs7nJVeDroJnXJvj3VJ6QK
=zZkM
-----END PGP SIGNATURE-----

From 5ad6187b41bd197573e24058accaf780dcb37035 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Mon, 4 Apr 2022 09:20:12 +0800
Subject: [PATCH 01/10] gnu: gstreamer-docs: Update to 1.20.1.

* gnu/packages/gstreamer.scm (%gstreamer-version): New variable.
(gstreamer-docs): Update to 1.20.1.
[source]: Use %gstreamer-version.
[arguments]: Use G-expressions.
---
gnu/packages/gstreamer.scm | 39 ++++++++++++++++++++------------------
1 file changed, 21 insertions(+), 18 deletions(-)

Toggle diff (71 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 8ff8e6242b..883baea458 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -28,6 +28,7 @@
 
 (define-module (gnu packages gstreamer)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix gexp)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -401,10 +402,12 @@ (define-public orc
     ;; under the 3-clause BSD license, the rest is under 2-clause BSD license.
     (license (list license:bsd-2 license:bsd-3))))
 
+(define %gstreamer-version "1.20.1")
+
 (define-public gstreamer-docs
   (package
     (name "gstreamer-docs")
-    (version "1.18.5")
+    (version %gstreamer-version)
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -412,25 +415,25 @@ (define-public gstreamer-docs
                     "/gstreamer-docs-" version ".tar.xz"))
               (sha256
                (base32
-                "1xvqrqv1zxqdpvd02dvr0xspk30c8b940vvnr9x75a08nx0x75xh"))))
+                "1brngvhp8k1hdh82g2mcqa5dnb2b68wc4m4jlras6fmr6cyjzn6x"))))
     (build-system trivial-build-system)
     (arguments
-     `(#:modules ((guix build utils))
-       #:builder
-       (begin
-         (use-modules ((guix build utils)))
-         (let* ((source (assoc-ref %build-inputs "source"))
-                (tar (assoc-ref %build-inputs "tar"))
-                (xz (assoc-ref %build-inputs "xz"))
-                (out (assoc-ref %outputs "out"))
-                (books (string-append out "/share/devhelp/books")))
-           (setenv "PATH" (string-append xz "/bin"))
-           (mkdir-p books)
-           (with-directory-excursion books
-             (invoke (string-append tar "/bin/tar") "-xvf" source
-                     "--strip-components=3"
-                     (string-append ,name "-" ,version
-                                    "/devhelp/books/GStreamer")))))))
+     (list
+      #:modules '((guix build utils))
+      #:builder
+      #~(begin
+          (use-modules ((guix build utils)))
+          (let* ((source (assoc-ref %build-inputs "source"))
+                 (tar (assoc-ref %build-inputs "tar"))
+                 (xz (assoc-ref %build-inputs "xz"))
+                 (books (string-append #$output "/share/devhelp/books")))
+            (setenv "PATH" (string-append xz "/bin"))
+            (mkdir-p books)
+            (with-directory-excursion books
+              (invoke (string-append tar "/bin/tar") "-xvf" source
+                      "--strip-components=3"
+                      (string-append #$name "-" #$version
+                                     "/devhelp/books/GStreamer")))))))
     (native-inputs
      (list tar xz))
     (home-page "https://gstreamer.freedesktop.org/")
-- 
2.34.0
From 6fb757e726236e2f07798aae012db9f68d2b3d35 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Mon, 4 Apr 2022 11:51:19 +0800
Subject: [PATCH 02/10] gnu: gstreamer: Update to 1.20.1.

* gnu/packages/gstreamer.scm (%common-gstreamer-phases): Use G-expressions.
(gstreamer): Update to 1.20.1.
[version]: Use `%gstreamer-version` variable.
[arguments]: Use G-expressions.
<phases>: Remove workaround for gstreamer bug because it's fixed by upstream.
[native-inputs]: Use label-less style inputs.
---
gnu/packages/gstreamer.scm | 72 ++++++++++++++++----------------------
1 file changed, 30 insertions(+), 42 deletions(-)

Toggle diff (105 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 883baea458..02972f4e1a 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -456,18 +456,19 @@ (define-public gstreamer-docs
 
 ;; Increase the test timeouts to accommodate slow or busy machines.
 (define %common-gstreamer-phases
-  '((add-after 'unpack 'increase-test-timeout
-      (lambda _
-        (substitute* "tests/check/meson.build"
-          (("'CK_DEFAULT_TIMEOUT', '[0-9]*'")
-           "'CK_DEFAULT_TIMEOUT', '600'")
-          (("timeout ?: .*\\)")
-           "timeout: 90 * 60)"))))))
+  (list
+   #~(add-after 'unpack 'increase-test-timeout
+       (lambda _
+         (substitute* "tests/check/meson.build"
+           (("'CK_DEFAULT_TIMEOUT', '[0-9]*'")
+            "'CK_DEFAULT_TIMEOUT', '600'")
+           (("timeout ?: .*\\)")
+            "timeout: 90 * 60)"))))))
 
 (define-public gstreamer
   (package
     (name "gstreamer")
-    (version "1.18.5")
+    (version %gstreamer-version)
     (source
      (origin
        (method url-fetch)
@@ -476,33 +477,20 @@ (define-public gstreamer
              version ".tar.xz"))
        (sha256
         (base32
-         "02p8my6dzmm4rvd93s3qnh8w5bm9bh4f7gdydbsvnn9llqr251jm"))))
+         "0cghi6n4nhdbajz3wqcgbh5xm94myvnqgsi9g2bz9n1s9904l2fy"))))
     (build-system meson-build-system)
     (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.*")
-                        "")))))
-               '())
-         (add-after 'unpack 'disable-problematic-tests
-           (lambda _
-             ;; Disable the 'pipelines-seek' test, which appears to be load
-             ;; sensitive (see:
-             ;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/854).
-             (substitute* "tests/check/meson.build"
-               ((".*'pipelines/seek.c'.*")
-                "")))))))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          #$@%common-gstreamer-phases
+          (add-after 'unpack 'disable-problematic-tests
+            (lambda _
+              ;; Disable the 'pipelines-seek' test, which appears to be load
+              ;; sensitive (see:
+              ;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/854).
+              (substitute* "tests/check/meson.build"
+                ((".*'pipelines/seek.c'.*") "")))))))
     (propagated-inputs
      ;; In gstreamer-1.0.pc:
      ;;   Requires: glib-2.0, gobject-2.0
@@ -510,15 +498,15 @@ (define-public gstreamer
      (list elfutils ; libdw
            glib libunwind))
     (native-inputs
-     `(("bash-completion" ,bash-completion)
-       ("bison" ,bison)
-       ("flex" ,flex)
-       ("gettext" ,gettext-minimal)
-       ("glib" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python-wrapper" ,python-wrapper)))
+     (list bash-completion
+           bison
+           flex
+           gettext-minimal
+           `(,glib "bin")
+           gobject-introspection
+           perl
+           pkg-config
+           python-wrapper))
     (inputs
      (list gmp libcap
            ;; For tests.
-- 
2.34.0
From 2be2f280a25609e0235a9cffb67fda249d962b8e Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Mon, 4 Apr 2022 12:02:30 +0800
Subject: [PATCH 03/10] gnu: gst-plugins-base: Update to 1.20.1.

* gnu/packages/gstreamer.scm (gst-plugins-base): Update to 1.20.1.
[version]: Use `%gstreamer-version` variable.
[propagated-inputs]: Propagates libgudev.
Use label-less style inputs.
[inputs]: Use label-less style inputs.
[native-inputs]: Ditto.
[arguments]: Use G-expressions.
---
gnu/packages/gstreamer.scm | 145 +++++++++++++++++++------------------
1 file changed, 73 insertions(+), 72 deletions(-)

Toggle diff (166 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 02972f4e1a..aabed346a6 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -533,86 +533,87 @@ (define-public gstreamer
 (define-public gst-plugins-base
   (package
     (name "gst-plugins-base")
-    (version "1.18.5")
+    (version %gstreamer-version)
     (source
      (origin
-      (method url-fetch)
-      (uri (string-append "https://gstreamer.freedesktop.org/src/" name "/"
-                          name "-" version ".tar.xz"))
-      (sha256
-       (base32
-        "18vg8kk7p2p8za8zaqg0v7z6898yw5a3b12vvl7xn02pb3s7l2wn"))))
+       (method url-fetch)
+       (uri (string-append "https://gstreamer.freedesktop.org/src/" name "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0162ly7pscymq6bsf1d5fva2k9s16zvfwyi1q6z4yfd97d0sdn4n"))))
     (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
-       ;; wayland-client.h is referred to in
-       ;; include/gstreamer-1.0/gst/gl/wayland/gstgldisplay_wayland.h
-       ("wayland" ,wayland)
-       ;; 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
+     (append
+      ;; FIXME: propagates all package referenced in .pc files. 
+      (list glib                    ;required by gstreamer-sdp-1.0.pc
+            gstreamer               ;required by gstreamer-plugins-base-1.0.pc
+            libgudev                ;required by gstreamer-gl-1.0.pc
+            ;; wayland-client.h is referred to in
+            ;; include/gstreamer-1.0/gst/gl/wayland/gstgldisplay_wayland.h
+            wayland)
+      ;; XXX: Do not enable Orc optimizations on ARM systems because
+      ;; it leads to two test failures.
+      (if (string-prefix? "arm"
+                          (or (%current-target-system)
+                              (%current-system)))
+          '()
+          (list orc)))) ;required by gstreamer-audio-1.0.pc
     (inputs
      ;; TODO: Add libvorbisidec
-     `(("cdparanoia" ,cdparanoia)
-       ("pango" ,pango)
-       ("libogg" ,libogg)
-       ("libtheora" ,libtheora)
-       ("libvorbis" ,libvorbis)
-       ("libx11" ,libx11)
-       ("zlib" ,zlib)
-       ("libXext" ,libxext)
-       ("libxv" ,libxv)
-       ("alsa-lib" ,alsa-lib)
-       ("opus" ,opus)
-       ("graphene" ,graphene)
-       ("iso-codes" ,iso-codes)
-       ("libgudev" ,libgudev)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libpng" ,libpng)
-       ("libvisual" ,libvisual)
-       ("mesa" ,mesa)
-       ("wayland-protocols" ,wayland-protocols)))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("glib:bin" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("python-wrapper" ,python-wrapper)
-       ("gettext" ,gettext-minimal)
-       ("xorg-server" ,xorg-server-for-tests)))
+     (list cdparanoia
+           pango
+           libogg
+           libtheora
+           libvorbis
+           libx11
+           zlib
+           libxext
+           libxv
+           alsa-lib
+           opus
+           graphene
+           iso-codes
+           libgudev
+           libjpeg-turbo
+           libpng
+           libvisual
+           mesa
+           wayland-protocols))
+    (native-inputs (list pkg-config
+                         `(,glib "bin")
+                         gobject-introspection
+                         python-wrapper
+                         gettext-minimal
+                         xorg-server-for-tests))
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         ,@%common-gstreamer-phases
-         (add-after 'unpack 'disable-problematic-tests
-           (lambda _
-             (substitute* "tests/check/meson.build"
-               ;; This test causes nondeterministic failures (see:
-               ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/950).
-               ((".*'elements/appsrc.c'.*")
-                ""))))
-         (add-before 'configure 'patch
-           (lambda _
-             (substitute* "tests/check/libs/pbutils.c"
-               (("/bin/sh") (which "sh")))))
-         (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"))))))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          #$@%common-gstreamer-phases
+          (add-after 'unpack 'disable-problematic-tests
+            (lambda _
+              (substitute* "tests/check/meson.build"
+                ;; This test causes nondeterministic failures (see:
+                ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/950).
+                ((".*'elements/appsrc.c'.*") ""))))
+          (add-before 'configure 'patch
+            (lambda _
+              (substitute* "tests/check/libs/pbutils.c"
+                (("/bin/sh") (which "sh")))))
+          (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"))))))
     (home-page "https://gstreamer.freedesktop.org/")
-    (synopsis
-     "Plugins for the GStreamer multimedia library")
+    (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+)))
-- 
2.34.0
From 15aae76aed129ed87b38348f8a6ebf27ee300642 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Mon, 4 Apr 2022 13:56:24 +0800
Subject: [PATCH 04/10] gnu: gst-plugins-good: Update to 1.20.1.

* gnu/packages/gstreamer.scm (gst-plugins-good): Update to 1.20.1.
[version]: Use `%gstreamer-version` variable.
[arguements]: Use G-expressions.
<phases>: Add 'absolutize-libsoup-library' to embbed abosulute path to libsoup
into the source.
[propagated-inputs]: Remove unnecessary propagation.
[native-inputs]: Use label-less style inputs.
[inputs]: Ditto.
* gnu/packages/patches/gst-plugins-good-fix-test.patch: Remove.
* gnu/local.mk (dist_patch_DATA): Remove corresponding entry.
---
gnu/local.mk | 1 -
gnu/packages/gstreamer.scm | 145 ++++++++++--------
.../patches/gst-plugins-good-fix-test.patch | 94 ------------
3 files changed, 79 insertions(+), 161 deletions(-)
delete mode 100644 gnu/packages/patches/gst-plugins-good-fix-test.patch

Toggle diff (282 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index a704161abc..da38c87b4c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1221,7 +1221,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/grub-efi-fat-serial-number.patch		\
   %D%/packages/patches/grub-setup-root.patch			\
   %D%/packages/patches/gspell-dash-test.patch			\
-  %D%/packages/patches/gst-plugins-good-fix-test.patch		\
   %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
   %D%/packages/patches/guile-2.2-skip-oom-test.patch            \
   %D%/packages/patches/guile-2.2-skip-so-test.patch             \
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index aabed346a6..3c3f914245 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -621,7 +621,7 @@ (define-public gst-plugins-base
 (define-public gst-plugins-good
   (package
     (name "gst-plugins-good")
-    (version "1.18.5")
+    (version %gstreamer-version)
     (source
      (origin
        (method url-fetch)
@@ -629,76 +629,89 @@ (define-public gst-plugins-good
         (string-append
          "https://gstreamer.freedesktop.org/src/" name "/"
          name "-" version ".tar.xz"))
-       (patches (search-patches "gst-plugins-good-fix-test.patch"))
        (sha256
-        (base32 "0svrapawych2s3lm4lx3x023zxq5kcx50jnfmh0qigszfskyxbis"))))
+        (base32 "1al4f35mx41cy2h6agvmsqkjfchsyfs0iyxzpv6pnl0xh9pqfriw"))))
     (build-system meson-build-system)
     (arguments
-     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
-       #:phases
-       (modify-phases %standard-phases
-         ,@%common-gstreamer-phases
-         (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)))))
+     (list
+      #:glib-or-gtk? #t              ; To wrap binaries and/or compile schemas
+      #:phases
+      #~(modify-phases %standard-phases
+          #$@%common-gstreamer-phases
+
+          ;; In https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/c3455def2e7bd09a7c3806283ceb69d0bef24869
+          ;; gst-plugins-good will dlopen libsoup at runtime instead of link
+          ;; to it. Patch the full library path of libsoup to avoid
+          ;; fiddle around with LD_LIBRARY_PATH environment variable.
+          (add-after 'unpack 'absolutize-libsoup-library
+            (lambda* (#:key inputs #:allow-other-keys)
+              (define libsoup
+                (search-input-file inputs "lib/libsoup-3.0.so"))
+
+              (substitute* "ext/soup/gstsouploader.c"
+                (("(#define LIBSOUP_3_SONAME ).+$" _ prefix)
+                 (string-append prefix "\"" libsoup "\"\n")))))
+          (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
-     `(("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)))
+     (list gettext-minimal
+           `(,glib "bin")
+           gobject-introspection
+           gsettings-desktop-schemas
+           perl
+           pkg-config
+           python-wrapper
+           libxml2
+           xorg-server-for-tests))
     (inputs
-     `(("aalib" ,aalib)
-       ("bzip2" ,bzip2)
-       ("cairo" ,cairo)
-       ("flac" ,flac)
-       ("librsvg" ,(librsvg-for-system))
-       ("glib" ,glib)
-       ("glib-networking" ,glib-networking)
-       ("glu" ,glu)
-       ("gtk+" ,gtk+)
-       ("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)
-       ("v4l-utils" ,v4l-utils)
-       ("wavpack" ,wavpack)
-       ("zlib" ,zlib)))
-    (propagated-inputs
-     (list gstreamer gst-plugins-base))
+     (list aalib
+           bzip2
+           cairo
+           flac
+           (librsvg-for-system)
+           glib
+           glib-networking
+           glu
+           gstreamer
+           gst-plugins-base
+           gtk+
+           jack-2
+           lame
+           libavc1394
+           libcaca
+           libdv
+           libgudev
+           libiec61883
+           libjpeg-turbo
+           libpng
+           libshout
+           libsoup
+           libvpx
+           libx11
+           libxdamage
+           libxfixes
+           libxext
+           libxshmfence
+           mesa
+           mpg123
+           orc
+           pulseaudio
+           speex
+           taglib
+           twolame
+           v4l-utils
+           wavpack
+           zlib))
     (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
diff --git a/gnu/packages/patches/gst-plugins-good-fix-test.patch b/gnu/packages/patches/gst-plugins-good-fix-test.patch
deleted file mode 100644
index 38ec0ba802..0000000000
--- a/gnu/packages/patches/gst-plugins-good-fix-test.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-Fix a broken test:
-
-https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/803
-
-Patches copied from upstream source repository:
-
-https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/commit/2ce5909f3a0b0da3abb7b794215d6b8b72a3b7fa
-https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/commit/f5310ce346180a717f091f2f09bcbb3ddfb15436
-
-From 2ce5909f3a0b0da3abb7b794215d6b8b72a3b7fa Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
-Date: Thu, 12 Nov 2020 23:38:21 +0000
-Subject: [PATCH 1/2] tests: qtdemux: fix crash on 32-bit architectures
-
-Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/803
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/815>
----
- tests/check/elements/qtdemux.c | 14 ++++++++------
- 1 file changed, 8 insertions(+), 6 deletions(-)
-
-diff --git a/tests/check/elements/qtdemux.c b/tests/check/elements/qtdemux.c
-index 5271c6576..0c748278b 100644
---- a/tests/check/elements/qtdemux.c
-+++ b/tests/check/elements/qtdemux.c
-@@ -797,9 +797,10 @@ GST_START_TEST (test_qtdemux_pad_names)
-       "protection-system", G_TYPE_STRING,
-       "9a04f079-9840-4286-ab92-e65be0885f95", NULL);
-   caps =
--      gst_caps_new_simple ("video/quicktime", "variant", G_TYPE_STRING,
--      "mss-fragmented", "timesacle", G_TYPE_UINT64, 10000000, "media-caps",
--      GST_TYPE_CAPS, mediacaps, NULL);
-+      gst_caps_new_simple ("video/quicktime",
-+      "variant", G_TYPE_STRING, "mss-fragmented",
-+      "timesacle", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000),
-+      "media-caps", GST_TYPE_CAPS, mediacaps, NULL);
- 
-   /* Send segment event* */
-   event = gst_event_new_caps (caps);
-@@ -852,9 +853,10 @@ GST_START_TEST (test_qtdemux_pad_names)
-       "protection-system", G_TYPE_STRING,
-       "9a04f079-9840-4286-ab92-e65be0885f95", NULL);
-   caps =
--      gst_caps_new_simple ("video/quicktime", "variant", G_TYPE_STRING,
--      "mss-fragmented", "timesacle", G_TYPE_UINT64, 10000000, "media-caps",
--      GST_TYPE_CAPS, mediacaps, NULL);
-+      gst_caps_new_simple ("video/quicktime",
-+      "variant", G_TYPE_STRING, "mss-fragmented",
-+      "timesacle", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000),
-+      "media-caps", GST_TYPE_CAPS, mediacaps, NULL);
- 
-   /* Send segment event* */
-   event = gst_event_new_caps (caps);
--- 
-2.30.0
-
-
-From f5310ce346180a717f091f2f09bcbb3ddfb15436 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
-Date: Thu, 12 Nov 2020 23:39:21 +0000
-Subject: [PATCH 2/2] tests: qtdemux: fix typo in caps field
-
-timesacle -> timescale
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/815>
----
- tests/check/elements/qtdemux.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/tests/check/elements/qtdemux.c b/tests/check/elements/qtdemux.c
-index 0c748278b..4a14c45c0 100644
---- a/tests/check/elements/qtdemux.c
-+++ b/tests/check/elements/qtdemux.c
-@@ -799,7 +799,7 @@ GST_START_TEST (test_qtdemux_pad_names)
-   caps =
-       gst_caps_new_simple ("video/quicktime",
-       "variant", G_TYPE_STRING, "mss-fragmented",
--      "timesacle", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000),
-+      "timescale", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000),
-       "media-caps", GST_TYPE_CAPS, mediacaps, NULL);
- 
-   /* Send segment event* */
-@@ -855,7 +855,7 @@ GST_START_TEST (test_qtdemux_pad_names)
-   caps =
-       gst_caps_new_simple ("video/quicktime",
-       "variant", G_TYPE_STRING, "mss-fragmented",
--      "timesacle", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000),
-+      "timescale", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000),
-       "media-caps", GST_TYPE_CAPS, mediacaps, NULL);
- 
-   /* Send segment event* */
--- 
-2.30.0
-
-- 
2.34.0
From dff111ac950ed03613ed5d56a9eaba3e260b5b9a Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Mon, 4 Apr 2022 14:34:10 +0800
Subject: [PATCH 05/10] gnu: gst-plugins-bad: Update to 1.20.1.

* gnu/packages/gstreamer.scm (gst-plugins-bad): Update to 1.20.1.
[version]: Use `%gstreamer-version` variable.
[arguments]: Use G-expressions.
[native-inputs]: Use label-less style inputs.
[inputs]: Ditto.
(gst-plugins/selection): Remove because it's not useful in packaging and
requires extra maintenance.
* gnu/packages/video.scm (pitivi)[inputs]: Use gst-plugins-bad.
---
gnu/packages/gstreamer.scm | 352 +++++++++++++++++--------------------
gnu/packages/video.scm | 5 +-
2 files changed, 167 insertions(+), 190 deletions(-)

Toggle diff (408 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 3c3f914245..24afc36347 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -724,14 +724,14 @@ (define libsoup
 (define-public gst-plugins-bad
   (package
     (name "gst-plugins-bad")
-    (version "1.18.5")
+    (version %gstreamer-version)
     (source (origin
               (method url-fetch)
               (uri (string-append "https://gstreamer.freedesktop.org/src/"
                                   name "/" name "-" version ".tar.xz"))
               (sha256
                (base32
-                "13k7mm2wmsbhd04a20v9lj4afpf0w33ambpwlrw8bl7hjhxr4r51"))
+                "0j1q89dl8369djibc5p27lyj8y8p4maplmdzlryvrw0ib77w5lq9"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -739,175 +739,177 @@ (define-public gst-plugins-bad
                   (delete-file-recursively "ext/sctp/usrsctp")))))
     (build-system meson-build-system)
     (arguments
-     `(#:configure-flags '("-Dsctp-internal-usrsctp=disabled")
-       #: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'\\]\\],")
-                        "")))))
-               '())
-         (add-after 'unpack 'adjust-tests
-           (lambda* (#:key native-inputs inputs #:allow-other-keys)
-             (let ((gst-plugins-good (assoc-ref (or native-inputs inputs)
-                                                "gst-plugins-good")))
-               (substitute* "tests/check/meson.build"
-                 ;; Make gst-plugin-good available for tests, see
-                 ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1426
-                 (("'GST_PLUGIN_SYSTEM_PATH_1_0', ''")
-                  (string-append "'GST_PLUGIN_SYSTEM_PATH_1_0', '"
-                                 gst-plugins-good "/lib/gstreamer-1.0'"))
+     (list
+      #:configure-flags #~(list "-Dsctp-internal-usrsctp=disabled")
+      #: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
+                 (list
+                  #~(add-after 'unpack 'disable-asfmux-test
+                      (lambda _
+                        (substitute* "tests/check/meson.build"
+                          (("\\[\\['elements/asfmux\\.c'\\]\\],")
+                           "")))))
+                 '())
+          (add-after 'unpack 'adjust-tests
+            (lambda* (#:key native-inputs inputs #:allow-other-keys)
+              (let ((gst-plugins-good #$(this-package-native-input
+                                         "gst-plugins-good")))
+                (substitute* "tests/check/meson.build"
+                  ;; Make gst-plugin-good available for tests, see
+                  ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1426
+                  (("'GST_PLUGIN_SYSTEM_PATH_1_0', ''")
+                   (string-append "'GST_PLUGIN_SYSTEM_PATH_1_0', '"
+                                  gst-plugins-good "/lib/gstreamer-1.0'"))
 
-                 ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1136
-                 ((".*elements/msdkh264enc\\.c.*") "")
-                 ((".*elements/svthevcenc\\.c.*") "")
+                  ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1136
+                  ((".*elements/msdkh264enc\\.c.*") "")
+                  ((".*elements/svthevcenc\\.c.*") "")
 
-                 ;; The 'elements_shm.test_shm_live' test sometimes times out
-                 ;; (see:
-                 ;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/790).
-                 ((".*'elements/shm\\.c'.*") "")
+                  ;; The 'elements_shm.test_shm_live' test sometimes times out
+                  ;; (see:
+                  ;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/790).
+                  ((".*'elements/shm\\.c'.*") "")
 
-                 ;; FIXME: Why is this failing.
-                 ((".*elements/dash_mpd\\.c.*") "")
+                  ;; FIXME: Why is this failing.
+                  ((".*elements/dash_mpd\\.c.*") "")
 
-                 ;; These tests are flaky and occasionally time out:
-                 ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/932
-                 ((".*elements/curlhttpsrc\\.c.*") "")
-                 ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1412
-                 ((".*elements/dtls\\.c.*") ""))
-               (substitute* "tests/check/elements/zxing.c"
-                 ;; zxing 1.2.0 seemingly changed the type representation of
-                 ;; the EAN_13 structure; disable it.
-                 ((".*\"EAN_13\".*")
-                  "")))))
-         (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"))))))
+                  ;; These tests are flaky and occasionally time out:
+                  ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/932
+                  ((".*elements/curlhttpsrc\\.c.*") "")
+                  ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1412
+                  ((".*elements/dtls\\.c.*") ""))
+                (substitute* "tests/check/elements/zxing.c"
+                  ;; zxing 1.2.0 seemingly changed the type representation of
+                  ;; the EAN_13 structure; disable it.
+                  ((".*\"EAN_13\".*")
+                   "")))))
+          (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"))))))
     (propagated-inputs
-     (list gstreamer gst-plugins-base))
+     (list gstreamer gst-plugins-base)) ;referenced in its headers
     (native-inputs
-     `(("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin")         ; for glib-mkenums, etc.
-       ("gobject-introspection" ,gobject-introspection)
-       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
-       ("gst-plugins-good" ,gst-plugins-good) ;for tests
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("xorg-server" ,xorg-server-for-tests)))
+     (list gettext-minimal
+           `(,glib "bin") ; for glib-mkenums, etc.
+           gobject-introspection
+           gsettings-desktop-schemas
+           gst-plugins-good ;for tests
+           perl
+           pkg-config
+           python-wrapper
+           xorg-server-for-tests))
     (inputs
-     `(("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)
-       ("pango" ,pango)
-       ("rtmp" ,rtmpdump)
-       ("sbc" ,sbc)
-       ("sctp" ,lksctp-tools)
-       ("soundtouch" ,soundtouch)
-       ("spandsp" ,spandsp)
-       ("srt" ,srt)
-       ("svthevcenc" ,svt-hevc)
-       ("tinyalsa" ,tinyalsa)
-       ("transcode" ,transcode)
-       ("usrsctp" ,usrsctp)
-       ("v4l" ,v4l-utils)
-       ("voaacenc", vo-aacenc)
-       ("voamrwbenc" ,vo-amrwbenc)
-       ("vulkan-headers" ,vulkan-headers)
-       ("vulkan-loader" ,vulkan-loader)
-       ("x265" ,x265)
-       ("wayland" ,wayland)
-       ("webrtcdsp" ,webrtc-audio-processing)
-       ("wildmidi" ,wildmidi)
-       ("wpebackend-fdo" ,wpebackend-fdo)
-       ("zbar" ,zbar)
-       ("zxing" ,zxing-cpp-1.2)))
+     (list bluez
+           bzip2
+           cairo
+           ;; ("ccextractor" ,ccextractor)
+           chromaprint
+           curl
+           directfb
+           ;;("dssim" ,dssim)
+           faac
+           faad2
+           flite
+           fluidsynth
+           glib
+           glib-networking
+           glu
+           gsm
+           gtk+
+           iqa
+           ladspa
+           lcms
+           libaom
+           libass
+           libbs2b
+           libdc1394
+           libdca
+           libde265
+           libdrm
+           libdvdnav
+           libdvdread
+           libexif
+           libfdk
+           libgcrypt
+           libgme
+           libgudev
+           libkate
+           mediasdk
+           libmms
+           libmodplug
+           libmpcdec
+           libnice
+           libofa
+           libopenmpt
+           librsvg
+           libsndfile
+           libsrtp
+           libssh2
+           libtiff
+           libusb
+           libva
+           libvdpau
+           libwebp
+           libx11
+           libxcb
+           libxext
+           libxkbcommon
+           libxml2
+           libxshmfence
+           lilv
+           lrdf
+           lv2
+           mesa
+           mjpegtools
+           neon
+           nettle
+           openal
+           ;; ("opencv" ,opencv)
+           openexr
+           openh264
+           openjpeg
+           ;; ("openni2" ,openni2)
+           opensles
+           openssl
+           opus
+           orc
+           pango
+           rtmpdump
+           sbc
+           lksctp-tools
+           soundtouch
+           spandsp
+           srt
+           svt-hevc
+           tinyalsa
+           transcode
+           usrsctp
+           v4l-utils
+           vo-aacenc
+           vo-amrwbenc
+           vulkan-headers
+           vulkan-loader
+           x265
+           wayland
+           webrtc-audio-processing
+           wildmidi
+           wpebackend-fdo
+           zbar
+           zxing-cpp-1.2))
     (home-page "https://gstreamer.freedesktop.org/")
     (synopsis "Plugins for the GStreamer multimedia library")
     (description
@@ -1037,28 +1039,6 @@ (define-public gst-editing-services
 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")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index dc05c0a222..0b6c20b08a 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -4419,10 +4419,7 @@ (define-public pitivi
             gstreamer
             gst-plugins-base
             gst-plugins-good
-            (gst-plugins/selection gst-plugins-bad #:plugins
-                                   '("debugutils" "transcode")
-                                   #:configure-flags
-                                   '("-Dintrospection=enabled"))
+            gst-plugins-bad
             gst-libav
             gsound
             gtk+
-- 
2.34.0
From 1ac989e625704471a72d170fc219cdc10ef8b626 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Mon, 4 Apr 2022 14:37:05 +0800
Subject: [PATCH 06/10] gnu: gst-plugins-ugly: Update to 1.20.1.

* gnu/packages/gstreamer.scm (gst-plugins-ugly): Update to 1.20.1.
[version]: Use `%gstreamer-version` variable.
[arguments]: Use G-expressions.
[propagated-inputs]: Remove unnecessary propagation.
[native-inputs]: Use label-less style inputs.
---
gnu/packages/gstreamer.scm | 55 +++++++++++++++++++-------------------
1 file changed, 28 insertions(+), 27 deletions(-)

Toggle diff (85 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 24afc36347..3cdd118565 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -920,7 +920,7 @@ (define-public gst-plugins-bad
 (define-public gst-plugins-ugly
   (package
     (name "gst-plugins-ugly")
-    (version "1.18.5")
+    (version %gstreamer-version)
     (source
      (origin
        (method url-fetch)
@@ -928,33 +928,36 @@ (define-public gst-plugins-ugly
         (string-append "https://gstreamer.freedesktop.org/src/"
                        name "/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "1nb6kz3gbn8r0sld6xkm16qpgyb2bvhafb7sff9rgagqk0z80cnz"))))
+        (base32 "06fvgyjwcf4paqxgp1xmgd0d0glkxys7n818526k10wrw92m20s2"))))
     (build-system meson-build-system)
     (arguments
-     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
-       #:phases
-       (modify-phases %standard-phases
-         ,@%common-gstreamer-phases
-         (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"))))))
+     (list
+      #:glib-or-gtk? #t              ; To wrap binaries and/or compile schemas
+      #:phases
+      #~(modify-phases %standard-phases
+          #$@%common-gstreamer-phases
+          (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"))))))
     (native-inputs
-     `(("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)))
+     (list gettext-minimal
+           `(,glib "bin")
+           gobject-introspection
+           gsettings-desktop-schemas
+           gstreamer
+           gst-plugins-base
+           perl
+           pkg-config
+           python-wrapper
+           xorg-server-for-tests))
     (inputs
      (list glib
            glib-networking
@@ -965,8 +968,6 @@ (define-public gst-plugins-ugly
            libx264
            opencore-amr
            orc))
-    (propagated-inputs
-     (list gstreamer 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
-- 
2.34.0
From 5092ba4cbaf12402c2dba6273ed7d3b4fff375fe Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Mon, 4 Apr 2022 14:38:11 +0800
Subject: [PATCH 07/10] gnu: gst-libav: Update to 1.20.1.

* gnu/packages/gstreamer.scm (gst-libav): Update to 1.20.1.
[version]: Use `%gstreamer-version` variable.
[propagated-inputs]: Remove unnecessary propagation.
---
gnu/packages/gstreamer.scm | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 3cdd118565..4dad4514da 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -978,7 +978,7 @@ (define-public gst-plugins-ugly
 (define-public gst-libav
   (package
     (name "gst-libav")
-    (version "1.18.5")
+    (version %gstreamer-version)
     (source
      (origin
        (method url-fetch)
@@ -987,14 +987,12 @@ (define-public gst-libav
          "https://gstreamer.freedesktop.org/src/" name "/"
          name "-" version ".tar.xz"))
        (sha256
-        (base32 "0j55jgk9sbhinfx2gsg21q609x6yzrixrn5xxlxd378fj6500bl2"))))
+        (base32 "1iwz7928yi48xia5kfkj54x5dfmhbj25g9125vainpmp6fv1z9wi"))))
     (build-system meson-build-system)
     (native-inputs
      (list perl pkg-config python-wrapper ruby))
     (inputs
-     (list ffmpeg))
-    (propagated-inputs
-     (list gstreamer gst-plugins-base))
+     (list ffmpeg gstreamer 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.")
-- 
2.34.0
From b893ccbbf7693d139590de5644d00b0304acadb3 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Mon, 4 Apr 2022 18:05:59 +0800
Subject: [PATCH 08/10] gnu: python-gst: Update to 1.20.1.

* gnu/packages/gstreamer.scm (python-gst): Update to 1.20.1.
[version]: Use `%gstreamer-version` variable.
[arguments]:
<configure-flags>: Add missing slash.
[propagated-inputs]: propagates gstreamer.
---
gnu/packages/gstreamer.scm | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 4dad4514da..d96a07cc33 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -1041,7 +1041,7 @@ (define-public gst-editing-services
 (define-public python-gst
   (package
     (name "python-gst")
-    (version "1.18.5")
+    (version %gstreamer-version)
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1049,7 +1049,7 @@ (define-public python-gst
                     "gst-python-" version ".tar.xz"))
               (sha256
                (base32
-                "0lmwwmr3wm56qlrdrb0d5cpmqxkcmarz61wmp1nrv5852f3qadjk"))))
+                "08ll518b15r9ipssrcc0iq5kr0lx4cf3b0k9ihfricrxmagxav5s"))))
     (build-system meson-build-system)
     (arguments
      `(#:modules ((guix build meson-build-system)
@@ -1060,11 +1060,11 @@ (define-public python-gst
        #:configure-flags
        (list (string-append
               "-Dpygi-overrides-dir="
-              (python:site-packages %build-inputs %outputs) "gi/overrides"))))
+              (python:site-packages %build-inputs %outputs) "/gi/overrides"))))
     (native-inputs
      (list pkg-config python))
     (propagated-inputs
-     (list gst-plugins-base python-pygobject))
+     (list gstreamer gst-plugins-base python-pygobject))
     (home-page "https://gstreamer.freedesktop.org/")
     (synopsis "GStreamer GObject Introspection overrides for Python")
     (description
-- 
2.34.0
From 1bd254d7544db7633d2c34313b0e95b92adf1c91 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Tue, 5 Apr 2022 00:14:56 +0800
Subject: [PATCH 09/10] gnu: webkitgtk: Fix build failed against gstreamer
1.20.

* gnu/packages/webkit.scm (webkitgtk):
[inputs]: Add gst-plugins-bad. It provides gstreamer-parsecodec.
---
gnu/packages/webkit.scm | 1 +
1 file changed, 1 insertion(+)

Toggle diff (14 lines)
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index f79d6bd4f6..67df4c297e 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -326,6 +326,7 @@ (define-public webkitgtk
        ("enchant" ,enchant)
        ("geoclue" ,geoclue)
        ("gst-plugins-base" ,gst-plugins-base)
+       ("gst-plugins-bad" ,gst-plugins-bad)
        ("gtk+-2" ,gtk+-2)
        ("harfbuzz" ,harfbuzz)
        ("hyphen" ,hyphen)
-- 
2.34.0
From 70ea4b4c8085fce957557a9df2a44ab217ffaf78 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Wed, 6 Apr 2022 11:31:00 +0800
Subject: [PATCH 10/10] gnu: gst-editing-services: Update to 1.20.1.

* gnu/packages/gstreamer.scm (gst-editing-services): Update to 1.20.1.
[version]: Use `%gstreamer-version` variable.
[source]: Generate download URL by package name.
[arguments]: Use G-expressions.
[native-inputs]: Use label-less input style.
---
gnu/packages/gstreamer.scm | 35 +++++++++++++++++++----------------
1 file changed, 19 insertions(+), 16 deletions(-)

Toggle diff (61 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index d96a07cc33..ef0b1d1ead 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -1002,35 +1002,38 @@ (define-public gst-libav
 (define-public gst-editing-services
   (package
     (name "gst-editing-services")
-    (version "1.18.5")
+    (version %gstreamer-version)
     (source (origin
               (method url-fetch)
               (uri (string-append
                     "https://gstreamer.freedesktop.org/src/" name "/"
-                    "gst-editing-services-" version ".tar.xz"))
+                    name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1x8db4021qv4ypq1g6n5q2awrb7glr4xp1h650c3w7q59lwsix4a"))))
+                "1ps887yyj6jkj8a2613n43b4fbvynxwryinxvavi00cfnlhipkka"))))
     (build-system meson-build-system)
     (arguments
-     ;; FIXME: 16/22 failing tests.
-     `(#:tests? #f
-       #:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
-       #:phases (modify-phases %standard-phases
-                  ,@%common-gstreamer-phases)))
+     (list
+      ;; FIXME: 16/22 failing tests.
+      #:tests? #f
+      #:glib-or-gtk? #t              ; To wrap binaries and/or compile schemas
+      #:phases
+      #~(modify-phases %standard-phases
+          #$@%common-gstreamer-phases)))
     (propagated-inputs
      (list gstreamer gst-plugins-base))
     (inputs
      (list glib glib-networking gtk+ libxml2))
     (native-inputs
-     `(("flex" ,flex)
-       ("gobject-introspection" ,gobject-introspection)
-       ("glib:bin" ,glib "bin")
-       ("gst-plugins-bad" ,gst-plugins-bad)
-       ("gst-plugins-good" ,gst-plugins-good)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)))
+     (list flex
+           gobject-introspection
+           `(,glib "bin")
+           ;; gst-devtools
+           gst-plugins-bad
+           gst-plugins-good
+           perl
+           pkg-config
+           python-wrapper))
     (home-page "https://gstreamer.freedesktop.org/")
     (synopsis "GStreamer library for non-linear editors")
     (description
-- 
2.34.0
--
Retrieve my PGP public key:

gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F

Zihao
L
L
Liliana Marie Prikler wrote on 6 Apr 07:56 +0200
2a54af688cb50fc4bdaa96650be5718d12d420f0.camel@ist.tugraz.at
Am Mittwoch, dem 06.04.2022 um 11:38 +0800 schrieb Zhu Zihao:
Toggle quote (6 lines)
>
> Here's a series of patches that updates gstreamer to 1.20.1.
>
> `guix refresh gstreamer -l` shows that triggers 900+ rebuilds, I'm not
> sure every packages depends on gstreamer is tested and worked well.
> Currently only webkitgtk is tested.
Indeed, gstreamer updates go to staging.

Toggle quote (1 lines)
> * gnu/packages/gstreamer.scm (%gstreamer-version): New variable.
I don't think that's necessary or even beneficial. Drop it.
Ditto for all the packages referencing it.

Toggle quote (3 lines)
> * gnu/packages/gstreamer.scm (gst-plugins-good): Update to 1.20.1.
> [...]
> [propagated-inputs]: Remove unnecessary propagation.
Do gst-plugins-good really no longer depend on the base plugins?

Toggle quote (3 lines)
> * gnu/packages/gstreamer.scm (gst-plugins-ugly): Update to 1.20.1.
> [...]
> [propagated-inputs]: Remove unnecessary propagation.
Idem.

Toggle quote (3 lines)
> * gnu/packages/gstreamer.scm (gst-libav): Update to 1.20.1.
> [...]
> [propagated-inputs]: Remove unnecessary propagation.
Ibidem.

Toggle quote (3 lines)
> (gst-plugins/selection): Remove because it's not useful in packaging
> and requires extra maintenance.
> * gnu/packages/video.scm (pitivi)[inputs]: Use gst-plugins-bad.
Packages that only require some bad plugins and can exactly state which
should not be forced to pull in all of them. The bad plugins are
explicitly named bad, because they're bad. Enabling any of them beyond
necessity should be an active choice of the user.

Toggle quote (2 lines)
> * gnu/packages/webkit.scm (webkitgtk):
> [inputs]: Add gst-plugins-bad. It provides gstreamer-parsecodec.
My, what a perfect use case for gst-plugins/selection that would be.
Note, that gratuitous media codecs are an additional attack surface.

Cheers
Z
Z
Zhu Zihao wrote on 6 Apr 11:16 +0200
(name . Liliana Marie Prikler)(address . liliana.prikler@ist.tugraz.at)(address . 54744@debbugs.gnu.org)
86czhud07t.fsf@163.com
Liliana Marie Prikler <liliana.prikler@ist.tugraz.at> writes:
Toggle quote (4 lines)
>> * gnu/packages/gstreamer.scm (%gstreamer-version): New variable.
> I don't think that's necessary or even beneficial. Drop it.
> Ditto for all the packages referencing it.

Good. From my view this can ensure packager to update every package of
gstreamer, not only a part of them. Gstreamer now use a monorepo for all
its components, they'll also have regular release cycle for all
components.

Toggle quote (15 lines)
>> * gnu/packages/gstreamer.scm (gst-plugins-good): Update to 1.20.1.
>> [...]
>> [propagated-inputs]: Remove unnecessary propagation.
> Do gst-plugins-good really no longer depend on the base plugins?
>
>> * gnu/packages/gstreamer.scm (gst-plugins-ugly): Update to 1.20.1.
>> [...]
>> [propagated-inputs]: Remove unnecessary propagation.
> Idem.
>
>> * gnu/packages/gstreamer.scm (gst-libav): Update to 1.20.1.
>> [...]
>> [propagated-inputs]: Remove unnecessary propagation.
> Ibidem.

I checked the ugly and good and gst-libav, they do rely on
gst-plugins-base, but no propagation needed. I don't find a reason that
they really requires propagation, because their content just a so file.
Gstreamer in Nixpkgs also don't have propagations for above packages.

For necessary propgations like gst-plugins-bad(header or gi), I've added
some comments.

Toggle quote (15 lines)
>> (gst-plugins/selection): Remove because it's not useful in packaging
>> and requires extra maintenance.
>> * gnu/packages/video.scm (pitivi)[inputs]: Use gst-plugins-bad.
> Packages that only require some bad plugins and can exactly state which
> should not be forced to pull in all of them. The bad plugins are
> explicitly named bad, because they're bad. Enabling any of them beyond
> necessity should be an active choice of the user.
>
>> * gnu/packages/webkit.scm (webkitgtk):
>> [inputs]: Add gst-plugins-bad. It provides gstreamer-parsecodec.
> My, what a perfect use case for gst-plugins/selection that would be.
> Note, that gratuitous media codecs are an additional attack surface.
>
> Cheers

I'll investigate into it.

Currently I only see pitivi use gst-plugins/selection. Many package use
gst-plugins-bad directly.

BTW, how to maintain changes for a long patches series like this in the
review phase? It's quite annoying when I make some minor changes but I
have to re-sent all patches to the mail list.
--
Retrieve my PGP public key:

gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F

Zihao
-----BEGIN PGP SIGNATURE-----

iIoEARYIADMWIQRefA5qkqvnKdl/GTlmOX+E92aT+QUCYk1ephUcYWxsX2J1dF9s
YXN0QDE2My5jb20ACgkQZjl/hPdmk/kh4wD/YtNF4fsC79jykc+qUiKo3hmuelLi
Vs9ndQqgcj38wKoA+IslcMwiPNP+AAHt+Ss/AGpKTO/UxLSZmp6LmbWgtwA=
=We/V
-----END PGP SIGNATURE-----

L
L
Liliana Marie Prikler wrote on 6 Apr 12:05 +0200
(name . Zhu Zihao)(address . all_but_last@163.com)(address . 54744@debbugs.gnu.org)
1b4e9351aef38bba2b0a7f6fd10d385dadf7d785.camel@ist.tugraz.at
Am Mittwoch, dem 06.04.2022 um 17:16 +0800 schrieb Zhu Zihao:
Toggle quote (10 lines)
>
> Liliana Marie Prikler <liliana.prikler@ist.tugraz.at> writes:
> > > * gnu/packages/gstreamer.scm (%gstreamer-version): New variable.
> > I don't think that's necessary or even beneficial.  Drop it.
> > Ditto for all the packages referencing it.
>
> Good. From my view this can ensure packager to update every package
> of gstreamer, not only a part of them. Gstreamer now use a monorepo
> for all its components, they'll also have regular release cycle for
> all components.
Can't really say that the monorepo is a good idea nor condemn it
without knowing the motivations behind, but let's hope that things
still build in isolation. As for updating, the new variable does more
harm than good. It forces every build to break when actually the build
would have been sane. IMHO you should instead leave compatibility
breaking changes to upstream.

Toggle quote (22 lines)
> > > * gnu/packages/gstreamer.scm (gst-plugins-good): Update to
> > > 1.20.1.
> > > [...]
> > > [propagated-inputs]: Remove unnecessary propagation.
> > Do gst-plugins-good really no longer depend on the base plugins?
> >
> > > * gnu/packages/gstreamer.scm (gst-plugins-ugly): Update to
> > > 1.20.1.
> > > [...]
> > > [propagated-inputs]: Remove unnecessary propagation.
> > Idem.
> >
> > > * gnu/packages/gstreamer.scm (gst-libav): Update to 1.20.1.
> > > [...]
> > > [propagated-inputs]: Remove unnecessary propagation.
> > Ibidem.
>
> I checked the ugly and good and gst-libav, they do rely on
> gst-plugins-base, but no propagation needed. I don't find a reason
> that they really requires propagation, because their content just a
> so file.
> Gstreamer in Nixpkgs also don't have propagations for above packages.
I personally found that missing these GstElements at runtime can screw
you up. If that is no longer the case, then fair enough, but you need
to prove that by launching a gst pipeline using a plugin from e.g. gst-
plugins-good without having gst-plugins-base in your GST paths.

Toggle quote (2 lines)
> For necessary propgations like gst-plugins-bad(header or gi), I've
> added some comments.
That is always welcome.

Toggle quote (22 lines)
> >
> > > (gst-plugins/selection): Remove because it's not useful in
> > > packaging and requires extra maintenance.
> > > * gnu/packages/video.scm (pitivi)[inputs]: Use gst-plugins-bad.
> > Packages that only require some bad plugins and can exactly state
> > which should not be forced to pull in all of them.  The bad plugins
> > are explicitly named bad, because they're bad.  Enabling any of
> > them beyond necessity should be an active choice of the user.
> >
> >
> > > * gnu/packages/webkit.scm (webkitgtk):
> > > [inputs]: Add gst-plugins-bad. It provides gstreamer-parsecodec.
> > My, what a perfect use case for gst-plugins/selection that would
> > be. Note, that gratuitous media codecs are an additional attack
> > surface.
> >
> > Cheers
>
> I'll investigate into it.
>
> Currently I only see pitivi use gst-plugins/selection. Many packages
> use gst-plugins-bad directly.
Whether to use gst-plugins-bad or a selection of it is a per-package
decision.  It depends on whether upstream communicates clearly which
plugins they need or whether you'd have to pull hairs out of their
noses to do so. In the latter case, it's likelier that they include it
just because they can and will introduce more dependencies on it as
time marches forward.
For most packages not using it, there might however just be a
historical reason – gst-plugins/selection has not existed for that
long. If you feel it is underused, you might want to search for
packages that (like Pitivi) provide a clear description of what they
need.

Toggle quote (3 lines)
> BTW, how to maintain changes for a long patches series like this in
> the review phase? It's quite annoying when I make some minor changes
> but I have to re-sent all patches to the mail list.
Ideally, you would send them one by one using `git send-email'. Then
you can send a v2 for an individual patch. Note that excessive use of
minor changes might however annoy both reviewers and infrastructure (I
hear there's a patchwork instance somewhere actually building these
packages). In my opinion it would be wiser to let it sit for a while,
collect opinions, and then formulate a v2 with all of those in mind.

Note that in your case, v2 should also be sent to staging, i.e. [PATCH
staging v2].

Cheers
Z
Z
Zhu Zihao wrote on 6 Apr 17:34 +0200
(name . Liliana Marie Prikler)(address . liliana.prikler@ist.tugraz.at)(address . 54744@debbugs.gnu.org)
86bkxei5ph.fsf@163.com
Liliana Marie Prikler <liliana.prikler@ist.tugraz.at> writes:

Toggle quote (10 lines)
>> I checked the ugly and good and gst-libav, they do rely on
>> gst-plugins-base, but no propagation needed. I don't find a reason
>> that they really requires propagation, because their content just a
>> so file.
>> Gstreamer in Nixpkgs also don't have propagations for above packages.
> I personally found that missing these GstElements at runtime can screw
> you up. If that is no longer the case, then fair enough, but you need
> to prove that by launching a gst pipeline using a plugin from e.g. gst-
> plugins-good without having gst-plugins-base in your GST paths.

Re-check the source code of good,ugly,gst-libav. It looks that some good
plugins will use gst_element_factory_make to create element in base,
It's reasonable for gst-plugins-good to propagates
gst-plugins-base(propagation of gstreamer is not neeeded, I think)

But for ugly and gst-libav. I don't see such code in their source code.
So It's better to remove their propagated-inputs.

--
Retrieve my PGP public key:

gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F

Zihao
-----BEGIN PGP SIGNATURE-----

iIsEARYIADMWIQRefA5qkqvnKdl/GTlmOX+E92aT+QUCYk2zmhUcYWxsX2J1dF9s
YXN0QDE2My5jb20ACgkQZjl/hPdmk/nOlQD/ZJsBttyPqR3ExB/OES1LO1OxUDnh
wlVCkpGgdmlN118BAOaHf7nHDO3dRm5Fubsx9fm+dkv3fh8NykKMXzTyeV0N
=RKjM
-----END PGP SIGNATURE-----

L
L
Liliana Marie Prikler wrote on 7 Apr 08:27 +0200
(name . Zhu Zihao)(address . all_but_last@163.com)(address . 54744@debbugs.gnu.org)
0e9cb1f68e42a13d04af9630ffdd866fad5234be.camel@ist.tugraz.at
Am Mittwoch, dem 06.04.2022 um 23:34 +0800 schrieb Zhu Zihao:
Toggle quote (4 lines)
> Re-check the source code of good,ugly,gst-libav. It looks that some
> good plugins will use gst_element_factory_make to create element in
> base, It's reasonable for gst-plugins-good to propagates
> gst-plugins-base(propagation of gstreamer is not neeeded, I think)
The explicit propagation of gstreamer from any of the plugin paths is
so that GST_PLUGIN_SYSTEM_PATH is set. However, it might be a little
too restrictive – it does prohibit combination of any of the plugins
with a slightly differently built gstreamer.

Toggle quote (2 lines)
> But for ugly and gst-libav. I don't see such code in their source
> code. So It's better to remove their propagated-inputs.
Static analysis is not enough here, you need integration tests.
L
L
Liliana Marie Prikler wrote on 30 Jun 18:55 +0200
[PATCH staging v2 00/20] Update gstreamer et al. to 1.20.3
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
01aab13976a992f612e623a10e5c3f94f015e910.camel@gmail.com
Hi Zhu and everyone else reading

this patch set (hopefully) provides the right feature split for smoothly
upgrading gstreamer. I did not test this on current staging
(some firefox-related build killed my machine and I'm not going to
restart it in this heat), but I'm fairly certain that things work
*mostly*. At the very least, webkitgtk and pitivi built previously.

I did not alter any propagated inputs. webkitgtk curiously claims that
gst-plugins-bad needs libgudev, but I don't see that in pitivi and it is
supposedly fine, so ‾\_(ツ)_/‾

Cheers

Liliana Marie Prikler (20):
gnu: python-gst: Add upstream-name.
gnu: gstreamer: Update to 1.20.3.
gnu: gst-plugins-base: Update to 1.20.3.
gnu: gst-plugins-good: Update to 1.20.3.
gnu: gst-plugins-bad: Update to 1.20.3.
gnu: gst-plugins-ugly: Update to 1.20.3.
gnu: gst-libav: Update to 1.20.3.
gnu: gst-editing-services: Update to 1.20.3.
gnu: gstreamer-docs: Update to 1.20.3.
gnu: python-gst: Update to 1.20.3.
gnu: gst-plugins/selection: Implement in terms of G-Expressions.
gnu: Add gst-plugins-bad-minimal.
gnu: webkitgtk: Add missing inputs.
gnu: gstreamer: Use new package style.
gnu: gst-plugins-good: Use new package style.
gnu: gst-plugins-bad: Use new package style.
gnu: gst-plugins-ugly: Use new package style.
gnu: gst-editing-services: Use new package style.
gnu: gst-python: Use new package style.
gnu: gst-editing-services: Update FIXME comment.

gnu/local.mk | 1 -
gnu/packages/gstreamer.scm | 787 +++++++++---------
.../patches/gst-plugins-good-fix-test.patch | 94 ---
gnu/packages/video.scm | 2 +-
gnu/packages/webkit.scm | 2 +
5 files changed, 398 insertions(+), 488 deletions(-)
delete mode 100644 gnu/packages/patches/gst-plugins-good-fix-test.patch


base-commit: 01d1b285b897342a0153cd8bd7c88db134f5e5a2
--
2.36.1
L
L
Liliana Marie Prikler wrote on 26 Jun 19:17 +0200
[PATCH staging v2 01/20] gnu: python-gst: Add upstream-name.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
11dae4ef8e8fb7a5fe871c8580ed5f07f046d7e7.camel@gmail.com
* gnu/packages/gstreamer.scm (python-gst)[properties]: Add upstream-name.
---
gnu/packages/gstreamer.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Toggle diff (16 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index dd537c9d10..653065237a 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -1086,7 +1086,8 @@ (define-public python-gst
     (description
      "This package contains GObject Introspection overrides for Python that can
 be used by Python applications using GStreamer.")
-    (license license:lgpl2.1+)))
+    (license license:lgpl2.1+)
+    (properties `((upstream-name . "gst-python")))))
 
 (define-public gst123
   (package
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 26 Jun 19:22 +0200
[PATCH staging v2 03/20] gnu: gst-plugins-base: Update to 1.20.3.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
084580e08187ca7e732d2f67a6747289f7b58ee3.camel@gmail.com
* gnu/packages/gstreamer.scm (gst-plugins-base): Update to 1.20.3.
---
gnu/packages/gstreamer.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index d950d89245..867c3f5d95 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -521,7 +521,7 @@ (define-public gstreamer
 (define-public gst-plugins-base
   (package
     (name "gst-plugins-base")
-    (version "1.18.5")
+    (version "1.20.3")
     (source
      (origin
       (method url-fetch)
@@ -529,7 +529,7 @@ (define-public gst-plugins-base
                           name "-" version ".tar.xz"))
       (sha256
        (base32
-        "18vg8kk7p2p8za8zaqg0v7z6898yw5a3b12vvl7xn02pb3s7l2wn"))))
+        "17rw8wj1x1bg153m9z76pdvgz5k93m3riyalfpzq00x7h7fv6c3y"))))
     (build-system meson-build-system)
     (propagated-inputs
      `(("glib" ,glib)              ;required by gstreamer-sdp-1.0.pc
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 26 Jun 19:25 +0200
[PATCH staging v2 06/20] gnu: gst-plugins-ugly: Update to 1.20.3.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
ba8aca82bbcdea2b90c0ec8bb43af547f7bc1171.camel@gmail.com
* gnu/packages/gstreamer.scm (gst-plugins-ugly): Update to 1.20.3.
---
gnu/packages/gstreamer.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index c723290233..6ee7cceefc 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -905,7 +905,7 @@ (define-public gst-plugins-bad
 (define-public gst-plugins-ugly
   (package
     (name "gst-plugins-ugly")
-    (version "1.18.5")
+    (version "1.20.3")
     (source
      (origin
        (method url-fetch)
@@ -913,7 +913,7 @@ (define-public gst-plugins-ugly
         (string-append "https://gstreamer.freedesktop.org/src/"
                        name "/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "1nb6kz3gbn8r0sld6xkm16qpgyb2bvhafb7sff9rgagqk0z80cnz"))))
+        (base32 "1zdfsq0zm1d3wj3w3z44bf3v28clr8yd6qzmkjs09hq9k9w21alc"))))
     (build-system meson-build-system)
     (arguments
      `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 26 Jun 19:25 +0200
[PATCH staging v2 05/20] gnu: gst-plugins-bad: Update to 1.20.3.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
cfc546a60c9c1889e138a38446bfeeaa7b50d965.camel@gmail.com
* gnu/packages/gstreamer.scm (gst-plugins-bad): Update to 1.20.3.
---
gnu/packages/gstreamer.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 9fb92ea44b..c723290233 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -711,14 +711,14 @@ (define libsoup
 (define-public gst-plugins-bad
   (package
     (name "gst-plugins-bad")
-    (version "1.18.5")
+    (version "1.20.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://gstreamer.freedesktop.org/src/"
                                   name "/" name "-" version ".tar.xz"))
               (sha256
                (base32
-                "13k7mm2wmsbhd04a20v9lj4afpf0w33ambpwlrw8bl7hjhxr4r51"))
+                "0kys6m5hg5bc30wfg8qa3s7dmkdz3kj1j8lhvn3267fxalxw24bs"))
               (modules '((guix build utils)))
               (snippet
                '(begin
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 26 Jun 19:25 +0200
[PATCH staging v2 07/20] gnu: gst-libav: Update to 1.20.3.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
d4256413cdf37f3412cc5cba757c95dec05a9340.camel@gmail.com
* gnu/packages/gstreamer.scm (gst-libav): Update to 1.20.3.
---
gnu/packages/gstreamer.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 6ee7cceefc..303d8a2c07 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -962,7 +962,7 @@ (define-public gst-plugins-ugly
 (define-public gst-libav
   (package
     (name "gst-libav")
-    (version "1.18.5")
+    (version "1.20.3")
     (source
      (origin
        (method url-fetch)
@@ -971,7 +971,7 @@ (define-public gst-libav
          "https://gstreamer.freedesktop.org/src/" name "/"
          name "-" version ".tar.xz"))
        (sha256
-        (base32 "0j55jgk9sbhinfx2gsg21q609x6yzrixrn5xxlxd378fj6500bl2"))))
+        (base32 "1zkxybdzdkn07wwmj0rrgxyvbry472dggjv2chdsmpzwc02x3v9z"))))
     (build-system meson-build-system)
     (native-inputs
      (list perl pkg-config python-wrapper ruby))
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 26 Jun 19:22 +0200
[PATCH staging v2 02/20] gnu: gstreamer: Update to 1.20.3.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
72408448ee58b9f7617ebbe3c169e2288e70eacc.camel@gmail.com
* gnu/packages/gstreamer.scm (gstreamer): Update to 1.20.3.
[#:phases]: Drop ‘disable-some-tests’ and ‘disable-problematic-tests’.
---
gnu/packages/gstreamer.scm | 27 +++------------------------
1 file changed, 3 insertions(+), 24 deletions(-)

Toggle diff (51 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 653065237a..d950d89245 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -464,7 +464,7 @@ (define %common-gstreamer-phases
 (define-public gstreamer
   (package
     (name "gstreamer")
-    (version "1.18.5")
+    (version "1.20.3")
     (source
      (origin
        (method url-fetch)
@@ -473,33 +473,12 @@ (define-public gstreamer
              version ".tar.xz"))
        (sha256
         (base32
-         "02p8my6dzmm4rvd93s3qnh8w5bm9bh4f7gdydbsvnn9llqr251jm"))))
+         "0aisl8nazcfi4b5j6fz8zwpp0k9csb022zniz65b2pxxpdjayzb0"))))
     (build-system meson-build-system)
     (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.*")
-                        "")))))
-               '())
-         (add-after 'unpack 'disable-problematic-tests
-           (lambda _
-             ;; Disable the 'pipelines-seek' test, which appears to be load
-             ;; sensitive (see:
-             ;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/854).
-             (substitute* "tests/check/meson.build"
-               ((".*'pipelines/seek.c'.*")
-                "")))))))
+         ,@%common-gstreamer-phases)))
     (propagated-inputs
      ;; In gstreamer-1.0.pc:
      ;;   Requires: glib-2.0, gobject-2.0
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 26 Jun 19:25 +0200
[PATCH staging v2 08/20] gnu: gst-editing-services: Update to 1.20.3.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
82883f0db3792aab3806e72ab0e9a836565535b3.camel@gmail.com
* gnu/packages/gstreamer.scm (gst-editing-services): Update to 1.20.3.
---
gnu/packages/gstreamer.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 303d8a2c07..c353c430eb 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -988,7 +988,7 @@ (define-public gst-libav
 (define-public gst-editing-services
   (package
     (name "gst-editing-services")
-    (version "1.18.5")
+    (version "1.20.3")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -996,7 +996,7 @@ (define-public gst-editing-services
                     "gst-editing-services-" version ".tar.xz"))
               (sha256
                (base32
-                "1x8db4021qv4ypq1g6n5q2awrb7glr4xp1h650c3w7q59lwsix4a"))))
+                "18msiadg6wi1636ylp02yfiwphxlz39gh3vbxchl9qpvd7g9dn2z"))))
     (build-system meson-build-system)
     (arguments
      ;; FIXME: 16/22 failing tests.
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 29 Jun 21:18 +0200
[PATCH staging v2 16/20] gnu: gst-plugins-bad: Use new package style.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
0e8d128f5e73ebf56362e9c21d3434d5444d119b.camel@gmail.com
* gnu/packages/gstreamer.scm (gst-plugins-bad)[arguments]: Convert to list of
G-Expressions.
[native-inputs, inputs]: Drop labels.
---
gnu/packages/gstreamer.scm | 323 +++++++++++++++++++------------------
1 file changed, 162 insertions(+), 161 deletions(-)

Toggle diff (344 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index e806a4a7d4..fad155519c 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -727,175 +727,176 @@ (define-public gst-plugins-bad
                   (delete-file-recursively "ext/sctp/usrsctp")))))
     (build-system meson-build-system)
     (arguments
-     `(#:configure-flags '("-Dsctp-internal-usrsctp=disabled")
-       #: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'\\]\\],")
-                        "")))))
-               '())
-         (add-after 'unpack 'adjust-tests
-           (lambda* (#:key native-inputs inputs #:allow-other-keys)
-             (let ((gst-plugins-good (assoc-ref (or native-inputs inputs)
-                                                "gst-plugins-good")))
-               (substitute* "tests/check/meson.build"
-                 ;; Make gst-plugin-good available for tests, see
-                 ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1426
-                 (("'GST_PLUGIN_SYSTEM_PATH_1_0', ''")
-                  (string-append "'GST_PLUGIN_SYSTEM_PATH_1_0', '"
-                                 gst-plugins-good "/lib/gstreamer-1.0'"))
+     (list
+      #:configure-flags #~(list "-Dsctp-internal-usrsctp=disabled")
+      #: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'\\]\\],")
+                           "")))))
+                 '())
+          (add-after 'unpack 'adjust-tests
+            (lambda* (#:key native-inputs inputs #:allow-other-keys)
+              (let ((gst-plugins-good (assoc-ref (or native-inputs inputs)
+                                                 "gst-plugins-good")))
+                (substitute* "tests/check/meson.build"
+                  ;; Make gst-plugin-good available for tests, see
+                  ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1426
+                  (("'GST_PLUGIN_SYSTEM_PATH_1_0', ''")
+                   (string-append "'GST_PLUGIN_SYSTEM_PATH_1_0', '"
+                                  gst-plugins-good "/lib/gstreamer-1.0'"))
 
-                 ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1136
-                 ((".*elements/msdkh264enc\\.c.*") "")
-                 ((".*elements/svthevcenc\\.c.*") "")
+                  ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1136
+                  ((".*elements/msdkh264enc\\.c.*") "")
+                  ((".*elements/svthevcenc\\.c.*") "")
 
-                 ;; The 'elements_shm.test_shm_live' test sometimes times out
-                 ;; (see:
-                 ;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/790).
-                 ((".*'elements/shm\\.c'.*") "")
+                  ;; The 'elements_shm.test_shm_live' test sometimes times out
+                  ;; (see:
+                  ;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/790).
+                  ((".*'elements/shm\\.c'.*") "")
 
-                 ;; FIXME: Why is this failing.
-                 ((".*elements/dash_mpd\\.c.*") "")
+                  ;; FIXME: Why is this failing.
+                  ((".*elements/dash_mpd\\.c.*") "")
 
-                 ;; These tests are flaky and occasionally time out:
-                 ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/932
-                 ((".*elements/curlhttpsrc\\.c.*") "")
-                 ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1412
-                 ((".*elements/dtls\\.c.*") ""))
-               (substitute* "tests/check/elements/zxing.c"
-                 ;; zxing 1.2.0 seemingly changed the type representation of
-                 ;; the EAN_13 structure; disable it.
-                 ((".*\"EAN_13\".*")
-                  "")))))
-         (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"))))))
+                  ;; These tests are flaky and occasionally time out:
+                  ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/932
+                  ((".*elements/curlhttpsrc\\.c.*") "")
+                  ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1412
+                  ((".*elements/dtls\\.c.*") ""))
+                (substitute* "tests/check/elements/zxing.c"
+                  ;; zxing 1.2.0 seemingly changed the type representation of
+                  ;; the EAN_13 structure; disable it.
+                  ((".*\"EAN_13\".*")
+                   "")))))
+          (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"))))))
     (propagated-inputs
      (list gstreamer gst-plugins-base))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin")         ; for glib-mkenums, etc.
-       ("gobject-introspection" ,gobject-introspection)
-       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
-       ("gst-plugins-good" ,gst-plugins-good) ;for tests
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("xorg-server" ,xorg-server-for-tests)))
+     (list gettext-minimal
+           `(,glib "bin")               ; for glib-mkenums, etc.
+           gobject-introspection
+           gsettings-desktop-schemas
+           gst-plugins-good             ;for tests
+           perl
+           pkg-config
+           python-wrapper
+           xorg-server-for-tests))
     (inputs
-     `(("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)
-       ("pango" ,pango)
-       ("rtmp" ,rtmpdump)
-       ("sbc" ,sbc)
-       ("sctp" ,lksctp-tools)
-       ("soundtouch" ,soundtouch)
-       ("spandsp" ,spandsp)
-       ("srt" ,srt)
-       ("svthevcenc" ,svt-hevc)
-       ("tinyalsa" ,tinyalsa)
-       ("transcode" ,transcode)
-       ("usrsctp" ,usrsctp)
-       ("v4l" ,v4l-utils)
-       ("voaacenc" ,vo-aacenc)
-       ("voamrwbenc" ,vo-amrwbenc)
-       ("vulkan-headers" ,vulkan-headers)
-       ("vulkan-loader" ,vulkan-loader)
-       ("x265" ,x265)
-       ("wayland" ,wayland)
-       ("webrtcdsp" ,webrtc-audio-processing)
-       ("wildmidi" ,wildmidi)
-       ("wpebackend-fdo" ,wpebackend-fdo)
-       ("zbar" ,zbar)
-       ("zxing" ,zxing-cpp-1.2)))
+     (list bluez
+           bzip2
+           cairo
+           ;; ccextractor
+           chromaprint
+           curl
+           directfb
+           ;; dssim
+           faac
+           faad2
+           flite
+           fluidsynth
+           glib
+           glib-networking
+           glu
+           gsm
+           gtk+
+           iqa
+           ladspa
+           lcms
+           libaom
+           libass
+           libbs2b
+           libdc1394
+           libdca
+           libde265
+           libdrm
+           libdvdnav
+           libdvdread
+           libexif
+           libfdk
+           libgcrypt
+           libgme
+           libgudev
+           libkate
+           mediasdk
+           libmms
+           libmodplug
+           libmpcdec
+           libnice
+           libofa
+           libopenmpt
+           librsvg
+           libsndfile
+           libsrtp
+           libssh2
+           libtiff
+           libusb
+           libva
+           libvdpau
+           libwebp
+           libx11
+           libxcb
+           libxext
+           libxkbcommon
+           libxml2
+           libxshmfence
+           lilv
+           lrdf
+           lv2
+           mesa
+           mjpegtools
+           neon
+           nettle
+           openal
+           ;; opencv
+           openexr
+           openh264
+           openjpeg
+           ;; openni2
+           opensles
+           openssl
+           opus
+           orc
+           pango
+           rtmpdump
+           sbc
+           lksctp-tools
+           soundtouch
+           spandsp
+           srt
+           svt-hevc
+           tinyalsa
+           transcode
+           usrsctp
+           v4l-utils
+           vo-aacenc
+           vo-amrwbenc
+           vulkan-headers
+           vulkan-loader
+           x265
+           wayland
+           webrtc-audio-processing
+           wildmidi
+           wpebackend-fdo
+           zbar
+           zxing-cpp-1.2))
     (home-page "https://gstreamer.freedesktop.org/")
     (synopsis "Plugins for the GStreamer multimedia library")
     (description
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 26 Jun 19:26 +0200
[PATCH staging v2 09/20] gnu: gstreamer-docs: Update to 1.20.3.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
a96aa633ef14c0a9bb7b82761fa960031b374ac7.camel@gmail.com
* gnu/packages/gstreamer.scm (gstreamer-docs): Update to 1.20.3.
---
gnu/packages/gstreamer.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index c353c430eb..b79c6dcd2d 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -404,7 +404,7 @@ (define-public orc
 (define-public gstreamer-docs
   (package
     (name "gstreamer-docs")
-    (version "1.18.5")
+    (version "1.20.3")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -412,7 +412,7 @@ (define-public gstreamer-docs
                     "/gstreamer-docs-" version ".tar.xz"))
               (sha256
                (base32
-                "1xvqrqv1zxqdpvd02dvr0xspk30c8b940vvnr9x75a08nx0x75xh"))))
+                "1gziccq5f4fy23q6dm8nwbmzh68gn9rfbqw0xcn4r8yn82545z3k"))))
     (build-system trivial-build-system)
     (arguments
      `(#:modules ((guix build utils))
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 26 Jun 19:26 +0200
[PATCH staging v2 10/20] gnu: python-gst: Update to 1.20.3.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
588c9423c5bf9911f19566291336910edbd66f94.camel@gmail.com
* gnu/packages/gstreamer.scm (python-gst): Update to 1.20.3.
---
gnu/packages/gstreamer.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index b79c6dcd2d..d05717f723 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -1049,7 +1049,7 @@ (define-public gst-plugins/selection
 (define-public python-gst
   (package
     (name "python-gst")
-    (version "1.18.5")
+    (version "1.20.3")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1057,7 +1057,7 @@ (define-public python-gst
                     "gst-python-" version ".tar.xz"))
               (sha256
                (base32
-                "0lmwwmr3wm56qlrdrb0d5cpmqxkcmarz61wmp1nrv5852f3qadjk"))))
+                "1p6g05k88nbbv5x9madsvphxcdkfl1z0lmp39p6bhmg9x8h82d6v"))))
     (build-system meson-build-system)
     (arguments
      `(#:modules ((guix build meson-build-system)
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 30 Jun 06:14 +0200
[PATCH staging v2 20/20] gnu: gst-editing-services: Update FIXME comment.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
b5e55d24177b984b01b71590264c29c5be58ca24.camel@gmail.com
There are now 23 total tests in gst-editing-services.

* gnu/packages/gstreamer.scm (gst-editing-services)[arguments]: Update FIXME.
---
gnu/packages/gstreamer.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 49d7c12c75..0c913ede06 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -1002,7 +1002,7 @@ (define-public gst-editing-services
     (build-system meson-build-system)
     (arguments
      (list
-      #:tests? #f                    ; FIXME: 16/22 failing tests.
+      #:tests? #f                    ; FIXME: 16/23 failing tests.
       #:glib-or-gtk? #t              ; To wrap binaries and/or compile schemas
       #:phases #~(modify-phases %standard-phases
                    #$@%common-gstreamer-phases)))
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 28 Jun 20:41 +0200
[PATCH staging v2 11/20] gnu: gst-plugins/selection: Implement in terms of G-Expressions.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
2b568cadbd465e539aa82fa6cb9b91b8de4a61c2.camel@gmail.com
* gnu/packages/gstreamer.scm (gst-plugins/selection)[#:configure-flags]:
Use G-Expressions.
[#:phases]: Likewise. Drop trailing #t.
* gnu/packages/video.scm (pitivi)[inputs]: Adjust accordingly.
---
gnu/packages/gstreamer.scm | 26 +++++++++++++-------------
gnu/packages/video.scm | 2 +-
2 files changed, 14 insertions(+), 14 deletions(-)

Toggle diff (60 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index d05717f723..f8e2fab2c7 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -29,6 +29,7 @@
 (define-module (gnu packages gstreamer)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
+  #:use-module (guix gexp)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
@@ -1031,20 +1032,19 @@ (define-public gst-plugins/selection
     (package/inherit pkg
       (arguments
        (substitute-keyword-arguments (package-arguments pkg)
-         ((#:configure-flags flags `(,@(or configure-flags '())))
-          `(append
+         ((#:configure-flags 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)))))))))
+             #$@(map (lambda (plugin)
+                       (string-append "-D" plugin "=enabled"))
+                     plugins))
+            #$(or configure-flags flags)))
+         ((#:phases phases)
+           #~(modify-phases #$phases
+               (add-after 'unpack 'disable-auto-plugins
+                 (lambda _
+                   (substitute* "meson_options.txt"
+                     (("'auto'") "'disabled'")))))))))))
 
 (define-public python-gst
   (package
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index a82b1b8889..eb01467ba3 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -4342,7 +4342,7 @@ (define-public pitivi
             (gst-plugins/selection gst-plugins-bad #:plugins
                                    '("debugutils" "transcode")
                                    #:configure-flags
-                                   '("-Dintrospection=enabled"))
+                                   #~'("-Dintrospection=enabled"))
             gst-libav
             gsound
             gtk+
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 28 Jun 20:59 +0200
[PATCH staging v2 12/20] gnu: Add gst-plugins-bad-minimal.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
2a5ef03ddc99e99e1716a52083963bceaaa505bd.camel@gmail.com
* gnu/packages/gstreamer.scm (gst-plugins-bad-minimal): New variable.
---
gnu/packages/gstreamer.scm | 8 ++++++++
1 file changed, 8 insertions(+)

Toggle diff (21 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index f8e2fab2c7..d46a471321 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -1046,6 +1046,14 @@ (define-public gst-plugins/selection
                    (substitute* "meson_options.txt"
                      (("'auto'") "'disabled'")))))))))))
 
+(define-public gst-plugins-bad-minimal
+  (package
+    (inherit (gst-plugins/selection gst-plugins-bad #:plugins '()))
+    (name "gst-plugins-bad-minimal")
+    (description "This package provides the smallest selection of GStreamer's
+\"bad\" plugin set, essentially containing libraries and the gst-transcoder
+binary, but none of the actual plugins.")))
+
 (define-public python-gst
   (package
     (name "python-gst")
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 26 Jun 19:23 +0200
[PATCH staging v2 04/20] gnu: gst-plugins-good: Update to 1.20.3.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
28c5b3c4c07e29c68055b9f67ec9cc4853fc07ff.camel@gmail.com
* gnu/packages/gstreamer.scm (gst-plugins-good): Update to 1.20.3.
[source]<patches>: Remove “gst-plugins-good-fix-test.patch”.
[arguments]<#:phases>: Add ‘absolutize-libsoup-library’ and
‘skip-failing-tests’.
* gnu/packages/patches/gst-plugins-good-fix-test.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
---
gnu/local.mk | 1 -
gnu/packages/gstreamer.scm | 19 +++-
.../patches/gst-plugins-good-fix-test.patch | 94 -------------------
3 files changed, 16 insertions(+), 98 deletions(-)
delete mode 100644 gnu/packages/patches/gst-plugins-good-fix-test.patch

Toggle diff (158 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index f8ccbd34ec..51dcf2b596 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1225,7 +1225,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/grub-efi-fat-serial-number.patch		\
   %D%/packages/patches/grub-setup-root.patch			\
   %D%/packages/patches/gspell-dash-test.patch			\
-  %D%/packages/patches/gst-plugins-good-fix-test.patch		\
   %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
   %D%/packages/patches/guile-2.2-skip-oom-test.patch            \
   %D%/packages/patches/guile-2.2-skip-so-test.patch             \
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 867c3f5d95..9fb92ea44b 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -608,7 +608,7 @@ (define-public gst-plugins-base
 (define-public gst-plugins-good
   (package
     (name "gst-plugins-good")
-    (version "1.18.5")
+    (version "1.20.3")
     (source
      (origin
        (method url-fetch)
@@ -616,15 +616,28 @@ (define-public gst-plugins-good
         (string-append
          "https://gstreamer.freedesktop.org/src/" name "/"
          name "-" version ".tar.xz"))
-       (patches (search-patches "gst-plugins-good-fix-test.patch"))
        (sha256
-        (base32 "0svrapawych2s3lm4lx3x023zxq5kcx50jnfmh0qigszfskyxbis"))))
+        (base32 "1dv8b2md1xk6d45ir1wzbvqhxbvm6mxv881rjl0brnjwpw3c5wzq"))))
     (build-system meson-build-system)
     (arguments
      `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
        #:phases
        (modify-phases %standard-phases
          ,@%common-gstreamer-phases
+         (add-after 'unpack 'absolutize-libsoup-library
+           (lambda* (#:key inputs #:allow-other-keys)
+             (define libsoup
+               (search-input-file inputs "lib/libsoup-3.0.so"))
+
+             (substitute* "ext/soup/gstsouploader.c"
+               (("(#define LIBSOUP_3_SONAME ).+$" _ prefix)
+                (string-append prefix "\"" libsoup "\"\n")))))
+         (add-after 'unpack 'skip-failing-tests
+           (lambda _
+             (substitute* "tests/check/meson.build"
+               ;; Reported as shaky upstream, see
+               ;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/785>
+               (("\\[ 'elements/flvmux' \\]") "[ 'elements/flvmux', true ]"))))
          (add-before 'check 'pre-check
            (lambda _
              ;; Tests require a running X server.
diff --git a/gnu/packages/patches/gst-plugins-good-fix-test.patch b/gnu/packages/patches/gst-plugins-good-fix-test.patch
deleted file mode 100644
index 38ec0ba802..0000000000
--- a/gnu/packages/patches/gst-plugins-good-fix-test.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-Fix a broken test:
-
-https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/803
-
-Patches copied from upstream source repository:
-
-https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/commit/2ce5909f3a0b0da3abb7b794215d6b8b72a3b7fa
-https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/commit/f5310ce346180a717f091f2f09bcbb3ddfb15436
-
-From 2ce5909f3a0b0da3abb7b794215d6b8b72a3b7fa Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
-Date: Thu, 12 Nov 2020 23:38:21 +0000
-Subject: [PATCH 1/2] tests: qtdemux: fix crash on 32-bit architectures
-
-Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/803
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/815>
----
- tests/check/elements/qtdemux.c | 14 ++++++++------
- 1 file changed, 8 insertions(+), 6 deletions(-)
-
-diff --git a/tests/check/elements/qtdemux.c b/tests/check/elements/qtdemux.c
-index 5271c6576..0c748278b 100644
---- a/tests/check/elements/qtdemux.c
-+++ b/tests/check/elements/qtdemux.c
-@@ -797,9 +797,10 @@ GST_START_TEST (test_qtdemux_pad_names)
-       "protection-system", G_TYPE_STRING,
-       "9a04f079-9840-4286-ab92-e65be0885f95", NULL);
-   caps =
--      gst_caps_new_simple ("video/quicktime", "variant", G_TYPE_STRING,
--      "mss-fragmented", "timesacle", G_TYPE_UINT64, 10000000, "media-caps",
--      GST_TYPE_CAPS, mediacaps, NULL);
-+      gst_caps_new_simple ("video/quicktime",
-+      "variant", G_TYPE_STRING, "mss-fragmented",
-+      "timesacle", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000),
-+      "media-caps", GST_TYPE_CAPS, mediacaps, NULL);
- 
-   /* Send segment event* */
-   event = gst_event_new_caps (caps);
-@@ -852,9 +853,10 @@ GST_START_TEST (test_qtdemux_pad_names)
-       "protection-system", G_TYPE_STRING,
-       "9a04f079-9840-4286-ab92-e65be0885f95", NULL);
-   caps =
--      gst_caps_new_simple ("video/quicktime", "variant", G_TYPE_STRING,
--      "mss-fragmented", "timesacle", G_TYPE_UINT64, 10000000, "media-caps",
--      GST_TYPE_CAPS, mediacaps, NULL);
-+      gst_caps_new_simple ("video/quicktime",
-+      "variant", G_TYPE_STRING, "mss-fragmented",
-+      "timesacle", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000),
-+      "media-caps", GST_TYPE_CAPS, mediacaps, NULL);
- 
-   /* Send segment event* */
-   event = gst_event_new_caps (caps);
--- 
-2.30.0
-
-
-From f5310ce346180a717f091f2f09bcbb3ddfb15436 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
-Date: Thu, 12 Nov 2020 23:39:21 +0000
-Subject: [PATCH 2/2] tests: qtdemux: fix typo in caps field
-
-timesacle -> timescale
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/815>
----
- tests/check/elements/qtdemux.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/tests/check/elements/qtdemux.c b/tests/check/elements/qtdemux.c
-index 0c748278b..4a14c45c0 100644
---- a/tests/check/elements/qtdemux.c
-+++ b/tests/check/elements/qtdemux.c
-@@ -799,7 +799,7 @@ GST_START_TEST (test_qtdemux_pad_names)
-   caps =
-       gst_caps_new_simple ("video/quicktime",
-       "variant", G_TYPE_STRING, "mss-fragmented",
--      "timesacle", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000),
-+      "timescale", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000),
-       "media-caps", GST_TYPE_CAPS, mediacaps, NULL);
- 
-   /* Send segment event* */
-@@ -855,7 +855,7 @@ GST_START_TEST (test_qtdemux_pad_names)
-   caps =
-       gst_caps_new_simple ("video/quicktime",
-       "variant", G_TYPE_STRING, "mss-fragmented",
--      "timesacle", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000),
-+      "timescale", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000),
-       "media-caps", GST_TYPE_CAPS, mediacaps, NULL);
- 
-   /* Send segment event* */
--- 
-2.30.0
-
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 29 Jun 21:15 +0200
[PATCH staging v2 14/20] gnu: gstreamer: Use new package style.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
a50fb94d0b515f5bcc87b74c1267d4eda52fda20.camel@gmail.com
* gnu/packages/gstreamer.scm (gstreamer)[arguments]: Convert to list of
G-Expressions.
[native-inputs]: Drop labels.
---
gnu/packages/gstreamer.scm | 23 +++++++++++------------
1 file changed, 11 insertions(+), 12 deletions(-)

Toggle diff (43 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index d46a471321..da290cbf82 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -477,9 +477,9 @@ (define-public gstreamer
          "0aisl8nazcfi4b5j6fz8zwpp0k9csb022zniz65b2pxxpdjayzb0"))))
     (build-system meson-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         ,@%common-gstreamer-phases)))
+     (list #:phases
+           #~(modify-phases %standard-phases
+               #$@%common-gstreamer-phases)))
     (propagated-inputs
      ;; In gstreamer-1.0.pc:
      ;;   Requires: glib-2.0, gobject-2.0
@@ -487,15 +487,14 @@ (define-public gstreamer
      (list elfutils ; libdw
            glib libunwind))
     (native-inputs
-     `(("bash-completion" ,bash-completion)
-       ("bison" ,bison)
-       ("flex" ,flex)
-       ("gettext" ,gettext-minimal)
-       ("glib" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python-wrapper" ,python-wrapper)))
+     (list bash-completion
+           bison flex
+           gettext-minimal
+           `(,glib "bin")
+           gobject-introspection
+           perl
+           pkg-config
+           python-wrapper))
     (inputs
      (list gmp libcap
            ;; For tests.
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 29 Jun 21:17 +0200
[PATCH staging v2 15/20] gnu: gst-plugins-good: Use new package style.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
a58ea9613a4a0ca5b07c20a000594e57347934cf.camel@gmail.com
* gnu/packages/gstreamer.scm (gst-plugins-good)[arguments]: Convert to list of
G-Expressions.
[propagated-inputs, native-inputs]: Drop labels.
[inputs]: Drop labels, also sort alphabetically.
---
gnu/packages/gstreamer.scm | 273 +++++++++++++++++++------------------
1 file changed, 137 insertions(+), 136 deletions(-)

Toggle diff (300 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index da290cbf82..e806a4a7d4 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -532,72 +532,73 @@ (define-public gst-plugins-base
         "17rw8wj1x1bg153m9z76pdvgz5k93m3riyalfpzq00x7h7fv6c3y"))))
     (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
-       ;; wayland-client.h is referred to in
-       ;; include/gstreamer-1.0/gst/gl/wayland/gstgldisplay_wayland.h
-       ("wayland" ,wayland)
-       ;; 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
+     (cons* glib                    ;required by gstreamer-sdp-1.0.pc
+            gstreamer               ;required by gstreamer-plugins-base-1.0.pc
+            ;; wayland-client.h is referred to in
+            ;; include/gstreamer-1.0/gst/gl/wayland/gstgldisplay_wayland.h
+            wayland
+            ;; 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)))
+                '()
+                (list orc))))           ;required by gstreamer-audio-1.0.pc
     (inputs
      ;; TODO: Add libvorbisidec
-     `(("cdparanoia" ,cdparanoia)
-       ("pango" ,pango)
-       ("libogg" ,libogg)
-       ("libtheora" ,libtheora)
-       ("libvorbis" ,libvorbis)
-       ("libx11" ,libx11)
-       ("zlib" ,zlib)
-       ("libXext" ,libxext)
-       ("libxv" ,libxv)
-       ("alsa-lib" ,alsa-lib)
-       ("opus" ,opus)
-       ("graphene" ,graphene)
-       ("iso-codes" ,iso-codes)
-       ("libgudev" ,libgudev)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libpng" ,libpng)
-       ("libvisual" ,libvisual)
-       ("mesa" ,mesa)
-       ("wayland-protocols" ,wayland-protocols)))
+     (list alsa-lib
+           cdparanoia
+           graphene
+           iso-codes
+           libgudev
+           libjpeg-turbo
+           libogg
+           libpng
+           libtheora
+           libvisual
+           libvorbis
+           libx11
+           libxext
+           libxv
+           mesa
+           opus
+           pango
+           wayland-protocols
+           zlib))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("glib:bin" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("python-wrapper" ,python-wrapper)
-       ("gettext" ,gettext-minimal)
-       ("xorg-server" ,xorg-server-for-tests)))
+     (list pkg-config
+           `(,glib "bin")
+           gobject-introspection
+           python-wrapper
+           gettext-minimal
+           xorg-server-for-tests))
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         ,@%common-gstreamer-phases
-         (add-after 'unpack 'disable-problematic-tests
-           (lambda _
-             (substitute* "tests/check/meson.build"
-               ;; This test causes nondeterministic failures (see:
-               ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/950).
-               ((".*'elements/appsrc.c'.*")
-                ""))))
-         (add-before 'configure 'patch
-           (lambda _
-             (substitute* "tests/check/libs/pbutils.c"
-               (("/bin/sh") (which "sh")))))
-         (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"))))))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          #$@%common-gstreamer-phases
+          (add-after 'unpack 'disable-problematic-tests
+            (lambda _
+              (substitute* "tests/check/meson.build"
+                ;; This test causes nondeterministic failures (see:
+                ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/950).
+                ((".*'elements/appsrc.c'.*")
+                 ""))))
+          (add-before 'configure 'patch
+            (lambda _
+              (substitute* "tests/check/libs/pbutils.c"
+                (("/bin/sh") (which "sh")))))
+          (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"))))))
     (home-page "https://gstreamer.freedesktop.org/")
     (synopsis
      "Plugins for the GStreamer multimedia library")
@@ -620,83 +621,83 @@ (define-public gst-plugins-good
         (base32 "1dv8b2md1xk6d45ir1wzbvqhxbvm6mxv881rjl0brnjwpw3c5wzq"))))
     (build-system meson-build-system)
     (arguments
-     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
-       #:phases
-       (modify-phases %standard-phases
-         ,@%common-gstreamer-phases
-         (add-after 'unpack 'absolutize-libsoup-library
-           (lambda* (#:key inputs #:allow-other-keys)
-             (define libsoup
-               (search-input-file inputs "lib/libsoup-3.0.so"))
+     (list
+      #:glib-or-gtk? #t              ; To wrap binaries and/or compile schemas
+      #:phases
+      #~(modify-phases %standard-phases
+          #$@%common-gstreamer-phases
+          (add-after 'unpack 'absolutize-libsoup-library
+            (lambda* (#:key inputs #:allow-other-keys)
+              (define libsoup
+                (search-input-file inputs "lib/libsoup-3.0.so"))
 
-             (substitute* "ext/soup/gstsouploader.c"
-               (("(#define LIBSOUP_3_SONAME ).+$" _ prefix)
-                (string-append prefix "\"" libsoup "\"\n")))))
-         (add-after 'unpack 'skip-failing-tests
-           (lambda _
-             (substitute* "tests/check/meson.build"
-               ;; Reported as shaky upstream, see
-               ;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/785>
-               (("\\[ 'elements/flvmux' \\]") "[ 'elements/flvmux', true ]"))))
-         (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)))))
+              (substitute* "ext/soup/gstsouploader.c"
+                (("(#define LIBSOUP_3_SONAME ).+$" _ prefix)
+                 (string-append prefix "\"" libsoup "\"\n")))))
+          (add-after 'unpack 'skip-failing-tests
+            (lambda _
+              (substitute* "tests/check/meson.build"
+                ;; Reported as shaky upstream, see
+                ;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/785>
+                (("\\[ 'elements/flvmux' \\]") "[ 'elements/flvmux', true ]"))))
+          (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"))))))
     (native-inputs
-     `(("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)))
+     (list gettext-minimal
+           `(,glib "bin")
+           gobject-introspection
+           gsettings-desktop-schemas
+           libxml2
+           perl
+           pkg-config
+           python-wrapper
+           xorg-server-for-tests))
     (inputs
-     `(("aalib" ,aalib)
-       ("bzip2" ,bzip2)
-       ("cairo" ,cairo)
-       ("flac" ,flac)
-       ("librsvg" ,(librsvg-for-system))
-       ("glib" ,glib)
-       ("glib-networking" ,glib-networking)
-       ("glu" ,glu)
-       ("gtk+" ,gtk+)
-       ("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)
-       ("v4l-utils" ,v4l-utils)
-       ("wavpack" ,wavpack)
-       ("zlib" ,zlib)))
+     (list aalib
+           bzip2
+           cairo
+           flac
+           (librsvg-for-system)
+           glib
+           glib-networking
+           glu
+           gtk+
+           jack-2
+           lame
+           libavc1394
+           libcaca
+           libdv
+           libgudev
+           libiec61883
+           libjpeg-turbo
+           libpng
+           libshout
+           libsoup
+           libvpx
+           libx11
+           libxdamage
+           libxfixes
+           libxext
+           libxshmfence
+           mesa
+           mpg123
+           orc
+           pulseaudio
+           speex
+           taglib
+           twolame
+           v4l-utils
+           wavpack
+           zlib))
     (propagated-inputs
      (list gstreamer gst-plugins-base))
     (synopsis "GStreamer plugins and helper libraries")
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 29 Jun 21:19 +0200
[PATCH staging v2 17/20] gnu: gst-plugins-ugly: Use new package style.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
ac47ddcb139eac57c9ac29a277a80e9ff9bcb6c1.camel@gmail.com
* gnu/packages/gstreamer.scm (gst-plugins-ugly)[arguments]: Convert to list of
G-Expressions.
[native-inputs]: Drop labels.
---
gnu/packages/gstreamer.scm | 46 +++++++++++++++++++-------------------
1 file changed, 23 insertions(+), 23 deletions(-)

Toggle diff (60 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index fad155519c..7422a24d41 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -918,30 +918,30 @@ (define-public gst-plugins-ugly
         (base32 "1zdfsq0zm1d3wj3w3z44bf3v28clr8yd6qzmkjs09hq9k9w21alc"))))
     (build-system meson-build-system)
     (arguments
-     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
-       #:phases
-       (modify-phases %standard-phases
-         ,@%common-gstreamer-phases
-         (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"))))))
+     (list #:glib-or-gtk? #t         ; To wrap binaries and/or compile schemas
+           #:phases
+           #~(modify-phases %standard-phases
+               #$@%common-gstreamer-phases
+               (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"))))))
     (native-inputs
-     `(("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)))
+     (list gettext-minimal
+           `(,glib "bin")
+           gobject-introspection
+           gsettings-desktop-schemas
+           perl
+           pkg-config
+           python-wrapper
+           xorg-server-for-tests))
     (inputs
      (list glib
            glib-networking
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 28 Jun 21:19 +0200
[PATCH staging v2 13/20] gnu: webkitgtk: Add missing inputs.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
f0f8c8d507d150b019283b660de764ccda4f2bb1.camel@gmail.com
* gnu/packages/webkit.scm (webkitgtk)[inputs]: Add gst-plugins-bad-minimal and
libgudev.
---
gnu/packages/webkit.scm | 2 ++
1 file changed, 2 insertions(+)

Toggle diff (21 lines)
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index 42a2893a38..4ba9bef336 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -235,12 +235,14 @@ (define-public webkitgtk
            enchant
            geoclue
            gst-plugins-base
+           gst-plugins-bad-minimal
            gtk+-2
            harfbuzz
            hyphen
            icu4c
            lcms
            libgcrypt
+           libgudev
            libjpeg-turbo
            libmanette
            libnotify
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 29 Jun 21:20 +0200
[PATCH staging v2 19/20] gnu: gst-python: Use new package style.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
9d2ba48607b96a93f512c6449dff333fbb4dfc65.camel@gmail.com
* gnu/packages/gstreamer.scm (gst-python)[arguments]: Convert to list of
G-Expressions.
---
gnu/packages/gstreamer.scm | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)

Toggle diff (29 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 9a0e394b13..49d7c12c75 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -1069,15 +1069,16 @@ (define-public python-gst
                 "1p6g05k88nbbv5x9madsvphxcdkfl1z0lmp39p6bhmg9x8h82d6v"))))
     (build-system meson-build-system)
     (arguments
-     `(#:modules ((guix build meson-build-system)
+     (list
+      #:modules `((guix build meson-build-system)
                   (guix build utils)
                   ((guix build python-build-system) #:prefix python:))
-       #:imported-modules (,@%meson-build-system-modules
+      #:imported-modules `(,@%meson-build-system-modules
                            (guix build python-build-system))
-       #:configure-flags
-       (list (string-append
-              "-Dpygi-overrides-dir="
-              (python:site-packages %build-inputs %outputs) "/gi/overrides"))))
+      #:configure-flags
+      #~(list (string-append
+               "-Dpygi-overrides-dir="
+               (python:site-packages %build-inputs %outputs) "/gi/overrides"))))
     (native-inputs
      (list pkg-config python))
     (propagated-inputs
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 29 Jun 21:20 +0200
[PATCH staging v2 18/20] gnu: gst-editing-services: Use new package style.
(address . 54744@debbugs.gnu.org)(name . Zhu Zihao)(address . all_but_last@163.com)
1480fa4b02d6e96f3189f16d003631ad297b1efd.camel@gmail.com
* gnu/packages/gstreamer.scm (gst-editing-services)[arguments]: Convert to
list of G-Expressions.
[native-inputs]: Drop labels.
---
gnu/packages/gstreamer.scm | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)

Toggle diff (44 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 7422a24d41..9a0e394b13 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -1001,24 +1001,24 @@ (define-public gst-editing-services
                 "18msiadg6wi1636ylp02yfiwphxlz39gh3vbxchl9qpvd7g9dn2z"))))
     (build-system meson-build-system)
     (arguments
-     ;; FIXME: 16/22 failing tests.
-     `(#:tests? #f
-       #:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
-       #:phases (modify-phases %standard-phases
-                  ,@%common-gstreamer-phases)))
+     (list
+      #:tests? #f                    ; FIXME: 16/22 failing tests.
+      #:glib-or-gtk? #t              ; To wrap binaries and/or compile schemas
+      #:phases #~(modify-phases %standard-phases
+                   #$@%common-gstreamer-phases)))
     (propagated-inputs
      (list gstreamer gst-plugins-base))
     (inputs
      (list glib glib-networking gtk+ libxml2))
     (native-inputs
-     `(("flex" ,flex)
-       ("gobject-introspection" ,gobject-introspection)
-       ("glib:bin" ,glib "bin")
-       ("gst-plugins-bad" ,gst-plugins-bad)
-       ("gst-plugins-good" ,gst-plugins-good)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)))
+     (list flex
+           gobject-introspection
+           `(,glib "bin")
+           gst-plugins-bad
+           gst-plugins-good
+           perl
+           pkg-config
+           python-wrapper))
     (home-page "https://gstreamer.freedesktop.org/")
     (synopsis "GStreamer library for non-linear editors")
     (description
-- 
2.36.1
Z
Z
Zhu Zihao wrote on 3 Jul 09:28 +0200
Re: [PATCH staging v2 00/20] Update gstreamer et al. to 1.20.3
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 54744@debbugs.gnu.org)
86v8se7iyw.fsf@163.com
Thanks for your work! These patches LGTM ;-)

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

Toggle quote (48 lines)
> Hi Zhu and everyone else reading
>
> this patch set (hopefully) provides the right feature split for smoothly
> upgrading gstreamer. I did not test this on current staging
> (some firefox-related build killed my machine and I'm not going to
> restart it in this heat), but I'm fairly certain that things work
> *mostly*. At the very least, webkitgtk and pitivi built previously.
>
> I did not alter any propagated inputs. webkitgtk curiously claims that
> gst-plugins-bad needs libgudev, but I don't see that in pitivi and it is
> supposedly fine, so ‾\_(ツ)_/‾
>
> Cheers
>
> Liliana Marie Prikler (20):
> gnu: python-gst: Add upstream-name.
> gnu: gstreamer: Update to 1.20.3.
> gnu: gst-plugins-base: Update to 1.20.3.
> gnu: gst-plugins-good: Update to 1.20.3.
> gnu: gst-plugins-bad: Update to 1.20.3.
> gnu: gst-plugins-ugly: Update to 1.20.3.
> gnu: gst-libav: Update to 1.20.3.
> gnu: gst-editing-services: Update to 1.20.3.
> gnu: gstreamer-docs: Update to 1.20.3.
> gnu: python-gst: Update to 1.20.3.
> gnu: gst-plugins/selection: Implement in terms of G-Expressions.
> gnu: Add gst-plugins-bad-minimal.
> gnu: webkitgtk: Add missing inputs.
> gnu: gstreamer: Use new package style.
> gnu: gst-plugins-good: Use new package style.
> gnu: gst-plugins-bad: Use new package style.
> gnu: gst-plugins-ugly: Use new package style.
> gnu: gst-editing-services: Use new package style.
> gnu: gst-python: Use new package style.
> gnu: gst-editing-services: Update FIXME comment.
>
> gnu/local.mk | 1 -
> gnu/packages/gstreamer.scm | 787 +++++++++---------
> .../patches/gst-plugins-good-fix-test.patch | 94 ---
> gnu/packages/video.scm | 2 +-
> gnu/packages/webkit.scm | 2 +
> 5 files changed, 398 insertions(+), 488 deletions(-)
> delete mode 100644 gnu/packages/patches/gst-plugins-good-fix-test.patch
>
>
> base-commit: 01d1b285b897342a0153cd8bd7c88db134f5e5a2


--
Retrieve my PGP public key:

gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F

Zihao
-----BEGIN PGP SIGNATURE-----

iIsEARYIADMWIQRefA5qkqvnKdl/GTlmOX+E92aT+QUCYsFFNxUcYWxsX2J1dF9s
YXN0QDE2My5jb20ACgkQZjl/hPdmk/mDPAD+IMOQ7MZReu7cxlppvhQzzm3Lk0XY
90S1TvK2lXv5fp0BAJh+7N3yjbipI7QnkLV/O5RK126DorDpc55E7/JeuAQC
=9K4g
-----END PGP SIGNATURE-----

L
L
Liliana Marie Prikler wrote on 31 Jul 12:19 +0200
(name . Zhu Zihao)(address . all_but_last@163.com)(address . 54744-done@debbugs.gnu.org)
fa22623673eddd90d7dbdaeee040994c9a7e491e.camel@gmail.com
Am Sonntag, dem 03.07.2022 um 15:28 +0800 schrieb Zhu Zihao:
Toggle quote (1 lines)
> Thanks for your work! These patches LGTM ;-)
Well, this is awkward. I revisited the patches and they no longer
cleanly apply to staging. However, with a small rebase and a few hacks
I got them working again, so I'll push them now.

Sadly, thanks to gtk+-2 currently being broken on staging, I feat that
this series is not that usable, but I've verified that pitivi builds
with a few hacks in the dependency graph (affecting gtk+-2, python-
sphinx and python-scipy; nothing gstreamer-related). I also verified
that gst-play-1.0 works on some random anime I had lying around in both
a pure and "pseudo-pure" shell (the latter, because audio somehow
doesn't seem to work in the pure one...). I wish I could also have
tested Totem, but that'd have been another Webkit build...

Cheers
Closed
?