Hello! Julien Lepiller <[email protected]> skribis:
> Before the patch we get: > > guix size perl > total: 147.7 MiB > > After the patch: > > ./pre-inst-env guix size perl > total: 114.5 MiB Nice! > I don't want to push that patch as is, because libstdc++.so is still in > the gcc-static-lib output and will bring all the useless stuff with it. > C++ programs will bring back the remaining 33.2 MiB. It wouldn’t be worse than the current situation though? > Another possible target is glibc, since the only useful bits in there > are libc.so and ld-linux.so (I think?). This could reduce the closure > of our packs by another ~40 MiB (I think our systems would still need > most of the content of this package). ‘share/i18n’ is 16 MiB and ‘lib/iconv’ is 8 MiB. Now, separating them without introducing loss of functionality may be tricky. > From bff8567b0770455397d44f1ed304a67681b472c9 Mon Sep 17 00:00:00 2001 > From: Julien Lepiller <[email protected]> > Date: Thu, 8 Dec 2022 22:29:01 +0100 > Subject: [PATCH] gnu: gcc: Separate lib output. > > * gnu/packages/gcc.scm (gcc-4.7): Replace `lib' output with `static-lib' > and `shared-lib'. > * gnu/packages/commencement.scm (gcc-boot0): Update accordingly. > --- > gnu/packages/commencement.scm | 6 +++--- > gnu/packages/gcc.scm | 39 +++++++++++++++++++++++++---------- > gnu/tests/mail.trs | 0 > 3 files changed, 31 insertions(+), 14 deletions(-) > create mode 100644 gnu/tests/mail.trs Oops? > (outputs '("out" ;commands, etc. (60+ MiB) > - "lib" ;libgcc_s, libgomp, etc. (15+ MiB) > + "shared-lib" ;libgcc_s, libgomp, etc. (5+ MiB) > + "static-lib" ;object code libraries and > internal data files of GCC. (10+ MiB) The convention is to use “lib” for shared libraries and “static” for static libraries. Is libgomp in “lib”? Is it found when linking with ‘-fopenmp’? Thanks for this work; we really need to do something about package sizes! Ludo’.
