From ab8ed44fcee9208ecb8d61a5060aa204a6fb6f06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 7 Jan 2013 22:23:50 +0100 Subject: [PATCH] snix: Gracefully handle `null' in Nix build inputs. * guix/snix.scm (snix-derivation->guix-package)[convert-inputs]: Gracefully handle `null' as an input. --- guix/snix.scm | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/guix/snix.scm b/guix/snix.scm index c90893bdfe..0196ce925b 100644 --- a/guix/snix.scm +++ b/guix/snix.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2010, 2011, 2012 Ludovic Courtès +;;; Copyright © 2010, 2011, 2012, 2013 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -366,15 +366,18 @@ location of DERIVATION." attribute-value) (#f '()) - ((('derivation _ _ (attributes ...)) ...) - (map (lambda (attrs) - (let* ((full-name (attribute-value - (find-attribute-by-name "name" attrs))) - (name (package-name->name+version full-name))) - (list name - (list 'unquote - (string->symbol name))))) - attributes)))) + ((inputs ...) + ;; Inputs can be either derivations or the null value. + (filter-map (match-lambda + (('derivation _ _ (attributes ...)) + (let* ((full-name + (attribute-value + (find-attribute-by-name "name" attributes))) + (name (package-name->name+version full-name))) + (list name + (list 'unquote (string->symbol name))))) + ('null #f)) + inputs)))) (define (maybe-inputs guix-name inputs) (match inputs