From 889f425b35290240e618d851d492453c4fc36b62 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 2 Feb 2021 13:45:59 -0500 Subject: 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. --- guix/import/gnu.scm | 27 +++++++++++++-------------- 1 file 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 ;;; Copyright © 2021 Simon Tournier +;;; Copyright © 2021 Maxim Cournoyer ;;; ;;; 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 -- cgit 1.4.1