me
/
guix
Archived
1
0
Fork 0

import: hackage: Use upstream-name property.

* guix/import/hackage.scm (guix-package->hackage-name): Removed.
(latest-release): Use package-upstream-name* instead.
* guix/import/stackage.scm (latest-lts-release): Ditto.
(stackage-lts-package?): Ditto.
Lars-Dominik Braun 2023-01-04 09:37:26 +01:00
parent cad6aa8082
commit d06ae53013
No known key found for this signature in database
GPG Key ID: F663943E08D8092A
2 changed files with 3 additions and 15 deletions

View File

@ -52,7 +52,6 @@
hackage-recursive-import
%hackage-updater
guix-package->hackage-name
hackage-name->package-name
hackage-fetch
hackage-source-url
@ -126,17 +125,6 @@ version is returned."
(string-downcase name)
(string-append package-name-prefix (string-downcase name))))
(define guix-package->hackage-name
(let ((uri-rx (make-regexp "(https?://hackage.haskell.org|mirror://hackage)/package/([^/]+)/.*"))
(name-rx (make-regexp "(.*)-[0-9\\.]+")))
(lambda (package)
"Given a Guix package name, return the corresponding Hackage name."
(let* ((source-url (and=> (package-source package) origin-uri))
(name (match:substring (regexp-exec uri-rx source-url) 2)))
(match (regexp-exec name-rx name)
(#f name)
(m (match:substring m 1)))))))
(define (read-cabal-and-hash port)
"Read a Cabal file from PORT and return it and its hash in nix-base32
format as two values."
@ -371,7 +359,7 @@ respectively."
(formatted-message
(G_ "~a updater doesn't support updating to a specific version, sorry.")
"hackage")))
(let* ((hackage-name (guix-package->hackage-name package))
(let* ((hackage-name (package-upstream-name* package))
(cabal-meta (hackage-fetch hackage-name)))
(match cabal-meta
(#f

View File

@ -149,7 +149,7 @@ PACKAGE or #f if the package is not included in the Stackage LTS release."
(formatted-message
(G_ "~a updater doesn't support updating to a specific version, sorry.")
"stackage")))
(let* ((hackage-name (guix-package->hackage-name pkg))
(let* ((hackage-name (package-upstream-name* pkg))
(version (lts-package-version (packages) hackage-name))
(name-version (hackage-name-version hackage-name version)))
(match (and=> name-version hackage-fetch)
@ -173,7 +173,7 @@ PACKAGE or #f if the package is not included in the Stackage LTS release."
(false-if-networking-error
(let ((packages (stackage-lts-packages
(stackage-lts-info-fetch %default-lts-version)))
(hackage-name (guix-package->hackage-name package)))
(hackage-name (package-upstream-name* package)))
(find (lambda (package)
(string=? (stackage-package-name package) hackage-name))
packages)))))