From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: guix is the guildhall that we always wanted! Date: Sat, 18 Mar 2017 15:00:17 +0100 Message-ID: <87inn665xq.fsf@gnu.org> References: <87zigl3wph.fsf@pobox.com> <87a88kanjq.fsf@netris.org> <87efxwnw3x.fsf@igalia.com> <87lgs480vv.fsf@dustycloud.org> <874lysm11s.fsf@igalia.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]:47151) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cpEuA-0005gy-QR for guix-devel@gnu.org; Sat, 18 Mar 2017 10:00:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cpEuA-0005QQ-0q for guix-devel@gnu.org; Sat, 18 Mar 2017 10:00:26 -0400 In-Reply-To: <874lysm11s.fsf@igalia.com> (Andy Wingo's message of "Fri, 17 Mar 2017 15:26:55 +0100") 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: Andy Wingo Cc: guix-devel@gnu.org, guile-user@gnu.org Andy Wingo skribis: > Concretly I would propose something like this in a package.scm in the > git repo: > > (use-modules (guildhall)) ; or whatever we call it > (import-guix-packages ((a "a") > (b "b@5.2"))) > > (define foo > (guildhall-package > (name "foo") > (inputs > `(("a" ,a) > ("b" ,b))) > (git-url "https://github.com/foo/foo") > (home-page "https://github.com/foo/foo") > (synopsis "Foo is a thing") > (build-system simple-guile-build-system) > (description > "It's a thing") > (license license:expat))) > > I guess you would not want to load this file from the web service as it > has arbitrary Scheme code inside it. I could see solutions where only > the end-user tool loads this file and exports data to the server, and > the server creates an appropriate "normal" package definition using just > the Guix API. It can write those definitions out to disk. It would > export a progressing git repository of Guix package definitions. As > Guix API changes, that server could re-render those package > descriptions. Of course that only works in some limited cases. > Otherwise you as a user could do this rendering process for packages you > are developing. Maybe it is a good thing to encourage nontrivial > packages to go upstream to Guix. Sounds like a reasonable approach. BTW, there=E2=80=99s a simple actionable item here, which is to write that =E2=80=98guile-build-system=E2=80=99 in Guix. Currently, for Scheme-only p= ackages, we often more or less copy/pasted stuff like this: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/guile.scm#n7= 33 If this were packaged in a =E2=80=98guile-build-system=E2=80=99=C2=B9, the = barrier to submitting Guile packages would already be lower. Ludo=E2=80=99. =C2=B9 See .