multiple-outputs.nix: Allow not setting configure flags

Not everything is Autoconf...
This commit is contained in:
Eelco Dolstra 2013-06-11 13:54:16 +02:00
parent cb3fc2c902
commit 39dc112bc1

View File

@ -2,28 +2,28 @@
with stdenv.lib; with stdenv.lib;
{ outputs ? [ "out" ], ... } @ args: { outputs ? [ "out" ], setOutputConfigureFlags ? true, ... } @ args:
stdenv.mkDerivation (args // { stdenv.mkDerivation (args // {
#postPhases = [ "fixupOutputsPhase" ] ++ args.postPhases or []; #postPhases = [ "fixupOutputsPhase" ] ++ args.postPhases or [];
preHook = preHook =
if setOutputConfigureFlags then
optionalString (elem "man" outputs) '' optionalString (elem "man" outputs) ''
configureFlags="--mandir=$man/share/man $configureFlags" configureFlags="--mandir=$man/share/man $configureFlags"
'' + '' +
'' optionalString (elem "bin" outputs) ''
${optionalString (elem "bin" outputs) ''
configureFlags="--bindir=$bin/bin --mandir=$bin/share/man $configureFlags" configureFlags="--bindir=$bin/bin --mandir=$bin/share/man $configureFlags"
''} '' +
${optionalString (elem "lib" outputs) '' optionalString (elem "lib" outputs) ''
configureFlags="--libdir=$lib/lib $configureFlags" configureFlags="--libdir=$lib/lib $configureFlags"
''} '' +
${optionalString (elem "dev" outputs) '' optionalString (elem "dev" outputs) ''
configureFlags="--includedir=$dev/include $configureFlags" configureFlags="--includedir=$dev/include $configureFlags"
installFlags="pkgconfigdir=$dev/lib/pkgconfig m4datadir=$dev/share/aclocal aclocaldir=$dev/share/aclocal $installFlags" installFlags="pkgconfigdir=$dev/lib/pkgconfig m4datadir=$dev/share/aclocal aclocaldir=$dev/share/aclocal $installFlags"
''} ''
''; else null;
preFixup = preFixup =
'' ''