summary refs log tree commit diff
diff options
context:
space:
mode:
authorJames Richardson <james@jamestechnotes.com>2017-06-03 14:37:54 -0400
committerLudovic Courtès <ludo@gnu.org>2017-06-07 15:06:34 +0200
commit4679dd6967c21e21c740cd88e17191b8e2aac5ee (patch)
tree87d1793761be814be908384f1024da69acc56b25
parentfe4e0b0ae7ecd87272cc0f5b5e9c0802e7aeb39f (diff)
downloadguix-4679dd6967c21e21c740cd88e17191b8e2aac5ee.tar.gz
import: cpan: Update CPAN importer to use MetaCPAN v1 API.
* guix/import/cpan.scm (module->dist-name, cpan-fetch): Use metacpan.org
URLs.
* tests/cpan.scm ("cpan->guix-package"): Adjust accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--guix/import/cpan.scm4
-rw-r--r--tests/cpan.scm4
2 files changed, 4 insertions, 4 deletions
diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm
index 32c5c310e1..a41f918049 100644
--- a/guix/import/cpan.scm
+++ b/guix/import/cpan.scm
@@ -88,7 +88,7 @@
   "Return the base distribution module for a given module.  E.g. the 'ok'
 module is distributed with 'Test::Simple', so (module->dist-name \"ok\") would
 return \"Test-Simple\""
-  (assoc-ref (json-fetch (string-append "https://api.metacpan.org/module/"
+  (assoc-ref (json-fetch (string-append "https://fastapi.metacpan.org/v1/module/"
                                         module
                                         "?fields=distribution"))
              "distribution"))
@@ -113,7 +113,7 @@ return \"Test-Simple\""
   "Return an alist representation of the CPAN metadata for the perl module MODULE,
 or #f on failure.  MODULE should be e.g. \"Test::Script\""
   ;; This API always returns the latest release of the module.
-  (json-fetch (string-append "https://api.metacpan.org/release/" name)))
+  (json-fetch (string-append "https://fastapi.metacpan.org/v1/release/" name)))
 
 (define (cpan-home name)
   (string-append "http://search.cpan.org/dist/" name))
diff --git a/tests/cpan.scm b/tests/cpan.scm
index 8b588517c9..de865b22be 100644
--- a/tests/cpan.scm
+++ b/tests/cpan.scm
@@ -74,10 +74,10 @@
         (mock ((guix http-client) http-fetch
                (lambda (url . rest)
                  (match url
-                   ("https://api.metacpan.org/release/Foo-Bar"
+                   ("https://fastapi.metacpan.org/v1/release/Foo-Bar"
                     (values (open-input-string test-json)
                             (string-length test-json)))
-                   ("https://api.metacpan.org/module/Test::Script?fields=distribution"
+                   ("https://fastapi.metacpan.org/v1/module/Test::Script?fields=distribution"
                     (let ((result "{ \"distribution\" : \"Test-Script\" }"))
                       (values (open-input-string result)
                               (string-length result))))