[Nix-dev] Re: Python `setuptools' reverted to `builderDefs'
Ludovic Courtès
ludo at gnu.org
Tue May 26 00:52:43 CEST 2009
Hello,
Michael Raskin <7c6f434c at mail.ru> writes:
>> The `setuptools' expression based on `stdenv' could still be called with
>> `python = pythonFull' or `python = pythonBase'. What difference does it
>> make to use `builderDefs' here?
>
> Well, you need some special-casing that way to do it without full
> argument list repetition in one place or another.
With parameter currying, it can be handled pretty easily IMO.
>> If `builderDefs' has features that are a noticeable improvement over
>> `stdenv', then I think we should discuss them, one-by-one, and see how
>> to integrate them in (or merge them with) `stdenv'. Having two package
>> styles as different as `stdenv' and `builderDefs' just doesn't sound
>> right to me. I would prefer more homogeneity.
>
> It is currently impossible. If we have a static builder and influence
> its behavior with environment variables, we are bound to rebuild
> everything once that magic script changes. That also means that direct
> incorporation of features in the script is slowed down. This also puts a
> limit on overrides.
In practice, I haven't found it a serious limitation.
Do you have practical use cases where `stdenv' is limiting?
I remember you citing the addition of a new compression format to the
standard build script as one thing that would require a full rebuild
when added to `stdenv', whereas `builderDefs' can be extended without
incurring a full rebuild. That's admittedly an improvement, but not a
compelling one in practice, IMO.
Thanks,
Ludo'.
More information about the nix-dev
mailing list