diff options
-rw-r--r-- | guix/import/gnu.scm | 27 |
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 |