From e9bec1adf6d4147d7b15d6b636ec5bf4294c457b Mon Sep 17 00:00:00 2001 From: Nathan Smyth Date: Thu, 3 May 2018 17:42:24 +1000 Subject: [PATCH] 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 --- lib/licenses.nix | 7 +++++ pkgs/servers/nosql/mongodb/default.nix | 29 ++++++++++--------- .../mongodb/forget-build-dependencies.patch | 10 ++----- 3 files changed, 26 insertions(+), 20 deletions(-) diff --git a/lib/licenses.nix b/lib/licenses.nix index e2f94e565ce..e37eb57cff9 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -649,6 +649,13 @@ lib.mapAttrs (n: v: v // { shortName = n; }) { url = http://metadata.ftp-master.debian.org/changelogs/main/d/debianutils/debianutils_4.8.1_copyright; }; + sspl = { + shortName = "SSPL"; + fullName = "Server Side Public License"; + url = https://www.mongodb.com/licensing/server-side-public-license; + free = false; + }; + tcltk = spdx { spdxId = "TCL"; fullName = "TCL/TK License"; diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix index c2ae83f3e8a..966cebc799e 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 ca2c043deb2..897618cceb1 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