Ive been trying to package Scryer-Prolog.

Beyond the tradeoffs from its Rust underbelly and the volume of dependencies,

Ive been taking the position of packaging everything (including all those random tests the package developers had decided upon) - a rather ugly experience.

The hope is that I can present enough aspects, including the dependency chains in a form that community understands - which for them can be in Prolog.

Im hoping that the time investment at my end can result in them having granularity commensurate with their needs and encourage a conversation which they can resolve efficiently.

The approach I took was to heavily break things down into modules rather than larger themes that Guixs repo policy provides. From my perspective satisfying granularity has been tough but hopefully their particular needs for reproducability and bespoke packaging flavours will result in more sustainable outcomes.

Kind regards,


Jonathan

On 2025-12-19 12:10, Simon Tournier wrote:

Hi,

On Mon, 08 Dec 2025 at 15:27, Ludovic Courtès <[email protected]> wrote:

Then, package size: 'emacs-calibredb' is 5 GB. This is not an
exception, but rather the norm, I'm afraid.
Oh yes.  This has been bothering me forever :-) and that's why 'guix
size' has existed almost since day 1, with contribution guidelines
telling users to pay attention to that (info "(guix) Submitting
Patches").

But clearly, this hasn't really worked, and here we are today.

Maybe one thing we can do is to organize an on-line hackathon where we'd
team up to focus specifically on this issue for one or two days?
There's already a call for action in
<https://codeberg.org/guix/guix/issues/938#issuecomment-8593863> that
could be used as a starting point.

If someone organizes this before soon enough, we could even report back
during the Guix Days.

The output of this hackathon could be helpful in the very short term -
some weeks at best - but not on a longer term where we'll have again and
again the same discussion.

I remember past discussions back on 2020 with Pierre and others on
"Reducing closure size". [1]

Look, this message [2] from 2020 reported:

        $ guix size llvm
store item total self
        /gnu/store/…-llvm-10.0.0            210.8   139.3  66.1%
        /gnu/store/…-glibc-2.31              38.4    36.7  17.4%
        /gnu/store/…-gcc-7.5.0-lib           71.0    32.6  15.5%
        /gnu/store/…-bash-static-5.0.16       1.6     1.6   0.8%
        /gnu/store/…-zlib-1.2.11             71.2     0.2   0.1%
        /gnu/store/…-libffi-3.3              71.2     0.2   0.1%
        total: 210.8 MiB

And Pierre tried hard to reduce this closure (among many others).  I
don't remember if this reduction has been achieved or not at the time.
For sure, today, it's a failure!

        $ guix size llvm
store item total self /gnu/store/fnyink8jx3acd63h2l63by7jp9cra3pv-llvm-21.1.5 681.1 606.5 89.1% /gnu/store/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41 41.0 39.2 5.8% /gnu/store/m2vhzr0dy352cn59sgcklcaykprrr4j6-gcc-14.3.0-lib 74.1 33.1 4.9% /gnu/store/98rxpjki5i0ri1n3w7nwf1j4x9qxl2xl-bash-static-5.2.37 1.8 1.8 0.3% /gnu/store/a2jnc1avp7jdyp01r9kpp8q1i72kk8g0-zlib-1.3.1 74.4 0.2 0.0% /gnu/store/qvp9pb46k3qnpgb6sx7cjzfpcrkkqgnp-libffi-3.4.6 74.3 0.2 0.0%
        total: 681.1 MiB

Look this message [3] reported on 2020 "guix size emacs" about "total:
859.7 MiB" and today it's about "total: 2159.9 MiB".

And so on, and so on.

After these efforts on 2020 and then seeing they are kind of worthless,
my personal conclusion on this topic is:

  1. Without a strong policy on package addition and upgrade, any action
     against closure size will have no impact.

  2. Once added, it's very hard, near to impossible, to then remove.

Somehow, chasing closure bytes package per package is a "loose of time",
IMHO, because next week or next month, we will have one package upgrade
that defeats all the effort.  The only way to make the chase worth is to
guard by encoding a collective rule on the closure size.

*loose of time: Do not take me wrong: Diving into the arcane of one
    package is never a loose of time!  For sure, we have technical
    annoyances^W bugs and fixing them would be super helpful!  In
    addition to Ludo's reference [4], see [5] about grafts and
    downloading '-debug' output.  Somehow, the main issue about closure
    size isn't some technical issues but a collective decision, IMHO.

Cheers,
simon

1: Guix size reduction work group
Pierre Neidhardt <[email protected]>
Tue, 04 Feb 2020 16:57:17 +0100
id:[email protected]
https://lists.gnu.org/archive/html/guix-devel/2020-02
https://yhetil.org/guix/[email protected]

2: Reducing LLVM closure size
Pierre Neidhardt <[email protected]>
Fri, 12 Jun 2020 11:06:32 +0200
id:[email protected]
https://lists.gnu.org/archive/html/guix-devel/2020-06
https://yhetil.org/guix/[email protected]

3: Emacs closure at ~900MB?
zimoun <[email protected]>
Tue, 22 Sep 2020 13:16:44 +0200
id:[email protected]
https://lists.gnu.org/archive/html/guix-devel/2020-09
https://yhetil.org/guix/[email protected]

4: https://codeberg.org/guix/guix/issues/938
5: https://codeberg.org/guix/guix/issues/3617

Reply via email to