Fis Trivial <ybbs.da...@hotmail.com> writes: > An ideal scenario would be the one that we can specify multiple outputs > for one packages, each output corresponds to one language binding, and > we can specify different dependencies and build system for each > output. Is there any chance we can do that in guix?
Yes, we already use multiple outputs in some packages IIRC. We can also reuse parts of build systems without having to reimplement them manually. We would simply reference them with something like this: --8<---------------cut here---------------start------------->8--- (add-after 'install 'strip-jar-timestamps (assoc-ref ant:%standard-phases 'strip-jar-timestamps)) --8<---------------cut here---------------end--------------->8--- Using separate independent outputs means that users who fetch substitutes can avoid fetching irrelevant substitutes. This doesn’t help users who build everything from source as they’ll need to have the dependencies for all language bindings. Dependent on the way this is implemented we can also have a common package and use that as an input to the separate language binding packages. There would be no wasted cycles as the common parts would not need to be rebuilt. -- Ricardo