guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Blog: Guix packaging tutorial


From: Pierre Neidhardt
Subject: Blog: Guix packaging tutorial
Date: Thu, 13 Sep 2018 12:50:58 +0200
User-agent: mu4e 1.0; emacs 26.1

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/

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]