diff options
author | Jaka Hudoklin <offlinehacker@users.noreply.github.com> | 2020-07-24 20:15:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-24 20:15:29 +0200 |
commit | fea9351d815894b6e60ef17d199bb14f04ffce3b (patch) | |
tree | 693c2e9a5ee7519ac4f71e2a6f8d3dc7ad7b9df7 /pkgs/servers/nosql | |
parent | 0c075ce453d642c9c2aae78f4954f30840c0251f (diff) | |
parent | dbd0f3e957e6327c736ae030d763368efb1c5254 (diff) |
Merge pull request #92719 from pjjw/update/mongodb-42
mongodb: 4.0.12 -> 4.2.8
Diffstat (limited to 'pkgs/servers/nosql')
5 files changed, 93 insertions, 4 deletions
diff --git a/pkgs/servers/nosql/mongodb/asio-no-experimental-string-view-4-2.patch b/pkgs/servers/nosql/mongodb/asio-no-experimental-string-view-4-2.patch new file mode 100644 index 0000000000000..3720dd9ba3192 --- /dev/null +++ b/pkgs/servers/nosql/mongodb/asio-no-experimental-string-view-4-2.patch @@ -0,0 +1,22 @@ +--- a/src/third_party/asio-master/asio/include/asio/detail/config.hpp ++++ b/src/third_party/asio-master/asio/include/asio/detail/config.hpp +@@ -831,20 +831,8 @@ + # endif // (__cplusplus >= 201402) + # endif // (_LIBCPP_VERSION < 7000) + # else // defined(ASIO_HAS_CLANG_LIBCXX) +-# if (__cplusplus >= 201402) +-# if __has_include(<experimental/string_view>) +-# define ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1 +-# endif // __has_include(<experimental/string_view>) +-# endif // (__cplusplus >= 201402) + # endif // // defined(ASIO_HAS_CLANG_LIBCXX) + # endif // defined(__clang__) +-# if defined(__GNUC__) +-# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)) || (__GNUC__ > 4) +-# if (__cplusplus >= 201402) +-# define ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1 +-# endif // (__cplusplus >= 201402) +-# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)) || (__GNUC__ > 4) +-# endif // defined(__GNUC__) + # endif // !defined(ASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW) + #endif // !defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW) \ No newline at end of file diff --git a/pkgs/servers/nosql/mongodb/forget-build-dependencies-4-2.patch b/pkgs/servers/nosql/mongodb/forget-build-dependencies-4-2.patch new file mode 100644 index 0000000000000..6d65238f22ab6 --- /dev/null +++ b/pkgs/servers/nosql/mongodb/forget-build-dependencies-4-2.patch @@ -0,0 +1,36 @@ +# MongoDB keeps track of its build parameters, which tricks nix into +# keeping dependencies to build inputs in the final output. +# We remove the build flags from buildInfo data. +--- a/site_scons/mongo/generators.py ++++ b/site_scons/mongo/generators.py +@@ -33,30 +33,12 @@ def default_buildinfo_environment_data(): + True, + False, + ), +- ( +- 'ccflags', +- '$CCFLAGS', +- True, +- False, +- ), + ( + 'cxx', + '$CXX_VERSION', + True, + False, + ), +- ( +- 'cxxflags', +- '$CXXFLAGS', +- True, +- False, +- ), +- ( +- 'linkflags', +- '$LINKFLAGS', +- True, +- False, +- ), + ( + 'target_arch', + '$TARGET_ARCH', \ No newline at end of file diff --git a/pkgs/servers/nosql/mongodb/forget-build-dependencies.patch b/pkgs/servers/nosql/mongodb/forget-build-dependencies.patch index 897618cceb12a..37b4c259f2acc 100644 --- a/pkgs/servers/nosql/mongodb/forget-build-dependencies.patch +++ b/pkgs/servers/nosql/mongodb/forget-build-dependencies.patch @@ -1,3 +1,6 @@ +# MongoDB keeps track of its build parameters, which tricks nix into +# keeping dependencies to build inputs in the final output. +# We remove the build flags from buildInfo data. --- a/site_scons/mongo/generators.py +++ b/site_scons/mongo/generators.py @@ -18,10 +18,7 @@ def default_buildinfo_environment_data(): diff --git a/pkgs/servers/nosql/mongodb/mongodb.nix b/pkgs/servers/nosql/mongodb/mongodb.nix index 96141f034a992..1a0ede0ed6dfa 100644 --- a/pkgs/servers/nosql/mongodb/mongodb.nix +++ b/pkgs/servers/nosql/mongodb/mongodb.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, scons, boost, gperftools, pcre-cpp, snappy, zlib, libyamlcpp -, sasl, openssl, libpcap, python27, curl, Security, CoreFoundation, cctools }: +, sasl, openssl, libpcap, python27, python38, curl, Security, CoreFoundation, cctools }: # Note: # The command line tools are written in Go as part of a different package (mongodb-tools) @@ -11,6 +11,17 @@ with stdenv.lib; }@args: let + variants = if versionAtLeast version "4.2" + then { python = python38.withPackages (ps: with ps; [ pyyaml cheetah3 psutil setuptools ]); + scons = scons; + mozjsVersion = "60"; + mozjsReplace = "defined(HAVE___SINCOS)"; + } + else { python = python27.withPackages (ps: with ps; [ pyyaml typing cheetah ]); + scons = scons.py2; + mozjsVersion = "45"; + mozjsReplace = "defined(HAVE_SINCOS)"; + }; python = python27.withPackages (ps: with ps; [ pyyaml typing cheetah ]); system-libraries = [ "boost" @@ -34,7 +45,7 @@ in stdenv.mkDerivation rec { inherit sha256; }; - nativeBuildInputs = [ scons.py2 ]; + nativeBuildInputs = [ variants.scons ]; buildInputs = [ boost curl @@ -43,7 +54,7 @@ in stdenv.mkDerivation rec { libyamlcpp openssl pcre-cpp - python + variants.python sasl snappy zlib @@ -59,7 +70,7 @@ in stdenv.mkDerivation rec { substituteInPlace SConstruct \ --replace "env = Environment(" "env = Environment(ENV = os.environ," '' + stdenv.lib.optionalString stdenv.isDarwin '' - substituteInPlace src/third_party/mozjs-45/extract/js/src/jsmath.cpp --replace 'defined(HAVE_SINCOS)' 0 + substituteInPlace src/third_party/mozjs-${variants.mozjsVersion}/extract/js/src/jsmath.cpp --replace '${variants.mozjsReplace}' 0 substituteInPlace src/third_party/s2/s1angle.cc --replace drem remainder substituteInPlace src/third_party/s2/s1interval.cc --replace drem remainder diff --git a/pkgs/servers/nosql/mongodb/v4_2.nix b/pkgs/servers/nosql/mongodb/v4_2.nix new file mode 100644 index 0000000000000..3ebe69daca1bd --- /dev/null +++ b/pkgs/servers/nosql/mongodb/v4_2.nix @@ -0,0 +1,17 @@ +{ stdenv, callPackage, lib, sasl, boost, Security, CoreFoundation, cctools }: + +let + buildMongoDB = callPackage ./mongodb.nix { + inherit sasl; + inherit boost; + inherit Security; + inherit CoreFoundation; + inherit cctools; + }; +in buildMongoDB { + version = "4.2.8"; + sha256 = "13yvhi1258skdni00bh6ph609whqsmhiimhyqy1gs2liwdvh5278"; + patches = + [ ./forget-build-dependencies-4-2.patch ] + ++ stdenv.lib.optionals stdenv.isDarwin [ ./asio-no-experimental-string-view-4-2.patch ]; +} |