[Nix-dev] gnutls broken

Ludovic Courtès ludo at gnu.org
Sun Feb 5 00:27:40 CET 2012


Hi Yury,

"Yury G.  Kudryashov" <urkud.urkud at gmail.com> skribis:

> First of all, you're the maintainer of gnutls, so do what you want. It would 
> be nice if default gnutls (i.e., the gnutls used to build all other 
> packages) will not depend on guile.
> You can add
>   gnutls_guile = gnutls.override { enableGuile = true; };
> to let hydra build both.

I did it the other way around, but the end result is that Hydra builds both.

We can revisit the default to be Guile-less if it really happens to make
people lives brighter.  ;-)

> Actually, I see three ways:
> 1. Add a flag that user can override.
> 2. Make a multi-output derivation.
> 3. Create several derivations.
>
> Also I see a few very different use cases:
> A. X installs an executable/library that can be optionally linked to a 
> library from package Y.
>     Example: vim.
> B. X installs a few executables/libraries some of them can be optionally 
> linked to a library from package Y.
>     Example: d-bus.
> C. X installs some executables/libraries and installs more libraries (e.g., 
> bindings or plugins) if optional dependencies were found.

[...]

> 3. Splitting into two derivations
> ---------------------------------
> Pros:
> * No false build dependencies.
> * No unneeded rebuilds.
> * Do not waste space in the store and build cycles.
> Cons:
> * Needs (ugly) patches to the build system.
> * Because of the item above, needs review on each upgrade.

Right.  To me, non-trivial patches to the build systems are a
showstopper.

Multiple-output derivations seem like a better approach for this.  It
doesn’t solve the problem for people building from source, but I don’t
consider it a serious issue.

Thanks,
Ludo’.



More information about the nix-dev mailing list