[Top][All Lists]

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

Re: What should "guix build --source" produce? (was Re: Dependency cycle

From: zimoun
Subject: Re: What should "guix build --source" produce? (was Re: Dependency cycle issues when using a Gexp-based snippet)
Date: Fri, 11 Sep 2020 20:42:12 +0200


On Fri, 11 Sep 2020 at 20:22, Maxim Cournoyer <> wrote:

> Yes, this sounds like it!  How about the following section, to help
> contributors decide between the two?
> --8<---------------cut here---------------start------------->8---
> 1 file changed, 14 insertions(+)
> doc/contributing.texi | 14 ++++++++++++++
> modified   doc/contributing.texi
> @@ -369,6 +369,7 @@ needed is to review and apply the patch.
>  * Package Naming::              What's in a name?
>  * Version Numbers::             When the name is not enough.
>  * Synopses and Descriptions::   Helping users find the right package.
> +* Snippets versus Phases::      Whether to use a snippet, or a build phase.
>  * Python Modules::              A touch of British comedy.
>  * Perl Modules::                Little pearls.
>  * Java Packages::               Coffee break.
> @@ -599,6 +600,19 @@ Gettext}):
>  for the X11 resize-and-rotate (RandR) extension. @dots{}")
>  @end example
> +@node Snippets versus phases
> +@subsection Snippets versus phases
> +
> +@cindex snippets, when to use
> +The boundary between using an origin snippet versus a build phase to
> +modify the sources of a package can be elusive.  Origin snippets are
> +typically used to remove unnecessary files such as bundled libraries,
> +nonfree sources, or to apply simple substitutions.  The source derived
> +from an origin should produce a source that can be used to build the
> +package on any system that the upstream package supports (i.e., act as
> +the corresponding source).  In particular, origin patches or snippets
> +must not embed store items in the sources; such patching should rather
> +be done using build phases.
>  @node Python Modules
>  @subsection Python Modules
> --8<---------------cut here---------------end--------------->8---

It helps. :-)

And the origin snippet:

could be cross-linked to the subsection above.

Thank you for the insightful remark.
All the best,

reply via email to

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