Thanks for responding. When I run this, I got this error:

Directory
'/gnu/store/jvj247prbwy1jn20svy4ls5yjscpmiss-xdg-mime-database/share/mime/packages'
does not exist!

My manifest file only installs racket and icedtea@2.6.6:jdk. If I rerun the
same command, I get "nothing to be done".

As a side note, is this the commonly recommended way to structure the
manifest file? The documentation for `guix package -m` instead says to use
`use-package-modules`, and doesn't mention anything about
`specification->package+output`.

On Sun, Mar 12, 2017 at 5:50 PM, Ludovic Courtès <l...@gnu.org> wrote:

> Hello,
>
> Zachary Kanfer <zkan...@gmail.com> skribis:
>
> > Running `guix package -m` on a file with this line `(list icedtea-2.6
> > "jdk")` gives an error "In procedure module-lookup: Unbound variable:
> > icedtea-2.6".
> >
> > I get the same error for the following lines:
> >
> > `(list icedtea-2.6.6 "jdk")`
> > `(list icedtea@2.6.6 "jdk")`
> >
> > `guix package -s icedtea` reports that there is a version 2.6.6. How do I
> > specify this in a manifest file? Thanks.
>
> You should use ‘specification->package’ as discussed at
> <https://www.gnu.org/software/guix/manual/html_node/Using-
> the-Configuration-System.html#index-specification_002d_003epackage>.
>
> The ‘specification->package’ procedure takes a spec like those you’d
> write on the ‘guix package -i’ command line, and returns the
> corresponding package.  ‘specification->package+output’ works similarly
> but also returns the specified output (the part that comes after the
> colon).
>
> So your manifest would look something like:
>
>   (use-modules (gnu))
>
>   (packages->manifest
>    (map (compose list specification->package+output)
>         '("icedtea@2.6.6:jdk" "emacs" "vim" …)))
>
> HTH!
>
> Ludo’.
>

Reply via email to