[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#70923] [PATCH v2 08/12] import: hackage: Use maybe-list-field.
From: |
Herman Rimm |
Subject: |
[bug#70923] [PATCH v2 08/12] import: hackage: Use maybe-list-field. |
Date: |
Wed, 4 Sep 2024 22:33:02 +0200 |
* guix/import/hackage.scm (maybe-inputs, maybe-arguments): Delete
procedures.
(hackage-module->sexp): Use maybe-list-field and maybe-upstream-inputs
procedures.
* tests/hackage.scm: Fix whitespace and replace quasiquote with list.
Change-Id: I4fe39ff84c9f6a677f810d9e4fe751d762973757
---
guix/import/hackage.scm | 39 ++++++++++++---------------------------
tests/hackage.scm | 13 +++++++------
2 files changed, 19 insertions(+), 33 deletions(-)
diff --git a/guix/import/hackage.scm b/guix/import/hackage.scm
index 79a51d3300..bd3bed146e 100644
--- a/guix/import/hackage.scm
+++ b/guix/import/hackage.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2019 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2023-2024 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -288,26 +289,6 @@ (define inputs
#:include-test-dependencies?
include-test-dependencies?))
- (define (maybe-inputs input-type inputs)
- (match inputs
- (()
- '())
- ((inputs ...)
- (list (list input-type
- `(list ,@(map (compose string->symbol
- upstream-input-downstream-name)
- inputs)))))))
-
- (define (maybe-arguments)
- (match (append (if (not include-test-dependencies?)
- '(#:tests? #f)
- '())
- (if (not (string-null? revision))
- `(#:cabal-revision (,revision ,cabal-hash))
- '()))
- (() '())
- (args `((arguments (,'quasiquote ,args))))))
-
(let ((tarball (with-store store
(download-to-store store source-url))))
(values
@@ -324,13 +305,17 @@ (define (maybe-arguments)
"failed to download tar archive")))))
(build-system haskell-build-system)
(properties '((upstream-name . ,name)))
- ,@(maybe-inputs 'inputs
- (filter (upstream-input-type-predicate 'regular)
- inputs))
- ,@(maybe-inputs 'native-inputs
- (filter (upstream-input-type-predicate 'native)
- inputs))
- ,@(maybe-arguments)
+ ,@(maybe-upstream-inputs 'inputs
+ (filter (upstream-input-type-predicate 'regular) inputs))
+ ,@(maybe-upstream-inputs 'native-inputs
+ (filter (upstream-input-type-predicate 'native) inputs))
+ ,@(maybe-list-field 'arguments
+ (append (if (not include-test-dependencies?)
+ '(#:tests? #f)
+ '())
+ (if (not (string-null? revision))
+ `(#:cabal-revision '(,revision ,cabal-hash))
+ '())))
(home-page ,(cabal-package-home-page cabal))
(synopsis ,(cabal-package-synopsis cabal))
(description ,(beautify-description (cabal-package-description cabal)))
diff --git a/tests/hackage.scm b/tests/hackage.scm
index 403f587c41..f6d91515e2 100644
--- a/tests/hackage.scm
+++ b/tests/hackage.scm
@@ -67,7 +67,7 @@ (define test-cabal-3
if impl(ghc>=7.2&&<7.6)
Build-depends: ghc-b
if impl(ghc == 7.8)
- Build-depends:
+ Build-depends:
HTTP >= 4000.2.5 && < 4000.3,
mtl >= 2.0 && < 3
")
@@ -86,7 +86,7 @@ (define test-cabal-4
if impl(ghc>=7.2&&<7.6)
Build-depends: ghc-b
if impl(ghc == 7.8)
- Build-depends:
+ Build-depends:
HTTP >= 4000.2.5 && < 4000.3,
mtl >= 2.0 && < 3
")
@@ -101,7 +101,7 @@ (define test-cabal-5
license: BSD3
library
if impl(ghc == 7.8)
- Build-depends:
+ Build-depends:
HTTP >= 4000.2.5 && < 4000.3,
if impl(ghc -any)
Build-depends: mtl >= 2.0 && < 3
@@ -126,7 +126,7 @@ (define test-cabal-6
if impl(ghc>=7.2&&<7.6)
Build-depends: ghc-b
if impl(ghc == 7.8)
- Build-depends:
+ Build-depends:
HTTP >= 4000.2.5 && < 4000.3,
mtl >= 2.0 && < 3
")
@@ -524,8 +524,9 @@ (define-package-matcher match-ghc-foo-revision
('properties '(quote ((upstream-name . "foo"))))
('inputs ('list 'ghc-http))
('arguments
- ('quasiquote
- ('#:cabal-revision
+ ('list
+ '#:cabal-revision
+ ('quote
("2" "0xxd88fb659f0krljidbvvmkh9ppjnx83j0nqzx8whcg4n5qbyng"))))
('home-page "http://test.org")
('synopsis (? string?))
--
2.45.2
- [bug#70923] [PATCH v2 01/12] build-system: cargo: Accept unlabeled #:cargo-inputs., Herman Rimm, 2024/09/04
- [bug#70923] [PATCH v2 02/12] import: utils: Emit new-style inputs from maybe-*inputs procedures., Herman Rimm, 2024/09/04
- [bug#70923] [PATCH v2 04/12] import: crate: Use (guix import utils) procedures., Herman Rimm, 2024/09/04
- [bug#70923] [PATCH v2 06/12] import: pypi: Use maybe-upstream-inputs., Herman Rimm, 2024/09/04
- [bug#70923] [PATCH v2 11/12] import: egg: Use maybe-*inputs procedures., Herman Rimm, 2024/09/04
- [bug#70923] [PATCH v2 03/12] tests: elm: Adjust to new-style package inputs., Herman Rimm, 2024/09/04
- [bug#70923] [PATCH v2 08/12] import: hackage: Use maybe-list-field.,
Herman Rimm <=
- [bug#70923] [PATCH v2 05/12] import: utils: Add maybe-upstream-inputs., Herman Rimm, 2024/09/04
- [bug#70923] [PATCH v2 09/12] import: cran: Refactor format-inputs and use maybe-list-field., Herman Rimm, 2024/09/04
- [bug#70923] [PATCH v2 12/12] import: hexpm: Use maybe-inputs., Herman Rimm, 2024/09/04
- [bug#70923] [PATCH v2 07/12] import: elpa: Use maybe-propagated-inputse., Herman Rimm, 2024/09/04
- [bug#70923] [PATCH v2 10/12] import: cpan: Use maybe-upstream-inputs., Herman Rimm, 2024/09/04