5be0a9acd7
This is for consistency with terminology in stdenv (and the terms "hostDrv" and "buildDrv" are not very intuitive, even if they're consistent with GNU terminology).
70 lines
2.0 KiB
Nix
70 lines
2.0 KiB
Nix
{ stdenv, fetchurl, perl, curl, bzip2, sqlite, openssl ? null
|
|
, pkgconfig, boehmgc, perlPackages
|
|
, storeDir ? "/nix/store"
|
|
, stateDir ? "/nix/var"
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "nix-1.2";
|
|
|
|
src = fetchurl {
|
|
url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz";
|
|
sha256 = "2f7c2d27e240b6a43ebfba330127072e3fb1473c17dbfc5e9662ea589dfd16e5";
|
|
};
|
|
|
|
buildNativeInputs = [ perl pkgconfig ];
|
|
|
|
buildInputs = [ curl openssl boehmgc sqlite ];
|
|
|
|
# Note: bzip2 is not passed as a build input, because the unpack phase
|
|
# would end up using the wrong bzip2 when cross-compiling.
|
|
# XXX: The right thing would be to reinstate `--with-bzip2' in Nix.
|
|
postUnpack =
|
|
'' export CPATH="${bzip2}/include"
|
|
export LIBRARY_PATH="${bzip2}/lib"
|
|
'';
|
|
|
|
configureFlags =
|
|
''
|
|
--with-store-dir=${storeDir} --localstatedir=${stateDir}
|
|
--with-dbi=${perlPackages.DBI}/${perl.libPrefix}
|
|
--with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix}
|
|
--with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}
|
|
--disable-init-state
|
|
--enable-gc
|
|
CFLAGS=-O3 CXXFLAGS=-O3
|
|
'';
|
|
|
|
doInstallCheck = true;
|
|
|
|
crossAttrs = {
|
|
postUnpack =
|
|
'' export CPATH="${bzip2.crossDrv}/include"
|
|
export NIX_CROSS_LDFLAGS="-L${bzip2.crossDrv}/lib -rpath-link ${bzip2.crossDrv}/lib $NIX_CROSS_LDFLAGS"
|
|
'';
|
|
|
|
configureFlags =
|
|
''
|
|
--with-store-dir=${storeDir} --localstatedir=${stateDir}
|
|
--with-dbi=${perlPackages.DBI}/${perl.libPrefix}
|
|
--with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix}
|
|
--with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}
|
|
--disable-init-state
|
|
--enable-gc
|
|
CFLAGS=-O3 CXXFLAGS=-O3
|
|
'' + stdenv.lib.optionalString (
|
|
stdenv.cross ? nix && stdenv.cross.nix ? system
|
|
) ''--with-system=${stdenv.cross.nix.system}'';
|
|
|
|
doInstallCheck = false;
|
|
};
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
meta = {
|
|
description = "The Nix Deployment System";
|
|
homepage = http://nixos.org/;
|
|
license = "LGPLv2+";
|
|
};
|
|
}
|