summaryrefslogtreecommitdiff
path: root/guix/import/cpan.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix/import/cpan.scm')
-rw-r--r--guix/import/cpan.scm32
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)))