Subject: [bug#73956] [PATCH rust-team 06/27] gnu: Add rust-gio-sys-0.20.

From: Giacomo Leidi <[email-masked]>
Date: Wed, 23 Oct 2024 01:30:51 +0200

* gnu/packages/crates-gtk.scm (rust-gio-sys-0.20): New variable;
(rust-gio-sys-0.19): inherit from rust-gio-sys-0.20.

Change-Id: Iededb3836d87b3098be7e9893d19f892aad611c0
---
 gnu/packages/crates-gtk.scm | 45 ++++++++++++++++++++++++++++++++-----
 1 file changed, 39 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index f08b2f5105..9ef2ba62a7 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1325,26 +1325,26 @@ (define-public rust-gio-0.8
         ("rust-serial-test" ,rust-serial-test-0.1)
         ("rust-serial-test-derive" ,rust-serial-test-derive-0.1))))))
 
-(define-public rust-gio-sys-0.19
+(define-public rust-gio-sys-0.20
   (package
     (name "rust-gio-sys")
-    (version "0.19.8")
+    (version "0.20.4")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "gio-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "1vylsskpipfwl7mvffp1s0227d0k5amyhd32dfnp3mhl8yx47mrc"))))
+        (base32 "0ya7i4m3jirrhryy6h8x5kgp3fxn6m4111009ws5aiz0ilvgqzjg"))))
     (build-system cargo-build-system)
     (arguments
      `(;; XXX: Tests are sensitive to the version of glib, even though
        ;; the library supports a wide range.  Skip for now.
        #:tests? #f
-       #:cargo-inputs (("rust-glib-sys" ,rust-glib-sys-0.19)
-                       ("rust-gobject-sys" ,rust-gobject-sys-0.19)
+       #:cargo-inputs (("rust-glib-sys" ,rust-glib-sys-0.20)
+                       ("rust-gobject-sys" ,rust-gobject-sys-0.20)
                        ("rust-libc" ,rust-libc-0.2)
-                       ("rust-system-deps" ,rust-system-deps-6)
+                       ("rust-system-deps" ,rust-system-deps-7)
                        ("rust-windows-sys" ,rust-windows-sys-0.52))
        #:cargo-development-inputs (("rust-shell-words" ,rust-shell-words-1)
                                    ("rust-tempfile" ,rust-tempfile-3))
@@ -1364,6 +1364,39 @@ (define-public rust-gio-sys-0.19
     (description "This package provides FFI bindings to libgio-2.0.")
     (license license:expat)))
 
+(define-public rust-gio-sys-0.19
+  (package
+    (inherit rust-gio-sys-0.20)
+    (name "rust-gio-sys")
+    (version "0.19.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "gio-sys" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1vylsskpipfwl7mvffp1s0227d0k5amyhd32dfnp3mhl8yx47mrc"))))
+    (arguments
+     `(;; XXX: Tests are sensitive to the version of glib, even though
+       ;; the library supports a wide range.  Skip for now.
+       #:tests? #f
+       #:cargo-inputs (("rust-glib-sys" ,rust-glib-sys-0.19)
+                       ("rust-gobject-sys" ,rust-gobject-sys-0.19)
+                       ("rust-libc" ,rust-libc-0.2)
+                       ("rust-system-deps" ,rust-system-deps-6)
+                       ("rust-windows-sys" ,rust-windows-sys-0.52))
+       #:cargo-development-inputs (("rust-shell-words" ,rust-shell-words-1)
+                                   ("rust-tempfile" ,rust-tempfile-3))
+       #:phases (modify-phases %standard-phases
+                  (add-before 'check 'extend-include-path
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      (let ((gio-headers (search-input-directory
+                                          inputs "include/gio-unix-2.0")))
+                        ;; Tests rely on these headers.
+                        (setenv "C_INCLUDE_PATH"
+                                (string-append gio-headers ":"
+                                               (getenv "C_INCLUDE_PATH")))))))))))
+
 (define-public rust-gio-sys-0.18
   (package
     (inherit rust-gio-sys-0.19)
-- 
2.46.0