guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 5/6] guix: Move package-transitive-propagated-labels* and pac


From: Ludovic Courtès
Subject: Re: [PATCH 5/6] guix: Move package-transitive-propagated-labels* and package-propagated-input-refs to (guix packages).
Date: Wed, 22 Jul 2015 15:20:11 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Eric Bavier <address@hidden> skribis:

> From 6282f668d3cadb9f24f045a0c6992eda9fbe6d5d Mon Sep 17 00:00:00 2001
> From: Eric Bavier <address@hidden>
> Date: Tue, 21 Jul 2015 20:45:54 -0500
> Subject: [PATCH 5/6] guix: Move package-transitive-propagated-labels* and
>  package-propagated-input-refs to (guix packages).
>
> * gnu/packages/version-control.scm (package-transitive-propagated-labels*)
>   (package-propagated-input-refs): Move from here...
> * guix/packages.scm: ...to here.

[...]

> +(define (package-transitive-propagated-labels* package)
> +  "Return a list of the input labels of PACKAGE and its transitive inputs."

Why is there a star in the name?

> +(define (package-propagated-input-refs inputs packages)

Should be “references”, not “refs.”  I think this one should not be
exported.

> +  "Return a list of (assoc-ref INPUTS <package-name>) for each package in
> +PACKAGES and their transitive propagated inputs."

Maybe mention that this assumes that each input uses the package name as
the label.

> +  (map (lambda (l)
> +         `(assoc-ref ,inputs ,l))
> +       (delete-duplicates               ;XXX: efficiency
> +        (append-map package-transitive-propagated-labels*
> +                    packages))))

The quadratic ‘delete-duplicates’ is going to be a problem sooner or
later.

Also, could you add one or two tests?

I understand this is needed in some cases, but it is not really nice (or
“really not nice”?).  I would rather avoid propagating the use of these
constructs, but OTOH, I have nothing better to propose currently.

Could you send an updated patch?

Thanks,
Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]