[PATCH rust-team 0/2] Add add-dependencies procedure.

  • Open
  • quality assurance status badge
Details
One participant
  • Herman Rimm
Owner
unassigned
Submitted by
Herman Rimm
Severity
normal

Debbugs page

H
H
Herman Rimm wrote on 3 Jan 11:38 -0800
(address . guix-patches@gnu.org)
cover.1735932581.git.herman@rimm.ee
Hello,

(parameterize ((current-warning-port (%make-void-port "w"))) ...) does
not silence the warning emitted by the format.

Cheers,
Herman

Herman Rimm (2):
build-system: cargo: Add add-dependencies procedure.
build-system: cargo: add-dependencies: Silence warning.

guix/build-system/cargo.scm | 25 +++++++++++++++++++++++--
1 file changed, 23 insertions(+), 2 deletions(-)


base-commit: 5f92f009a19c1a5a8b7df5a7bcb1e1f283a953f8
--
2.45.2
H
H
Herman Rimm wrote on 3 Jan 11:40 -0800
[PATCH rust-team 1/2] build-system: cargo: Add add-dependencies procedure.
(address . 75325@debbugs.gnu.org)
ce89ce8f0b871c0bbe13fe284c3bc72e4c15e3ad.1735932581.git.herman@rimm.ee
* guix/build-system/cargo.scm (add-dependencies): Add procedure.

Change-Id: I5385d136697bb6d41a5bd4f6120150f841369a04
---
guix/build-system/cargo.scm | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)

Toggle diff (44 lines)
diff --git a/guix/build-system/cargo.scm b/guix/build-system/cargo.scm
index 452f7f78d01..b22b9247a1c 100644
--- a/guix/build-system/cargo.scm
+++ b/guix/build-system/cargo.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2021, 2024 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
+;;; Copyright © 2024-2025 Herman Rimm <herman@rimm.ee>
;;; Copyright © 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -38,7 +38,8 @@ (define-module (guix build-system cargo)
#:use-module (ice-9 vlist)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
- #:export (%cargo-build-system-modules
+ #:export (add-dependencies
+ %cargo-build-system-modules
%cargo-utils-modules
cargo-build-system
%crate-base-url
@@ -46,6 +47,18 @@ (define-module (guix build-system cargo)
crate-url?
crate-uri))
+;; TODO: Move to (guix build cargo-utils).
+(define* (add-dependencies dependencies)
+ "DEPENDENCIES is a list of (crate version features). It is formatted
+and appendended to Cargo.toml."
+ #~(let ((port (open-file "Cargo.toml" "a")))
+ (format port "
+~:{[dev-dependencies.~a]
+version = ~s
+~@[features = [~{~s~^,~}]~]~%~}"
+ '#$dependencies)
+ (close port)))
+
(define %crate-base-url
(make-parameter "https://crates.io"))
(define crate-url
--
2.45.2
H
H
Herman Rimm wrote on 3 Jan 11:40 -0800
[PATCH rust-team 2/2] build-system: cargo: add-dependencies: Silence warning.
(address . 75325@debbugs.gnu.org)
2929f9484a26fba24961dfd7fecd4180a7964775.1735932581.git.herman@rimm.ee
* guix/build-system/cargo.scm (add-dependencies): Silence warning.

Change-Id: I8691766fc19073719e75c05eb5bfbce45ffc9b80
---
guix/build-system/cargo.scm | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)

Toggle diff (40 lines)
diff --git a/guix/build-system/cargo.scm b/guix/build-system/cargo.scm
index b22b9247a1c..877ebaec135 100644
--- a/guix/build-system/cargo.scm
+++ b/guix/build-system/cargo.scm
@@ -34,6 +34,7 @@ (define-module (guix build-system cargo)
#:use-module (guix platform)
#:use-module (guix build-system)
#:use-module (guix build-system gnu)
+ #:use-module (ice-9 format)
#:use-module (ice-9 match)
#:use-module (ice-9 vlist)
#:use-module (srfi srfi-1)
@@ -51,13 +52,20 @@ (define-module (guix build-system cargo)
(define* (add-dependencies dependencies)
"DEPENDENCIES is a list of (crate version features). It is formatted
and appendended to Cargo.toml."
- #~(let ((port (open-file "Cargo.toml" "a")))
- (format port "
+ (let ((dependencies
+ (map (match-lambda
+ ((crate version ()) (list crate version #f))
+ ((crate version (? pair? features))
+ (list crate version (format #f "~{~s~^,~}" features)))
+ (dep dep))
+ dependencies)))
+ #~(let ((port (open-file "Cargo.toml" "a")))
+ (format port "
~:{[dev-dependencies.~a]
version = ~s
-~@[features = [~{~s~^,~}]~]~%~}"
- '#$dependencies)
- (close port)))
+~@[features = [~a]~]~%~}"
+ '#$dependencies)
+ (close port))))
(define %crate-base-url
(make-parameter "https://crates.io"))
--
2.45.2
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 75325@patchwise.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 75325
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch