GNU bug report logs -
#51570
[PATCH] build-system: haskell: Add ‘hackage-uri’ procedure.
Previous Next
Reported by: Xinglu Chen <public <at> yoctocell.xyz>
Date: Tue, 2 Nov 2021 16:49:01 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Wed, 01 Dec 2021 16:32:07 +0100
with message-id <87a6hk2vew.fsf <at> gnu.org>
and subject line Re: bug#51570: [PATCH] build-system: haskell: Add ‘hackage-uri’ procedure.
has caused the debbugs.gnu.org bug report #51570,
regarding [PATCH] build-system: haskell: Add ‘hackage-uri’ procedure.
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
51570: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=51570
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
* guix/build-system/haskell (hackage-uri): New procedure.
* guix/import/hackage.scm (hackage-module->sexp, latest-release): Use it.
* tests/hackage.scm (match-ghc-foo, match-ghc-foo-6, match-ghc-foo-revision,
match-ghc-foo-import): Adjust accordingly.
---
guix/build-system/haskell.scm | 7 +++++++
guix/import/hackage.scm | 4 ++--
tests/hackage.scm | 20 ++++----------------
3 files changed, 13 insertions(+), 18 deletions(-)
diff --git a/guix/build-system/haskell.scm b/guix/build-system/haskell.scm
index 18a584f782..48f3452931 100644
--- a/guix/build-system/haskell.scm
+++ b/guix/build-system/haskell.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2015 Federico Beffa <beffa <at> fbengineering.ch>
;;; Copyright © 2020 Timothy Sample <samplet <at> ngyro.com>
;;; Copyright © 2020 Simon Tournier <zimon.toutoune <at> gmail.com>
+;;; Copyright © 2021 Xinglu Chen <public <at> yoctocell.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -41,6 +42,12 @@ (define-module (guix build-system haskell)
;;
;; Code:
+(define (hackage-uri name version)
+ "Return a URI string for the Haskell package hosted on Hackage corresponding
+to NAME and VERSION."
+ (string-append "https://hackage.haskell.org/package/" name "/"
+ name "-" version ".tar.gz"))
+
(define %haskell-build-system-modules
;; Build-side modules imported by default.
`((guix build haskell-build-system)
diff --git a/guix/import/hackage.scm b/guix/import/hackage.scm
index 03881f1a3d..51581f15d7 100644
--- a/guix/import/hackage.scm
+++ b/guix/import/hackage.scm
@@ -303,7 +303,7 @@ (define (maybe-arguments)
(version ,version)
(source (origin
(method url-fetch)
- (uri (string-append ,@(factorize-uri source-url version)))
+ (uri (hackage-uri ,name version))
(sha256
(base32
,(if tarball
@@ -367,7 +367,7 @@ (define (latest-release package)
(hackage-cabal-url hackage-name))
#f)
((_ *** ("version" (version)))
- (let ((url (hackage-source-url hackage-name version)))
+ (let ((url (hackage-uri hackage-name version)))
(upstream-source
(package (package-name package))
(version version)
diff --git a/tests/hackage.scm b/tests/hackage.scm
index aca807027c..ba694661f3 100644
--- a/tests/hackage.scm
+++ b/tests/hackage.scm
@@ -170,10 +170,7 @@ (define-package-matcher match-ghc-foo
('source
('origin
('method 'url-fetch)
- ('uri ('string-append
- "https://hackage.haskell.org/package/foo/foo-"
- 'version
- ".tar.gz"))
+ ('uri ('hackage-uri "foo" 'version))
('sha256
('base32
(? string? hash)))))
@@ -215,10 +212,7 @@ (define-package-matcher match-ghc-foo-6
('source
('origin
('method 'url-fetch)
- ('uri ('string-append
- "https://hackage.haskell.org/package/foo/foo-"
- 'version
- ".tar.gz"))
+ ('uri ('hackage-uri "foo" 'version))
('sha256
('base32
(? string? hash)))))
@@ -343,10 +337,7 @@ (define-package-matcher match-ghc-foo-revision
('source
('origin
('method 'url-fetch)
- ('uri ('string-append
- "https://hackage.haskell.org/package/foo/foo-"
- 'version
- ".tar.gz"))
+ ('uri ('hackage-uri "foo" 'version))
('sha256
('base32
(? string? hash)))))
@@ -409,10 +400,7 @@ (define-package-matcher match-ghc-foo-import
('source
('origin
('method 'url-fetch)
- ('uri ('string-append
- "https://hackage.haskell.org/package/foo/foo-"
- 'version
- ".tar.gz"))
+ ('uri ('hackage-uri "foo" 'version))
('sha256
('base32
(? string? hash)))))
base-commit: 0e19713c1fbfd3a01347e0d490434a53a596ed3c
--
2.33.0
[Message part 3 (message/rfc822, inline)]
Hi,
Xinglu Chen <public <at> yoctocell.xyz> skribis:
> * guix/build-system/haskell (hackage-uri): New procedure.
> * guix/import/hackage.scm (hackage-module->sexp, latest-release): Use it.
> * tests/hackage.scm (match-ghc-foo, match-ghc-foo-6, match-ghc-foo-revision,
> match-ghc-foo-import): Adjust accordingly.
[...]
> +(define (hackage-uri name version)
> + "Return a URI string for the Haskell package hosted on Hackage corresponding
> +to NAME and VERSION."
> + (string-append "https://hackage.haskell.org/package/" name "/"
> + name "-" version ".tar.gz"))
Applied, but I also exported ‘hackage-uri’ so that it’s more useful.
:-)
Thanks,
Ludo’.
This bug report was last modified 3 years and 170 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.