unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Blog: Guix packaging tutorial
@ 2018-09-13 10:50 Pierre Neidhardt
  2018-09-13 11:16 ` Pjotr Prins
                   ` (2 more replies)
  0 siblings, 3 replies; 58+ messages in thread
From: Pierre Neidhardt @ 2018-09-13 10:50 UTC (permalink / raw)
  To: guix-blog, guix-devel

[-- Attachment #1: Type: text/plain, Size: 1628 bytes --]

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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 58+ messages in thread
* Re: Blog: Guix packaging tutorial
@ 2018-10-08 22:54 Benjamin Slade
  2018-10-08 23:05 ` Pierre Neidhardt
  0 siblings, 1 reply; 58+ messages in thread
From: Benjamin Slade @ 2018-10-08 22:54 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: guix-devel, guix-blog

This will be extremely helpful, Pierre! Thanks for putting it together.

I looked at an early version of this; I don't know if it has changed
since, but one thing that would be useful to a brief checklist of steps
outlined somewhere. 

 —Ben

-- 
Benjamin Slade - https://babbagefiles.xyz
  `(pgp_fp: ,(21BA 2AE1 28F6 DF36 110A 0E9C A320 BBE8 2B52 EE19))
    '(sent by mu4e on Emacs running under GNU/Linux . https://gnu.org )
       `(Choose Linux ,(Choose Freedom) . https://linux.com )

^ permalink raw reply	[flat|nested] 58+ messages in thread

end of thread, other threads:[~2018-10-22 21:11 UTC | newest]

Thread overview: 58+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-13 10:50 Blog: Guix packaging tutorial Pierre Neidhardt
2018-09-13 11:16 ` Pjotr Prins
2018-09-13 11:53 ` Ricardo Wurmus
2018-09-13 12:04   ` Pjotr Prins
2018-09-13 19:11 ` Andreas Enge
2018-09-14 11:07   ` Pierre Neidhardt
2018-09-14 11:33     ` Pjotr Prins
2018-09-24 17:00       ` Pierre Neidhardt
2018-09-24 17:37         ` Pierre Neidhardt
2018-09-27 13:43           ` Ludovic Courtès
2018-09-27 17:34             ` Pierre Neidhardt
2018-09-29 16:28               ` Ludovic Courtès
2018-09-29 21:18           ` Ricardo Wurmus
2018-09-30 19:01             ` Pierre Neidhardt
2018-09-30 19:44               ` Ludovic Courtès
2018-09-30 21:14                 ` Pierre Neidhardt
2018-10-02 12:12                   ` Ludovic Courtès
2018-10-02 16:02                     ` Pierre Neidhardt
2018-10-02 19:46                       ` Ricardo Wurmus
2018-10-03  8:10                         ` Pierre Neidhardt
2018-10-03 18:16                           ` Pierre Neidhardt
2018-10-08 12:20                             ` Ludovic Courtès
2018-10-08 15:18                             ` Ricardo Wurmus
2018-10-08 18:41                               ` Pierre Neidhardt
2018-10-08 19:06                                 ` Pierre Neidhardt
2018-10-08 19:59                                 ` Ricardo Wurmus
2018-10-08 22:09                                   ` Pierre Neidhardt
2018-10-08 22:33                                     ` Pierre Neidhardt
2018-10-08 23:45                                       ` Pierre Neidhardt
2018-10-10 11:56                                         ` Ludovic Courtès
2018-10-10 13:20                                           ` George Clemmer
2018-10-10 13:31                                             ` Pierre Neidhardt
2018-10-10 14:13                                               ` Ricardo Wurmus
2018-10-10 14:00                                         ` Guix packaging tutorial is on-line! Ludovic Courtès
2018-10-10 14:12                                           ` Pierre Neidhardt
2018-10-10 15:07                                             ` Ricardo Wurmus
2018-10-10 16:09                                               ` Pierre Neidhardt
2018-10-11 13:41                                             ` Ludovic Courtès
2018-10-11 16:34                                               ` Pierre Neidhardt
2018-10-11 16:51                                                 ` Pierre Neidhardt
2018-10-15 12:02                                                   ` Ludovic Courtès
2018-10-15 12:39                                                     ` Pierre Neidhardt
2018-10-20 19:58                                         ` Blog: Guix packaging tutorial Divan
2018-10-21 10:30                                           ` Pierre Neidhardt
2018-10-21 11:21                                             ` Pierre Neidhardt
2018-10-22 20:40                                               ` Divan Santana
2018-10-22 21:11                                                 ` Pierre Neidhardt
2018-09-26 10:20         ` Ludovic Courtès
2018-09-26 10:28           ` Pierre Neidhardt
2018-09-27 11:56             ` Ludovic Courtès
  -- strict thread matches above, loose matches on Subject: below --
2018-10-08 22:54 Benjamin Slade
2018-10-08 23:05 ` Pierre Neidhardt
2018-10-09  0:04   ` Benjamin Slade
2018-10-10  9:02     ` Ludovic Courtès
2018-10-11  1:38       ` Benjamin Slade
2018-10-11  9:37         ` Gábor Boskovits
2018-10-11 13:39         ` Ludovic Courtès
2018-10-12  1:05           ` Benjamin Slade

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).