nixpkgs/pkgs/servers/nosql/mongodb/default.nix
Mathijs Kwik ad628ab557 mongodb: fix build on i686, restrict platforms to linux
mongodb is supposed to work on most unixes but its build system is
quite picky and fragile.
As it hasn't worked for non-linux platforms on NixOS yet, this change
won't affect anyone and will remove the illusion that other platforms
are currently supported.
2012-09-09 17:25:59 +02:00

51 lines
1.5 KiB
Nix

{ stdenv, fetchurl, scons, which, v8, useV8 ? false}:
with stdenv.lib;
let installerPatch = fetchurl {
url = "https://jira.mongodb.org/secure/attachment/18160/SConscript.client.patch";
sha256 = "0n60fh2r8i7m6g113k0iw4adc8jv2by4ahrd780kxg47kzfgw06a";
};
in
stdenv.mkDerivation rec {
name = "mongodb-2.2.0";
src = fetchurl {
url = http://downloads.mongodb.org/src/mongodb-src-r2.2.0.tar.gz;
sha256 = "12v0cpq9j2gmagr9pbw08karqwqgl4j9r223w7x7sx5cfvj2cih8";
};
buildNativeInputs = [ scons which ];
patches = [ installerPatch ];
enableParallelBuilding = true;
postPatch = ''
substituteInPlace SConstruct --replace "Environment( BUILD_DIR" "Environment( ENV = os.environ, BUILD_DIR"
'' + optionalString useV8 ''
substituteInPlace SConstruct --replace "#/../v8" "${v8}" \
--replace "[\"${v8}/\"]" "[\"${v8}/lib\"]"
'';
buildPhase = ''
echo $PATH
scons all --cc=`which gcc` --cxx=`which g++` ${optionalString useV8 "--usev8"}
'';
installPhase = ''
scons install --cc=`which gcc` --cxx=`which g++` ${optionalString useV8 "--usev8"} --full --prefix=$out
rm -rf $out/lib64 # exact same files as installed in $out/lib
'';
meta = {
description = "a scalable, high-performance, open source NoSQL database";
homepage = http://www.mongodb.org;
license = "AGPLv3";
maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
platforms = stdenv.lib.platforms.linux;
};
}