From e9bec1adf6d4147d7b15d6b636ec5bf4294c457b Mon Sep 17 00:00:00 2001 From: Nathan Smyth Date: Thu, 3 May 2018 17:42:24 +1000 Subject: mongodb: 3.4.10 -> 4.0.4 fix: Adding libtool to allow darwin compiles Libtool seems to be required for mongodb to compile on darwin. fix: Marking MongoDB as broken on aarch64 fix: Adding libtools to the pkg imports Update mongodb to 4.0.4 --- pkgs/servers/nosql/mongodb/default.nix | 29 ++++++++++++---------- .../nosql/mongodb/forget-build-dependencies.patch | 10 +++----- 2 files changed, 19 insertions(+), 20 deletions(-) (limited to 'pkgs/servers/nosql') diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix index c2ae83f3e8af..966cebc799e4 100644 --- a/pkgs/servers/nosql/mongodb/default.nix +++ b/pkgs/servers/nosql/mongodb/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, fetchpatch, scons, boost, gperftools, pcre-cpp, snappy -, zlib, libyamlcpp, sasl, openssl, libpcap, Security +{ stdenv, fetchurl, fetchpatch, scons, boost, gperftools, pcre-cpp, snappy, zlib, + libyamlcpp, sasl, openssl, libpcap, wiredtiger, Security, python27, libtool, curl }: # Note: @@ -7,7 +7,8 @@ with stdenv.lib; -let version = "3.4.10"; +let version = "4.0.4"; + python = python27.withPackages (ps: with ps; [ pyyaml typing cheetah ]); system-libraries = [ "pcre" #"asio" -- XXX use package? @@ -19,6 +20,7 @@ let version = "3.4.10"; #"stemmer" -- not nice to package yet (no versioning, no makefile, no shared libs). "yaml" ] ++ optionals stdenv.isLinux [ "tcmalloc" ]; + inherit (stdenv.lib) systems subtractLists; in stdenv.mkDerivation { pname = "mongodb"; @@ -26,14 +28,14 @@ in stdenv.mkDerivation { src = fetchurl { url = "https://fastdl.mongodb.org/src/mongodb-src-r${version}.tar.gz"; - sha256 = "1wz2mhl9z0b1bdkg6m8v8mvw9k60mdv5ybq554xn3yjj9z500f24"; + sha256 = "1qycwr9f99b5cy4nf54yv2y724xis3lwd2h6iv2pfp36qnhsvfh2"; }; nativeBuildInputs = [ scons ]; buildInputs = [ sasl boost gperftools pcre-cpp snappy - zlib libyamlcpp sasl openssl.dev openssl.out libpcap - ] ++ stdenv.lib.optionals stdenv.isDarwin [ Security ]; + zlib libyamlcpp sasl openssl.dev openssl.out libpcap python curl + ] ++ stdenv.lib.optionals stdenv.isDarwin [ Security libtool ]; patches = [ @@ -41,11 +43,6 @@ in stdenv.mkDerivation { # keeping dependencies to build inputs in the final output. # We remove the build flags from buildInfo data. ./forget-build-dependencies.patch - (fetchpatch { - url = https://projects.archlinux.org/svntogit/community.git/plain/trunk/boost160.patch?h=packages/mongodb; - name = "boost160.patch"; - sha256 = "0bvsf3499zj55pzamwjmsssr6x63w434944w76273fr5rxwzcmh8"; - }) ]; postPatch = '' @@ -89,6 +86,11 @@ in stdenv.mkDerivation { preInstall = '' mkdir -p $out/lib ''; + + postInstall = '' + rm $out/bin/install_compass + ''; + prefixKey = "--prefix="; enableParallelBuilding = true; @@ -98,9 +100,10 @@ in stdenv.mkDerivation { meta = { description = "A scalable, high-performance, open source NoSQL database"; homepage = http://www.mongodb.org; - license = licenses.agpl3; + license = licenses.sspl; + broken = stdenv.hostPlatform.isAarch64; #g++ has internal compiler errors maintainers = with maintainers; [ bluescreen303 offline cstrahan ]; - platforms = platforms.unix; + platforms = subtractLists systems.doubles.i686 systems.doubles.unix; }; } diff --git a/pkgs/servers/nosql/mongodb/forget-build-dependencies.patch b/pkgs/servers/nosql/mongodb/forget-build-dependencies.patch index ca2c043deb2d..897618cceb12 100644 --- a/pkgs/servers/nosql/mongodb/forget-build-dependencies.patch +++ b/pkgs/servers/nosql/mongodb/forget-build-dependencies.patch @@ -1,8 +1,6 @@ ---- a/site_scons/mongo_scons_utils.py -+++ b/site_scons/mongo_scons_utils.py -@@ -84,14 +84,11 @@ - def default_buildinfo_environment_data(): - return ( +--- a/site_scons/mongo/generators.py ++++ b/site_scons/mongo/generators.py +@@ -18,10 +18,7 @@ def default_buildinfo_environment_data(): ('distmod', '$MONGO_DISTMOD', True, True,), ('distarch', '$MONGO_DISTARCH', True, True,), ('cc', '$CC_VERSION', True, False,), @@ -13,5 +11,3 @@ ('target_arch', '$TARGET_ARCH', True, True,), ('target_os', '$TARGET_OS', True, False,), ) - - # If you want buildInfo and --version to be relatively empty, set -- cgit 1.4.1