From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pierre Neidhardt Subject: Blog: Guix packaging tutorial Date: Thu, 13 Sep 2018 12:50:58 +0200 Message-ID: <87in397jsd.fsf@ambrevar.xyz> 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]:44696) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g0PDH-0000uO-Lt for guix-devel@gnu.org; Thu, 13 Sep 2018 06:51:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g0PDF-0003rr-4m for guix-devel@gnu.org; Thu, 13 Sep 2018 06:51:05 -0400 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: guix-blog@gnu.org, guix-devel --=-=-= Content-Type: text/plain Hi! I'd like to post a blog article which would serve as a packaging tutorial. A rough outline: --8<---------------cut here---------------start------------->8--- 0. Introduction The perks of Guix, what it means to have a full-fledged programming language at hand for package management (e.g. inheritance, en-masse modifications). 1. General Go through the various fields of the `package` record. GUIX_PACKAGE_PATH, `guix build` and `guix package`. Where to read about the build systems: Guix source code. Explain some common pitfalls, e.g. the difference between `define-public` and the `package` record (this has come up many times on the mailing list), the Texinfo syntax in descriptions, the linter, the licenses. 2. Trivial build system Provide a complete example. 3. GNU build system - Provide a complete, argument-free example. - Provide a complete example with arguments such as extra configure/make flags, some substitution, a snippet, etc. 4. Conclusion Further reading, more build systems, tips & tricks. Maybe mention a few complex package declarations --8<---------------cut here---------------end--------------->8--- What do you think? I'm mostly wondering whether the GNU build system should be introduced before the trivial build system: it's simpler and would let the user have a first package ready within minutes with fewer lines of code to understand; conversely, it also means that we would first take some black-box systems for granted ("What the hell happens under the hood?", might some readers wonder) which would only be explained later. Opinions? -- Pierre Neidhardt https://ambrevar.xyz/ --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEUPM+LlsMPZAEJKvom9z0l6S7zH8FAluaQRIACgkQm9z0l6S7 zH9r7QgAneUUFeh8NqQpYiRl5Z0YBiCPPxJmz+JvDDlNdbUMtwRPCsVMZVwPbL+W V6ya9aVpxYzEjTsvfGM5bpnT9+bE7uDupkzYzQik6jnc/wQMNYB6yDzFoGRojPBQ kn4bLhR87Op5RbgWuA2tLDwuAgih6ttVqDR+Dy5IVZnnnbQgE1qwBQOJSOL41HJQ vsyyJYmjwfgUFjKKFYjOqiyQj3AVQzx7sK6r05eRY5cNbFqNYm9jABSrWrY/9A4h S2+tBMc/nNd5oylp3bTXRyJ0m0UKSHxtnrXSfhCScqGzyQBRw9B1L3V8qeeScn72 c0mlopY4CLudSdF+e9aL6GZHZaiCag== =IGhB -----END PGP SIGNATURE----- --=-=-=--