From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [PATCH 1/2] gnu: Add datefudge. Date: Sat, 17 Aug 2013 23:36:16 +0200 Message-ID: <87eh9suhin.fsf@gnu.org> References: <1376603907-4623-1-git-send-email-tipecaml@gmail.com> <1376603907-4623-2-git-send-email-tipecaml@gmail.com> <87y5814ji2.fsf@gnu.org> <520F8895.9090200@gmail.com> 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]:45014) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VAoFS-0005dB-N3 for guix-devel@gnu.org; Sat, 17 Aug 2013 17:41:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VAoFL-0005r3-C2 for guix-devel@gnu.org; Sat, 17 Aug 2013 17:41:26 -0400 Received: from hera.aquilenet.fr ([141.255.128.1]:58677) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VAoFL-0005qz-6k for guix-devel@gnu.org; Sat, 17 Aug 2013 17:41:19 -0400 In-Reply-To: <520F8895.9090200@gmail.com> (Cyril Roelandt's message of "Sat, 17 Aug 2013 16:28:37 +0200") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Cyril Roelandt Cc: guix-devel@gnu.org Cyril Roelandt skribis: > On 08/16/2013 07:45 PM, Ludovic Court=C3=A8s wrote: >> Cyril Roelandt skribis: >> >>> + (alist-replace >>> + 'configure >>> + (lambda* (#:key version outputs #:allow-other-keys #:rest arg= s) >>> + (pk version outputs) >> >> Leftover debugging statements, and =E2=80=98version=E2=80=99 doesn=E2=80= =99t exist. >> >> What you can do is use: >> >> (arguments >> `( ... >> ,version >> ... >> )) >> >> to paste the =E2=80=98version=E2=80=99 field of the package being define= d in the >> quasiquote expression. >> > > What kind of whitchcraft is this ? This works but I have no idea > why. I don't think that Duckduckgoing "GNU Guile ," will give me any > interesting results, so would you care to explain how this works, or > redirect me to the appropriate documentation ? It=E2=80=99s not witchcraft, it=E2=80=99s Scheme! :-) Basically ` is =E2=80=9Cquasiquote=E2=80=9D, and , (coma) is =E2=80=9Cunquo= te=E2=80=9D. Think of echo "ls $foo" See the manual for details (info "(guile) Expression Syntax"), or see the occurrences of ,name and ,version in ttf-freefont in xorg.scm for an example. >>> + (inputs `(("perl" ,perl))) ; Needed for the tests. >> >> =E2=80=98native-inputs=E2=80=99, probably (if it were being cross-compil= ed, you=E2=80=99d want >> to run the native Perl, right?). >> > > Not sure about the difference between inputs and native-inputs. I > think we may want to improve the documentation: > > $ git grep native-inputs doc/ Agreed. To illustrate the difference, here=E2=80=99s an example. Suppose you have = a C program with a Bison-generated C file. When cross-compiling that program, you want the native Bison, so that the =E2=80=98bison=E2=80=99 pro= gram can run at compile-time; conversely, the resulting executable must be linked against the target libc=E2=80=93the libc that will actually be used at run = time on the target architecture. In that case, Bison should be listed in =E2=80=98native-inputs=E2=80=99, wh= ereas =E2=80=98libc=E2=80=99 should be listed in =E2=80=98inputs=E2=80=99 (which it is, implicitly.) HTH, Ludo=E2=80=99.