From f60784228a05c21aabc0a97b62fb158ce479525c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 7 Aug 2018 18:00:16 +0200 Subject: import: cabal, hackage: Avoid error when custom setup section is missing. Fixes . * guix/import/cabal.scm (eval-cabal): Avoid mis-match when the custom-setup section cannot be created. * guix/import/hackage.scm (cabal-custom-setup-dependencies->names): Do not crash when cabal-package-custom-setup returns #F. --- guix/import/cabal.scm | 7 ++++--- guix/import/hackage.scm | 6 ++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/guix/import/cabal.scm b/guix/import/cabal.scm index 1b8bda6f4e..13c2f3f48c 100644 --- a/guix/import/cabal.scm +++ b/guix/import/cabal.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Federico Beffa +;;; Copyright © 2018 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -831,9 +832,9 @@ (define (cabal-evaluated-sexp->package evaluated-sexp) (test-suites (make-cabal-section evaluated-sexp 'test-suite)) (flags (make-cabal-section evaluated-sexp 'flag)) (eval-environment '()) - (custom-setup (match - (make-cabal-section evaluated-sexp 'custom-setup) - ((x) x)))) + (custom-setup (match (make-cabal-section evaluated-sexp 'custom-setup) + ((x) x) + (_ #f)))) (make-cabal-package name version license home-page-or-hackage source-repository synopsis description executables lib test-suites flags eval-environment custom-setup))) diff --git a/guix/import/hackage.scm b/guix/import/hackage.scm index 6f80d84b70..3b138f8c98 100644 --- a/guix/import/hackage.scm +++ b/guix/import/hackage.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2016 Eric Bavier ;;; Copyright © 2016 Nils Gillmann +;;; Copyright © 2018 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -178,8 +179,9 @@ (define (cabal-test-dependencies->names cabal) (define (cabal-custom-setup-dependencies->names cabal) "Return the list of custom-setup dependencies from the CABAL package object." - (let* ((custom-setup-dependencies (and=> (cabal-package-custom-setup cabal) - cabal-custom-setup-dependencies))) + (let* ((custom-setup-dependencies (or (and=> (cabal-package-custom-setup cabal) + cabal-custom-setup-dependencies) + '()))) (map cabal-dependency-name custom-setup-dependencies))) (define (filter-dependencies dependencies own-name) -- cgit v1.2.3