From fd07cb698b90e899d897d345f172dee41f918c02 Mon Sep 17 00:00:00 2001 From: Nicholas von Klitzing Date: Wed, 15 Dec 2021 23:49:30 +0100 Subject: [PATCH 28/29] gnu: Add rust-gtk4-0.3. * gnu/packages/crates-gtk.scm (rust-gtk4-0.3): New variable. --- gnu/packages/crates-gtk.scm | 59 +++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) 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 + (package + (name "rust-gtk4") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "gtk4" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0gba39mjnd3am4wys8p6nida1g18b2gij8z7753vm18l3m14z82q")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("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)) + #:phases + (modify-phases %standard-phases + (add-before 'check 'start-broadway + (lambda* (#:key inputs #:allow-other-keys) + (setenv "HOME" (getcwd)) + (system (string-append + (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\\s)(#.*)" _ code comment) (string-append code "\n")))))))) + (native-inputs (list pkg-config)) + (inputs + `(("glib" ,glib) + ("graphene" ,graphene) + ("cairo" ,cairo) + ("pango" ,pango) + ("gdk-pixbuf" ,gdk-pixbuf) + ("gtk" ,gtk) + ("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 (package (name "rust-gtk") -- 2.34.0