GNU bug report logs -
#65550
Don't add propagated-inputs for all outputs
Previous Next
Reported by: 宋文武 <iyzsong <at> envs.net>
Date: Sat, 26 Aug 2023 11:37:02 UTC
Severity: normal
Done: 宋文武 <iyzsong <at> envs.net>
Bug is archived. No further changes may be made.
Full log
Message #29 received at 65550 <at> debbugs.gnu.org (full text, mbox):
Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:
> Am Dienstag, dem 29.08.2023 um 18:24 +0800 schrieb 宋文武:
>> [...]
>> If put headers and other development files into a "dev" output, then
>> those 300MiB can be saved (won't need to be substituted if
>> substitutes available). Note that use a "include" output won't help
>> here if you leave pkg-config files in "lib", since pkg-config files
>> need reference its include and binaries need reference its libraries.
>>
>> So it seems to me a "dev" output is unavoidable, also both Debian and
>> Alpine Linux use '-dev' packages for the same reason, it should be
>> familiar to learn..
> There is little point in a dev package when you blow up its size by
> propagating inputs…
Well propagated-inputs won't increase size of a package, they bring some
of its inputs when build other one to remove the need to list those some
inputs as inputs of the other one.
Consider gtk+ and mousepad:
gtk+ propagated cairo, freetype, pango, etc.
so I don't need add those inputs to mousepad, and if gtk+ doesn't
propagated them then I must add them to mousepad because those are
actually needed (because pkg-config check them and need link flags
from those dependencies of gtk+).
But for runtime, when substitute of mousepad is available, if we split
thoes packages with "dev" outputs, guix size mousepad would still be
something like:
...
/gnu/store/xxxx-mesa-23.1.4
/gnu/store/xxxx-freetype-2.13.0
/gnu/store/xxxx-gtk+-3.24.37
...
It won't include any "dev" output of its dependencies packages, since
development files are not referenced by mousepad's binary, so the size
of headers and development files is saved (won't be substituted).
Only when substitute of mousepad is not available, you'll start by download
mesa-23.1.4-dev, gtk+3.24.37-dev, etc. And after build, those "dev"
outputs can be GCed immediately.
Hope it's clear now!
This bug report was last modified 1 year and 255 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.