guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

08/24: import: hackage: Support mirror:// URLs


From: guix-commits
Subject: 08/24: import: hackage: Support mirror:// URLs
Date: Fri, 8 Oct 2021 03:20:40 -0400 (EDT)

lbraun pushed a commit to branch master
in repository guix.

commit edd912a128cf467050c1a76a021d91ea8b90e759
Author: Lars-Dominik Braun <lars@6xq.net>
AuthorDate: Fri Sep 17 11:09:04 2021 +0200

    import: hackage: Support mirror:// URLs
    
    * guix/import/hackage.scm (guix-package->hackage-name): Support
    mirror://-style URI’s.
    (hackage-package?): Ditto.
---
 guix/import/hackage.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/guix/import/hackage.scm b/guix/import/hackage.scm
index 0a10c42..03881f1 100644
--- a/guix/import/hackage.scm
+++ b/guix/import/hackage.scm
@@ -121,12 +121,12 @@ version is returned."
       (string-append package-name-prefix (string-downcase name))))
 
 (define guix-package->hackage-name
-  (let ((uri-rx (make-regexp 
"https?://hackage.haskell.org/package/([^/]+)/.*"))
+  (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) 1)))
+             (name (match:substring (regexp-exec uri-rx source-url) 2)))
         (match (regexp-exec name-rx name)
           (#f name)
           (m (match:substring m 1)))))))
@@ -353,7 +353,7 @@ respectively."
                     #:guix-name hackage-name->package-name))
 
 (define hackage-package?
-  (let ((hackage-rx (make-regexp "https?://hackage.haskell.org")))
+  (let ((hackage-rx (make-regexp 
"(https?://hackage.haskell.org|mirror://hackage/)")))
     (url-predicate (cut regexp-exec hackage-rx <>))))
 
 (define (latest-release package)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]