From mboxrd@z Thu Jan 1 00:00:00 1970 From: ng0 Subject: Re: Building things other than Guix with Cuirass Date: Tue, 19 Sep 2017 11:55:15 +0000 Message-ID: <20170919115515.udthnvkwpse7ujx6@abyayala> References: <20170918215906.2c32b61d@cbaines.net> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="l72no4t6ynx3efhm" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:38863) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1duH7v-0005JE-9B for guix-devel@gnu.org; Tue, 19 Sep 2017 07:55:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1duH7s-0000KA-67 for guix-devel@gnu.org; Tue, 19 Sep 2017 07:55:43 -0400 Received: from aibo.runbox.com ([91.220.196.211]:56040) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1duH7r-0000Ia-Tq for guix-devel@gnu.org; Tue, 19 Sep 2017 07:55:40 -0400 Content-Disposition: inline In-Reply-To: <20170918215906.2c32b61d@cbaines.net> 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: Christopher Baines Cc: guix-devel@gnu.org --l72no4t6ynx3efhm Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Christopher Baines transcribed 3.8K bytes: > Hey, >=20 > At the GHM, one of the things I looked in to was cuirass. Specifically, > I tried to see if I could build a collection of guix packages that sit > outside of Guix. I would be very much interested in exploring the possibility (at the very least testing/experimenting with) to use cuirass to build the "gnunet" and "gnunet-doc" guix definitions which reside inside the gnunet repository (and more to come, in other GNUnet related repos with the perspective on integrating it into our (GNUnet) infrastructure once cuirass proves to be mature enough. Ultimately to evaluate if (or when) it could replace buildbot (and if not, what needs to be improved in cuirass to get to the point where it could replace it). That is my "ideas for cuirass" (you can ask me to split up this horrible long sentence if it's a problem.) > From trying to use cuirass for a few hours, I began thinking that it > might be beneficial to change the interface between cuirass and the > jobs. >=20 > The interface provided by cuirass to fetch jobs through consists of > specifying a Guile load path, file, procedure, and arguments to that > procedure. >=20 > Currently, something like this is used to describe how to get some > jobs. >=20 > `((#:name . "hello") > (#:url . "git://git.savannah.gnu.org/guix.git") > (#:branch . "master") > (#:no-compile? . #t) > (#:load-path . ".") > (#:proc . cuirass-jobs) > (#:file . "/tmp/drv-file.scm") > (#:arguments (subset . "hello"))) >=20 > As an example, with minor changes to the way arguments are handled, I > think this could also be represented as a invocation of guile. >=20 > `((#:name . "hello") > (#:url . "git://git.savannah.gnu.org/guix.git") > (#:branch . "master") > (#:no-compile? . #t) > (#:command "guile -L. -s /tmp/drv-file.scm -e cuirass-jobs -- --subse= t=3Dhello")) >=20 > However, if you've gone to the trouble to have a Guile program, it > might be easier to make it executable directly. >=20 > `((#:name . "hello") > (#:url . "git://git.savannah.gnu.org/guix.git") > (#:branch . "master") > (#:no-compile? . #t) > (#:command "/tmp/drv-file.scm --subset=3Dhello")) >=20 > It might also be possible to remove the hardcoded compilation process > and just use the single command. However, it might be better to be able > to specify a separate compilation command or list of commands. >=20 > Back to the jobs though, Cuirass already executes a separate command to > load jobs, but this is hardcoded to the evaluate command. I think > changing the interface to allow directly specifying a command would > open up new possibilities for cuirass, and at the same time simplify > the implementation and interface. >=20 > I've tried out using this approach for building a collection of guix > packages that sit outside of guix, and it seems to work well. I copied > one of the examples, and wrote a guile program that when run prints out > the jobs. Cuirass then runs a bash script that sets up the correct > environment with the guix environment command, and then invokes the > guile script to generate the jobs. >=20 > I'm half way through writing a proper patch for this, but I haven't > moved all the functionality in the evaluate command in to cuirass yet. >=20 > Does anyone have any opinions or ideas about this part of cuirass, or > building things other than the packages in the Guix repository with it? >=20 > Thanks, >=20 > Chris --=20 ng0 GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588 GnuPG: https://krosos.org/dist/keys/ https://www.infotropique.org https://www.krosos.org --l72no4t6ynx3efhm Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAlnBBaMACgkQ4i+bv+40 hYhxEBAAjHLO75ZT03rnmTnK9eGGvND2MNKpF+HWNm2KlTormhmJ0F3quBtALH1A skf0pARcCHV8MrHlDL52Jhiltoi8WyXTAlKw1fphb/F9hItkKDV7tWA/DkdGmkos 5Rgy3hjSHQrrlBA0h2SHT2ViatX4T8hGRBqgYdFsMPVqBWJnW9185odd9JoU1IwC vaifsfIEmmQ6kEeSm/X4cYfCC+4cX50JQLTeAlKtu5W/X5DlVUPEjR5fQosRzY2v AKE9LVVXlJs4N1xeq6qaPtfRzTBU9UU4q7smjyU2pGHAEFwphItuj/aRA5fSe2xE w8MHzEsChRZZUbu3tBRiIUJVFU2k7S2F5y9UER0IMHaN7CfwuxHnTeSsIs04HxO3 xFJRi5zkXS4mZpIuSYbIY+w/R2sm9pcxhephe7Lm9V6F6kpvQ8acPeyZTtL/qg+V D75nkPHPJAcW/jayCI93vs3iCcyjsZI0isDwbJbguWGOHxpZz0ljIAxgRqNYlAau ZfysCPX7TPsV9gr9tvORSm1hIHW1e6KTT9HHIea4Iy7B1hgXCPshSjOxJ5OEugfr +fqZYJv/LA2XPhUD1EjxLgjmkuYrWa94fP35HrFSopH+GW77Rt/QCDo3kzAA1AAB anoH/uOu95Xm1uOXpt/Gli28D+5HdyWy66bwz9+GW8zYU/hwGFA= =bMhz -----END PGP SIGNATURE----- --l72no4t6ynx3efhm--