[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Building many packages in order
From: |
Ricardo Wurmus |
Subject: |
Re: Building many packages in order |
Date: |
Mon, 24 Oct 2016 15:56:43 +0200 |
User-agent: |
mu4e 0.9.16; emacs 25.1.1 |
Hartmut Goebel <address@hidden> writes:
> Hi,
>
> testing the new python build system I’m seeking for some way to build
> *many* packages in order.
>
> Of course I can just run `guix build` with the list of packages to be
> build. But when building all python packages, the list gets rather long
> and does not fit into one call of `guix build` (due to the number of
> arguments xargs passes to the command is restricted). Thus only
> partitions of the packages are build in order.
>
> So I need some way for passing *all* packages to be build to `guix build`.
Here’s what I do to rebuild all bioconductor packages:
guix build -e '((@@ (gnu packages) fold-packages)
(lambda (pkg acc)
(if ((@@ (guix import cran) bioconductor-package?) pkg)
(cons pkg acc)
acc))
(list))'
“fold-packages” takes a procedure that accumulates a list of packages.
It takes the current package and the list of accumulated packages so
far. Here I’m using “bioconductor-package?” as a predicate, but you
could use something else in its place (e.g. a procedure testing the
package name).
~~ Ricardo