From 4679dd6967c21e21c740cd88e17191b8e2aac5ee Mon Sep 17 00:00:00 2001 From: James Richardson Date: Sat, 3 Jun 2017 14:37:54 -0400 Subject: [PATCH] import: cpan: Update CPAN importer to use MetaCPAN v1 API. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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 --- guix/import/cpan.scm | 4 ++-- tests/cpan.scm | 4 ++-- 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 @@ (define (module->dist-name module) "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 @@ (define (cpan-fetch name) "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 @@ (define test-source (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))))