[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
49/75: import: go: Emit new-style package inputs.
From: |
guix-commits |
Subject: |
49/75: import: go: Emit new-style package inputs. |
Date: |
Sun, 21 Jan 2024 13:21:48 -0500 (EST) |
apteryx pushed a commit to branch core-updates
in repository guix.
commit 76a5553b22ebcf8daab9675cd997cdd696dfb4d8
Author: Sarah Morgensen <iskarian@mgsn.dev>
AuthorDate: Tue Jul 20 19:59:21 2021 -0700
import: go: Emit new-style package inputs.
Since PACKAGE-NAMES->PACKAGE-INPUTS is used by both the go and crate
importers, give the crate importer a copy of the original so it
continues to use old-style inputs until it is updated.
* guix/import/utils.scm (package-names->package-inputs)[make-input]:
Return new-style package inputs.
(maybe-inputs): Wrap PACKAGE-INPUTS in 'list' instead of 'quasiquote'.
* guix/import/crate.scm (package-names->package-inputs): New variable.
* tests/go.scm ("go-module->guix-package"): Adjust to new-style package
inputs.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
---
guix/import/crate.scm | 17 +++++++++++++++++
guix/import/utils.scm | 12 +++++-------
tests/go.scm | 2 +-
3 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/guix/import/crate.scm b/guix/import/crate.scm
index b5a0b604e2..0d1e6ea541 100644
--- a/guix/import/crate.scm
+++ b/guix/import/crate.scm
@@ -142,6 +142,23 @@ record or #f if it was not found."
;;; Converting crates to Guix packages.
;;;
+(define* (package-names->package-inputs names #:optional (output #f))
+ "Given a list of PACKAGE-NAMES or (PACKAGE-NAME VERSION) pairs, and an
+optional OUTPUT, tries to generate a quoted list of inputs, as suitable to
+use in an 'inputs' field of a package definition."
+ (define (make-input input version)
+ (cons* input (list 'unquote (string->symbol
+ (if version
+ (string-append input "-" version)
+ input)))
+ (or (and output (list output))
+ '())))
+
+ (map (match-lambda
+ ((input version) (make-input input version))
+ (input (make-input input #f)))
+ names))
+
(define (maybe-cargo-inputs package-names)
(match (package-names->package-inputs package-names)
(()
diff --git a/guix/import/utils.scm b/guix/import/utils.scm
index 0cf52cdbde..fdfebffc50 100644
--- a/guix/import/utils.scm
+++ b/guix/import/utils.scm
@@ -408,12 +408,10 @@ LENGTH characters."
optional OUTPUT, tries to generate a quoted list of inputs, as suitable to
use in an 'inputs' field of a package definition."
(define (make-input input version)
- (cons* input (list 'unquote (string->symbol
- (if version
- (string-append input "-" version)
- input)))
- (or (and output (list output))
- '())))
+ (let ((name (if version (string-append input "-" version) input)))
+ (if output
+ (list (string->symbol name) output)
+ (string->symbol name))))
(map (match-lambda
((input version) (make-input input version))
@@ -434,7 +432,7 @@ snippet generated is for regular inputs."
(()
'())
((package-inputs ...)
- `((,field-name (,'quasiquote ,package-inputs)))))))
+ `((,field-name (list ,@package-inputs)))))))
(define* (maybe-native-inputs package-names #:optional (output #f))
"Same as MAYBE-INPUTS, but for native inputs."
diff --git a/tests/go.scm b/tests/go.scm
index d2e8846b30..f925c485c1 100644
--- a/tests/go.scm
+++ b/tests/go.scm
@@ -389,7 +389,7 @@ require github.com/kr/pretty v0.2.1
(arguments
(list #:import-path "github.com/go-check/check"))
(propagated-inputs
- `(("go-github-com-kr-pretty" ,go-github-com-kr-pretty)))
+ (list go-github-com-kr-pretty))
(home-page "https://github.com/go-check/check")
(synopsis "Instructions")
(description "Package check is a rich testing extension for Go's testing \
- 48/75: import: crate: Emit new-style package inputs., (continued)
- 48/75: import: crate: Emit new-style package inputs., guix-commits, 2024/01/21
- 54/75: gnu: bluez: Update to 5.72., guix-commits, 2024/01/21
- 57/75: packages: Fix repacked file name extension when zstd is unavailable., guix-commits, 2024/01/21
- 63/75: gnu: libgpg-error: Update to 1.47., guix-commits, 2024/01/21
- 64/75: gnu: libice: Update to 1.1.1., guix-commits, 2024/01/21
- 68/75: gnu: openjdk9: Make build reproducible., guix-commits, 2024/01/21
- 69/75: gnu: openjdk10: Make more reproducible., guix-commits, 2024/01/21
- 70/75: gnu: openjdk11: Make more reproducible., guix-commits, 2024/01/21
- 75/75: packages: Silence tar's support for --sort check output., guix-commits, 2024/01/21
- 39/75: gnu: xprop: Update to 1.2.6., guix-commits, 2024/01/21
- 49/75: import: go: Emit new-style package inputs.,
guix-commits <=
- 50/75: gnu: rust: Add profiling support., guix-commits, 2024/01/21
- 52/75: gnu: openjdk11: Update home page., guix-commits, 2024/01/21
- 55/75: gnu: font-fontna-yasashisa-antique: Remove input labels., guix-commits, 2024/01/21
- 59/75: gnu: python: Normalize sys.prefix in sitecustomize.py., guix-commits, 2024/01/21
- 72/75: gnu: openjdk13: Make reproducible., guix-commits, 2024/01/21
- 19/75: gnu: font-linuxlibertine: Install all license files., guix-commits, 2024/01/21
- 26/75: gnu: font-go: Install license files., guix-commits, 2024/01/21
- 27/75: gnu: font-dosis: Remove extraneous files; install license file., guix-commits, 2024/01/21
- 31/75: gnu: font-jetbrains-mono: Remove obsolete phase., guix-commits, 2024/01/21
- 37/75: gnu: libice: Update to 1.1.0., guix-commits, 2024/01/21