From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: How do I make a manifest file that installs a specific version of a dependency? Date: Sun, 12 Mar 2017 22:50:37 +0100 Message-ID: <87shmi17wy.fsf@gnu.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44433) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cnBO0-0003SX-1s for help-guix@gnu.org; Sun, 12 Mar 2017 17:50:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cnBNw-0003B7-Vg for help-guix@gnu.org; Sun, 12 Mar 2017 17:50:44 -0400 In-Reply-To: (Zachary Kanfer's message of "Sun, 12 Mar 2017 00:55:01 -0500") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Zachary Kanfer Cc: help-guix@gnu.org Hello, Zachary Kanfer 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 =E2=80=98specification->package=E2=80=99 as discussed at . The =E2=80=98specification->package=E2=80=99 procedure takes a spec like th= ose you=E2=80=99d write on the =E2=80=98guix package -i=E2=80=99 command line, and returns the corresponding package. =E2=80=98specification->package+output=E2=80=99 wor= ks 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" =E2=80=A6))) HTH! Ludo=E2=80=99.