Subject: [bug#69257] [PATCH rust-team v3 46/75] gnu: Add rust-gstreamer-sys-0.21.

From: Herman Rimm <[email-masked]>
Date: Sat, 4 May 2024 13:35:18 +0200

* gnu/packages/crates-gtk.scm (rust-gstreamer-sys-0.21): Add variable.
(rust-gstreamer-sys-0.18): Inherit from rust-gstreamer-sys-0.21.
---
 gnu/packages/crates-gtk.scm | 47 +++++++++++++++++++++++++++++--------
 1 file changed, 37 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index fb5dc6040a..443f48f762 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -2466,8 +2466,42 @@ (define-public rust-gstreamer-base-sys-0.18
     (description "FFI bindings to libgstbase-1.0, part of GStreamer.")
     (license license:expat)))
 
+(define-public rust-gstreamer-sys-0.21
+  (package
+    (name "rust-gstreamer-sys")
+    (version "0.21.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "gstreamer-sys" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1i1vrqs9ys5y0ljl4nxh1x25dnwlcyh9hiybh4dysviy5dwdlk2n"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-test-flags
+       (list "--release" "--"
+             ;; ABI tests fail with undeclared constants.
+             "--skip=cross_validate_constants_with_c"
+             "--skip=cross_validate_layout_with_c")
+       #:cargo-development-inputs
+       (("rust-shell-words" ,rust-shell-words-1)
+        ("rust-tempfile" ,rust-tempfile-3))
+       #:cargo-inputs (("rust-glib-sys" ,rust-glib-sys-0.18)
+                       ("rust-gobject-sys" ,rust-gobject-sys-0.18)
+                       ("rust-libc" ,rust-libc-0.2)
+                       ("rust-system-deps" ,rust-system-deps-6))))
+    (native-inputs (list pkg-config))
+    (inputs (list glib gstreamer))
+    (home-page "https://gstreamer.freedesktop.org")
+    (synopsis "FFI bindings to libgstreamer-1.0")
+    (description
+      "This package provides FFI bindings to libgstreamer-1.0.")
+    (license license:expat)))
+
 (define-public rust-gstreamer-sys-0.18
   (package
+    (inherit rust-gstreamer-sys-0.21)
     (name "rust-gstreamer-sys")
     (version "0.18.0")
     (source (origin
@@ -2477,21 +2511,14 @@ (define-public rust-gstreamer-sys-0.18
               (sha256
                (base32
                 "1qikgp5m3xj41fbfyfl6ckb5i8dxadfvlvj5bf8girn2sdjpllg3"))))
-    (build-system cargo-build-system)
     (arguments
      (list #:cargo-inputs `(("rust-glib-sys" ,rust-glib-sys-0.15)
                             ("rust-gobject-sys" ,rust-gobject-sys-0.15)
                             ("rust-libc" ,rust-libc-0.2)
                             ("rust-system-deps" ,rust-system-deps-6))
-           #:cargo-development-inputs `(("rust-shell-words" ,rust-shell-words-1)
-                                        ("rust-tempfile" ,rust-tempfile-3))))
-    (native-inputs (list pkg-config))
-    (inputs (list glib gstreamer))
-    (home-page "https://gstreamer.freedesktop.org")
-    (synopsis "FFI bindings to libgstreamer-1.0")
-    (description
-     "Foreign Function Interface (FFI) bindings to libgstreamer-1.0.")
-    (license license:expat)))
+           #:cargo-development-inputs
+           `(("rust-shell-words" ,rust-shell-words-1)
+             ("rust-tempfile" ,rust-tempfile-3))))))
 
 (define-public rust-gtk-0.14
   (package
-- 
2.41.0