From fd07cb698b90e899d897d345f172dee41f918c02 Mon Sep 17 00:00:00 2001
* gnu/packages/crates-gtk.scm (rust-gtk4-0.3): New variable.
gnu/packages/crates-gtk.scm | 59 +++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
Toggle diff (79 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 721ee2c5be..0d8f7e01a1 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -26,6 +26,7 @@ (define-module (gnu packages crates-gtk)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages crates-graphics)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages gtk))
@@ -1596,6 +1597,64 @@ (define-public rust-cairo-rs-0.14
(description "Rust bindings for the Cairo library")
(license license:expat)))
+(define-public rust-gtk4-0.3
+ (uri (crate-uri "gtk4" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (base32 "0gba39mjnd3am4wys8p6nida1g18b2gij8z7753vm18l3m14z82q"))))
+ (build-system cargo-build-system)
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-cairo-rs" ,rust-cairo-rs-0.14)
+ ("rust-field-offset" ,rust-field-offset-0.3)
+ ("rust-futures-channel" ,rust-futures-channel-0.3)
+ ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.14)
+ ("rust-gdk4" ,rust-gdk4-0.3)
+ ("rust-gio" ,rust-gio-0.14)
+ ("rust-glib" ,rust-glib-0.14)
+ ("rust-graphene-rs" ,rust-graphene-rs-0.14)
+ ("rust-gsk4" ,rust-gsk4-0.3)
+ ("rust-gtk4-macros" ,rust-gtk4-macros-0.3)
+ ("rust-gtk4-sys" ,rust-gtk4-sys-0.3)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-once-cell" ,rust-once-cell-1)
+ ("rust-pango" ,rust-pango-0.14))
+ #:cargo-development-inputs
+ (("rust-gir-format-check" ,rust-gir-format-check-0.1))
+ (modify-phases %standard-phases
+ (add-before 'check 'start-broadway
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "HOME" (getcwd))
+ (search-input-file inputs "/bin/gtk4-broadwayd") " :1 &"))
+ (setenv "GDK_BACKEND" "broadway")
+ (setenv "BROADWAY_DISPLAY" ":1")
+ ;; See https://github.com/gtk-rs/gtk4-rs/issues/759
+ (substitute* (find-files "." "Gir.toml")
+ (("^(.*\\S\\s)(#.*)" _ code comment) (string-append code "\n"))))))))
+ (native-inputs (list pkg-config))
+ ("gdk-pixbuf" ,gdk-pixbuf)
+ ("gtk:bin" ,gtk "bin")))
+ (home-page "https://gtk-rs.org/")
+ (synopsis "Rust bindings of the GTK 4 library")
+ (description "Rust bindings of the GTK 4 library")
+ (license license:expat)))
(define-public rust-gtk-0.8