diff --git a/pkgs/servers/nosql/mongodb/6.0.nix b/pkgs/servers/nosql/mongodb/6.0.nix new file mode 100644 index 000000000000..ef3aa77278ca --- /dev/null +++ b/pkgs/servers/nosql/mongodb/6.0.nix @@ -0,0 +1,12 @@ +{ stdenv, callPackage, lib, sasl, boost, Security, CoreFoundation, cctools }: + +let + buildMongoDB = callPackage ./mongodb.nix { + inherit sasl boost Security CoreFoundation cctools; + }; +in +buildMongoDB { + version = "6.0.1"; + sha256 = "sha256-3LdyPHj2t7JskCJh6flCYl6qjfAbRXHsi+19L+0O2Zs="; + patches = [ ]; +} diff --git a/pkgs/servers/nosql/mongodb/mongodb.nix b/pkgs/servers/nosql/mongodb/mongodb.nix index 82837e87d1a6..88dcfdcb7080 100644 --- a/pkgs/servers/nosql/mongodb/mongodb.nix +++ b/pkgs/servers/nosql/mongodb/mongodb.nix @@ -1,8 +1,27 @@ -{ lib, stdenv, fetchurl, sconsPackages, boost, gperftools, pcre-cpp, snappy, zlib, libyamlcpp -, sasl, openssl, libpcap, python3, curl, Security, CoreFoundation, cctools, xz }: +{ lib +, stdenv +, fetchurl +, sconsPackages +, boost +, gperftools +, pcre-cpp +, snappy +, zlib +, libyamlcpp +, sasl +, openssl +, libpcap +, python3 +, curl +, Security +, CoreFoundation +, cctools +, xz +}: # Note: -# The command line tools are written in Go as part of a different package (mongodb-tools) +# The command line administrative tools are part of other packages: +# see pkgs.mongodb-tools and pkgs.mongosh. with lib; @@ -11,17 +30,49 @@ with lib; }: let - variants = if versionAtLeast version "4.2" - then rec { python = scons.python.withPackages (ps: with ps; [ pyyaml cheetah3 psutil setuptools ]); - scons = sconsPackages.scons_3_1_2.override { python = python3; }; # 4.2 < mongodb <= 5.0.x needs scons 3.x built with python3 - mozjsVersion = "60"; - mozjsReplace = "defined(HAVE___SINCOS)"; - } - else rec { python = scons.python.withPackages (ps: with ps; [ pyyaml typing cheetah ]); - scons = sconsPackages.scons_3_1_2; - mozjsVersion = "45"; - mozjsReplace = "defined(HAVE_SINCOS)"; - }; + variants = + if versionAtLeast version "6.0" then rec { + python = scons.python.withPackages (ps: with ps; [ + pyyaml + cheetah3 + psutil + setuptools + packaging + pymongo + ]); + + # 4.2 < mongodb <= 6.0.x needs scons 3.x built with python3 + scons = sconsPackages.scons_3_1_2.override { python = python3; }; + + mozjsVersion = "60"; + mozjsReplace = "defined(HAVE___SINCOS)"; + + } else if versionAtLeast version "4.2" then rec { + python = scons.python.withPackages (ps: with ps; [ + pyyaml + cheetah3 + psutil + setuptools + ]); + + # 4.2 < mongodb <= 5.0.x needs scons 3.x built with python3 + scons = sconsPackages.scons_3_1_2.override { python = python3; }; + + mozjsVersion = "60"; + mozjsReplace = "defined(HAVE___SINCOS)"; + + } else rec { + python = scons.python.withPackages (ps: with ps; [ + pyyaml + typing + cheetah + ]); + + scons = sconsPackages.scons_3_1_2; + mozjsVersion = "45"; + mozjsReplace = "defined(HAVE_SINCOS)"; + }; + system-libraries = [ "boost" "pcre" @@ -129,7 +180,10 @@ in stdenv.mkDerivation rec { runHook postInstallCheck ''; - installTargets = if (versionAtLeast version "4.4") then "install-core" else "install"; + installTargets = + if (versionAtLeast version "6.0") then "install-devcore" + else if (versionAtLeast version "4.4") then "install-core" + else "install"; prefixKey = if (versionAtLeast version "4.4") then "DESTDIR=" else "--prefix="; @@ -143,6 +197,9 @@ in stdenv.mkDerivation rec { inherit license; maintainers = with maintainers; [ bluescreen303 offline cstrahan ]; - platforms = subtractLists systems.doubles.i686 systems.doubles.unix; + platforms = subtractLists systems.doubles.i686 ( + if (versionAtLeast version "6.0") then systems.doubles.linux + else systems.doubles.unix + ); }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5f2987bd69d5..1152a97341d5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23725,6 +23725,13 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) CoreFoundation Security; }; + mongodb-6_0 = callPackage ../servers/nosql/mongodb/6.0.nix { + sasl = cyrus_sasl; + boost = boost178.override { enableShared = false; }; + inherit (darwin) cctools; + inherit (darwin.apple_sdk.frameworks) CoreFoundation Security; + }; + nginx-sso = callPackage ../servers/nginx-sso { }; percona-server56 = callPackage ../servers/sql/percona/5.6.x.nix {