mongodb: split packages to expose 3.4, 3.6 and 4.0
This commit is contained in:
parent
e9bec1adf6
commit
97c4dff158
@ -0,0 +1,17 @@
|
|||||||
|
--- a/site_scons/mongo_scons_utils.py
|
||||||
|
+++ b/site_scons/mongo_scons_utils.py
|
||||||
|
@@ -84,14 +84,11 @@
|
||||||
|
def default_buildinfo_environment_data():
|
||||||
|
return (
|
||||||
|
('distmod', '$MONGO_DISTMOD', True, True,),
|
||||||
|
('distarch', '$MONGO_DISTARCH', True, True,),
|
||||||
|
('cc', '$CC_VERSION', True, False,),
|
||||||
|
- ('ccflags', '$CCFLAGS', True, False,),
|
||||||
|
('cxx', '$CXX_VERSION', True, False,),
|
||||||
|
- ('cxxflags', '$CXXFLAGS', True, False,),
|
||||||
|
- ('linkflags', '$LINKFLAGS', True, False,),
|
||||||
|
('target_arch', '$TARGET_ARCH', True, True,),
|
||||||
|
('target_os', '$TARGET_OS', True, False,),
|
||||||
|
)
|
||||||
|
|
||||||
|
# If you want buildInfo and --version to be relatively empty, set
|
@ -1,13 +1,15 @@
|
|||||||
{ stdenv, fetchurl, fetchpatch, scons, boost, gperftools, pcre-cpp, snappy, zlib,
|
{ stdenv, fetchurl, fetchpatch, scons, boost, gperftools, pcre-cpp, snappy, zlib
|
||||||
libyamlcpp, sasl, openssl, libpcap, wiredtiger, Security, python27, libtool, curl
|
, libyamlcpp, sasl, openssl, libpcap, wiredtiger, Security, python27, libtool
|
||||||
}:
|
, curl }:
|
||||||
|
|
||||||
# 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)
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
let version = "4.0.4";
|
{ version, sha256, patches ? [ ] }@args:
|
||||||
|
|
||||||
|
let
|
||||||
python = python27.withPackages (ps: with ps; [ pyyaml typing cheetah ]);
|
python = python27.withPackages (ps: with ps; [ pyyaml typing cheetah ]);
|
||||||
system-libraries = [
|
system-libraries = [
|
||||||
"pcre"
|
"pcre"
|
||||||
@ -22,28 +24,36 @@ let version = "4.0.4";
|
|||||||
] ++ optionals stdenv.isLinux [ "tcmalloc" ];
|
] ++ optionals stdenv.isLinux [ "tcmalloc" ];
|
||||||
inherit (stdenv.lib) systems subtractLists;
|
inherit (stdenv.lib) systems subtractLists;
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "mongodb";
|
|
||||||
inherit version;
|
inherit version;
|
||||||
|
name = "mongodb-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://fastdl.mongodb.org/src/mongodb-src-r${version}.tar.gz";
|
url = "https://fastdl.mongodb.org/src/mongodb-src-r${version}.tar.gz";
|
||||||
sha256 = "1qycwr9f99b5cy4nf54yv2y724xis3lwd2h6iv2pfp36qnhsvfh2";
|
inherit sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ scons ];
|
nativeBuildInputs = [ scons ];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
sasl boost gperftools pcre-cpp snappy
|
sasl
|
||||||
zlib libyamlcpp sasl openssl.dev openssl.out libpcap python curl
|
boost
|
||||||
|
gperftools
|
||||||
|
pcre-cpp
|
||||||
|
snappy
|
||||||
|
zlib
|
||||||
|
libyamlcpp
|
||||||
|
sasl
|
||||||
|
openssl.dev
|
||||||
|
openssl.out
|
||||||
|
libpcap
|
||||||
|
python
|
||||||
|
curl
|
||||||
] ++ stdenv.lib.optionals stdenv.isDarwin [ Security libtool ];
|
] ++ stdenv.lib.optionals stdenv.isDarwin [ Security libtool ];
|
||||||
|
|
||||||
patches =
|
|
||||||
[
|
|
||||||
# MongoDB keeps track of its build parameters, which tricks nix into
|
# MongoDB keeps track of its build parameters, which tricks nix into
|
||||||
# keeping dependencies to build inputs in the final output.
|
# keeping dependencies to build inputs in the final output.
|
||||||
# We remove the build flags from buildInfo data.
|
# We remove the build flags from buildInfo data.
|
||||||
./forget-build-dependencies.patch
|
inherit patches;
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
# fix environment variable reading
|
# fix environment variable reading
|
||||||
@ -63,7 +73,8 @@ in stdenv.mkDerivation {
|
|||||||
--replace 'engine("wiredTiger")' 'engine("mmapv1")'
|
--replace 'engine("wiredTiger")' 'engine("mmapv1")'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-unused-command-line-argument";
|
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang
|
||||||
|
"-Wno-unused-command-line-argument";
|
||||||
|
|
||||||
sconsFlags = [
|
sconsFlags = [
|
||||||
"--release"
|
"--release"
|
||||||
@ -84,11 +95,11 @@ in stdenv.mkDerivation {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
preInstall = ''
|
preInstall = ''
|
||||||
mkdir -p $out/lib
|
mkdir -p "$out/lib"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
rm $out/bin/install_compass
|
rm -f "$out/bin/install_compass" || true
|
||||||
'';
|
'';
|
||||||
|
|
||||||
prefixKey = "--prefix=";
|
prefixKey = "--prefix=";
|
||||||
@ -99,7 +110,7 @@ in stdenv.mkDerivation {
|
|||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "A scalable, high-performance, open source NoSQL database";
|
description = "A scalable, high-performance, open source NoSQL database";
|
||||||
homepage = http://www.mongodb.org;
|
homepage = "http://www.mongodb.org";
|
||||||
license = licenses.sspl;
|
license = licenses.sspl;
|
||||||
broken = stdenv.hostPlatform.isAarch64; # g++ has internal compiler errors
|
broken = stdenv.hostPlatform.isAarch64; # g++ has internal compiler errors
|
||||||
|
|
12
pkgs/servers/nosql/mongodb/v3_4.nix
Normal file
12
pkgs/servers/nosql/mongodb/v3_4.nix
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{ stdenv, callPackage, lib, sasl, boost, Security }:
|
||||||
|
|
||||||
|
let
|
||||||
|
buildMongoDB = callPackage ./mongodb.nix { inherit sasl; inherit boost; inherit Security; };
|
||||||
|
in
|
||||||
|
buildMongoDB {
|
||||||
|
version = "3.4.20";
|
||||||
|
sha256 = "15avrhakbspz0q1w5n7dqzjjfkxi7md64a9axl97gfxi4ln7mhz0";
|
||||||
|
patches = [
|
||||||
|
./forget-build-dependencies-3-4.patch
|
||||||
|
];
|
||||||
|
}
|
12
pkgs/servers/nosql/mongodb/v3_6.nix
Normal file
12
pkgs/servers/nosql/mongodb/v3_6.nix
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{ stdenv, callPackage, lib, sasl, boost, Security }:
|
||||||
|
|
||||||
|
let
|
||||||
|
buildMongoDB = callPackage ./mongodb.nix { inherit sasl; inherit boost; inherit Security; };
|
||||||
|
in
|
||||||
|
buildMongoDB {
|
||||||
|
version = "3.6.12";
|
||||||
|
sha256 = "1fi1ccid4rnfjg6yn3183qrhjqc8hz7jfgdpwp1dy6piw6z85n3l";
|
||||||
|
patches = [
|
||||||
|
./forget-build-dependencies.patch
|
||||||
|
];
|
||||||
|
}
|
12
pkgs/servers/nosql/mongodb/v4_0.nix
Normal file
12
pkgs/servers/nosql/mongodb/v4_0.nix
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{ stdenv, callPackage, lib, sasl, boost, Security }:
|
||||||
|
|
||||||
|
let
|
||||||
|
buildMongoDB = callPackage ./mongodb.nix { inherit sasl; inherit boost; inherit Security; };
|
||||||
|
in
|
||||||
|
buildMongoDB {
|
||||||
|
version = "4.0.9";
|
||||||
|
sha256 = "0klm6dl1pr9wq4ghm2jjn3wzs1zpj1aabqjqjfddanxq2an7scph";
|
||||||
|
patches = [
|
||||||
|
./forget-build-dependencies.patch
|
||||||
|
];
|
||||||
|
}
|
@ -15894,7 +15894,21 @@ in
|
|||||||
};
|
};
|
||||||
mysql = mariadb; # TODO: move to aliases.nix
|
mysql = mariadb; # TODO: move to aliases.nix
|
||||||
|
|
||||||
mongodb = callPackage ../servers/nosql/mongodb {
|
mongodb = hiPrio mongodb-3_4;
|
||||||
|
|
||||||
|
mongodb-3_4 = callPackage ../servers/nosql/mongodb/v3_4.nix {
|
||||||
|
sasl = cyrus_sasl;
|
||||||
|
boost = boost160;
|
||||||
|
inherit (darwin.apple_sdk.frameworks) Security;
|
||||||
|
};
|
||||||
|
|
||||||
|
mongodb-3_6 = callPackage ../servers/nosql/mongodb/v3_6.nix {
|
||||||
|
sasl = cyrus_sasl;
|
||||||
|
boost = boost160;
|
||||||
|
inherit (darwin.apple_sdk.frameworks) Security;
|
||||||
|
};
|
||||||
|
|
||||||
|
mongodb-4_0 = callPackage ../servers/nosql/mongodb/v4_0.nix {
|
||||||
sasl = cyrus_sasl;
|
sasl = cyrus_sasl;
|
||||||
boost = boost160;
|
boost = boost160;
|
||||||
openssl = openssl_1_0_2;
|
openssl = openssl_1_0_2;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user