From: Herman Rimm via Guix-patches via <guix-patches@gnu.org>
To: 52530@debbugs.gnu.org
Cc: Herman Rimm <herman@rimm.ee>, Efraim Flashner <efraim@flashner.co.il>
Subject: [bug#52530] [PATCH] gnu: Add rust-gtk4 and dependencies.
Date: Sun, 24 Dec 2023 16:27:30 +0100 [thread overview]
Message-ID: <211a0295dea59885497541095b79036686a20345.1703429638.git.herman@rimm.ee> (raw)
In-Reply-To: <l4lPDuK3_trOISY7LCmf-1NqZ-GeWRd7c9xDauGMVqv2folgXCevIOlDHYGdXHKe22OekRnwzdfb1qAbpS7d9hRsMoJQVgSCnQesHmL2g7o=@protonmail.ch>
* gnu/packages/crates-gtk.scm (rust-gdk4-0.6): New variable.
(rust-graphene-rs-0.17): New variable.
(rust-graphene-sys-0.17): New variable.
(rust-gsk4-0.6): New variable.
(rust-gsk4-sys-0.6): New variable.
(rust-gtk4-0.6): New variable.
(rust-gtk4-macros-0.6): New variable.
(rust-gtk4-sys-0.6): New variable.
---
Hello,
Should each package be added in a separate patch?
The latest gtk4-rs version is 0.7, I chose 0.6 because it has more
compatible dependencies. gtk4-rs can be updated to 0.7 together with
those dependencies. For the new packages, guix lint notes the newer
version and that the source is not archived on Software Heritage etc..
The package descriptions are still single sentences, so it can't be
merged. But I mail this patch for people who would like to use newer
gtk4-rs packages despite that. Please improve the descriptions if you
feel like it.
Cheers,
Herman Rimm
gnu/packages/crates-gtk.scm | 291 ++++++++++++++++++++++++++++++++++++
1 file changed, 291 insertions(+)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 266a513dc2..0c275b739e 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org>
;;; Copyright © 2023 Steve George <steve@futurile.net>
+;;; Copyright © 2023 Herman Rimm <herman@rimm.ee>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -860,6 +861,68 @@ (define-public rust-gdk-sys-0.9
(("rust-shell-words" ,rust-shell-words-0.1)
("rust-tempfile" ,rust-tempfile-3))))))
+(define-public rust-gdk4-0.6
+ (package
+ (name "rust-gdk4")
+ (version "0.6.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gdk4" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1zri4z8nxsp88mvk8vhk6xqpc4g1l69zi9w1z3fkwvm211jgkay3"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ;`Errors` cannot be formatted with the default formatter.
+ #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-cairo-rs" ,rust-cairo-rs-0.17)
+ ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.17)
+ ("rust-gdk4-sys" ,rust-gdk4-sys-0.6)
+ ("rust-gio" ,rust-gio-0.17)
+ ("rust-glib" ,rust-glib-0.17)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango" ,rust-pango-0.17))
+ #:cargo-development-inputs (("rust-gir-format-check" ,rust-gir-format-check-0.1))))
+ (native-inputs (list pkg-config))
+ (inputs (list cairo gdk-pixbuf glib gtk pango))
+ (home-page "https://gtk-rs.org/")
+ (synopsis "Rust bindings of the GDK 4 library")
+ (description "This package provides the Rust bindings of the GDK 4
+library.")
+ (license license:expat)))
+
+(define-public rust-gdk4-sys-0.6
+ (package
+ (name "rust-gdk4-sys")
+ (version "0.6.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gdk4-sys" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0r7dm9vyzg2xlzdgxqa190gd1403mhw4q09x754rq24cc2hjmj8v"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.17)
+ ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.17)
+ ("rust-gio-sys" ,rust-gio-sys-0.17)
+ ("rust-glib-sys" ,rust-glib-sys-0.17)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.17)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango-sys" ,rust-pango-sys-0.17)
+ ("rust-pkg-config" ,rust-pkg-config-0.3)
+ ("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 cairo gdk-pixbuf glib gtk pango))
+ (home-page "https://gtk-rs.org/")
+ (synopsis "FFI bindings of GDK 4")
+ (description "This package provides the FFI bindings of GDK 4.")
+ (license license:expat)))
+
(define-public rust-gio-0.17
(package
(name "rust-gio")
@@ -1711,6 +1774,130 @@ (define-public rust-gobject-sys-0.9
(("rust-shell-words" ,rust-shell-words-0.1)
("rust-tempfile" ,rust-tempfile-3))))))
+(define-public rust-graphene-rs-0.17
+ (package
+ (name "rust-graphene-rs")
+ (version "0.17.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "graphene-rs" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1na0kg5q746kpg0x8hic06rqknbjs9050i85idafsnav4q0vpx6y"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ;`Errors` cannot be formatted with the default formatter.
+ #:cargo-inputs (("rust-glib" ,rust-glib-0.17)
+ ("rust-graphene-sys" ,rust-graphene-sys-0.17)
+ ("rust-libc" ,rust-libc-0.2))
+ #:cargo-development-inputs (("rust-gir-format-check" ,rust-gir-format-check-0.1))))
+ (native-inputs (list pkg-config))
+ (inputs (list glib graphene))
+ (home-page "https://gtk-rs.org/")
+ (synopsis "Rust bindings for the Graphene library")
+ (description "This package provides the Rust bindings for the Graphene
+library.")
+ (license license:expat)))
+
+(define-public rust-graphene-sys-0.17
+ (package
+ (name "rust-graphene-sys")
+ (version "0.17.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "graphene-sys" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "07dj19zwffl0h8qjs7lxf3czb5p2myixj2zadkiparkags0zqmhq"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-glib-sys" ,rust-glib-sys-0.17)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3)
+ ("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 graphene))
+ (home-page "https://gtk-rs.org/")
+ (synopsis "FFI bindings to libgraphene-1.0")
+ (description "This package provides FFI bindings to libgraphene-1.0.")
+ (license license:expat)))
+
+(define-public rust-gsk4-0.6
+ (package
+ (name "rust-gsk4")
+ (version "0.6.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gsk4" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0g1srhahmhdl6rqbz98bawzf1gp6hf9m4y4rvbi1bb3wz92fy0bg"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ;`Errors` cannot be formatted with the default formatter.
+ #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-cairo-rs" ,rust-cairo-rs-0.17)
+ ("rust-gdk4" ,rust-gdk4-0.6)
+ ("rust-glib" ,rust-glib-0.17)
+ ("rust-graphene-rs" ,rust-graphene-rs-0.17)
+ ("rust-gsk4-sys" ,rust-gsk4-sys-0.6)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango" ,rust-pango-0.17))
+ #:cargo-development-inputs (("rust-gir-format-check" ,rust-gir-format-check-0.1))))
+ (native-inputs (list pkg-config))
+ (inputs (list cairo
+ gdk-pixbuf
+ glib
+ graphene
+ gtk
+ pango))
+ (home-page "https://gtk-rs.org/")
+ (synopsis "Rust bindings of the GSK 4 library")
+ (description "This package provides the Rust bindings of the GSK 4
+library.")
+ (license license:expat)))
+
+(define-public rust-gsk4-sys-0.6
+ (package
+ (name "rust-gsk4-sys")
+ (version "0.6.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gsk4-sys" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1c013zdd0yzcfmkz1gj28dbfz2zmypi8baimjk9264yg9pxq8yn0"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ;tests FAILED
+ #:cargo-inputs (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.17)
+ ("rust-gdk4-sys" ,rust-gdk4-sys-0.6)
+ ("rust-glib-sys" ,rust-glib-sys-0.17)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.17)
+ ("rust-graphene-sys" ,rust-graphene-sys-0.17)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango-sys" ,rust-pango-sys-0.17)
+ ("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 cairo
+ gdk-pixbuf
+ glib
+ graphene
+ gtk
+ pango))
+ (home-page "https://gtk-rs.org/")
+ (synopsis "FFI bindings of GSK 4")
+ (description "This package provides the FFI bindings of GSK 4.")
+ (license license:expat)))
+
(define-public rust-gstreamer-0.18
(package
(name "rust-gstreamer")
@@ -2187,6 +2374,110 @@ (define-public rust-gtk3-macros-0.14
library.")
(license license:expat)))
+(define-public rust-gtk4-0.6
+ (package
+ (name "rust-gtk4")
+ (version "0.6.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gtk4" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "12y8ck3y555mvv65lwm7l19f23wycq68ngwql0afyp6p9jh352mj"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ;`Errors` cannot be formatted with the default formatter.
+ #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-cairo-rs" ,rust-cairo-rs-0.17)
+ ("rust-field-offset" ,rust-field-offset-0.3)
+ ("rust-futures-channel" ,rust-futures-channel-0.3)
+ ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.17)
+ ("rust-gdk4" ,rust-gdk4-0.6)
+ ("rust-gio" ,rust-gio-0.17)
+ ("rust-glib" ,rust-glib-0.17)
+ ("rust-graphene-rs" ,rust-graphene-rs-0.17)
+ ("rust-gsk4" ,rust-gsk4-0.6)
+ ("rust-gtk4-macros" ,rust-gtk4-macros-0.6)
+ ("rust-gtk4-sys" ,rust-gtk4-sys-0.6)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-once-cell" ,rust-once-cell-1)
+ ("rust-pango" ,rust-pango-0.17))
+ #:cargo-development-inputs (("rust-gir-format-check" ,rust-gir-format-check-0.1))))
+ (native-inputs (list pkg-config))
+ (inputs (list cairo gdk-pixbuf glib gtk pango))
+ (home-page "https://gtk-rs.org/")
+ (synopsis "Rust bindings of the GTK 4 library")
+ (description "This package provides Rust bindings of the GTK 4
+library.")
+ (license license:expat)))
+
+(define-public rust-gtk4-macros-0.6
+ (package
+ (name "rust-gtk4-macros")
+ (version "0.6.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gtk4-macros" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "03shq84fvay3zqdccr2j22v6kkdi8fj4v61dakpd6xhgaxhnnkba"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ;tests FAILED
+ #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
+ ("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
+ ("rust-proc-macro-error" ,rust-proc-macro-error-1)
+ ("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quick-xml" ,rust-quick-xml-0.27)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-syn" ,rust-syn-1))
+ #:cargo-development-inputs (("rust-futures-channel" ,rust-futures-channel-0.3)
+ ("rust-futures-util" ,rust-futures-util-0.3)
+ ("rust-gtk4" ,rust-gtk4-0.6)
+ ("rust-trybuild2" ,rust-trybuild2-1))))
+ (native-inputs (list pkg-config))
+ (inputs (list gtk))
+ (home-page "https://gtk-rs.org/")
+ (synopsis "Macros helpers for GTK 4 bindings")
+ (description "This package provides macros helpers for GTK 4 bindings.")
+ (license license:expat)))
+
+(define-public rust-gtk4-sys-0.6
+ (package
+ (name "rust-gtk4-sys")
+ (version "0.6.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gtk4-sys" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0bz26ix7pl4d1m63zacaw1vw5021vm5r7wn7fsg02zmh0zvq70jz"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f
+ #:cargo-inputs (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.17)
+ ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.17)
+ ("rust-gdk4-sys" ,rust-gdk4-sys-0.6)
+ ("rust-gio-sys" ,rust-gio-sys-0.17)
+ ("rust-glib-sys" ,rust-glib-sys-0.17)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.17)
+ ("rust-graphene-sys" ,rust-graphene-sys-0.17)
+ ("rust-gsk4-sys" ,rust-gsk4-sys-0.6)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango-sys" ,rust-pango-sys-0.17)
+ ("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 cairo gdk-pixbuf glib gtk pango))
+ (home-page "https://gtk-rs.org/")
+ (synopsis "FFI bindings of GTK 4")
+ (description "This package provides the FFI bindings of GTK 4.")
+ (license license:expat)))
+
(define-public rust-pango-0.17
(package
(name "rust-pango")
base-commit: 0d13d095420861022e68e87ceebd5e037e12a8b3
--
2.41.0
next prev parent reply other threads:[~2023-12-24 15:29 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-15 23:05 [bug#52530] [PATCH core-updates-frozen] WIP: Add rust-gtk4 and dependencies Nicholas von Klitzing
2021-12-19 4:42 ` Maxim Cournoyer
2022-01-08 9:10 ` Nicholas von Klitzing via Guix-patches via
2023-12-24 15:27 ` Herman Rimm via Guix-patches via [this message]
2024-01-22 4:46 ` Maxim Cournoyer
2024-01-25 17:47 ` Herman Rimm via Guix-patches via
2024-01-27 3:15 ` bug#52530: " Maxim Cournoyer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=211a0295dea59885497541095b79036686a20345.1703429638.git.herman@rimm.ee \
--to=guix-patches@gnu.org \
--cc=52530@debbugs.gnu.org \
--cc=efraim@flashner.co.il \
--cc=herman@rimm.ee \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.