diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2021-02-02 13:45:59 -0500 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2021-02-02 13:48:35 -0500 |
commit | 889f425b35290240e618d851d492453c4fc36b62 (patch) | |
tree | 8f3b65355f643e4e505b38a9d198b7ff8f54dbea /guix/import/gnu.scm | |
parent | 2c9d481c9098e18accd179f11edc1164e75f228e (diff) |
import: gnu: Fix the detection of non-GNU packages.
* guix/import/gnu.scm (gnu->guix-package): Move the 'find-package' call before
the 'latest-release' call, which would fail when the package did not have an
entry on the FTP server.
Diffstat (limited to 'guix/import/gnu.scm')
-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 |