From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44111) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dxIIW-0004ni-7N for guix-patches@gnu.org; Wed, 27 Sep 2017 15:47:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dxIIQ-0000GK-Fa for guix-patches@gnu.org; Wed, 27 Sep 2017 15:47:08 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:54968) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dxIIQ-0000GF-CV for guix-patches@gnu.org; Wed, 27 Sep 2017 15:47:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dxIIQ-0000Vv-1I for guix-patches@gnu.org; Wed, 27 Sep 2017 15:47:02 -0400 Subject: [bug#28487] [PATCH] cuirass: Add gnu-system build spec. Resent-Message-ID: From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <20170917201157.9802-1-janneke@gnu.org> <20170917201157.9802-5-janneke@gnu.org> <87zi9h27q3.fsf@gnu.org> <87mv5hqr73.fsf@gnu.org> <87a81hgq5g.fsf@gnu.org> <87a81gq8dg.fsf@gnu.org> Date: Wed, 27 Sep 2017 21:45:39 +0200 In-Reply-To: <87a81gq8dg.fsf@gnu.org> (Jan Nieuwenhuizen's message of "Wed, 27 Sep 2017 20:55:23 +0200") Message-ID: <87efqsexi4.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Jan Nieuwenhuizen Cc: 28487@debbugs.gnu.org Hi! Jan Nieuwenhuizen skribis: >>> +(define (symbol-alist-entry->keyword-alist-entry entry) >>> + (cons (symbol->keyword (car entry)) (cdr entry))) >> >> I *think* that=E2=80=99s correct, though we=E2=80=99ll need to double ch= eck. > > I tested today and there were minor problems. Cuirass actually doesn't > take an alist; instead takes a list that includes (#:job-name . "name"). > > Also, Cuirass performs an sexp-read and thus #< ...> needs to > get sexp'ified. > > Anyway, what I proposed was close and attached is a tested, working > version (that may need some work, see below). Oh good points, thanks for testing! BTW, there=E2=80=99s =E2=80=9Cmake hydra-jobs.scm=E2=80=9D, which I occasio= nally use to test gnu-system.scm (it spits a raw alist, which is enough to make sure that it works.) We could similarly add =E2=80=9Cmake cuirass-jobs.scm=E2=80=9D = eventually. >>> --- a/build-aux/hydra/gnu-system.scm >>> +++ b/build-aux/hydra/gnu-system.scm >>> @@ -270,6 +270,8 @@ valid." >>> (define subset >>> (match (assoc-ref arguments 'subset) >>> ("core" 'core) ; only build core pa= ckages >>> + ("hello" 'hello) ; only build hello >>> + (((? string?) (? string?) ...) 'list) ; only build selecte= d list of packages >>> (_ 'all))) ; build everything >> >> This part could be added separately. > > Yes...it could. Do you mean a separate patch, or ... Yes, separate patch for clarity: first patch does the Hydra/Cuirass split, second patch adds the ability to select a list of packages. Would that be OK? >> (It=E2=80=99s not usuable via Hydra since its UIs does not support passi= ng >> list-of-strings arguments.) > > ...I don't quite understand what you propose here. I appreciate that > I'm adding functionality for Cuirass to the hydra file where in itself > that does not make much sense... > > Otoh, I don't see how to move this functionality to > cuirass/gnu-system.scm only without duplicating much of `hydra-jobs'; so > that's probably not what you mean... / somewhat confused here. ;-) Never mind, it *was* confusing. :-) Last nitpicking: > +(define (entry->sexp-entry o) > + (match o > + (($ name uri comment) > + `((name . ,name) (uri . ,uri) (comment . ,comment))) > + (_ o))) [...] > --- a/guix/licenses.scm > +++ b/guix/licenses.scm > @@ -31,7 +31,8 @@ >=20=20 > (define-module (guix licenses) > #:use-module (srfi srfi-9) > - #:export (license? license-name license-uri license-comment > + #:export ( I prefer not to export record type descriptors in general, because that exposes too much of the internals and makes it harder to change the code afterwards. For instance, if we change the layout of , and if is exported, we have to carefully check all users and it=E2=80=99s easy to get it wrong. (There=E2=80=99s also the problem that exposing the = RTD makes records forgeable: we no longer control how objects are created, so we cannot make sure that objects we get are =E2=80=9Cgenuine.=E2=80=9D) Anyway, with this fixed, OK to push. After that we should update the config on berlin.guixsd.org to use this file directly. Thanks a lot! Ludo=E2=80=99.