From patchwork Sun Dec 24 15:27:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Herman Rimm X-Patchwork-Id: 58021 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id AB62927BBE2; Sun, 24 Dec 2023 15:29:24 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 6277C27BBE9 for ; Sun, 24 Dec 2023 15:29:22 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rHQPU-0002PB-28; Sun, 24 Dec 2023 10:29:00 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rHQPR-0002Oy-O8 for guix-patches@gnu.org; Sun, 24 Dec 2023 10:28:57 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rHQPR-00075n-Eq for guix-patches@gnu.org; Sun, 24 Dec 2023 10:28:57 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rHQPW-0000Mx-Df; Sun, 24 Dec 2023 10:29:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#52530] [PATCH] gnu: Add rust-gtk4 and dependencies. References: In-Reply-To: Resent-From: Herman Rimm Original-Sender: "Debbugs-submit" Resent-CC: efraim@flashner.co.il, guix-patches@gnu.org Resent-Date: Sun, 24 Dec 2023 15:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 52530 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 52530@debbugs.gnu.org Cc: Herman Rimm , Efraim Flashner X-Debbugs-Original-Xcc: Efraim Flashner Received: via spool by 52530-submit@debbugs.gnu.org id=B52530.17034317141380 (code B ref 52530); Sun, 24 Dec 2023 15:29:02 +0000 Received: (at 52530) by debbugs.gnu.org; 24 Dec 2023 15:28:34 +0000 Received: from localhost ([127.0.0.1]:53353 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rHQP3-0000M9-HR for submit@debbugs.gnu.org; Sun, 24 Dec 2023 10:28:34 -0500 Received: from 81-205-150-117.fixed.kpn.net ([81.205.150.117]:49527 helo=email.rimm.ee) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rHQOw-0000Lk-Vl for 52530@debbugs.gnu.org; Sun, 24 Dec 2023 10:28:32 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rimm.ee; s=herman; t=1703431694; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JEvowuit6zJ6+C9zrBO2BsagA0IcQkVAwkpYcTXusCw=; b=MQvFFS+zX1ecpD3qXOx0ovseW7U257EXhRLmTeprbO/GLCnuB65iwiahePXgJnaxYr43AI +o/Ufck2FMz11S9tB2lQsIfVMyEOXf3L/PX4PEv45GW/jFRBxbsRTdoXMbeC/Mb4mwYFYl NMi1NZi+Sd7XWPe1Z5LxSc1Be9Xf6HE0Gtx6nCOzzRTjzh+S6/6Oh8tmuMz5iuEy64suhX cUOES+XbJr70XpsAHO/8OYtWZJR1w4m+slmUtUg+P26jf2AG8hcAe6PX/svD+xZMVxUkml yh7ERmUMFstd0LnzyZiIyVg3pLG5btHdmiXE6chseETVGz2s9JoHyAT1/KFWJA== Received: by 81-205-150-117.fixed.kpn.net (OpenSMTPD) with ESMTPSA id 461aeb49 (TLSv1.3:TLS_CHACHA20_POLY1305_SHA256:256:NO); Sun, 24 Dec 2023 15:28:14 +0000 (UTC) Date: Sun, 24 Dec 2023 16:27:30 +0100 Message-ID: <211a0295dea59885497541095b79036686a20345.1703429638.git.herman@rimm.ee> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Herman Rimm X-ACL-Warn: , Herman Rimm via Guix-patches X-Patchwork-Original-From: Herman Rimm via Guix-patches via From: Herman Rimm Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * 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(+) base-commit: 0d13d095420861022e68e87ceebd5e037e12a8b3 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 ;;; Copyright © 2022 Aleksandr Vityazev ;;; Copyright © 2023 Steve George +;;; Copyright © 2023 Herman Rimm ;;; ;;; 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")