diff options
Diffstat (limited to 'guix/import/cpan.scm')
-rw-r--r-- | guix/import/cpan.scm | 32 |
1 files changed, 10 insertions, 22 deletions
diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm index 87abe9c2f1..8972b87080 100644 --- a/guix/import/cpan.scm +++ b/guix/import/cpan.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020, 2021 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,6 +30,7 @@ #:use-module (srfi srfi-26) #:use-module (json) #:use-module (gcrypt hash) + #:use-module (guix diagnostics) #:use-module (guix store) #:use-module (guix utils) #:use-module (guix base32) @@ -39,26 +41,7 @@ #:use-module (guix packages) #:use-module (guix upstream) #:use-module (guix derivations) - #:export (cpan-dependency? - cpan-dependency-relationship - cpan-dependency-phase - cpan-dependency-module - cpan-dependency-version - - cpan-release? - cpan-release-license - cpan-release-author - cpan-release-version - cpan-release-module - cpan-release-distribution - cpan-release-download-url - cpan-release-abstract - cpan-release-home-page - cpan-release-dependencies - json->cpan-release - - cpan-fetch - cpan->guix-package + #:export (cpan->guix-package metacpan-url->mirror-url %cpan-updater @@ -324,8 +307,13 @@ in RELEASE, a <cpan-release> record." ")")))) (url-predicate (cut regexp-exec cpan-rx <>)))) -(define (latest-release package) +(define* (latest-release package #:key (version #f)) "Return an <upstream-source> for the latest release of PACKAGE." + (when version + (error + (formatted-message + (G_ "~a updater doesn't support updating to a specific version, sorry.") + "cpan"))) (match (cpan-fetch (package->upstream-name package)) (#f #f) (release @@ -358,4 +346,4 @@ in RELEASE, a <cpan-release> record." (name 'cpan) (description "Updater for CPAN packages") (pred cpan-package?) - (latest latest-release))) + (import latest-release))) |