Hello, 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 --without-tests=starpu-maxnodes1 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 --without-tests=starpu-maxnodes1 doesn't work: starpu-maxnodes1 is an unknown package... The same happens if I use a manifest instead of a file to define starpu-maxnodes1: guix build -c 2 -m starpu-maxnodes1.scm --with-input=openmpi=nmad --without-tests=starpu-maxnodes1 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 doesn't. 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 ! -- Philippe SWARTVAGHER PhD Student TADaaM team, Inria Bordeaux Sud-Ouest