From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pierre Neidhardt Subject: Re: Blog: Guix packaging tutorial Date: Sun, 30 Sep 2018 21:01:29 +0200 Message-ID: <87o9cex112.fsf@ambrevar.xyz> References: <87in397jsd.fsf@ambrevar.xyz> <20180913191151.GA1865@jurong> <87woro5ocf.fsf@ambrevar.xyz> <20180914113302.elqrk3tvdkln2cde@thebird.nl> <87o9cmj0fc.fsf@ambrevar.xyz> <87mus6iypf.fsf@ambrevar.xyz> <87zhw02ea9.fsf@mdc-berlin.de> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:39594) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g6gyJ-0000jt-F5 for guix-devel@gnu.org; Sun, 30 Sep 2018 15:01:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g6gyI-0008Fj-7L for guix-devel@gnu.org; Sun, 30 Sep 2018 15:01:39 -0400 In-reply-to: <87zhw02ea9.fsf@mdc-berlin.de> 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: Ricardo Wurmus Cc: guix-devel , guix-blog@gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable ludo@gnu.org (Ludovic Court=C3=A8s) writes: > I=E2=80=99m not sure what you mean by =E2=80=9Cgenerated in scope=E2=80= =9D. > > The =E2=80=98%=E2=80=99 convention is just a convention (and Andy and I r= ealized a while > back we interpreted the convention differently :-)) so we shouldn=E2=80= =99t draw > too much from that. > > Regarding =E2=80=98%build-inputs=E2=80=99 and =E2=80=98%outputs=E2=80=99,= I think it=E2=80=99s enough to say > that these are global variables. Whether they are in scope depends on > whether a local variable shadows them. > > Does that make sense? I borrowed the expression "generated in scope" from Pjotr's https://gitlab.com/pjotrp/guix-notes/blob/master/HACKING.org. Are they really "global" variables? My (quick) understanding from derivations.scm is that the %-prefixed variables are defined at derivation-time. I think it's important to make this explicit. What do you think? ludo@gnu.org (Ludovic Court=C3=A8s) writes: > Another option is to skip propagated inputs altogether. I think it's important to highlight the distinction between the three kinds= of inputs. When I got started, I was tempted to use propagated-inputs all the way. The distinction is very Guix-specific (Nix?) and is one of the lesser known str= ength of Guix in my opinion. ludo@gnu.org (Ludovic Court=C3=A8s) writes: > When would you like it to be on line? Well, as soon as possible :) Monday 1st, maybe? Ricardo Wurmus writes: > I wonder if a complicated example like that really has a place in a > tutorial. To me it seems a bit scary. I image people who are used to > Conda to browse the tutorial and recoil in horror at seeing a > complicated example with all sorts of customizations. In my opinion the "my-mg" example is not so long, although I could probably remove some phase code because they don't add much to the tutorial. But for the rest of it, it's rather widespread, idiomatic code. I don't th= ink we can afford to remove much of it lest we make this tutorial useless for a= ny serious work. Is there any specific element you'd like to cut off? Also consider that the first part of this tutorial focuses on a hello-world example that puts emphasis and getting an example up and running as soon as possible. What about splitting this tutorial in two separate blog entries and leaving= the advanced example for the second one? Ricardo Wurmus writes: > FWIW, I think that maybe we should avoid quasi-quotation in the > tutorial, or at least at this point. It could be a little overwhelming > to be introduced to so many new concepts at once before seeing how they > might be useful. I am not sure about this. On the one hand, it adds some complexity especia= lly to users unfamiliar with Lisp. On the other hand, quasi-quotes are all ove= r the place. Ricardo Wurmus writes: > Maybe this could be interleaved and motivated by packaging features. > For example, at the very beginning we define a package and then evaluate > it at the end so that we can use it with =E2=80=9Cguix package -f=E2=80= =9D. Maybe it > would be better to avoid defining things and using the plain =E2=80=9Cpac= kage=E2=80=9D > form. It would be more structured (and thus clearer), but it could also make the tutorial a few lines longer... I'll see if I can manage without adding too much. Ricardo Wurmus writes: > (I need to go now, but if you want I can comment on the next sections > tomorrow.) Please do! :) Ludovic, Ricardo, I've taken all your other considerations into account. T= hanks a lot for your time reviewing this! =2D-=20 Pierre Neidhardt https://ambrevar.xyz/ --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEUPM+LlsMPZAEJKvom9z0l6S7zH8FAluxHYkACgkQm9z0l6S7 zH+FWggAnqTSUyvV5lVafscy5/DkNtqBPk51LtmuuRnpi3Cr0qk0W0sroeQDn3mE 6L1cHxADaSeE4YU9NKV5Mi1U8izBnu2QJ0bTO4JyRjaYNMdpI849HH/qziCY1t1U Emy+RCNogcvpZLRniZZpWbWgOA/AZJFvodRV8IraMGQJvvFYMmkZ7y18EfAB5M3b Erbhk/fwBonKIgCtEsQEDowpXv34dw/mvlIYrNzF8/NWUMxOgT5NpUK9hpk17N71 AYhUa74iMqhXUfPUmnvMQhmEn8o5B1a1yjfr53GKHI1HGlD/ShJK8IxvHdhuTAbR Dwtu1QxG/QIC0CzEBxMLKRdoCl9wcg== =hW7m -----END PGP SIGNATURE----- --=-=-=--