diff --git a/flake.nix b/flake.nix
index a6828c98fb51..52fd2f82a37e 100644
--- a/flake.nix
+++ b/flake.nix
@@ -25,7 +25,7 @@
import ./nixos/lib/eval-config.nix (args // {
modules = modules ++
[ { system.nixos.versionSuffix =
- ".${lib.substring 0 8 self.lastModified}.${self.shortRev or "dirty"}";
+ ".${lib.substring 0 8 (self.lastModifiedDate or self.lastModified)}.${self.shortRev or "dirty"}";
system.nixos.revision = lib.mkIf (self ? rev) self.rev;
}
];
diff --git a/lib/licenses.nix b/lib/licenses.nix
index e2f94e565ce2..e37eb57cff97 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/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml
index d9932fbfc904..fc48b0447bb9 100644
--- a/nixos/doc/manual/release-notes/rl-2003.xml
+++ b/nixos/doc/manual/release-notes/rl-2003.xml
@@ -1007,6 +1007,12 @@ auth required pam_succeed_if.so uid >= 1000 quiet
+
+
+ The TokuDB storage engine will be disabled in mariadb 10.5. It is recommended to switch
+ to RocksDB. See also TokuDB.
+
+
@@ -1135,6 +1141,20 @@ auth required pam_succeed_if.so uid >= 1000 quiet
not systemd-networkd.
+
+
+ mongodb has been updated to version 3.4.24.
+
+
+ Please note that mongodb has been relicensed under their own
+
+ sspl-license. Since it's not entirely free and not OSI-approved,
+ it's listed as non-free. This means that Hydra doesn't provide prebuilt
+ mongodb-packages and needs to be built locally.
+
+
+
+
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 979cdc5d4ad4..85e5534e906f 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -133,7 +133,7 @@ in
tcpcryptd = 93; # tcpcryptd uses a hard-coded uid. We patch it in Nixpkgs to match this choice.
firebird = 95;
#keys = 96; # unused
- #haproxy = 97; # DynamicUser as of 2019-11-08
+ #haproxy = 97; # dynamically allocated as of 2020-03-11
mongodb = 98;
openldap = 99;
#users = 100; # unused
@@ -448,7 +448,7 @@ in
#tcpcryptd = 93; # unused
firebird = 95;
keys = 96;
- #haproxy = 97; # DynamicUser as of 2019-11-08
+ #haproxy = 97; # dynamically allocated as of 2020-03-11
#mongodb = 98; # unused
openldap = 99;
munin = 102;
diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix
index 17c3582db0f6..8203cb13e506 100644
--- a/nixos/modules/services/misc/nix-daemon.nix
+++ b/nixos/modules/services/misc/nix-daemon.nix
@@ -376,6 +376,59 @@ in
If enabled (the default), checks that Nix can parse the generated nix.conf.
'';
};
+
+ registry = mkOption {
+ type = types.attrsOf (types.submodule (
+ let
+ inputAttrs = types.attrsOf (types.oneOf [types.str types.int types.bool types.package]);
+ in
+ { config, name, ... }:
+ { options = {
+ from = mkOption {
+ type = inputAttrs;
+ example = { type = "indirect"; id = "nixpkgs"; };
+ description = "The flake reference to be rewritten.";
+ };
+ to = mkOption {
+ type = inputAttrs;
+ example = { type = "github"; owner = "my-org"; repo = "my-nixpkgs"; };
+ description = "The flake reference to which is to be rewritten.";
+ };
+ flake = mkOption {
+ type = types.unspecified;
+ default = null;
+ example = literalExample "nixpkgs";
+ description = ''
+ The flake input to which is to be rewritten.
+ '';
+ };
+ exact = mkOption {
+ type = types.bool;
+ default = true;
+ description = ''
+ Whether the reference needs to match exactly. If set,
+ a reference like nixpkgs does not
+ match with a reference like nixpkgs/nixos-20.03.
+ '';
+ };
+ };
+ config = {
+ from = mkDefault { type = "indirect"; id = name; };
+ to = mkIf (config.flake != null)
+ ({ type = "path";
+ path = config.flake.outPath;
+ } // lib.filterAttrs
+ (n: v: n == "lastModified" || n == "rev" || n == "revCount" || n == "narHash")
+ config.flake);
+ };
+ }
+ ));
+ default = {};
+ description = ''
+ A system-wide flake registry.
+ '';
+ };
+
};
};
@@ -390,6 +443,11 @@ in
environment.etc."nix/nix.conf".source = nixConf;
+ environment.etc."nix/registry.json".text = builtins.toJSON {
+ version = 2;
+ flakes = mapAttrsToList (n: v: { inherit (v) from to exact; }) cfg.registry;
+ };
+
# List of machines for distributed Nix builds in the format
# expected by build-remote.pl.
environment.etc."nix/machines" =
diff --git a/nixos/modules/services/networking/haproxy.nix b/nixos/modules/services/networking/haproxy.nix
index aff71e5e97da..4678829986c6 100644
--- a/nixos/modules/services/networking/haproxy.nix
+++ b/nixos/modules/services/networking/haproxy.nix
@@ -26,6 +26,18 @@ with lib;
'';
};
+ user = mkOption {
+ type = types.str;
+ default = "haproxy";
+ description = "User account under which haproxy runs.";
+ };
+
+ group = mkOption {
+ type = types.str;
+ default = "haproxy";
+ description = "Group account under which haproxy runs.";
+ };
+
config = mkOption {
type = types.nullOr types.lines;
default = null;
@@ -49,7 +61,8 @@ with lib;
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
- DynamicUser = true;
+ User = cfg.user;
+ Group = cfg.group;
Type = "notify";
# when running the config test, don't be quiet so we can see what goes wrong
ExecStartPre = "${pkgs.haproxy}/sbin/haproxy -c -f ${haproxyCfg}";
@@ -60,5 +73,16 @@ with lib;
AmbientCapabilities = "CAP_NET_BIND_SERVICE";
};
};
+
+ users.users = optionalAttrs (cfg.user == "haproxy") {
+ haproxy = {
+ group = cfg.group;
+ isSystemUser = true;
+ };
+ };
+
+ users.groups = optionalAttrs (cfg.group == "haproxy") {
+ haproxy = {};
+ };
};
}
diff --git a/nixos/modules/services/web-apps/moinmoin.nix b/nixos/modules/services/web-apps/moinmoin.nix
index 0fee64be0bb2..dc7abce2a5cb 100644
--- a/nixos/modules/services/web-apps/moinmoin.nix
+++ b/nixos/modules/services/web-apps/moinmoin.nix
@@ -299,5 +299,5 @@ in
])));
};
- meta.maintainers = with lib.maintainers; [ b42 ];
+ meta.maintainers = with lib.maintainers; [ mmilata ];
}
diff --git a/nixos/tests/mongodb.nix b/nixos/tests/mongodb.nix
index 9ebf84eed232..a637ec4bfc00 100644
--- a/nixos/tests/mongodb.nix
+++ b/nixos/tests/mongodb.nix
@@ -1,42 +1,52 @@
# This test start mongodb, runs a query using mongo shell
-import ./make-test-python.nix ({ pkgs, ...} : let
- testQuery = pkgs.writeScript "nixtest.js" ''
- db.greetings.insert({ "greeting": "hello" });
- print(db.greetings.findOne().greeting);
- '';
-in {
- name = "mongodb";
- meta = with pkgs.stdenv.lib.maintainers; {
- maintainers = [ bluescreen303 offline cstrahan rvl phile314 ];
- };
+import ./make-test-python.nix ({ pkgs, ... }:
+ let
+ testQuery = pkgs.writeScript "nixtest.js" ''
+ db.greetings.insert({ "greeting": "hello" });
+ print(db.greetings.findOne().greeting);
+ '';
- nodes = {
- one =
- { ... }:
- {
- services = {
- mongodb.enable = true;
- mongodb.enableAuth = true;
- mongodb.initialRootPassword = "root";
- mongodb.initialScript = pkgs.writeText "mongodb_initial.js" ''
- db = db.getSiblingDB("nixtest");
- db.createUser({user:"nixtest",pwd:"nixtest",roles:[{role:"readWrite",db:"nixtest"}]});
- '';
- mongodb.extraConfig = ''
- # Allow starting engine with only a small virtual disk
- storage.journal.enabled: false
- storage.mmapv1.smallFiles: true
- '';
- };
- };
+ runMongoDBTest = pkg: ''
+ node.execute("(rm -rf data || true) && mkdir data")
+ node.execute(
+ "${pkg}/bin/mongod --fork --logpath logs --dbpath data"
+ )
+ node.wait_for_open_port(27017)
+
+ assert "hello" in node.succeed(
+ "mongo ${testQuery}"
+ )
+
+ node.execute(
+ "${pkg}/bin/mongod --shutdown --dbpath data"
+ )
+ node.wait_for_closed_port(27017)
+ '';
+
+ in {
+ name = "mongodb";
+ meta = with pkgs.stdenv.lib.maintainers; {
+ maintainers = [ bluescreen303 offline cstrahan rvl phile314 ];
};
- testScript = ''
- start_all()
- one.wait_for_unit("mongodb.service")
- one.succeed(
- "mongo -u nixtest -p nixtest nixtest ${testQuery} | grep -q hello"
- )
- '';
-})
+ nodes = {
+ node = {...}: {
+ environment.systemPackages = with pkgs; [
+ mongodb-3_4
+ mongodb-3_6
+ mongodb-4_0
+ ];
+ };
+ };
+
+ testScript = ''
+ node.start()
+ ''
+ + runMongoDBTest pkgs.mongodb-3_4
+ + runMongoDBTest pkgs.mongodb-3_6
+ + runMongoDBTest pkgs.mongodb-4_0
+ + ''
+ node.shutdown()
+ '';
+ })
diff --git a/nixos/tests/postgresql-wal-receiver.nix b/nixos/tests/postgresql-wal-receiver.nix
index 791b041ba95b..372dd9d8c1c1 100644
--- a/nixos/tests/postgresql-wal-receiver.nix
+++ b/nixos/tests/postgresql-wal-receiver.nix
@@ -6,17 +6,24 @@ with import ../lib/testing.nix { inherit system pkgs; };
with pkgs.lib;
let
+ makePostgresqlWalReceiverTest = subTestName: postgresqlPackage: let
+
postgresqlDataDir = "/var/db/postgresql/test";
replicationUser = "wal_receiver_user";
replicationSlot = "wal_receiver_slot";
replicationConn = "postgresql://${replicationUser}@localhost";
baseBackupDir = "/tmp/pg_basebackup";
walBackupDir = "/tmp/pg_wal";
- recoveryConf = pkgs.writeText "recovery.conf" ''
+ atLeast12 = versionAtLeast postgresqlPackage.version "12.0";
+ restoreCommand = ''
restore_command = 'cp ${walBackupDir}/%f %p'
'';
- makePostgresqlWalReceiverTest = subTestName: postgresqlPackage: makeTest {
+ recoveryFile = if atLeast12
+ then pkgs.writeTextDir "recovery.signal" ""
+ else pkgs.writeTextDir "recovery.conf" "${restoreCommand}";
+
+ in makeTest {
name = "postgresql-wal-receiver-${subTestName}";
meta.maintainers = with maintainers; [ pacien ];
@@ -29,6 +36,9 @@ let
wal_level = archive # alias for replica on pg >= 9.6
max_wal_senders = 10
max_replication_slots = 10
+ '' + optionalString atLeast12 ''
+ ${restoreCommand}
+ recovery_end_command = 'touch recovery.done'
'';
authentication = ''
host replication ${replicationUser} all trust
@@ -45,6 +55,9 @@ let
slot = replicationSlot;
directory = walBackupDir;
};
+ # This is only to speedup test, it isn't time racing. Service is set to autorestart always,
+ # default 60sec is fine for real system, but is too much for a test
+ systemd.services.postgresql-wal-receiver-main.serviceConfig.RestartSec = mkForce 5;
};
testScript = ''
@@ -70,7 +83,7 @@ let
# prepare WAL and recovery
$machine->succeed('chmod a+rX -R ${walBackupDir}');
$machine->execute('for part in ${walBackupDir}/*.partial; do mv $part ''${part%%.*}; done'); # make use of partial segments too
- $machine->succeed('cp ${recoveryConf} ${postgresqlDataDir}/recovery.conf && chmod 666 ${postgresqlDataDir}/recovery.conf');
+ $machine->succeed('cp ${recoveryFile}/* ${postgresqlDataDir}/ && chmod 666 ${postgresqlDataDir}/recovery*');
# replay WAL
$machine->systemctl('start postgresql');
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 7b5c995e806d..420dc5811c7c 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -21,9 +21,11 @@
# optional dependencies
, libgcrypt ? null # gnomeSupport || cupsSupport
, libva ? null # useVaapi
+, libdrm ? null, wayland ? null, mesa_drivers ? null, libxkbcommon ? null # useOzone
# package customization
, useVaapi ? false
+, useOzone ? false
, gnomeSupport ? false, gnome ? null
, gnomeKeyringSupport ? false, libgnome-keyring3 ? null
, proprietaryCodecs ? true
@@ -129,7 +131,8 @@ let
++ optionals gnomeSupport [ gnome.GConf libgcrypt ]
++ optionals cupsSupport [ libgcrypt cups ]
++ optional useVaapi libva
- ++ optional pulseSupport libpulseaudio;
+ ++ optional pulseSupport libpulseaudio
+ ++ optionals useOzone [ libdrm wayland mesa_drivers libxkbcommon ];
patches = [
./patches/nix_plugin_paths_68.patch
@@ -146,6 +149,9 @@ let
#
# ++ optionals (channel == "dev") [ ( githubPatch "" "0000000000000000000000000000000000000000000000000000000000000000" ) ]
# ++ optional (versionRange "68" "72") ( githubPatch "" "0000000000000000000000000000000000000000000000000000000000000000" )
+ ] ++ optionals (versionRange "80" "82.0.4076.0") [
+ # fix race condition in the interaction with pulseaudio
+ (githubPatch "704dc99bd05a94eb61202e6127df94ddfd571e85" "0nzwzfwliwl0959j35l0gn94sbsnkghs3dh1b9ka278gi7q4648z")
] ++ optionals (useVaapi) [
# source: https://aur.archlinux.org/cgit/aur.git/tree/vaapi-fix.patch?h=chromium-vaapi
./patches/vaapi-fix.patch
@@ -259,6 +265,16 @@ let
} // optionalAttrs pulseSupport {
use_pulseaudio = true;
link_pulseaudio = true;
+ } // optionalAttrs useOzone {
+ use_ozone = true;
+ ozone_platform_gbm = false;
+ use_xkbcommon = true;
+ use_glib = true;
+ use_gtk = true;
+ use_system_libwayland = true;
+ use_system_minigbm = true;
+ use_system_libdrm = true;
+ system_wayland_scanner_path = "${wayland}/bin/wayland-scanner";
} // (extraAttrs.gnFlags or {}));
configurePhase = ''
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index c3522e17379b..677a7ed3558b 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -13,6 +13,7 @@
, enablePepperFlash ? false
, enableWideVine ? false
, useVaapi ? false # test video on radeon, before enabling this
+, useOzone ? false
, cupsSupport ? true
, pulseSupport ? config.pulseaudio or stdenv.isLinux
, commandLineArgs ? ""
@@ -30,7 +31,7 @@ let
upstream-info = (callPackage ./update.nix {}).getChannel channel;
mkChromiumDerivation = callPackage ./common.nix {
- inherit gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport useVaapi;
+ inherit gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport useVaapi useOzone;
};
browser = callPackage ./browser.nix { inherit channel enableWideVine; };
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index 0e939f2fd219..7b44919043a8 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory.
{
beta = {
- sha256 = "177hv5jkgpcbi6khk7j883rf3rzzkjmi8cqqpzckaiw7pcwsvyvd";
- sha256bin64 = "0sicz51d2l3gj70mfpyh5idwarjl19pba5lc6ahznxxqsrjfp80r";
- version = "81.0.4044.69";
+ sha256 = "0i0szd749ihb08rxnsmsbxq75b6x952wpk94jwc0ncv6gb83zkx2";
+ sha256bin64 = "1y70kmfz9nv507b0zdda7zfk2ac9qh9m2gq00aphdmzd0al7skj8";
+ version = "81.0.4044.92";
};
dev = {
- sha256 = "0s0072rmg287iijh6wwm9i5a5fsh96qm6nhd13xwbxrvj6pldb7n";
- sha256bin64 = "0l5ljjz0s5x9727syq4gs5xshl9vs8apvw6xw8il0xy5qax32g85";
- version = "82.0.4083.0";
+ sha256 = "1rydvjmv62zj95sf0fgsyipqz2hphbxm60y8q0813wq9ym35d4yy";
+ sha256bin64 = "1m6740lw7xjjp1lplwp9ii4d3l7dfa9jrv5bysm4ar5pb9kywrai";
+ version = "83.0.4100.3";
};
stable = {
- sha256 = "07icl3hgg1wjkmz88lbpjf6ll4xyi64spki1nmsy6899jgkxvgjh";
- sha256bin64 = "0qgp6hv4qj04v6pzfx9ggjvcl1vi6ljjc3cpi4hfr67p4jab40ji";
- version = "80.0.3987.149";
+ sha256 = "0ikk4cgz3jgjhyncsvlqvlc03y7jywjpa6v34fwsjxs88flyzpdn";
+ sha256bin64 = "1ks0i6vdxbmixnfz2b128yf9hsk5pm9x2j17nm3xg3245k0z22xr";
+ version = "80.0.3987.163";
};
}
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index 9ba25e09db93..17fb1ab8ae85 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -315,10 +315,10 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
in self.mkDerivation genericBuilderArgs;
- envFuncArgs = builtins.removeAttrs args [ "packages" ];
- in (combinedPackageFor packages).env.overrideAttrs (old: envFuncArgs // {
- nativeBuildInputs = old.nativeBuildInputs ++ envFuncArgs.nativeBuildInputs or [];
- buildInputs = old.buildInputs ++ envFuncArgs.buildInputs or [];
+ mkDerivationArgs = builtins.removeAttrs args [ "packages" "withHoogle" ];
+ in ((combinedPackageFor packages).envFunc { inherit withHoogle; }).overrideAttrs (old: mkDerivationArgs // {
+ nativeBuildInputs = old.nativeBuildInputs ++ mkDerivationArgs.nativeBuildInputs or [];
+ buildInputs = old.buildInputs ++ mkDerivationArgs.buildInputs or [];
});
ghc = ghc // {
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index aa75c125da41..70083eb6cc4d 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
with stdenv.lib;
buildLinux (args // rec {
- version = "4.14.174";
+ version = "4.14.175";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
- sha256 = "12ai2lc2ny38s93d0m5ngrv030vwv1h2hhzp0fs6fhjxasikq8jc";
+ sha256 = "0b12w0d21sk261jr4p1pm32v0r20a5c2j1p5hasdqw80sb2hli6b";
};
} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index 65f93a0f9243..c7e55b1c9f8a 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
with stdenv.lib;
buildLinux (args // rec {
- version = "4.19.113";
+ version = "4.19.114";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
- sha256 = "1rf0jz7r1f4rb4k0g3glssfa1hm2ka6vlbwjlkmsx1bybxnmg85m";
+ sha256 = "03hz6vg5bg728ilbm4z997pf52cgxzsxb03vz5cs55gwdbfa0h0y";
};
} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index 69156f577f62..6f0baf2a53b3 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,11 +1,11 @@
{ stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
buildLinux (args // rec {
- version = "4.4.217";
+ version = "4.4.218";
extraMeta.branch = "4.4";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
- sha256 = "0vsjchywznmjn01flgvm9vsja5zqni319rfwgy997afcbz0c9spx";
+ sha256 = "0qzhcy8i111jbpnkpzq7hqf9nkwq4s7smi820hfvnmd2ky7cns7a";
};
} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 98d203e481ff..3b6a68b7c039 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,11 +1,11 @@
{ stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
buildLinux (args // rec {
- version = "4.9.217";
+ version = "4.9.218";
extraMeta.branch = "4.9";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
- sha256 = "06b8av9f9pk2yp95nzv4322k0d5wsg40sxd9kfim1xzb093abckg";
+ sha256 = "1ka98c8sbfipzll6ss9fcsn26lh4cy60372yfw27pif4brhnwfnz";
};
} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index 90389a79a2e0..21f7bb888322 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
with stdenv.lib;
buildLinux (args // rec {
- version = "5.4.29";
+ version = "5.4.30";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
- sha256 = "1jssjnhwjh1my42vskm9h2b7rpc0ncvf2428y2aqm558ihia9ln7";
+ sha256 = "1vwx6j87pkfyq68chng1hy0c85hpc2byabiv1pcikrmw07vpip8i";
};
} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.5.nix b/pkgs/os-specific/linux/kernel/linux-5.5.nix
index 4069914af07b..410f8811a722 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.5.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.5.nix
@@ -3,7 +3,7 @@
with stdenv.lib;
buildLinux (args // rec {
- version = "5.5.14";
+ version = "5.5.15";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
- sha256 = "0spgja8pk8m3fdhhnf50d0z0bzbzdpjd12d7w23iiw8d2179wljc";
+ sha256 = "0572gkkz3460x0z4494vy3as57ks5gwndmm0y1dxwlry5q2xh7y4";
};
} // (args.argsOverride or {}))
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index f0c8a0d4f819..6b06a493509a 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -23,11 +23,11 @@ let
in buildPythonApplication rec {
pname = "matrix-synapse";
- version = "1.12.0";
+ version = "1.12.1";
src = fetchPypi {
inherit pname version;
- sha256 = "18wavnb47w4hfh8dc7g77bfhz03zh1xzl58mxlfi0000qsbkz680";
+ sha256 = "0l3a5dvnahrzwqh8p0cnfr019bxxgd769jk2wprfvfd65h7p0g1r";
};
patches = [
diff --git a/pkgs/servers/nosql/mongodb/asio-no-experimental-string-view.patch b/pkgs/servers/nosql/mongodb/asio-no-experimental-string-view.patch
new file mode 100644
index 000000000000..eb5db1818fe0
--- /dev/null
+++ b/pkgs/servers/nosql/mongodb/asio-no-experimental-string-view.patch
@@ -0,0 +1,20 @@
+diff --git a/src/third_party/asio-master/asio/include/asio/detail/config.hpp b/src/third_party/asio-master/asio/include/asio/detail/config.hpp
+index 7fe6a95a..ff4cc56b 100644
+--- a/src/third_party/asio-master/asio/include/asio/detail/config.hpp
++++ b/src/third_party/asio-master/asio/include/asio/detail/config.hpp
+@@ -786,7 +786,6 @@
+ # if (__cplusplus >= 201402)
+ # if __has_include()
+ # define ASIO_HAS_STD_STRING_VIEW 1
+-# define ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1
+ # endif // __has_include()
+ # endif // (__cplusplus >= 201402)
+ # endif // defined(__clang__)
+@@ -794,7 +793,6 @@
+ # if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)) || (__GNUC__ > 4)
+ # if (__cplusplus >= 201402)
+ # define ASIO_HAS_STD_STRING_VIEW 1
+-# define ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1
+ # endif // (__cplusplus >= 201402)
+ # endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4)
+ # endif // defined(__GNUC__)
diff --git a/pkgs/servers/nosql/mongodb/forget-build-dependencies-3-4.patch b/pkgs/servers/nosql/mongodb/forget-build-dependencies-3-4.patch
new file mode 100644
index 000000000000..ca2c043deb2d
--- /dev/null
+++ b/pkgs/servers/nosql/mongodb/forget-build-dependencies-3-4.patch
@@ -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
diff --git a/pkgs/servers/nosql/mongodb/forget-build-dependencies.patch b/pkgs/servers/nosql/mongodb/forget-build-dependencies.patch
index ca2c043deb2d..897618cceb12 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
diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/mongodb.nix
similarity index 55%
rename from pkgs/servers/nosql/mongodb/default.nix
rename to pkgs/servers/nosql/mongodb/mongodb.nix
index c2ae83f3e8af..b4b6334c13f5 100644
--- a/pkgs/servers/nosql/mongodb/default.nix
+++ b/pkgs/servers/nosql/mongodb/mongodb.nix
@@ -1,58 +1,63 @@
-{ stdenv, fetchurl, fetchpatch, scons, boost, gperftools, pcre-cpp, snappy
-, zlib, libyamlcpp, sasl, openssl, libpcap, Security
-}:
+{ stdenv, fetchurl, scons, boost, gperftools, pcre-cpp, snappy, zlib, libyamlcpp
+, sasl, openssl, libpcap, python27, curl, Security, CoreFoundation, cctools }:
# Note:
# The command line tools are written in Go as part of a different package (mongodb-tools)
with stdenv.lib;
-let version = "3.4.10";
- system-libraries = [
- "pcre"
- #"asio" -- XXX use package?
- #"wiredtiger"
- "boost"
- "snappy"
- "zlib"
- #"valgrind" -- mongodb only requires valgrind.h, which is vendored in the source.
- #"stemmer" -- not nice to package yet (no versioning, no makefile, no shared libs).
- "yaml"
- ] ++ optionals stdenv.isLinux [ "tcmalloc" ];
+{ version, sha256, patches ? [] }@args:
-in stdenv.mkDerivation {
- pname = "mongodb";
+let
+ python = python27.withPackages (ps: with ps; [ pyyaml typing cheetah ]);
+ system-libraries = [
+ "boost"
+ "pcre"
+ "snappy"
+ "yaml"
+ "zlib"
+ #"asio" -- XXX use package?
+ #"stemmer" -- not nice to package yet (no versioning, no makefile, no shared libs).
+ #"valgrind" -- mongodb only requires valgrind.h, which is vendored in the source.
+ #"wiredtiger"
+ ] ++ optionals stdenv.isLinux [ "tcmalloc" ];
+ inherit (stdenv.lib) systems subtractLists;
+
+in stdenv.mkDerivation rec {
inherit version;
+ name = "mongodb-${version}";
src = fetchurl {
url = "https://fastdl.mongodb.org/src/mongodb-src-r${version}.tar.gz";
- sha256 = "1wz2mhl9z0b1bdkg6m8v8mvw9k60mdv5ybq554xn3yjj9z500f24";
+ inherit sha256;
};
nativeBuildInputs = [ scons ];
buildInputs = [
- sasl boost gperftools pcre-cpp snappy
- zlib libyamlcpp sasl openssl.dev openssl.out libpcap
- ] ++ stdenv.lib.optionals stdenv.isDarwin [ Security ];
+ boost
+ curl
+ gperftools
+ libpcap
+ libyamlcpp
+ openssl
+ pcre-cpp
+ python
+ sasl
+ snappy
+ zlib
+ ] ++ stdenv.lib.optionals stdenv.isDarwin [ Security CoreFoundation cctools ];
- patches =
- [
- # 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.
- ./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";
- })
- ];
+ # 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.
+ inherit patches;
postPatch = ''
# fix environment variable reading
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/s2/s1angle.cc --replace drem remainder
substituteInPlace src/third_party/s2/s1interval.cc --replace drem remainder
@@ -66,13 +71,14 @@ in stdenv.mkDerivation {
--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 = [
"--release"
"--ssl"
#"--rocksdb" # Don't have this packaged yet
- "--wiredtiger=${if stdenv.is64bit then "on" else "off"}"
+ "--wiredtiger=on"
"--js-engine=mozjs"
"--use-sasl-client"
"--disable-warnings-as-errors"
@@ -87,8 +93,13 @@ in stdenv.mkDerivation {
'';
preInstall = ''
- mkdir -p $out/lib
+ mkdir -p "$out/lib"
'';
+
+ postInstall = ''
+ rm -f "$out/bin/install_compass" || true
+ '';
+
prefixKey = "--prefix=";
enableParallelBuilding = true;
@@ -97,10 +108,10 @@ in stdenv.mkDerivation {
meta = {
description = "A scalable, high-performance, open source NoSQL database";
- homepage = http://www.mongodb.org;
- license = licenses.agpl3;
+ homepage = "http://www.mongodb.org";
+ license = licenses.sspl;
maintainers = with maintainers; [ bluescreen303 offline cstrahan ];
- platforms = platforms.unix;
+ platforms = subtractLists systems.doubles.i686 systems.doubles.unix;
};
}
diff --git a/pkgs/servers/nosql/mongodb/mozjs-45_fix-3-byte-opcode.patch b/pkgs/servers/nosql/mongodb/mozjs-45_fix-3-byte-opcode.patch
new file mode 100644
index 000000000000..8c60cdd1e688
--- /dev/null
+++ b/pkgs/servers/nosql/mongodb/mozjs-45_fix-3-byte-opcode.patch
@@ -0,0 +1,27 @@
+# HG changeset patch
+# User Dan Gohman
+# Parent d9b405d82cffb07343a5f2fd941e029298c7f6c4
+# Bug 1390214 - IonMonkey: Don't test for a 3-byte opcode in a 2-byte opcode predicate.
+# https://bug1390214.bmoattachments.org/attachment.cgi?id=8902972
+
+diff --git a/src/third_party/mozjs-45/extract/js/src/jit/x86-shared/Encoding-x86-shared.h b/src/third_party/mozjs-45/extract/js/src/jit/x86-shared/Encoding-x86-shared.h
+--- a/src/third_party/mozjs-45/extract/js/src/jit/x86-shared/Encoding-x86-shared.h
++++ b/src/third_party/mozjs-45/extract/js/src/jit/x86-shared/Encoding-x86-shared.h
+@@ -310,17 +310,16 @@ enum ThreeByteOpcodeID {
+
+ // Test whether the given opcode should be printed with its operands reversed.
+ inline bool IsXMMReversedOperands(TwoByteOpcodeID opcode)
+ {
+ switch (opcode) {
+ case OP2_MOVSD_WsdVsd: // also OP2_MOVPS_WpsVps
+ case OP2_MOVAPS_WsdVsd:
+ case OP2_MOVDQ_WdqVdq:
+- case OP3_PEXTRD_EdVdqIb:
+ return true;
+ default:
+ break;
+ }
+ return false;
+ }
+
+ enum ThreeByteEscape {
diff --git a/pkgs/servers/nosql/mongodb/v3_4.nix b/pkgs/servers/nosql/mongodb/v3_4.nix
new file mode 100644
index 000000000000..2f02ae7f72ad
--- /dev/null
+++ b/pkgs/servers/nosql/mongodb/v3_4.nix
@@ -0,0 +1,15 @@
+{ 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 = "3.4.24";
+ sha256 = "0j6mvgv0jnsnvgkl8505bl88kbxkba66qijlpi1la0dd5pd1imfr";
+ patches = [ ./forget-build-dependencies-3-4.patch ];
+}
diff --git a/pkgs/servers/nosql/mongodb/v3_6.nix b/pkgs/servers/nosql/mongodb/v3_6.nix
new file mode 100644
index 000000000000..68f83631c801
--- /dev/null
+++ b/pkgs/servers/nosql/mongodb/v3_6.nix
@@ -0,0 +1,16 @@
+{ 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 = "3.6.13";
+ sha256 = "1mbvk4bmabrswjdm01jssxcygjpq5799zqyx901nsi12vlcymwg4";
+ patches = [ ./forget-build-dependencies.patch ]
+ ++ stdenv.lib.optionals stdenv.isDarwin [ ./asio-no-experimental-string-view.patch ];
+}
diff --git a/pkgs/servers/nosql/mongodb/v4_0.nix b/pkgs/servers/nosql/mongodb/v4_0.nix
new file mode 100644
index 000000000000..51ce1e25062d
--- /dev/null
+++ b/pkgs/servers/nosql/mongodb/v4_0.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.0.12";
+ sha256 = "1j8dqa4jr623y87jrdanyib9r7x18srrvdx952q4azcc8zrdwci1";
+ patches =
+ [ ./forget-build-dependencies.patch ./mozjs-45_fix-3-byte-opcode.patch ]
+ ++ stdenv.lib.optionals stdenv.isDarwin [ ./asio-no-experimental-string-view.patch ];
+}
diff --git a/pkgs/servers/sql/mariadb/cmake-without-client.patch b/pkgs/servers/sql/mariadb/cmake-without-client.patch
deleted file mode 100644
index ce36d036b6d0..000000000000
--- a/pkgs/servers/sql/mariadb/cmake-without-client.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1ea7c1df..b0face0d 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -176,6 +176,10 @@ ELSE()
- SET (SKIP_COMPONENTS "N-O-N-E")
- ENDIF()
-
-+IF (WITHOUT_CLIENT)
-+ SET (SKIP_COMPONENTS "Client|ClientPlugins|ManPagesClient")
-+ENDIF()
-+
- OPTION(NOT_FOR_DISTRIBUTION "Allow linking with GPLv2-incompatible system libraries. Only set it you never plan to distribute the resulting binaries" OFF)
-
- INCLUDE(check_compiler_flag)
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index 30df5d21afca..9c23da852f5b 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -1,8 +1,12 @@
-{ stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, makeWrapper, ncurses, zlib, xz, lzo, lz4, bzip2, snappy
+{ stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, makeWrapper, ncurses
, libiconv, openssl, pcre, boost, judy, bison, libxml2, libkrb5, linux-pam, curl
-, libaio, libevent, jemalloc, cracklib, systemd, numactl, perl
+, libaio, libevent, jemalloc450, jemalloc, cracklib, systemd, perl
+, bzip2, lz4, lzo, snappy, xz, zlib, zstd
, fixDarwinDylibNames, cctools, CoreServices, less
-, withoutClient ? false
+, numactl # NUMA Support
+, withStorageMroonga ? true, kytea, msgpack, zeromq
+, withStorageRocks ? true
+, withStorageToku ? true
}:
with stdenv.lib;
@@ -33,9 +37,11 @@ common = rec { # attributes common to both builds
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [
- ncurses openssl zlib pcre jemalloc libiconv curl
+ ncurses openssl zlib pcre libiconv curl
] ++ optionals stdenv.hostPlatform.isLinux [ libaio systemd libkrb5 ]
- ++ optionals stdenv.hostPlatform.isDarwin [ perl fixDarwinDylibNames cctools CoreServices ];
+ ++ optionals stdenv.hostPlatform.isDarwin [ perl fixDarwinDylibNames cctools CoreServices ]
+ ++ optional (!stdenv.hostPlatform.isDarwin && withStorageToku) [ jemalloc450 ]
+ ++ optional (!stdenv.hostPlatform.isDarwin && !withStorageToku) [ jemalloc ];
prePatch = ''
sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt
@@ -79,8 +85,6 @@ common = rec { # attributes common to both builds
# to pass in java explicitly.
"-DCONNECT_WITH_JDBC=OFF"
"-DCURSES_LIBRARY=${ncurses.out}/lib/libncurses.dylib"
- ] ++ optionals stdenv.hostPlatform.isMusl [
- "-DWITHOUT_TOKUDB=1" # mariadb docs say disable this for musl
];
postInstall = ''
@@ -98,6 +102,7 @@ common = rec { # attributes common to both builds
passthru.mysqlVersion = "5.7";
meta = {
+
description = "An enhanced, drop-in replacement for MySQL";
homepage = https://mariadb.org/;
license = licenses.gpl2;
@@ -137,18 +142,17 @@ server = stdenv.mkDerivation (common // {
outputs = [ "out" "man" ];
- nativeBuildInputs = common.nativeBuildInputs ++ [ bison ] ++ optional (!stdenv.hostPlatform.isDarwin) makeWrapper;
+ nativeBuildInputs = common.nativeBuildInputs ++ [ bison boost.dev ] ++ optional (!stdenv.hostPlatform.isDarwin) makeWrapper;
buildInputs = common.buildInputs ++ [
- xz lzo lz4 bzip2 snappy
- libxml2 boost judy libevent cracklib
+ bzip2 lz4 lzo snappy xz zstd
+ libxml2 judy libevent cracklib
] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) numactl
+ ++ optionals withStorageMroonga [ kytea msgpack zeromq ]
++ optional stdenv.hostPlatform.isLinux linux-pam
++ optional (!stdenv.hostPlatform.isDarwin) mytopEnv;
- patches = common.patches ++ [
- ./cmake-without-client.patch
- ] ++ optionals stdenv.hostPlatform.isDarwin [
+ patches = common.patches ++ optionals stdenv.hostPlatform.isDarwin [
./cmake-without-plugin-auth-pam.patch
];
@@ -163,11 +167,20 @@ server = stdenv.mkDerivation (common // {
"-DWITH_INNODB_DISALLOW_WRITES=ON"
"-DWITHOUT_EXAMPLE=1"
"-DWITHOUT_FEDERATED=1"
- ] ++ optionals withoutClient [
- "-DWITHOUT_CLIENT=ON"
- ] ++ optionals stdenv.hostPlatform.isDarwin [
- "-DWITHOUT_OQGRAPH=1"
+ ] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) [
+ "-DWITH_NUMA=ON"
+ ] ++ optional (!withStorageMroonga) [
+ "-DWITHOUT_MROONGA=1"
+ ] ++ optional (!withStorageRocks) [
+ "-DWITHOUT_ROCKSDB=1"
+ ] ++ optional (!stdenv.hostPlatform.isDarwin && withStorageRocks) [
+ "-DWITH_ROCKSDB_JEMALLOC=ON"
+ ] ++ optional (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isMusl || !withStorageToku) [
"-DWITHOUT_TOKUDB=1"
+ ] ++ optional (!stdenv.hostPlatform.isDarwin && withStorageToku) [
+ "-DWITH_JEMALLOC=static"
+ ] ++ optional stdenv.hostPlatform.isDarwin [
+ "-DWITHOUT_OQGRAPH=1"
];
preConfigure = optionalString (!stdenv.hostPlatform.isDarwin) ''
@@ -178,15 +191,8 @@ server = stdenv.mkDerivation (common // {
chmod +x "$out"/bin/wsrep_sst_common
rm "$out"/bin/{mysql_client_test,mysqltest}
rm -r "$out"/data # Don't need testing data
+ '' + optionalString withStorageMroonga ''
mv "$out"/share/{groonga,groonga-normalizer-mysql} "$out"/share/doc/mysql
- '' + optionalString withoutClient ''
- ${ # We don't build with GSSAPI on Darwin
- optionalString (!stdenv.hostPlatform.isDarwin) ''
- rm "$out"/lib/mysql/plugin/auth_gssapi_client.so
- ''
- }
- rm "$out"/lib/mysql/plugin/client_ed25519.so
- rm "$out"/lib/{libmysqlclient${libExt},libmysqlclient_r${libExt}}
'' + optionalString (!stdenv.hostPlatform.isDarwin) ''
sed -i 's/-mariadb/-mysql/' "$out"/bin/galera_new_cluster
'';
diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix
index dc69ae457dcd..bd80d4a93507 100644
--- a/pkgs/tools/package-management/packagekit/default.nix
+++ b/pkgs/tools/package-management/packagekit/default.nix
@@ -1,7 +1,6 @@
{ stdenv, fetchFromGitHub, lib
, intltool, glib, pkgconfig, polkit, python3, sqlite
, gobject-introspection, vala, gtk-doc, autoreconfHook, autoconf-archive
-# TODO: set enableNixBackend to true, as soon as it builds
, nix, enableNixBackend ? false, boost
, enableCommandNotFound ? false
, enableBashCompletion ? false, bash-completion ? null
@@ -23,7 +22,9 @@ stdenv.mkDerivation rec {
buildInputs = [ glib polkit python3 gobject-introspection ]
++ lib.optional enableSystemd systemd
++ lib.optional enableBashCompletion bash-completion;
- propagatedBuildInputs = [ sqlite nix boost ];
+ propagatedBuildInputs =
+ [ sqlite boost ]
+ ++ lib.optional enableNixBackend nix;
nativeBuildInputs = [ vala intltool pkgconfig autoreconfHook autoconf-archive gtk-doc ];
preAutoreconf = ''
diff --git a/pkgs/tools/security/scallion/default.nix b/pkgs/tools/security/scallion/default.nix
index e419232641b6..1395b8e10617 100644
--- a/pkgs/tools/security/scallion/default.nix
+++ b/pkgs/tools/security/scallion/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, makeWrapper, mono, openssl, ocl-icd }:
+{ stdenv, fetchFromGitHub, makeWrapper, mono, openssl_1_0_2, ocl-icd }:
stdenv.mkDerivation rec {
version = "2.1";
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
mkdir -p $out/share
cp scallion/bin/Debug/* $out/share/
makeWrapper ${mono}/bin/mono $out/bin/scallion \
- --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ openssl ocl-icd ]} \
+ --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ openssl_1_0_2 ocl-icd ]} \
--add-flags $out/share/scallion.exe
'';
diff --git a/pkgs/tools/typesetting/tex/texlive/combine.nix b/pkgs/tools/typesetting/tex/texlive/combine.nix
index cb4bc14927de..ee4d0dfe588a 100644
--- a/pkgs/tools/typesetting/tex/texlive/combine.nix
+++ b/pkgs/tools/typesetting/tex/texlive/combine.nix
@@ -153,7 +153,8 @@ in buildEnv {
rm "$link"
makeWrapper "$target" "$link" \
--prefix PATH : "$out/bin:${perl}/bin" \
- --prefix PERL5LIB : "$PERL5LIB"
+ --prefix PERL5LIB : "$PERL5LIB" \
+ --set-default TEXMFCNF "$TEXMFCNF"
# avoid using non-nix shebang in $target by calling interpreter
if [[ "$(head -c 2 "$target")" = "#!" ]]; then
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 168a306f51ec..92bdfd4defe8 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -15547,17 +15547,33 @@ in
mariadb = callPackage ../servers/sql/mariadb {
# As per mariadb's cmake, "static jemalloc_pic.a can only be used up to jemalloc 4".
# https://jira.mariadb.org/browse/MDEV-15034
- jemalloc = jemalloc450.override ({ disableInitExecTls = true; });
+ jemalloc450 = jemalloc450.override ({ disableInitExecTls = true; });
inherit (darwin) cctools;
inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;
};
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;
- openssl = openssl_1_0_2;
- inherit (darwin.apple_sdk.frameworks) Security;
+ inherit (darwin) cctools;
+ inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
+ };
+
+ mongodb-3_6 = callPackage ../servers/nosql/mongodb/v3_6.nix {
+ sasl = cyrus_sasl;
+ boost = boost160;
+ inherit (darwin) cctools;
+ inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
+ };
+
+ mongodb-4_0 = callPackage ../servers/nosql/mongodb/v4_0.nix {
+ sasl = cyrus_sasl;
+ boost = boost169;
+ inherit (darwin) cctools;
+ inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
};
nginx-sso = callPackage ../servers/nginx-sso { };
diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix
index bb0d7bc54e78..6bb243879e9a 100644
--- a/pkgs/top-level/make-tarball.nix
+++ b/pkgs/top-level/make-tarball.nix
@@ -19,7 +19,7 @@ releaseTools.sourceTarball {
version = pkgs.lib.fileContents ../../.version;
versionSuffix = "pre${
if nixpkgs ? lastModified
- then builtins.substring 0 8 nixpkgs.lastModified
+ then builtins.substring 0 8 (nixpkgs.lastModifiedDate or nixpkgs.lastModified)
else toString nixpkgs.revCount}.${nixpkgs.shortRev or "dirty"}";
buildInputs = [ nix.out jq lib-tests pkgs.brotli ];