all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ryan Prior <rprior@protonmail.com>
To: Guix Devel <guix-devel@gnu.org>
Subject: Fetching sources using Guix (re: Building a software toolchain that works)
Date: Sat, 19 Mar 2022 00:08:24 +0000	[thread overview]
Message-ID: <hCBN01bbOBShmzxDlhLmHZO3T8iSbghKyTQYBqPbuQU7AVwSmxzkFbU2rgaPtj1l8907w8evCRgaCrIVkyTijcaOIstSpEpsoS5G3VZdPd4=@protonmail.com> (raw)

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

One of the side-threads in "Building a software toolchain that works" was essentially this:

If I fetch sources for a package using Guix, with the intention to make changes and then build and test the software myself, what should we do with any patches & snippets that are part of the Guix package?

There does not seem to be an obvious right answer. One reason is that patches and snippets fall into at least a few use cases:

- The upstream package won't build at all as-is using the environment Guix creates, so we apply a patch to enable a successful build.
- Upstream vendors some sources into their package, which we prefer to excise using a snippet so that we can do our own dependency management
- Upstream includes non-free components, which we remove to build a fully free package
- Upstream includes binaries in their package, which we prefer to snippet out so we can build them ourselves

At present we don't include any semantic information with each patch or snippet to explain why it is needed. Many have helpful comments; some don't.

Would it be feasible or desirable to create a set of "reason" symbols, similar to our "licenses," and attach a reason (or unknown?) to each snippet and patch? Then we can expose meaningful data to the end-user about patches & snippets that are available, enabling an informed choice about whether to apply them when fetching sources.

This could also be useful in our own record-keeping, so that we can track the usage of patches and snippets for different reasons. It would be nice, for example, to see a downward trend in the number of patches for build systems that won't work at all without them, either because we improve the logic in our build steps or because we contribute changes upstream to make software easier to build.

[-- Attachment #2: Type: text/html, Size: 2991 bytes --]

             reply	other threads:[~2022-03-19  0:08 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-19  0:08 Ryan Prior [this message]
2022-03-19  9:00 ` Fetching sources using Guix (re: Building a software toolchain that works) Maxime Devos
2022-03-19 10:35 ` Jonathan McHugh

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='hCBN01bbOBShmzxDlhLmHZO3T8iSbghKyTQYBqPbuQU7AVwSmxzkFbU2rgaPtj1l8907w8evCRgaCrIVkyTijcaOIstSpEpsoS5G3VZdPd4=@protonmail.com' \
    --to=rprior@protonmail.com \
    --cc=guix-devel@gnu.org \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.