A question related to my previous posting, but also of independent justification: Should we maybe implement somthing similar to the "depends" field of Debian packages?

 

For instance, programming with mpc also requires mpfr and gmp; in fact, the first few lines of mpc.h read

#include "gmp.h"

#include "mpfr.h"

 

So it would make sense to automatically pull in gmp and mpfr when a user installs mpc. As dicussed with Ludovic, this could be handled by the "propagated-inputs" field of the package definition.

 

But it also would make sense to not use such an automatism. For instance, thanks to libtool, the mpc shared library is perfectly usable without installing mpfr into the user profile, as libmpc.la contains a pointer to the mpfr package:

dependency_libs=' /nix/store/l0999b93cw0by4hcv6z5ykzwz0gw358x-mpfr-3.1.1/lib/libmpfr.la /nix/store/ydxa85j3i21ac74dv0vbc6cxjjqpsfsv-gmp-5.1.0/lib/libgmp.la -lm'

So a user who only wants to use a library and not develop with it may not be interested in getting all the dependent headers in the user profile.

 

An obvious approach would be to split into library and devel packages, as does debian. But I do not think we should go this road, it is quite convenient to get all of mpc in only one package.

 

What do you think?

 

Andreas