[Nix-dev] CMake broken
Evgeny Egorochkin
phreedom.stdin at gmail.com
Tue Sep 28 11:04:25 CEST 2010
В сообщении от Понедельник 27 сентября 2010 15:49:47 автор Peter Simons
написал:
> Hi,
>
> the recent changes to the CMake expression break the build for me on
> Linux/x86_64 when useNcurses is 'false'. This setting means that CMake
> won't have ncurses in buildInputs, but the build seems to expect it
> anyway and fails trying to compile ncurses-specific modules.
>
> Generally speaking, I find these changes somewhat dubious. For instance, we
> now have three different versions of CMake defined in all-packages.nix:
>
> cmake = callPackage ../development/tools/build-managers/cmake { };
>
> cmakeCurses = cmake.override { useNcurses = true; };
>
> cmakeWithGui = cmakeCurses.override { useQt4 = true; };
>
> However, all of these expressions have the same name! That's an ambiguous
> and undesirable situation. Also, where is the version that has support for
> both qt and ncurses?
>
> Last but not least, I'm not particularly fond of expressions that require
> 'useDepXY' flags. IMHO, it's both easier and more intuitive to pass 'xy =
> null' to disable support for that particular dependency.
If all you want is disable the feature, you are right. however if you want to
enable/reenable feature, it's not as easy.
In theory, useFeature flags are more correct in that you can have by default
{useFeature=false, feature} and packages that need it can override the flag,
it's easier for users to enable experimental/unstable features this way.
--
Evgeny
More information about the nix-dev
mailing list