Hi,

On Mon, 08 Dec 2025 at 12:27, Cayetano Santos <[email protected]> wrote:

>   I’m sure there are many other aspects where we can do better. Ideas
>   about this ?

My 2 cents as an experience report when reviewing.

Using Guix 25a6fbe, when downloading the requirements for building
something, I notice this:

--8<---------------cut here---------------start------------->8---
substituting /gnu/store/702qng4mm6ylq6k25s8pafznw18d7pzc-ldc-1.38.0...
downloading from 
https://ci.guix.gnu.org/nar/lzip/702qng4mm6ylq6k25s8pafznw18d7pzc-ldc-1.38.0 ...
 ldc-1.38.0  6.7MiB                   2.3MiB/s 00:03 ▕██████████████████▏ 100.0%

substituting /gnu/store/rh9ycsqadi833mmaakjwsgfq5nncf9kg-ldc-1.38.0...
downloading from 
https://ci.guix.gnu.org/nar/lzip/rh9ycsqadi833mmaakjwsgfq5nncf9kg-ldc-1.38.0 ...
 ldc-1.38.0  7.9MiB                   2.5MiB/s 00:03 ▕██████████████████▏ 100.0%
--8<---------------cut here---------------end--------------->8---

Well, ~7MiB is not much but still… Not much after not much, it ends to
something. :-)

Why twice the same package?  Hey, that’s not the same package!

        $ guix build --no-grafts -e '(@@ (gnu packages dlang) ldc-bootstrap)'
        /gnu/store/702qng4mm6ylq6k25s8pafznw18d7pzc-ldc-1.38.0

        $ guix build --no-grafts -e '(@@ (gnu packages dlang) ldc)'
        /gnu/store/rh9ycsqadi833mmaakjwsgfq5nncf9kg-ldc-1.38.0

Wait, why is ldc-bootstrap required?

    $ guix graph --path  -L . sharc -e '(@@ (gnu packages dlang) ldc-bootstrap)'
    [email protected]
    [email protected]
    [email protected]
    [email protected]

Well, I’ve not investigated further why the ldc-bootstrap version is
retained; I expect to not be and it’s probably a bug.

I think we have this kind of bug because we do not care enough about the
closure of our packages.  Look:

--8<---------------cut here---------------start------------->8---
$ guix size sambamba
store item                                                       total    self
/gnu/store/dy303dc14lz86lligv8af62yq3vvqasm-llvm-17.0.6            635.2   
560.6  62.1%
/gnu/store/ps63342s4k7yj8dia6bybylkjvsq6d4m-gdc-14.3.0-lib         139.2    
98.1  10.9%
/gnu/store/702qng4mm6ylq6k25s8pafznw18d7pzc-ldc-1.38.0             803.8    
52.8   5.8%
/gnu/store/rh9ycsqadi833mmaakjwsgfq5nncf9kg-ldc-1.38.0             899.7    
52.2   5.8%
/gnu/store/lyk51h6jkdapjkbg0wxfxkjj5fq7aii4-gcc-14.3.0-lib          84.7    
43.7   4.8%
/gnu/store/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41              41.0    
39.2   4.3%
/gnu/store/m2vhzr0dy352cn59sgcklcaykprrr4j6-gcc-14.3.0-lib          74.1    
33.1   3.7%
/gnu/store/pai3hvsiihllqi03b2198qi5qq9a28ga-coreutils-9.1           90.9    
16.7   1.9%
/gnu/store/pnid7xl9qin7pz0pmc1l8jlkzly62p6a-sambamba-0.8.2         902.7     
2.2   0.2%
/gnu/store/98rxpjki5i0ri1n3w7nwf1j4x9qxl2xl-bash-static-5.2.37       1.8     
1.8   0.2%
/gnu/store/k66i68s5l93n1lgxp29vn2292nsywp1v-bash-minimal-5.2.37     42.1     
1.1   0.1%
/gnu/store/0065jvpnk1bbsi89v979myb28g4w6iyr-lz4-1.10.0              74.8     
0.7   0.1%
/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: 902.7 MiB
--8<---------------cut here---------------end--------------->8---

3 compilers of D, 2 GCC and 2 Bash…  No blame!  Or if one, blame on me
since I feel part of bioinformatics team.  For the record, the last
modification of sambamba is from 3 years ago and of ldc is from 2 years
ago.  So most of us live a happy life with this non-sober situation. :-)

For sure, we need to fix it!

However, based on my experience over the past years, even fixed soon, I
guess the same situation will pop up again in the near future.  Why?
Because, although point #8 of “Submitting Patches” [1] explicitly
mentions “guix size”, we do not collectively pay enough attention on
this topic.

Eventually, we only pay attention when it’s about GiB; which makes the
point: we do not collectively pay enough attention on this topic. ;-)

Maybe a first step would to add a Forgejo action that runs “guix size”
on the Pull Request and mark it with a red cross if the closure is
bigger than the current one.

Cheers,
simon

1: https://guix.gnu.org/manual/devel/en/guix.html#Submitting-Patches

Reply via email to