From: Pjotr Prins <pjotr.public12@thebird.nl>
To: Ricardo Wurmus <rekado@elephly.net>
Cc: guix-devel <guix-devel@gnu.org>, guix-blog@gnu.org
Subject: Re: Blog: Guix packaging tutorial
Date: Thu, 13 Sep 2018 14:04:55 +0200 [thread overview]
Message-ID: <20180913120455.ahdepkvfi6y7jwsk@thebird.nl> (raw)
In-Reply-To: <8736udk40j.fsf@elephly.net>
On Thu, Sep 13, 2018 at 01:53:16PM +0200, Ricardo Wurmus wrote:
> > 1. General
> > Go through the various fields of the `package` record.
> > GUIX_PACKAGE_PATH, `guix build` and `guix package`.
>
> I have mixed feelings about recommending GUIX_PACKAGE_PATH to new
> contributors. I think that generally it is better to guide them to
> working on a git checkout directly, because moving packages from a
> separate GUIX_PACKAGE_PATH module to Guix proper isn’t frictionless.
Yes, the GUIX_PACKAGE_PATH serves a different purpose. Main thing you
want to capture is package definitions and perhaps the workflow of
submitting a patch.
> Maybe also mention the recursive importers to automate a large part of
> the work for packages from Pypi, CRAN, Bioconductor, etc.
>
> > 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.
>
> In my opinion, the power of abstraction over conventional build systems
> is very impressive. Instead of having to write a shell snippet that
> does “./configure --prefix=/foo && make && make install” you can lean
> back and use “gnu-build-system” instead.
And it is less specialized. Hard coding configure options is the road
to madness - at least where it comes to targetting multiple outputs.
That is where packaging systems like conda fall short.
> From there it’s easy to talk about packages that *don’t* use
> conventional build systems or that otherwise deviate from conventions,
> which is one reason for using modify-phases.
A second advanced hacking tutorial could discuss more advanced
features.
Pj.
next prev parent reply other threads:[~2018-09-13 12:05 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180913120455.ahdepkvfi6y7jwsk@thebird.nl \
--to=pjotr.public12@thebird.nl \
--cc=guix-blog@gnu.org \
--cc=guix-devel@gnu.org \
--cc=rekado@elephly.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).