unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
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





  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

  List information: https://guix.gnu.org/

* 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 public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).