From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: 'guix environment' as a build tool. Date: Sun, 31 Jul 2016 13:13:53 +0200 Message-ID: <87r3aa6owe.fsf@gnu.org> References: <871t4ksk0n.fsf@gnu.org> <87vazueezx.fsf@gnu.org> <87lh0pe6y7.fsf@gnu.org> <87invockk7.fsf@gnu.org> <87wpk291wo.fsf@gnu.org> <877fc2k1ei.fsf_-_@gnu.org> 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]:36542) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bToh6-0004Rb-TC for guix-devel@gnu.org; Sun, 31 Jul 2016 07:14:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bToh4-0002Mk-La for guix-devel@gnu.org; Sun, 31 Jul 2016 07:14:07 -0400 In-Reply-To: <877fc2k1ei.fsf_-_@gnu.org> (Mathieu Lirzin's message of "Sun, 31 Jul 2016 04:05:25 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." 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" To: Mathieu Lirzin Cc: guix-devel@gnu.org Hello, Mathieu Lirzin skribis: > ludo@gnu.org (Ludovic Court=C3=A8s) writes: > >> Mathieu Lirzin skribis: >> >>> I have tested successfully with the following command on a foreign >>> system: >>> >>> guix environment --ad-hoc automake pkg-config guile guix libgcrypt sq= lite guile-sqlite3 >>> >>> Tell me if it works for you. >>> >>>> How about including a guix package definition then we can easily build >>>> it assuming "we" know how to do out-of-guix-tree package building :) >>> >>> It would indeed be nice to provide an easy way for Guix users to install >>> Cuirass. IMHO package definitions meant as a development build tool is >>> confusing and should be avoided. Nonetheless, I think it is useful to >>> document the previous 'guix environment ...' command in the README. >> >> What about providing a =E2=80=98guix.scm=E2=80=99 file that people could= pass to =E2=80=98guix >> environment -l=E2=80=99 (instead of typing the long command above), and = to =E2=80=98guix >> package -f=E2=80=99 (info "(guix) Invoking guix package")? > > 'guix environment -l' uses a package definition. To me this abstraction > doesn't fit well in a development context: > > - the origin hash doesn't make sense. Not a problem with =E2=80=98local-file=E2=80=99, as David wrote. > - packages already included in Guix have redundant description and synop= sis. Yeah, though for such packages, a guix.scm is typically less useful since most of the time =E2=80=98guix environment PACKAGE=E2=80=99 is enough. > - package definitions rely on Guix internals. I sympathize both with this and with what David wrote here. I can sympathize with the idea that conceptually a package definition is not quite the same thing as a development environment definition, in practice =E2=80=98guix environment -l=E2=80=99 remains much better than the= long command line above. :-) > An idea that I like better and is less invasive, would be to complement > bootstrap scripts with: > > ./bootstrap --with-guix > > This command would: > > - generate a guix-env script that wraps 'guix environment ...' if it > doesn't exist. > - Invoke ./guix-env > - Invoke autoreconf -vfi > > if the user wants to enter this environment Later it will have to invoke > './guix-env'. I=E2=80=99m not convinced by generated scripts. Now, we=E2=80=99re at a stage where everyone is welcome to explore their own way. Some may prefer a =E2=80=98guix.scm=E2=80=99 file, while others would= prefer a script that runs =E2=80=98guix environment --ad-hoc=E2=80=99. With more ex= perience, maybe we can come up with a solution that better caters to everyone=E2=80= =99s needs. Thanks, Ludo=E2=80=99.