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 ];