Merge pull request #137939 from kfiz/update-mongodb-44/50
Update mongodb to 4.4/5.0
This commit is contained in:
commit
1a70fa8acb
8 changed files with 126 additions and 9 deletions
|
@ -37,6 +37,8 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
||||||
mongodb-3_6
|
mongodb-3_6
|
||||||
mongodb-4_0
|
mongodb-4_0
|
||||||
mongodb-4_2
|
mongodb-4_2
|
||||||
|
mongodb-4_4
|
||||||
|
mongodb-5_0
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -48,6 +50,8 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
||||||
+ runMongoDBTest pkgs.mongodb-3_6
|
+ runMongoDBTest pkgs.mongodb-3_6
|
||||||
+ runMongoDBTest pkgs.mongodb-4_0
|
+ runMongoDBTest pkgs.mongodb-4_0
|
||||||
+ runMongoDBTest pkgs.mongodb-4_2
|
+ runMongoDBTest pkgs.mongodb-4_2
|
||||||
|
+ runMongoDBTest pkgs.mongodb-4_4
|
||||||
|
+ runMongoDBTest pkgs.mongodb-5_0
|
||||||
+ ''
|
+ ''
|
||||||
node.shutdown()
|
node.shutdown()
|
||||||
'';
|
'';
|
||||||
|
|
14
pkgs/servers/nosql/mongodb/4.4.nix
Normal file
14
pkgs/servers/nosql/mongodb/4.4.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{ stdenv, callPackage, lib, sasl, boost, Security, CoreFoundation, cctools }:
|
||||||
|
|
||||||
|
let
|
||||||
|
buildMongoDB = callPackage ./mongodb.nix {
|
||||||
|
inherit sasl boost Security CoreFoundation cctools;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
buildMongoDB {
|
||||||
|
version = "4.4.13";
|
||||||
|
sha256 = "sha256-ebg3R6P+tjRvizDzsl7mZzhTfqIaRJPfHBu0IfRvtS8=";
|
||||||
|
patches = [
|
||||||
|
./forget-build-dependencies-4-4.patch
|
||||||
|
] ++ lib.optionals stdenv.isDarwin [ ./asio-no-experimental-string-view-4-4.patch ];
|
||||||
|
}
|
25
pkgs/servers/nosql/mongodb/5.0.nix
Normal file
25
pkgs/servers/nosql/mongodb/5.0.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{ stdenv, callPackage, lib, sasl, boost, Security, CoreFoundation, cctools }:
|
||||||
|
|
||||||
|
let
|
||||||
|
buildMongoDB = callPackage ./mongodb.nix {
|
||||||
|
inherit sasl boost Security CoreFoundation cctools;
|
||||||
|
};
|
||||||
|
variants = if stdenv.isLinux then
|
||||||
|
{
|
||||||
|
version = "5.0.7";
|
||||||
|
sha256 = "sha256-1PeDBZJNqJXHH/cSh2e+WR0PfS/b7XuJEzkkbrRT/gc=";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
version = "5.0.3"; # at least darwin has to stay on 5.0.3 until the SDK used by nixpkgs is bumped to 10.13
|
||||||
|
sha256 = "1p9pq0dfd6lynvnz5p1c8dqp4filzrz86j840xwxwx82dm1zl6p0";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
buildMongoDB {
|
||||||
|
version = variants.version;
|
||||||
|
sha256 = variants.sha256;
|
||||||
|
patches = [
|
||||||
|
./forget-build-dependencies-4-4.patch
|
||||||
|
./asio-no-experimental-string-view-4-4.patch
|
||||||
|
];
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
--- 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)
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
--- a/site_scons/mongo/generators.py
|
||||||
|
+++ b/site_scons/mongo/generators.py
|
||||||
|
@@ -34,30 +34,12 @@ def default_buildinfo_environment_data():
|
||||||
|
False,
|
||||||
|
),
|
||||||
|
(
|
||||||
|
- 'ccflags',
|
||||||
|
- '$CCFLAGS',
|
||||||
|
- True,
|
||||||
|
- False,
|
||||||
|
- ),
|
||||||
|
- (
|
||||||
|
'cxx',
|
||||||
|
'$CXX_VERSION',
|
||||||
|
True,
|
||||||
|
False,
|
||||||
|
),
|
||||||
|
(
|
||||||
|
- 'cxxflags',
|
||||||
|
- '$CXXFLAGS',
|
||||||
|
- True,
|
||||||
|
- False,
|
||||||
|
- ),
|
||||||
|
- (
|
||||||
|
- 'linkflags',
|
||||||
|
- '$LINKFLAGS',
|
||||||
|
- True,
|
||||||
|
- False,
|
||||||
|
- ),
|
||||||
|
- (
|
||||||
|
'target_arch',
|
||||||
|
'$TARGET_ARCH',
|
||||||
|
True,
|
|
@ -1,5 +1,5 @@
|
||||||
{ lib, stdenv, fetchurl, sconsPackages, boost, gperftools, pcre-cpp, snappy, zlib, libyamlcpp
|
{ lib, stdenv, fetchurl, sconsPackages, boost, gperftools, pcre-cpp, snappy, zlib, libyamlcpp
|
||||||
, sasl, openssl, libpcap, curl, Security, CoreFoundation, cctools }:
|
, sasl, openssl, libpcap, python3, curl, Security, CoreFoundation, cctools, xz }:
|
||||||
|
|
||||||
# Note:
|
# Note:
|
||||||
# The command line tools are written in Go as part of a different package (mongodb-tools)
|
# The command line tools are written in Go as part of a different package (mongodb-tools)
|
||||||
|
@ -8,12 +8,12 @@ with lib;
|
||||||
|
|
||||||
{ version, sha256, patches ? []
|
{ version, sha256, patches ? []
|
||||||
, license ? lib.licenses.sspl
|
, license ? lib.licenses.sspl
|
||||||
}@args:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
variants = if versionAtLeast version "4.2"
|
variants = if versionAtLeast version "4.2"
|
||||||
then rec { python = scons.python.withPackages (ps: with ps; [ pyyaml cheetah3 psutil setuptools ]);
|
then rec { python = scons.python.withPackages (ps: with ps; [ pyyaml cheetah3 psutil setuptools ]);
|
||||||
scons = sconsPackages.scons_latest;
|
scons = sconsPackages.scons_3_1_2.override { python = python3; }; # 4.2 < mongodb <= 5.0.x needs scons 3.x built with python3
|
||||||
mozjsVersion = "60";
|
mozjsVersion = "60";
|
||||||
mozjsReplace = "defined(HAVE___SINCOS)";
|
mozjsReplace = "defined(HAVE___SINCOS)";
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,9 @@ in stdenv.mkDerivation rec {
|
||||||
inherit sha256;
|
inherit sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ variants.scons ];
|
nativeBuildInputs = [ variants.scons ]
|
||||||
|
++ lib.optionals (versionAtLeast version "4.4") [ xz ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
boost
|
boost
|
||||||
curl
|
curl
|
||||||
|
@ -70,7 +72,6 @@ in stdenv.mkDerivation rec {
|
||||||
--replace "env = Environment(" "env = Environment(ENV = os.environ,"
|
--replace "env = Environment(" "env = Environment(ENV = os.environ,"
|
||||||
'' + lib.optionalString stdenv.isDarwin ''
|
'' + lib.optionalString stdenv.isDarwin ''
|
||||||
substituteInPlace src/third_party/mozjs-${variants.mozjsVersion}/extract/js/src/jsmath.cpp --replace '${variants.mozjsReplace}' 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/s1angle.cc --replace drem remainder
|
||||||
substituteInPlace src/third_party/s2/s1interval.cc --replace drem remainder
|
substituteInPlace src/third_party/s2/s1interval.cc --replace drem remainder
|
||||||
substituteInPlace src/third_party/s2/s2cap.cc --replace drem remainder
|
substituteInPlace src/third_party/s2/s2cap.cc --replace drem remainder
|
||||||
|
@ -95,7 +96,8 @@ in stdenv.mkDerivation rec {
|
||||||
"--use-sasl-client"
|
"--use-sasl-client"
|
||||||
"--disable-warnings-as-errors"
|
"--disable-warnings-as-errors"
|
||||||
"VARIANT_DIR=nixos" # Needed so we don't produce argument lists that are too long for gcc / ld
|
"VARIANT_DIR=nixos" # Needed so we don't produce argument lists that are too long for gcc / ld
|
||||||
] ++ map (lib: "--use-system-${lib}") system-libraries;
|
] ++ lib.optionals (versionAtLeast version "4.4") [ "--link-model=static" ]
|
||||||
|
++ map (lib: "--use-system-${lib}") system-libraries;
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
sconsFlags+=" CC=$CC"
|
sconsFlags+=" CC=$CC"
|
||||||
|
@ -119,7 +121,9 @@ in stdenv.mkDerivation rec {
|
||||||
runHook postInstallCheck
|
runHook postInstallCheck
|
||||||
'';
|
'';
|
||||||
|
|
||||||
prefixKey = "--prefix=";
|
installTargets = if (versionAtLeast version "4.4") then "install-core" else "install";
|
||||||
|
|
||||||
|
prefixKey = if (versionAtLeast version "4.4") then "DESTDIR=" else "--prefix=";
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@ let
|
||||||
inherit cctools;
|
inherit cctools;
|
||||||
};
|
};
|
||||||
in buildMongoDB {
|
in buildMongoDB {
|
||||||
version = "4.2.17";
|
version = "4.2.19";
|
||||||
sha256 = "sha256-4ynvImVjN674VdD/bJ55Vy/IrOlMN8iZb2PAhxwbv1A=";
|
sha256 = "sha256-fngTHd+fSdHqiqQYOYS7o6P5eHybeZy3iNKkGzFmjTw=";
|
||||||
patches =
|
patches =
|
||||||
[ ./forget-build-dependencies-4-2.patch ]
|
[ ./forget-build-dependencies-4-2.patch ]
|
||||||
++ lib.optionals stdenv.isDarwin [ ./asio-no-experimental-string-view-4-2.patch ];
|
++ lib.optionals stdenv.isDarwin [ ./asio-no-experimental-string-view-4-2.patch ];
|
||||||
|
|
|
@ -21798,6 +21798,20 @@ with pkgs;
|
||||||
inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
|
inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mongodb-4_4 = callPackage ../servers/nosql/mongodb/4.4.nix {
|
||||||
|
sasl = cyrus_sasl;
|
||||||
|
boost = boost17x.override { enableShared = false; };
|
||||||
|
inherit (darwin) cctools;
|
||||||
|
inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
|
||||||
|
};
|
||||||
|
|
||||||
|
mongodb-5_0 = callPackage ../servers/nosql/mongodb/5.0.nix {
|
||||||
|
sasl = cyrus_sasl;
|
||||||
|
boost = boost17x.override { enableShared = false; };
|
||||||
|
inherit (darwin) cctools;
|
||||||
|
inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
|
||||||
|
};
|
||||||
|
|
||||||
nginx-sso = callPackage ../servers/nginx-sso { };
|
nginx-sso = callPackage ../servers/nginx-sso { };
|
||||||
|
|
||||||
percona-server56 = callPackage ../servers/sql/percona/5.6.x.nix { };
|
percona-server56 = callPackage ../servers/sql/percona/5.6.x.nix { };
|
||||||
|
|
Loading…
Reference in a new issue