[Top][All Lists]

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

Re: Package variant defined in manifest not visible by Guix

From: Philippe SWARTVAGHER
Subject: Re: Package variant defined in manifest not visible by Guix
Date: Wed, 18 Aug 2021 10:57:39 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0


Le 16/08/2021 à 16:34, Ricardo Wurmus a écrit :
> There seems to be a small misunderstanding.  You defined a package
> variant, but that’s not a manifest.  A manifest describes the complete
> contents of a profile; i.e. it’s a list of packages that Guix should
> install.
> Here are three different ways that should work for you:
> 1) Build a single package from a file.
> Now we can build the package specified in the file:
>    guix build --file=this-file.scm
> 2) Build a whole manifest from a file.
> Here the file must evaluate to a manifest value, not just a single
> package.

Ok, I was missing the line to evaluate to a manifest, instead of a
single package.

> Then build the profile from the manifest file:
>    guix build --manifest=this-file.scm
> 3) Create a module and use it however you want.
> You can make the custom package available to any Guix command by
> putting it into a Guile module and then informing Guix about the
> module.  This is a little more effort as you need more boilerplate
> code to define the module (and the file name needs to match the moule
> header, etc).
> Hope this helps!

Sure, it helps ! Thanks a lot ! However, I still have some questions:

- I don't really see the difference, or more precisely: the difference
of goal, between defining the package in a simple file (solution 1) and
using a manifest (solution 2).

- The following command builds the package as defined in the *file*,
without running tests:

guix build -c 2 -f starpu-maxnodes1-file.scm

So package transformations seem to work. However:

guix build -c 2 -f starpu-maxnodes1-file.scm chameleon
--with-input=starpu=starpu-maxnodes1 --with-input=openblas=mkl

doesn't work: starpu-maxnodes1 is an unknown package...

The same happens if I use a manifest instead of a file to define

guix build -c 2 -m starpu-maxnodes1.scm --with-input=openmpi=nmad

works (without running tests), however:

guix build -c 2 -m starpu-maxnodes1.scm chameleon
--with-input=starpu=starpu-maxnodes1 --with-input=openblas=mkl
--with-input=openmpi=nmad --without-tests=starpu-maxnodes1


I guess I have to put all transformations of several packages in a
single manifest, one cannot combine manifest and CLI options; packages
defined in manifest aren't available for use in CLI transformations
(although the working --without-tests seems to be a counter argument).
Am I right ?

Thanks again for your help !


PhD Student
TADaaM team, Inria Bordeaux Sud-Ouest

reply via email to

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