Hi Marc, Thanks for your reply.
Marc Weber <[EMAIL PROTECTED]> writes: > In debian you have > source - > binary [1] (I'm thinking of a library here) > `-> binary-dev [2] ( thus includes / kernel header files .. ) > .... > right? Right, but it can be more complex. For example, the Debian `avahi' source package yields around 20 packages: avahi-daemon avahi-dnsconfd avahi-autoipd avahi-utils libavahi-common3 libavahi-common-data libavahi-common-dev libavahi-core5 libavahi-core-dev libavahi-client3 libavahi-client-dev ... libavahi-glib1 libavahi-glib-dev libavahi-qt3 ... libavahi-ui0 ... python-avahi These packages have very different set of dependencies: to `libavahi-qt3' depends on Qt3, but none of the other packages does, `python-avahi' depends on Python but none of the other does, `libavahi-ui0' depends on GTK+ but none of the other does, etc. Installing all of these packages is definitely going to consume a lot of space, especially if you end up pulling dependencies that are not used elsewhere on your system. Conversely, this package separation makes it easy for the end-user to pick and choose only those components that are needed, regardless of how many source packages implement them. > Of course we can start passing > buildIpnuts = [ jpeglib jpeg_includes ] > or define extra attributes > buildInputs = concat [ jpeglib_and_includes ] Right, that would be the idea. > Would be more effort but perhaps we can automate this somehow? Debian's Debhelper helps automate the library case, i.e., it almost automatically creates a `libfoo' and `libfoo-dev' package for you. So this particular can probably be (partly) automated. Nevertheless, the more general case (as in the example above) needs more care and can hardly be automated. Actually, before thinking about automation, my question was more about how you'd do it (by hand, first) using Nix. Surely, you wouldn't want to compile Avahi 20 times, for instance, once for each of those packages. So you need to be able to craft Nix expressions that reuse the build. (This can probably be done but I'm not yet in a position where I can think of a solution.) Thanks, Ludovic. _______________________________________________ nix-dev mailing list [email protected] https://mail.cs.uu.nl/mailman/listinfo/nix-dev
