aboutsummaryrefslogtreecommitdiff
path: root/guix/import/gnu.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix/import/gnu.scm')
-rw-r--r--guix/import/gnu.scm27
1 files changed, 13 insertions, 14 deletions
diff --git a/guix/import/gnu.scm b/guix/import/gnu.scm
index c26faff04b..51d5b77d34 100644
--- a/guix/import/gnu.scm
+++ b/guix/import/gnu.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -111,19 +112,17 @@ download policy (see 'download-tarball' for details.)"
"Return the package declaration for NAME as an s-expression. Use
KEY-DOWNLOAD as the OpenPGP key download policy (see 'download-tarball' for
details.)"
- (match (latest-release name)
- ((? upstream-source? release)
- (let ((version (upstream-source-version release)))
- (match (find-package name)
- (#f
- (raise (formatted-message
- (G_ "couldn't find meta-data for GNU ~a")
- name)))
- (info
- (gnu-package->sexp info release #:key-download key-download)))))
- (_
- (raise (formatted-message
- (G_ "failed to determine latest release of GNU ~a")
- name)))))
+ (let ((package (find-package name)))
+ (unless package
+ (raise (formatted-message (G_ "no GNU package found for ~a") name)))
+
+ (match (latest-release name)
+ ((? upstream-source? release)
+ (let ((version (upstream-source-version release)))
+ (gnu-package->sexp package release #:key-download key-download)))
+ (_
+ (raise (formatted-message
+ (G_ "failed to determine latest release of GNU ~a")
+ name))))))
;;; gnu.scm ends here