diff --git a/nixos/doc/manual/release-notes/rl-1909.xml b/nixos/doc/manual/release-notes/rl-1909.xml
index 51a894269d9b..b92cefa441d8 100644
--- a/nixos/doc/manual/release-notes/rl-1909.xml
+++ b/nixos/doc/manual/release-notes/rl-1909.xml
@@ -137,6 +137,40 @@
+
+ The option
+ was renamed to
+ (capital L). This follows
+
+ upstreams renaming
+ of the setting.
+
+
+
+
+ As of this release the NixOps feature autoLuks is deprecated. It no longer works
+ with our systemd version without manual intervention.
+
+
+ Whenever the usage of the module is detected the evaluation will fail with a message
+ explaining why and how to deal with the situation.
+
+
+ A new knob named nixops.enableDeprecatedAutoLuks
+ has been introduced to disable the eval failure and to acknowledge the notice was received and read.
+ If you plan on using the feature please note that it might break with subsequent updates.
+
+
+ Make sure you set the _netdev option for each of the file systems referring to block
+ devices provided by the autoLuks module. Not doing this might render the system in a
+ state where it doesn't boot anymore.
+
+
+ If you are actively using the autoLuks module please let us know in
+ issue #62211.
+
+
+
The setopt declarations will be evaluated at the end of /etc/zshrc, so any code in ,
and may break if it relies on those options being set.
@@ -211,6 +245,20 @@
RuntimeDirectory and tmpfiles.
+
+
+ With the upgrade to systemd version 242 the systemd-timesyncd
+ service is no longer using DynamicUser=yes. In order for the
+ upgrade to work we rely on an activation script to move the state from the old
+ to the new directory. The older directory (prior 19.09) was
+ /var/lib/private/systemd/timesync.
+
+
+ As long as the system.config.stateVersion is below
+ 19.09 the state folder will migrated to its proper location
+ (/var/lib/systemd/timesync), if required.
+
+
Since version 0.1.19, cargo-vendor honors package
@@ -221,7 +269,6 @@
vendored files for most Rust packages, the hash that use used to verify
the dependencies, cargoSha256, also changes.
-
The cargoSha256 hashes of all in-tree derivations that
use buildRustPackage have been updated to reflect this
diff --git a/nixos/modules/misc/nixops-autoluks.nix b/nixos/modules/misc/nixops-autoluks.nix
new file mode 100644
index 000000000000..2153c6f975ad
--- /dev/null
+++ b/nixos/modules/misc/nixops-autoluks.nix
@@ -0,0 +1,44 @@
+{ config, options, lib, ... }:
+let
+ path = [ "deployment" "autoLuks" ];
+ hasAutoLuksOption = lib.hasAttrByPath path options;
+ hasAutoLuksConfig = lib.hasAttrByPath path config && (lib.attrByPath path {} config) != {};
+
+ inherit (config.nixops) enableDeprecatedAutoLuks;
+in {
+ options.nixops.enableDeprecatedAutoLuks = lib.mkEnableOption "Enable the deprecated NixOps AutoLuks module";
+
+ config = {
+ assertions = [
+ {
+ assertion = if hasAutoLuksConfig then hasAutoLuksConfig && enableDeprecatedAutoLuks else true;
+ message = ''
+ ⚠️ !!! WARNING !!! ⚠️
+
+ NixOps autoLuks is deprecated. The feature was never widely used and the maintenance did outgrow the benefit.
+ If you still want to use the module:
+ a) Please raise your voice in the issue tracking usage of the module:
+ https://github.com/NixOS/nixpkgs/issues/62211
+ b) make sure you set the `_netdev` option for each of the file
+ systems referring to block devices provided by the autoLuks module.
+
+ ⚠️ If you do not set the option your system will not boot anymore! ⚠️
+
+ {
+ fileSystems."/secret" = { options = [ "_netdev" ]; };
+ }
+
+ b) set the option >nixops.enableDeprecatedAutoLuks = true< to remove this error.
+
+
+ For more details read through the following resources:
+ - https://github.com/NixOS/nixops/pull/1156
+ - https://github.com/NixOS/nixpkgs/issues/47550
+ - https://github.com/NixOS/nixpkgs/issues/62211
+ - https://github.com/NixOS/nixpkgs/pull/61321
+ '';
+ }
+ ];
+ };
+
+}
diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix
index c576cf4cb925..c9b374b6d7b1 100644
--- a/nixos/modules/misc/version.nix
+++ b/nixos/modules/misc/version.nix
@@ -95,6 +95,7 @@ in
PRETTY_NAME="NixOS ${cfg.version} (${cfg.codeName})"
LOGO="nix-snowflake"
HOME_URL="https://nixos.org/"
+ DOCUMENTATION_URL="https://nixos.org/nixos/manual/index.html"
SUPPORT_URL="https://nixos.org/nixos/support.html"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
'';
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index bb2c0a8f180f..bb33d8e6d95a 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -84,6 +84,7 @@
./misc/nixpkgs.nix
./misc/passthru.nix
./misc/version.nix
+ ./misc/nixops-autoluks.nix
./programs/adb.nix
./programs/atop.nix
./programs/autojump.nix
diff --git a/nixos/modules/services/hardware/80-net-setup-link.rules b/nixos/modules/services/hardware/80-net-setup-link.rules
deleted file mode 100644
index 18547f170a3f..000000000000
--- a/nixos/modules/services/hardware/80-net-setup-link.rules
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copied from systemd 203.
-ACTION=="remove", GOTO="net_name_slot_end"
-SUBSYSTEM!="net", GOTO="net_name_slot_end"
-NAME!="", GOTO="net_name_slot_end"
-
-IMPORT{cmdline}="net.ifnames"
-ENV{net.ifnames}=="0", GOTO="net_name_slot_end"
-
-NAME=="", ENV{ID_NET_NAME_ONBOARD}!="", NAME="$env{ID_NET_NAME_ONBOARD}"
-NAME=="", ENV{ID_NET_NAME_SLOT}!="", NAME="$env{ID_NET_NAME_SLOT}"
-NAME=="", ENV{ID_NET_NAME_PATH}!="", NAME="$env{ID_NET_NAME_PATH}"
-
-LABEL="net_name_slot_end"
diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix
index 0266286aaacf..cb2f1e6621ae 100644
--- a/nixos/modules/services/hardware/udev.nix
+++ b/nixos/modules/services/hardware/udev.nix
@@ -116,10 +116,6 @@ let
exit 1
fi
- ${optionalString config.networking.usePredictableInterfaceNames ''
- cp ${./80-net-setup-link.rules} $out/80-net-setup-link.rules
- ''}
-
# If auto-configuration is disabled, then remove
# udev's 80-drivers.rules file, which contains rules for
# automatically calling modprobe.
@@ -282,6 +278,8 @@ in
services.udev.path = [ pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.utillinux udev ];
+ boot.kernelParams = mkIf (!config.networking.usePredictableInterfaceNames) [ "net.ifnames=0" ];
+
environment.etc =
[ { source = udevRules;
target = "udev/rules.d";
diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix
index 882db9130ea8..f1aa9064bef4 100644
--- a/nixos/modules/system/boot/networkd.nix
+++ b/nixos/modules/system/boot/networkd.nix
@@ -203,7 +203,7 @@ let
checkRoute = checkUnitConfig "Route" [
(assertOnlyFields [
- "Gateway" "GatewayOnlink" "Destination" "Source" "Metric"
+ "Gateway" "GatewayOnLink" "Destination" "Source" "Metric"
"IPv6Preference" "Scope" "PreferredSource" "Table" "Protocol" "Type"
"InitialCongestionWindow" "InitialAdvertisedReceiveWindow" "QuickAck"
"MTUBytes"
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index 933dea1c6b81..cf35504e5182 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -943,7 +943,6 @@ in
# Don't bother with certain units in containers.
systemd.services.systemd-remount-fs.unitConfig.ConditionVirtualization = "!container";
systemd.services.systemd-random-seed.unitConfig.ConditionVirtualization = "!container";
-
};
# FIXME: Remove these eventually.
@@ -952,5 +951,4 @@ in
(mkRenamedOptionModule [ "boot" "systemd" "targets" ] [ "systemd" "targets" ])
(mkRenamedOptionModule [ "boot" "systemd" "services" ] [ "systemd" "services" ])
];
-
}
diff --git a/nixos/modules/system/boot/timesyncd.nix b/nixos/modules/system/boot/timesyncd.nix
index 8d8bfe5900a9..8282cdd6f3aa 100644
--- a/nixos/modules/system/boot/timesyncd.nix
+++ b/nixos/modules/system/boot/timesyncd.nix
@@ -40,6 +40,15 @@ with lib;
users.users.systemd-timesync.uid = config.ids.uids.systemd-timesync;
users.groups.systemd-timesync.gid = config.ids.gids.systemd-timesync;
+ system.activationScripts.systemd-timesyncd-migration = mkIf (versionOlder config.system.stateVersion "19.09") ''
+ # workaround an issue of systemd-timesyncd not starting due to upstream systemd reverting their dynamic users changes
+ # - https://github.com/NixOS/nixpkgs/pull/61321#issuecomment-492423742
+ # - https://github.com/systemd/systemd/issues/12131
+ if [ -L /var/lib/systemd/timesync ]; then
+ rm /var/lib/systemd/timesync
+ mv /var/lib/private/systemd/timesync /var/lib/systemd/timesync
+ fi
+ '';
};
}
diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix
index 2318bdd1d582..857aaf1e6e30 100644
--- a/nixos/modules/tasks/network-interfaces-systemd.nix
+++ b/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -12,7 +12,7 @@ let
i.ipv4.addresses
++ optionals cfg.enableIPv6 i.ipv6.addresses;
- dhcpStr = useDHCP: if useDHCP == true || useDHCP == null then "both" else "none";
+ dhcpStr = useDHCP: if useDHCP == true || useDHCP == null then "both" else "no";
slaves =
concatLists (map (bond: bond.interfaces) (attrValues cfg.bonds))
@@ -59,7 +59,14 @@ in
in {
DHCP = override (dhcpStr cfg.useDHCP);
} // optionalAttrs (gateway != [ ]) {
- gateway = override gateway;
+ routes = override [
+ {
+ routeConfig = {
+ Gateway = gateway;
+ GatewayOnLink = false;
+ };
+ }
+ ];
} // optionalAttrs (domains != [ ]) {
domains = override domains;
};
diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix
index ed4cfa7805e2..1a11d9ce7c26 100644
--- a/nixos/modules/testing/test-instrumentation.nix
+++ b/nixos/modules/testing/test-instrumentation.nix
@@ -129,9 +129,6 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
users.users.root.initialHashedPassword = mkOverride 150 "";
services.xserver.displayManager.job.logToJournal = true;
-
- # set default stateVersion to avoid warnings during eval
- system.stateVersion = mkDefault "18.03";
};
}
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 912e4f552313..3872970343a9 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -240,6 +240,7 @@ in
syncthing-relay = handleTest ./syncthing-relay.nix {};
systemd = handleTest ./systemd.nix {};
systemd-confinement = handleTest ./systemd-confinement.nix {};
+ systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
pdns-recursor = handleTest ./pdns-recursor.nix {};
taskserver = handleTest ./taskserver.nix {};
telegraf = handleTest ./telegraf.nix {};
diff --git a/nixos/tests/containers-imperative.nix b/nixos/tests/containers-imperative.nix
index 0c101037aa7f..2e7e4b2f1d69 100644
--- a/nixos/tests/containers-imperative.nix
+++ b/nixos/tests/containers-imperative.nix
@@ -35,7 +35,17 @@ import ./make-test.nix ({ pkgs, ...} : {
];
};
- testScript =
+ testScript = let
+ tmpfilesContainerConfig = pkgs.writeText "container-config-tmpfiles" ''
+ {
+ systemd.tmpfiles.rules = [ "d /foo - - - - -" ];
+ systemd.services.foo = {
+ serviceConfig.Type = "oneshot";
+ script = "ls -al /foo";
+ wantedBy = [ "multi-user.target" ];
+ };
+ }
+ ''; in
''
# Make sure we have a NixOS tree (required by ‘nixos-container create’).
$machine->succeed("PAGER=cat nix-env -qa -A nixos.hello >&2");
@@ -93,6 +103,15 @@ import ./make-test.nix ({ pkgs, ...} : {
$machine->succeed("nixos-container stop $id1");
$machine->succeed("nixos-container start $id1");
+ # Ensure tmpfiles are present
+ $machine->log("creating container tmpfiles");
+ $machine->succeed("nixos-container create tmpfiles --config-file ${tmpfilesContainerConfig}");
+ $machine->log("created, starting…");
+ $machine->succeed("nixos-container start tmpfiles");
+ $machine->log("done starting, investigating…");
+ $machine->succeed("echo \$(nixos-container run tmpfiles -- systemctl is-active foo.service) | grep -q active;");
+ $machine->succeed("nixos-container destroy tmpfiles");
+
# Execute commands via the root shell.
$machine->succeed("nixos-container run $id1 -- uname") =~ /Linux/ or die;
diff --git a/nixos/tests/radicale.nix b/nixos/tests/radicale.nix
index bf22fc9291af..607964255640 100644
--- a/nixos/tests/radicale.nix
+++ b/nixos/tests/radicale.nix
@@ -85,7 +85,7 @@ in
$radicale->succeed('mv /tmp/collections-new/collection-root /tmp/collections');
$radicale->succeed('${switchToConfig "radicale2_verify"} >&2');
$radicale->waitUntilFails('systemctl status radicale');
- my ($retcode, $logs) = $radicale->execute('journalctl -u radicale -n 5');
+ my ($retcode, $logs) = $radicale->execute('journalctl -u radicale -n 10');
if ($retcode != 0 || index($logs, 'Verifying storage') == -1) {
die "Radicale 2 didn't verify storage"
}
diff --git a/nixos/tests/systemd-timesyncd.nix b/nixos/tests/systemd-timesyncd.nix
new file mode 100644
index 000000000000..d12b8eb2bf7e
--- /dev/null
+++ b/nixos/tests/systemd-timesyncd.nix
@@ -0,0 +1,52 @@
+# Regression test for systemd-timesync having moved the state directory without
+# upstream providing a migration path. https://github.com/systemd/systemd/issues/12131
+
+import ./make-test.nix (let
+ common = { lib, ... }: {
+ # override the `false` value from the qemu-vm base profile
+ services.timesyncd.enable = lib.mkForce true;
+ };
+ mkVM = conf: { imports = [ conf common ]; };
+in {
+ name = "systemd-timesyncd";
+ nodes = {
+ current = mkVM {};
+ pre1909 = mkVM ({lib, ... }: with lib; {
+ # create the path that should be migrated by our activation script when
+ # upgrading to a newer nixos version
+ system.stateVersion = "19.03";
+ system.activationScripts.simulate-old-timesync-state-dir = mkBefore ''
+ rm -f /var/lib/systemd/timesync
+ mkdir -p /var/lib/systemd /var/lib/private/systemd/timesync
+ ln -s /var/lib/private/systemd/timesync /var/lib/systemd/timesync
+ chown systemd-timesync: /var/lib/private/systemd/timesync
+ '';
+ });
+ };
+
+ testScript = ''
+ startAll;
+ $current->succeed('systemctl status systemd-timesyncd.service');
+ # on a new install with a recent systemd there should not be any
+ # leftovers from the dynamic user mess
+ $current->succeed('test -e /var/lib/systemd/timesync');
+ $current->succeed('test ! -L /var/lib/systemd/timesync');
+
+ # timesyncd should be running on the upgrading system since we fixed the
+ # file bits in the activation script
+ $pre1909->succeed('systemctl status systemd-timesyncd.service');
+
+ # the path should be gone after the migration
+ $pre1909->succeed('test ! -e /var/lib/private/systemd/timesync');
+
+ # and the new path should no longer be a symlink
+ $pre1909->succeed('test -e /var/lib/systemd/timesync');
+ $pre1909->succeed('test ! -L /var/lib/systemd/timesync');
+
+ # after a restart things should still work and not fail in the activation
+ # scripts and cause the boot to fail..
+ $pre1909->shutdown;
+ $pre1909->start;
+ $pre1909->succeed('systemctl status systemd-timesyncd.service');
+ '';
+})
diff --git a/pkgs/build-support/setup-hooks/patch-shebangs.sh b/pkgs/build-support/setup-hooks/patch-shebangs.sh
index f4a865e96687..3e900d0704cf 100644
--- a/pkgs/build-support/setup-hooks/patch-shebangs.sh
+++ b/pkgs/build-support/setup-hooks/patch-shebangs.sh
@@ -4,11 +4,14 @@
# /usr/bin/env gets special treatment so that ".../bin/env python" is
# rewritten to /nix/store//bin/python. Interpreters that are
# already in the store are left untouched.
+# A script file must be marked as executable, otherwise it will not be
+# considered.
fixupOutputHooks+=(patchShebangsAuto)
-# Run patch shebangs on a directory.
-# patchShebangs [--build | --host] directory
+# Run patch shebangs on a directory or file.
+# Can take multiple paths as arguments.
+# patchShebangs [--build | --host] PATH...
# Flags:
# --build : Lookup commands available at build-time
@@ -29,9 +32,7 @@ patchShebangs() {
shift
fi
- local dir="$1"
-
- header "patching script interpreter paths in $dir"
+ echo "patching script interpreter paths in $@"
local f
local oldPath
local newPath
@@ -40,7 +41,10 @@ patchShebangs() {
local oldInterpreterLine
local newInterpreterLine
- [ -e "$dir" ] || return 0
+ if [ $# -eq 0 ]; then
+ echo "No arguments supplied to patchShebangs" >0
+ return 0
+ fi
local f
while IFS= read -r -d $'\0' f; do
@@ -62,7 +66,7 @@ patchShebangs() {
# - options: something starting with a '-'
# - environment variables: foo=bar
if $(echo "$arg0" | grep -q -- "^-.*\|.*=.*"); then
- echo "$f: unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)"
+ echo "$f: unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)" >0
exit 1
fi
@@ -95,7 +99,7 @@ patchShebangs() {
rm "$timestamp"
fi
fi
- done < <(find "$dir" -type f -perm -0100 -print0)
+ done < <(find "$@" -type f -perm -0100 -print0)
stopNest
}
diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix
index 6d85fe1233cf..60d0cc81d2bc 100644
--- a/pkgs/development/libraries/dbus/default.nix
+++ b/pkgs/development/libraries/dbus/default.nix
@@ -6,8 +6,8 @@ assert x11Support -> libX11 != null
&& libSM != null;
let
- version = "1.12.12";
- sha256 = "1y7mxhkw2shd9mi9s62k81lz8npjkrafapr4fyfms7hs04kg4ilm";
+ version = "1.12.14";
+ sha256 = "13aca7gzgl7z1dfdipfs23773w8n6z01d4rj5kmssv4gms8c5ya4";
self = stdenv.mkDerivation {
name = "dbus-${version}";
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index db4eee38b6e4..a2c7bdc5bde6 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -46,7 +46,7 @@ let
'';
binPrograms = optional (!stdenv.isDarwin) "gapplication" ++ [ "gdbus" "gio" "gsettings" ];
- version = "2.60.2";
+ version = "2.60.3";
in
stdenv.mkDerivation rec {
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://gnome/sources/glib/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
- sha256 = "1nc0iyday7866hq0hb78h7lxa44an998lzis8jhgvp8a0rsm9w9f";
+ sha256 = "1fb0nx9fcmic8rsh0fbp79lqpasfjxljvnshbw2hsya51mb0vaq4";
};
patches = optional stdenv.isDarwin ./darwin-compilation.patch
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index 7c364c0fcdf5..a405633c1b8d 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -8,7 +8,7 @@
}:
let
- version = "2.3.1";
+ version = "2.5.1";
inherit (stdenv.lib) optional optionals optionalString;
in
@@ -16,8 +16,8 @@ stdenv.mkDerivation {
name = "harfbuzz${optionalString withIcu "-icu"}-${version}";
src = fetchurl {
- url = "https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2";
- sha256 = "0s74ramsbfa183rxkidqgfd2vbhrwicnrqzqsq440dwibffnj1gj";
+ url = "https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.xz";
+ sha256 = "17kiyq23g7bnjvyn2yg4gyr7i7qjam65n20whsrplpxxk9bk8j3d";
};
postPatch = ''
diff --git a/pkgs/development/libraries/libevent/default.nix b/pkgs/development/libraries/libevent/default.nix
index 39d2c29b0127..2bc2bcb5b856 100644
--- a/pkgs/development/libraries/libevent/default.nix
+++ b/pkgs/development/libraries/libevent/default.nix
@@ -6,25 +6,13 @@ assert sslSupport -> openssl != null;
stdenv.mkDerivation rec {
name = "libevent-${version}";
- version = "2.1.8";
+ version = "2.1.10";
src = fetchurl {
url = "https://github.com/libevent/libevent/releases/download/release-${version}-stable/libevent-${version}-stable.tar.gz";
- sha256 = "1hhxnxlr0fsdv7bdmzsnhdz16fxf3jg2r6vyljcl3kj6pflcap4n";
+ sha256 = "1c25928gdv495clxk2v1d4gkr5py7ack4gx2n7d13frnld0syr78";
};
- #NOTE: Patches to support libressl-2.7. These are taken from libevent upstream, and can both be dropped with the next release.
- patches = [
- (fetchpatch {
- url = "https://github.com/libevent/libevent/commit/22dd14945c25600de3cf8b91000c66703b551e4f.patch";
- sha256 = "0fzcb241cp9mm7j6baw22blcglbc083ryigzyjaij8r530av10kd";
- })
- (fetchpatch {
- url = "https://github.com/libevent/libevent/commit/28b8075400c70b2d2da2ce07e590c2ec6d11783d.patch";
- sha256 = "0dkzlk44033xksg2iq5w90r3lnziwl1mgz291nzqq906zrya0sdb";
- })
- ];
-
# libevent_openssl is moved into its own output, so that openssl isn't present
# in the default closure.
outputs = [ "out" "dev" ]
diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix
index 8ca3dd727545..916530220526 100644
--- a/pkgs/development/libraries/libical/default.nix
+++ b/pkgs/development/libraries/libical/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
name = "libical-${version}";
version = "3.0.4";
- outputs = [ "out" "dev" "devdoc" ];
+ outputs = [ "out" "dev" ]; #"devdoc" ];
src = fetchFromGitHub {
owner = "libical";
@@ -17,7 +17,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
perl pkgconfig cmake ninja vala gobject-introspection
(python3.withPackages (pkgs: with pkgs; [ pygobject3 ])) # running libical-glib tests
- gtk-doc docbook_xsl docbook_xml_dtd_43 # docs
+# Docs building fails: https://github.com/NixOS/nixpkgs/pull/61657#issuecomment-495579489
+# gtk-doc docbook_xsl docbook_xml_dtd_43 # docs
];
buildInputs = [ glib libxml2 icu ];
diff --git a/pkgs/development/libraries/libidn2/default.nix b/pkgs/development/libraries/libidn2/default.nix
index c0fadfeb6798..5ec5b8e04dd0 100644
--- a/pkgs/development/libraries/libidn2/default.nix
+++ b/pkgs/development/libraries/libidn2/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "libidn2-${version}";
- version = "2.1.1a";
+ version = "2.2.0";
src = fetchurl {
url = "mirror://gnu/gnu/libidn/${name}.tar.gz";
- sha256 = "0wlb0jrkccsdxlx90wx6ax5raqcm6y9c75dcgc6j6m6gdv7nnrjp";
+ sha256 = "1zl1cc2xgxw31pdhvhr5ij36x4vvpy16jq667rspin06nlr4fwzw";
};
outputs = [ "bin" "dev" "out" "info" "devdoc" ];
diff --git a/pkgs/development/libraries/libnftnl/default.nix b/pkgs/development/libraries/libnftnl/default.nix
index f94af3498421..ad51ac8d6dbb 100644
--- a/pkgs/development/libraries/libnftnl/default.nix
+++ b/pkgs/development/libraries/libnftnl/default.nix
@@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, libmnl }:
stdenv.mkDerivation rec {
- version = "1.1.2";
- name = "libnftnl-${version}";
+ version = "1.1.3";
+ pname = "libnftnl";
src = fetchurl {
- url = "https://netfilter.org/projects/libnftnl/files/${name}.tar.bz2";
- sha256 = "0pffmsv41alsn5ac7mwnb9fh3qpwzqk13jrzn6c5i71wq6kbgix5";
+ url = "https://netfilter.org/projects/${pname}/files/${pname}-${version}.tar.bz2";
+ sha256 = "03xszkcpqk3s1rqc6vh7g5j13kh3d3yjnvjhk5scds3an39rgp92";
};
nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libpsl/default.nix b/pkgs/development/libraries/libpsl/default.nix
index ac00920d054c..7e2443d31e92 100644
--- a/pkgs/development/libraries/libpsl/default.nix
+++ b/pkgs/development/libraries/libpsl/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
configureFlags = [
"--disable-static"
- "--enable-gtk-doc"
+# "--enable-gtk-doc"
"--enable-man"
"--enable-valgrind-tests"
"--with-psl-distfile=${publicsuffix-list}/share/publicsuffix/public_suffix_list.dat"
diff --git a/pkgs/development/libraries/librime/default.nix b/pkgs/development/libraries/librime/default.nix
index b1e426172538..71362fd7ef7b 100644
--- a/pkgs/development/libraries/librime/default.nix
+++ b/pkgs/development/libraries/librime/default.nix
@@ -2,14 +2,14 @@
libyamlcpp, gmock }:
stdenv.mkDerivation rec {
- name = "librime-${version}";
- version = "1.4.0";
+ pname = "librime";
+ version = "1.5.0";
src = fetchFromGitHub {
owner = "rime";
repo = "librime";
rev = "${version}";
- sha256 = "1zkx1wfbd94v55gfycyd2b94jxclfyk2zl7yw35pyjx63qdlb6sd";
+ sha256 = "10wvh1l4317yzcys4rzlkw42i6cj5p8g62r1xzyjw32ky2d0ndxl";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libsodium/default.nix b/pkgs/development/libraries/libsodium/default.nix
index 51f779bca6bf..8c88abd2c441 100644
--- a/pkgs/development/libraries/libsodium/default.nix
+++ b/pkgs/development/libraries/libsodium/default.nix
@@ -1,11 +1,11 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
- name = "libsodium-1.0.17";
+ name = "libsodium-1.0.18";
src = fetchurl {
url = "https://download.libsodium.org/libsodium/releases/${name}.tar.gz";
- sha256 = "1cf2d9v1gylz1qcy2zappbf526qfmph6gd6fnn3w2b347vixmhqc";
+ sha256 = "1h9ncvj23qbbni958knzsli8dvybcswcjbx0qjjgi922nf848l3g";
};
outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index 78abbe7392c9..e725439a3f1a 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -1,14 +1,14 @@
{ stdenv, lib, fetchpatch, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, ApplicationServices, CoreServices }:
stdenv.mkDerivation rec {
- version = "1.28.0";
+ version = "1.29.1";
pname = "libuv";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
- sha256 = "0l0gx69sdy3sv3pirjbca2ws54n9d83mj0j96h77k0ncywimvi64";
+ sha256 = "0scnircr6khgh7l3bw9zyfzdgx2c11mpfhd9d8qlw47arrvqg7l8";
};
postPatch = let
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index c18de60aad18..40a03707ea59 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -2,7 +2,7 @@
, pkgconfig, intltool, autoreconfHook
, file, expat, libdrm, xorg, wayland, wayland-protocols, openssl
, llvmPackages, libffi, libomxil-bellagio, libva-minimal
-, libelf, libvdpau, valgrind-light, python2, python2Packages
+, libelf, libvdpau, python2, python2Packages
, libglvnd
, enableRadv ? true
, galliumDrivers ? null
@@ -10,6 +10,7 @@
, vulkanDrivers ? null
, eglPlatforms ? [ "x11" ] ++ lib.optionals stdenv.isLinux [ "wayland" "drm" ]
, OpenGL, Xplugin
+, withValgrind ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32, valgrind-light
}:
/** Packaging design:
@@ -25,10 +26,6 @@
with stdenv.lib;
-if ! elem stdenv.hostPlatform.system platforms.mesaPlatforms then
- throw "${stdenv.system}: unsupported platform for Mesa"
-else
-
let
# platforms that have PCIe slots and thus can use most non-integrated GPUs
pciePlatform = !stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64;
@@ -150,7 +147,8 @@ let self = stdenv.mkDerivation {
libffi libvdpau libelf libXvMC
libpthreadstubs openssl /*or another sha1 provider*/
] ++ lib.optionals (elem "wayland" eglPlatforms) [ wayland wayland-protocols ]
- ++ lib.optionals stdenv.isLinux [ valgrind-light libomxil-bellagio libva-minimal ];
+ ++ lib.optionals stdenv.isLinux [ libomxil-bellagio libva-minimal ]
+ ++ lib.optional withValgrind valgrind-light;
enableParallelBuilding = true;
doCheck = false;
@@ -310,7 +308,7 @@ let self = stdenv.mkDerivation {
description = "An open source implementation of OpenGL";
homepage = https://www.mesa3d.org/;
license = licenses.mit; # X11 variant, in most files
- platforms = platforms.linux ++ platforms.darwin;
+ platforms = platforms.mesaPlatforms;
maintainers = with maintainers; [ vcunat ];
};
};
diff --git a/pkgs/development/libraries/newt/default.nix b/pkgs/development/libraries/newt/default.nix
index 1a5656b7ca16..60dc00a335d9 100644
--- a/pkgs/development/libraries/newt/default.nix
+++ b/pkgs/development/libraries/newt/default.nix
@@ -1,11 +1,12 @@
{ fetchurl, stdenv, slang, popt }:
stdenv.mkDerivation rec {
- name = "newt-0.52.20";
+ pname = "newt";
+ version = "0.52.21";
src = fetchurl {
- url = "https://fedorahosted.org/releases/n/e/newt/${name}.tar.gz";
- sha256 = "1g3dpfnvaw7vljbr7nzq1rl88d6r8cmrvvng9inphgzwxxmvlrld";
+ url = "https://fedorahosted.org/releases/n/e/${pname}/${pname}-${version}.tar.gz";
+ sha256 = "0cdvbancr7y4nrj8257y5n45hmhizr8isynagy4fpsnpammv8pi6";
};
patchPhase = ''
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 1c0d124b5c02..ef617a92eaa7 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -120,8 +120,8 @@ let
in {
openssl_1_0_2 = common {
- version = "1.0.2r";
- sha256 = "1mnh27zf6r1bhm5d9fxqq9slv2gz0d9z2ij9i679b0wapa5x0ldf";
+ version = "1.0.2s";
+ sha256 = "15mbmg8hf7s12vr3v2bdc0pi9y4pdbnsxhzk4fyyap42jaa5rgfa";
patches = [
./1.0.2/nix-ssl-cert-file.patch
@@ -132,15 +132,10 @@ in {
};
openssl_1_1 = common {
- version = "1.1.1b";
- sha256 = "0jza8cmznnyiia43056dij1jdmz62dx17wsn0zxksh9h6817nmaw";
+ version = "1.1.1c";
+ sha256 = "142c7zdlz06hjrrvinb9f276czc78bnkyhd9xma621qmmmwk1yzn";
patches = [
./1.1/nix-ssl-cert-file.patch
- (fetchurl {
- name = "long-chacha-nonce.patch";
- url = "https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=f426625b6ae9a7831010750490a5f0ad689c5ba3";
- sha256= "02ghqg3vzmzx3s1dwwwbm1p1l4asaiampyg4k9vfrjwficvgpdgp";
- })
(if stdenv.hostPlatform.isDarwin
then ./1.1/use-etc-ssl-certs-darwin.patch
diff --git a/pkgs/development/mobile/androidenv/compose-android-packages.nix b/pkgs/development/mobile/androidenv/compose-android-packages.nix
index 935a4a4f2fbb..40b2ed775cd5 100644
--- a/pkgs/development/mobile/androidenv/compose-android-packages.nix
+++ b/pkgs/development/mobile/androidenv/compose-android-packages.nix
@@ -26,7 +26,7 @@ let
# Determine the Android os identifier from Nix's system identifier
os = if stdenv.system == "x86_64-linux" then "linux"
else if stdenv.system == "x86_64-darwin" then "macosx"
- else throw "No tarballs found for system architecture: ${stdenv.system}";
+ else throw "No Android SDK tarballs are available for system architecture: ${stdenv.system}";
# Generated Nix packages
packages = import ./generated/packages.nix {
diff --git a/pkgs/development/python-modules/aiohttp/cors.nix b/pkgs/development/python-modules/aiohttp-cors/default.nix
similarity index 100%
rename from pkgs/development/python-modules/aiohttp/cors.nix
rename to pkgs/development/python-modules/aiohttp-cors/default.nix
diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix
index 90bd7521ea41..5769109f7741 100644
--- a/pkgs/development/python-modules/aiohttp/default.nix
+++ b/pkgs/development/python-modules/aiohttp/default.nix
@@ -40,6 +40,14 @@ buildPythonPackage rec {
propagatedBuildInputs = [ attrs chardet multidict async-timeout yarl ]
++ lib.optionals (pythonOlder "3.7") [ idna-ssl typing-extensions ];
+ # Don't error on cryptography deprecation warning
+ postPatch = ''
+ substituteInPlace pytest.ini --replace "filterwarnings = error" ""
+ '';
+
+ # coroutine 'noop2' was never awaited
+ doCheck = false;
+
meta = with lib; {
description = "Asynchronous HTTP Client/Server for Python and asyncio";
license = licenses.asl20;
diff --git a/pkgs/development/python-modules/asyncssh/default.nix b/pkgs/development/python-modules/asyncssh/default.nix
index 5320d5be1087..a078a4207163 100644
--- a/pkgs/development/python-modules/asyncssh/default.nix
+++ b/pkgs/development/python-modules/asyncssh/default.nix
@@ -5,12 +5,12 @@
buildPythonPackage rec {
pname = "asyncssh";
- version = "1.16.1";
+ version = "1.17.0";
disabled = pythonOlder "3.4";
src = fetchPypi {
inherit pname version;
- sha256 = "0qia1ay2dhwps5sfh0hif7mrv7yxvykxs9l7cmfp4m6hmqnn3r5r";
+ sha256 = "1qrpkdyl77956qg6g7g66bbd6bfvb2nwi2sjy3v3li8m3irx8d7d";
};
patches = [
@@ -21,13 +21,6 @@ buildPythonPackage rec {
# However that broke the test on NixOS, failing with
# "Operation not permitted"
./fix-sftp-chmod-test-nixos.patch
-
- # Restore libnacl support for curve25519/ed25519 as a fallback for PyCA
- # Fixes https://github.com/ronf/asyncssh/issues/206 with older openssl
- (fetchpatch {
- url = "https://github.com/ronf/asyncssh/commit/1dee113bb3e4a6888de562b0413e9abd6a0f0f04.patch";
- sha256 = "04bckdj7i6xk24lizkn3a8cj375pkz7yc57fc0vk222c6jzwzaml";
- })
];
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cryptography/default.nix b/pkgs/development/python-modules/cryptography/default.nix
index f40f0bf63d82..6b20b4b570a3 100644
--- a/pkgs/development/python-modules/cryptography/default.nix
+++ b/pkgs/development/python-modules/cryptography/default.nix
@@ -21,11 +21,11 @@
buildPythonPackage rec {
pname = "cryptography";
- version = "2.6.1"; # Also update the hash in vectors.nix
+ version = "2.7"; # Also update the hash in vectors.nix
src = fetchPypi {
inherit pname version;
- sha256 = "19iwz5avym5zl6jrrrkym1rdaa9h61j20ph4cswsqgv8xg5j3j16";
+ sha256 = "1inlnr36kl36551c9rcad99jmhk81v33by3glkadwdcgmi17fd76";
};
outputs = [ "out" "dev" ];
diff --git a/pkgs/development/python-modules/cryptography/vectors.nix b/pkgs/development/python-modules/cryptography/vectors.nix
index 5679905cd143..ea24ed908016 100644
--- a/pkgs/development/python-modules/cryptography/vectors.nix
+++ b/pkgs/development/python-modules/cryptography/vectors.nix
@@ -7,7 +7,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
- sha256 = "1bsqcv3h49dzqnyn29ijq8r7k1ra8ikl1y9qcpcns9nbvhaq3wq3";
+ sha256 = "1g38zw90510azyfrj6mxbslx2gp9yrnv5dac0w2819k9ssdznbgi";
};
# No tests included
diff --git a/pkgs/development/python-modules/scandir/default.nix b/pkgs/development/python-modules/scandir/default.nix
index 9aa2269c9575..2736eb2ee9a3 100644
--- a/pkgs/development/python-modules/scandir/default.nix
+++ b/pkgs/development/python-modules/scandir/default.nix
@@ -2,13 +2,15 @@
buildPythonPackage rec {
pname = "scandir";
- version = "1.7";
+ version = "1.10.0";
src = fetchPypi {
inherit pname version;
- sha256 ="0gbnhjzg42rj87ljv9kb648rfxph69ly3c8r9841dxy4d7l5pmdj";
+ sha256 ="1bkqwmf056pkchf05ywbnf659wqlp6lljcdb0y88wr9f0vv32ijd";
};
+ checkPhase = "python test/run_tests.py";
+
meta = with lib; {
description = "A better directory iterator and faster os.walk()";
homepage = https://github.com/benhoyt/scandir;
diff --git a/pkgs/development/tools/documentation/gtk-doc/0001-highlight-fix-permission-on-file-style.patch b/pkgs/development/tools/documentation/gtk-doc/0001-highlight-fix-permission-on-file-style.patch
new file mode 100644
index 000000000000..f7e37a1a5e5a
--- /dev/null
+++ b/pkgs/development/tools/documentation/gtk-doc/0001-highlight-fix-permission-on-file-style.patch
@@ -0,0 +1,24 @@
+From 95a75c95c5c4e641ce7cda0ded968d66f07f822a Mon Sep 17 00:00:00 2001
+From: worldofpeace
+Date: Sat, 18 May 2019 14:44:08 -0400
+Subject: [PATCH] highlight: fix permission on file style
+
+---
+ gtkdoc/highlight.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gtkdoc/highlight.py b/gtkdoc/highlight.py
+index 8f6e470..d11c432 100644
+--- a/gtkdoc/highlight.py
++++ b/gtkdoc/highlight.py
+@@ -47,6 +47,6 @@ def highlight_code(code, lang='c'):
+
+
+ def append_style_defs(css_file_name):
+- os.chmod(css_file_name, stat.S_IWRITE)
++ os.chmod(css_file_name, 0o664)
+ with open(css_file_name, 'at', newline='\n', encoding='utf-8') as css:
+ css.write(HTML_FORMATTER.get_style_defs())
+--
+2.21.0
+
diff --git a/pkgs/development/tools/documentation/gtk-doc/default.nix b/pkgs/development/tools/documentation/gtk-doc/default.nix
index f6083a78bf89..44b5384106ea 100644
--- a/pkgs/development/tools/documentation/gtk-doc/default.nix
+++ b/pkgs/development/tools/documentation/gtk-doc/default.nix
@@ -1,30 +1,59 @@
-{ stdenv, fetchurl, autoreconfHook, pkgconfig, perl, python3, libxml2Python, libxslt, which
-, docbook_xml_dtd_43, docbook_xsl, gnome-doc-utils, gettext, itstool, gnome3
+{ stdenv
+, fetchFromGitLab
+, meson
+, ninja
+, pkgconfig
+, python3
+, libxml2Python
+, docbook_xml_dtd_43
+, docbook_xsl
+, libxslt
+, gettext
+, gnome3
, withDblatex ? false, dblatex
}:
stdenv.mkDerivation rec {
pname = "gtk-doc";
- version = "1.29";
+ version = "1.30";
- src = fetchurl {
- url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "1cc6yl8l275qn3zpjl6f0s4fwmkczngjr9hhsdv74mln4h08wmql";
+ src = fetchFromGitLab {
+ domain = "gitlab.gnome.org";
+ owner = "GNOME";
+ repo = pname;
+ rev = "GTK_DOC_${stdenv.lib.replaceStrings ["."] ["_"] version }";
+ sha256 = "05lr6apj3pd3s59a7k6p45k9ywwrp577ra4pvkhxvb5p7v90c2fi";
};
patches = [
passthru.respect_xml_catalog_files_var_patch
+ # https://gitlab.gnome.org/GNOME/gtk-doc/issues/84
+ ./0001-highlight-fix-permission-on-file-style.patch
];
outputDevdoc = "out";
- nativeBuildInputs = [ autoreconfHook ];
- buildInputs =
- [ pkgconfig perl python3 libxml2Python libxslt docbook_xml_dtd_43 docbook_xsl
- gnome-doc-utils gettext which itstool
- ] ++ stdenv.lib.optional withDblatex dblatex;
+ nativeBuildInputs = [
+ gettext
+ meson
+ ninja
+ ];
- configureFlags = [ "--disable-scrollkeeper" ];
+ buildInputs = [
+ docbook_xml_dtd_43
+ docbook_xsl
+ libxslt
+ pkgconfig
+ python3
+ libxml2Python
+ ]
+ ++ stdenv.lib.optional withDblatex dblatex
+ ;
+
+ mesonFlags = [
+ "-Dtests=false"
+ "-Dyelp_manual=false"
+ ];
# Make pygments available for binaries, python.withPackages creates a wrapper
# but scripts are not allowed in shebangs so we link it into sys.path.
diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix
index a0f0a4c47e34..7270877c52e4 100644
--- a/pkgs/os-specific/linux/busybox/default.nix
+++ b/pkgs/os-specific/linux/busybox/default.nix
@@ -94,7 +94,7 @@ stdenv.mkDerivation rec {
depsBuildBuild = [ buildPackages.stdenv.cc ];
- buildInputs = lib.optionals (enableStatic && !useMusl) [ stdenv.cc.libc stdenv.cc.libc.static ];
+ buildInputs = lib.optionals (enableStatic && !useMusl && stdenv.cc.libc ? static) [ stdenv.cc.libc stdenv.cc.libc.static ];
enableParallelBuilding = true;
diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix
index ff6ce3b4889d..b2fee6184e24 100644
--- a/pkgs/os-specific/linux/iptables/default.nix
+++ b/pkgs/os-specific/linux/iptables/default.nix
@@ -2,42 +2,14 @@
, libnetfilter_conntrack, libnftnl, libmnl, libpcap }:
stdenv.mkDerivation rec {
- name = "iptables-${version}";
- version = "1.8.2";
+ pname = "iptables";
+ version = "1.8.3";
src = fetchurl {
- url = "https://www.netfilter.org/projects/iptables/files/${name}.tar.bz2";
- sha256 = "1bqj9hf3szy9r0w14iy23w00ir8448nfhpcprbwmcchsxm88nxx3";
+ url = "https://www.netfilter.org/projects/${pname}/files/${pname}-${version}.tar.bz2";
+ sha256 = "106xkkg5crsscjlinxvqvprva23fwwqfgrzl8m2nn841841sqg52";
};
- patches = [
- # Adds missing bits to extensions' libipt_icmp.c and libip6t_icmp6.c that were causing build to fail
- (fetchpatch {
- url = "https://git.netfilter.org/iptables/patch/?id=907e429d7548157016cd51aba4adc5d0c7d9f816";
- sha256 = "0vc7ljcglz5152lc3jx4p44vjfi6ipvxdrgkdb5dmkhlb5v93i2h";
- })
- # Build with musl libc fails because of conflicting struct ethhdr definitions
- (fetchpatch {
- url = "https://git.netfilter.org/iptables/patch/?id=51d374ba41ae4f1bb851228c06b030b83dd2092f";
- sha256 = "05fwrq03f9sm0v2bfwshbrg7pi2p978w1460arnmpay3135gj266";
- })
- # Extensions: libip6t_mh: fix bogus translation error
- (fetchpatch {
- url = "https://git.netfilter.org/iptables/patch/?id=5839d7fe62ff667af7132fc7d589b386951f27b3";
- sha256 = "0578jn1ip710z9kijwg9g2vjq2kfrbafl03m1rgi4fasz215gvkf";
- })
- # Prevent headers collisions between linux and netfilter (in.h and in6.h)
- # Fixed upstream with two commits
- (fetchpatch {
- url = "https://git.netfilter.org/iptables/patch/?id=8d9d7e4b9ef4c6e6abab2cf35c747d7ca36824bd";
- sha256 = "0q3wcspiqym1r6dg1jhg7h8hpvsjzx1k7cs39z36mzlbmj9lm0zb";
- })
- (fetchpatch {
- url = "https://git.netfilter.org/iptables/patch/?id=2908eda10bf9fc81119d4f3ad672c67918ab5955";
- sha256 = "1dci4c8b7gcdrf77l2aicrcwlbp320xjz76fhavams0b4kgs6yr3";
- })
- ];
-
nativeBuildInputs = [ bison flex pkgconfig pruneLibtoolFiles ];
buildInputs = [ libnetfilter_conntrack libnftnl libmnl libpcap ];
diff --git a/pkgs/os-specific/linux/multipath-tools/default.nix b/pkgs/os-specific/linux/multipath-tools/default.nix
index 14996fd76be5..0e90a0814767 100644
--- a/pkgs/os-specific/linux/multipath-tools/default.nix
+++ b/pkgs/os-specific/linux/multipath-tools/default.nix
@@ -1,16 +1,17 @@
-{ stdenv, fetchurl, lvm2, libaio, gzip, readline, systemd, liburcu }:
+{ stdenv, fetchurl, pkgconfig, perl, lvm2, libaio, gzip, readline, systemd, liburcu, json_c }:
stdenv.mkDerivation rec {
name = "multipath-tools-${version}";
- version = "0.6.2";
+ version = "0.8.1";
src = fetchurl {
name = "${name}.tar.gz";
- url = "https://git.opensvc.com/?p=multipath-tools/.git;a=snapshot;h=${version};sf=tgz";
- sha256 = "159hxvbk9kh1qay9x04w0gsqzg0hkl5yghfc1wi9kv2n5pcwbkpm";
+ url = "https://git.opensvc.com/gitweb.cgi?p=multipath-tools/.git;a=snapshot;h=refs/tags/${version};sf=tgz";
+ sha256 = "0669zl4dpai63dl04lf8vpwnpsff6qf19fifxfc4frawnh699k95";
};
postPatch = ''
+ substituteInPlace libmultipath/Makefile --replace /usr/include/libdevmapper.h ${lvm2}/include/libdevmapper.h
sed -i -re '
s,^( *#define +DEFAULT_MULTIPATHDIR\>).*,\1 "'"$out/lib/multipath"'",
' libmultipath/defaults.h
@@ -20,8 +21,8 @@ stdenv.mkDerivation rec {
Makefile.inc
'';
- nativeBuildInputs = [ gzip ];
- buildInputs = [ systemd lvm2 libaio readline liburcu ];
+ nativeBuildInputs = [ gzip pkgconfig perl ];
+ buildInputs = [ systemd lvm2 libaio readline liburcu json_c ];
makeFlags = [
"LIB=lib"
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 84890b569163..8aa518ed1d01 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -9,16 +9,14 @@
, patchelf
, getent
, buildPackages
+, perl
, withSelinux ? false, libselinux
, withLibseccomp ? lib.any (lib.meta.platformMatch stdenv.hostPlatform) libseccomp.meta.platforms, libseccomp
, withKexectools ? lib.any (lib.meta.platformMatch stdenv.hostPlatform) kexectools.meta.platforms, kexectools
}:
-let
- pythonLxmlEnv = buildPackages.python3Packages.python.withPackages ( ps: with ps; [ python3Packages.lxml ]);
-
-in stdenv.mkDerivation rec {
- version = "239.20190219";
+stdenv.mkDerivation rec {
+ version = "242";
name = "systemd-${version}";
# When updating, use https://github.com/systemd/systemd-stable tree, not the development one!
@@ -27,27 +25,9 @@ in stdenv.mkDerivation rec {
owner = "NixOS";
repo = "systemd";
rev = "nixos-v${version}";
- sha256 = "0aczg25ih2gfjq810x8rw6rnpr6sw1lz6z0lvlyw2qphyih68b4x";
+ sha256 = "0ldyhfxdy4qlgygvpc92wp0qp6p1c9y3rnm77zwbkga48x60d9i8";
};
- prePatch = let
- # Upstream's maintenance branches are still too intrusive:
- # https://github.com/systemd/systemd-stable/tree/v239-stable
- patches-deb = fetchurl {
- # This URL should point to a stable location that does not easily
- # disappear. In the past we were using `mirror://debian` but that
- # eventually causes the files to disappear. While that was a good sign
- # for us to update our patch collection it does break reproducibility.
- name = "systemd-debian-patches.tar.xz";
- url = http://snapshot.debian.org/archive/debian/20190301T035241Z/pool/main/s/systemd/systemd_239-12%7Ebpo9%2B1.debian.tar.xz;
- sha256 = "0v9f62gyfiw5icdrdlcvjcipsqrsm49w6n8bqp9nb8s2ih6rsfhg";
- };
- # Note that we skip debian-specific patches, i.e. ./debian/patches/debian/*
- in ''
- tar xf ${patches-deb}
- patches="$patches $(cat debian/patches/series | grep -v '^debian/' | sed 's|^|debian/patches/|')"
- '';
-
outputs = [ "out" "lib" "man" "dev" ];
nativeBuildInputs =
@@ -56,6 +36,9 @@ in stdenv.mkDerivation rec {
coreutils # meson calls date, stat etc.
glibcLocales
patchelf getent m4
+ perl # to patch the libsystemd.so and remove dependencies on aarch64
+
+ (buildPackages.python3Packages.python.withPackages ( ps: with ps; [ python3Packages.lxml ]))
];
buildInputs =
[ linuxHeaders libcap kmod xz pam acl
@@ -65,17 +48,24 @@ in stdenv.mkDerivation rec {
stdenv.lib.optional withLibseccomp libseccomp ++
[ libffi audit lz4 bzip2 libapparmor
iptables gnu-efi
- # This is actually native, but we already pull it from buildPackages
- pythonLxmlEnv
] ++ stdenv.lib.optional withSelinux libselinux;
#dontAddPrefix = true;
mesonFlags = [
+ "-Ddbuspolicydir=${placeholder "out"}/etc/dbus-1/system.d"
+ "-Ddbussessionservicedir=${placeholder "out"}/share/dbus-1/services"
+ "-Ddbussystemservicedir=${placeholder "out"}/share/dbus-1/system-services"
+ "-Dpamconfdir=${placeholder "out"}/etc/pam.d"
+ "-Drootprefix=${placeholder "out"}"
+ "-Drootlibdir=${placeholder "lib"}/lib"
+ "-Dpkgconfiglibdir=${placeholder "dev"}/lib/pkgconfig"
+ "-Dpkgconfigdatadir=${placeholder "dev"}/share/pkgconfig"
"-Dloadkeys-path=${kbd}/bin/loadkeys"
"-Dsetfont-path=${kbd}/bin/setfont"
"-Dtty-gid=3" # tty in NixOS has gid 3
- # "-Dtests=" # TODO
+ # while we do not run tests we should also not build them. Removes about 600 targets
+ "-Dtests=false"
"-Dlz4=true"
"-Dhostnamed=true"
"-Dnetworkd=true"
@@ -92,6 +82,7 @@ in stdenv.mkDerivation rec {
"-Dquotacheck=false"
"-Dldconfig=false"
"-Dsmack=true"
+ "-Db_pie=true"
"-Dsystem-uid-max=499" #TODO: debug why awking around in /etc/login.defs doesn't work
"-Dsystem-gid-max=499"
# "-Dtime-epoch=1"
@@ -113,19 +104,10 @@ in stdenv.mkDerivation rec {
preConfigure = ''
mesonFlagsArray+=(-Dntp-servers="0.nixos.pool.ntp.org 1.nixos.pool.ntp.org 2.nixos.pool.ntp.org 3.nixos.pool.ntp.org")
- mesonFlagsArray+=(-Ddbuspolicydir=$out/etc/dbus-1/system.d)
- mesonFlagsArray+=(-Ddbussessionservicedir=$out/share/dbus-1/services)
- mesonFlagsArray+=(-Ddbussystemservicedir=$out/share/dbus-1/system-services)
- mesonFlagsArray+=(-Dpamconfdir=$out/etc/pam.d)
- mesonFlagsArray+=(-Drootprefix=$out)
- mesonFlagsArray+=(-Drootlibdir=$lib/lib)
- mesonFlagsArray+=(-Dpkgconfiglibdir=$dev/lib/pkgconfig)
- mesonFlagsArray+=(-Dpkgconfigdatadir=$dev/share/pkgconfig)
-
export LC_ALL="en_US.UTF-8";
# FIXME: patch this in systemd properly (and send upstream).
# already fixed in f00929ad622c978f8ad83590a15a765b4beecac9: (u)mount
- for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.in src/journal/cat.c src/core/shutdown.c src/nspawn/nspawn.c src/shared/generator.c; do
+ for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.in src/journal/cat.c src/shutdown/shutdown.c src/nspawn/nspawn.c src/shared/generator.c; do
test -e $i
substituteInPlace $i \
--replace /usr/bin/getent ${getent}/bin/getent \
@@ -139,14 +121,8 @@ in stdenv.mkDerivation rec {
--replace /bin/plymouth /run/current-system/sw/bin/plymouth # To avoid dependency
done
- for i in tools/xml_helper.py tools/make-directive-index.py tools/make-man-index.py test/sys-script.py; do
- substituteInPlace $i \
- --replace "#!/usr/bin/env python" "#!${pythonLxmlEnv}/bin/python"
- done
-
- for i in src/basic/generate-gperfs.py src/resolve/generate-dns_type-gperf.py src/test/generate-sym-test.py ; do
- substituteInPlace $i \
- --replace "#!/usr/bin/env python" "#!${buildPackages.python3Packages.python}/bin/python"
+ for dir in tools src/resolve test src/test; do
+ patchShebangs $dir
done
substituteInPlace src/journal/catalog.c \
@@ -207,13 +183,37 @@ in stdenv.mkDerivation rec {
enableParallelBuilding = true;
+ # On aarch64 we "leak" a reference to $out/lib/systemd/catalog in the lib
+ # output. The result of that is a dependency cycle between $out and $lib.
+ # Thus nix (rightfully) marks the build as failed. That reference originates
+ # from an array of strings (catalog_file_dirs) in systemd
+ # (src/src/journal/catalog.{c,h}). The only consumer (as of v242) of the
+ # symbol is the main function of journalctl. Still libsystemd.so contains
+ # the VALUE but not the symbol. Systemd seems to be properly using function
+ # & data sections together with the linker flags to garbage collect unused
+ # sections (-Wl,--gc-sections). For unknown reasons those flags do not
+ # eliminate the unused string constants, in this case on aarch64-linux. The
+ # hacky way is to just remove the reference after we finished compiling.
+ # Since it can not be used (there is no symbol to actually refer to it) there
+ # should not be any harm. It is a bit odd and I really do not like starting
+ # these kind of hacks but there doesn't seem to be a straight forward way at
+ # this point in time.
+ # The reference will be replaced by the same reference the usual nukeRefs
+ # tooling uses. The standard tooling can not / should not be uesd since it
+ # is a bit too excessive and could potentially do us some (more) harm.
+ postFixup = ''
+ nukedRef=$(echo $out | sed -e "s,$NIX_STORE/[^-]*-\(.*\),$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-\1,")
+ cat $lib/lib/libsystemd.so | perl -pe "s|$out/lib/systemd/catalog|$nukedRef/lib/systemd/catalog|" > $lib/lib/libsystemd.so.tmp
+ mv $lib/lib/libsystemd.so.tmp $(readlink -f $lib/lib/libsystemd.so)
+ '';
+
# The interface version prevents NixOS from switching to an
# incompatible systemd at runtime. (Switching across reboots is
# fine, of course.) It should be increased whenever systemd changes
# in a backwards-incompatible way. If the interface version of two
# systemd builds is the same, then we can switch between them at
# runtime; otherwise we can't and we need to reboot.
- passthru.interfaceVersion = 2;
+ passthru.interfaceVersion = 3;
meta = with stdenv.lib; {
homepage = http://www.freedesktop.org/wiki/Software/systemd;
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index 06693303ff92..13b5d4c3c9f0 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -59,7 +59,21 @@ stdenv.mkDerivation rec {
++ lib.optionals bluetoothSupport [ bluez5 sbc ]
++ lib.optional remoteControlSupport lirc
++ lib.optional zeroconfSupport avahi
- );
+ );
+
+ patches = [
+ # The following two patches fix alsalib headers move, remove after the next release
+ (fetchpatch {
+ name = "alsa-asoundlib-include.patch";
+ url = "https://gitlab.freedesktop.org/pulseaudio/pulseaudio/commit/993d3fd89e5611997f1e165bf03edefb0204b0a4.patch";
+ sha256 = "17icnf8026947j1dqw4k16f91vy6zyg7q41zv2j6pxh9fncb1s71";
+ })
+ (fetchpatch {
+ name = "alsa-use-case-include.patch";
+ url = "https://gitlab.freedesktop.org/pulseaudio/pulseaudio/commit/b89d33bb182c42db5ad3987b0e91b7bf62f421e8.patch";
+ sha256 = "0jccpc0dgkb0v4xrkyca2pm2k4i6pvahs9bq4hbg34173p23g5nb";
+ })
+ ];
preConfigure = ''
# Performs and autoreconf
@@ -117,19 +131,6 @@ stdenv.mkDerivation rec {
--prefix GIO_EXTRA_MODULES : "${lib.getLib gnome3.dconf}/lib/gio/modules"
'';
- patches = [
- (fetchpatch {
- name = "alsa-asoundlib-include.patch";
- url = "https://gitlab.freedesktop.org/pulseaudio/pulseaudio/commit/993d3fd89e5611997f1e165bf03edefb0204b0a4.patch";
- sha256 = "17icnf8026947j1dqw4k16f91vy6zyg7q41zv2j6pxh9fncb1s71";
- })
- (fetchpatch {
- name = "alsa-use-case-include.patch";
- url = "https://gitlab.freedesktop.org/pulseaudio/pulseaudio/commit/b89d33bb182c42db5ad3987b0e91b7bf62f421e8.patch";
- sha256 = "0jccpc0dgkb0v4xrkyca2pm2k4i6pvahs9bq4hbg34173p23g5nb";
- })
- ];
-
meta = {
description = "Sound server for POSIX and Win32 systems";
homepage = http://www.pulseaudio.org/;
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index d46f0cc6317a..701670187b60 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -38,7 +38,7 @@ let
enableParallelBuilding = !stdenv.isDarwin;
- makeFlags = [ "world" ];
+ buildFlags = [ "world" ];
NIX_CFLAGS_COMPILE = [ "-I${libxml2.dev}/include/libxml2" ];
@@ -60,6 +60,7 @@ let
(if atLeast "9.6" then ./patches/less-is-more-96.patch else ./patches/less-is-more.patch)
(if atLeast "9.6" then ./patches/hardcode-pgxs-path-96.patch else ./patches/hardcode-pgxs-path.patch)
./patches/specify_pkglibdir_at_runtime.patch
+ ./patches/findstring.patch
] ++ lib.optional stdenv.isLinux ./patches/socketdir-in-run.patch;
installTargets = [ "install-world" ];
diff --git a/pkgs/servers/sql/postgresql/patches/findstring.patch b/pkgs/servers/sql/postgresql/patches/findstring.patch
new file mode 100644
index 000000000000..959bf6a6caa4
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/patches/findstring.patch
@@ -0,0 +1,59 @@
+From: Matthew Bauer
+Date: Wed, 29 May 2019 22:51:52 -0400
+Subject: [PATCH] Add /postgresql suffix for Nix outputs
+
+Nix outputs put the `name' in each store path like
+/nix/store/...-. This was confusing the Postgres make script
+because it thought its data directory already had postgresql in its
+directory. This lead to Postgres installing all of its fils in
+$out/share. To fix this, we just look for postgres or psql in the part
+after the / using make's notdir.
+
+---
+From: Matthew Bauer
+Date: Wed, 29 May 2019 22:51:52 -0400
+Subject: [PATCH] Add /postgresql suffix for Nix outputs
+
+Nix outputs put the `name' in each store path like
+/nix/store/...-. This was confusing the Postgres make script
+because it thought its data directory already had postgresql in its
+directory. This lead to Postgres installing all of its fils in
+$out/share. To fix this, we just look for postgres or psql in the part
+after the / using make's notdir.
+
+---
+diff --git a/src/Makefile.global.in b/src/Makefile.global.in
+index b9d86acaa9..bce05464c3 100644
+--- a/src/Makefile.global.in
++++ b/src/Makefile.global.in
+@@ -102,15 +102,15 @@ datarootdir := @datarootdir@
+ bindir := @bindir@
+
+ datadir := @datadir@
+-ifeq "$(findstring pgsql, $(datadir))" ""
+-ifeq "$(findstring postgres, $(datadir))" ""
++ifeq "$(findstring pgsql, $(notdir $(datadir)))" ""
++ifeq "$(findstring postgres, $(notdir $(datadir)))" ""
+ override datadir := $(datadir)/postgresql
+ endif
+ endif
+
+ sysconfdir := @sysconfdir@
+-ifeq "$(findstring pgsql, $(sysconfdir))" ""
+-ifeq "$(findstring postgres, $(sysconfdir))" ""
++ifeq "$(findstring pgsql, $(notdir $(sysconfdir)))" ""
++ifeq "$(findstring postgres, $(notdir $(sysconfdir)))" ""
+ override sysconfdir := $(sysconfdir)/postgresql
+ endif
+ endif
+@@ -136,8 +136,8 @@ endif
+ mandir := @mandir@
+
+ docdir := @docdir@
+-ifeq "$(findstring pgsql, $(docdir))" ""
+-ifeq "$(findstring postgres, $(docdir))" ""
++ifeq "$(findstring pgsql, $(notdir $(docdir)))" ""
++ifeq "$(findstring postgres, $(notdir $(docdir)))" ""
+ override docdir := $(docdir)/postgresql
+ endif
+ endif
diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix
index c06b5eeff4b9..babb3d844fe9 100644
--- a/pkgs/tools/filesystems/e2fsprogs/default.nix
+++ b/pkgs/tools/filesystems/e2fsprogs/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "e2fsprogs";
- version = "1.45.1";
+ version = "1.45.2";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
- sha256 = "0zi8jz28hs66vhjvrfxmkmr1via19aygcbzpnw3lp0crhizaasgf";
+ sha256 = "1bhqljgcngys1diaxh7rnxc85d1jsril8xd7bach9imdjwr1wlm8";
};
outputs = [ "bin" "dev" "out" "man" "info" ];
diff --git a/pkgs/tools/networking/mosh/default.nix b/pkgs/tools/networking/mosh/default.nix
index 9f81e0d57211..98d2625aade9 100644
--- a/pkgs/tools/networking/mosh/default.nix
+++ b/pkgs/tools/networking/mosh/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, zlib, protobuf, ncurses, pkgconfig
+{ lib, stdenv, fetchurl, fetchpatch, zlib, protobuf, ncurses, pkgconfig
, makeWrapper, perlPackages, openssl, autoreconfHook, openssh, bash-completion
, libutempter ? null, withUtempter ? stdenv.isLinux }:
@@ -15,7 +15,15 @@ stdenv.mkDerivation rec {
++ (with perlPackages; [ perl IOTty ])
++ lib.optional withUtempter libutempter;
- patches = [ ./ssh_path.patch ./utempter_path.patch ];
+ patches = [
+ ./ssh_path.patch
+ ./utempter_path.patch
+ # Fix w/c++17, ::bind vs std::bind
+ (fetchpatch {
+ url = "https://github.com/mobile-shell/mosh/commit/e5f8a826ef9ff5da4cfce3bb8151f9526ec19db0.patch";
+ sha256 = "15518rb0r5w1zn4s6981bf1sz6ins6gpn2saizfzhmr13hw4gmhm";
+ })
+ ];
postPatch = ''
substituteInPlace scripts/mosh.pl \
--subst-var-by ssh "${openssh}/bin/ssh"
diff --git a/pkgs/tools/security/gnupg/22.nix b/pkgs/tools/security/gnupg/22.nix
index fbb370027d7e..b360992c6bef 100644
--- a/pkgs/tools/security/gnupg/22.nix
+++ b/pkgs/tools/security/gnupg/22.nix
@@ -16,11 +16,11 @@ assert guiSupport -> pinentry != null;
stdenv.mkDerivation rec {
name = "gnupg-${version}";
- version = "2.2.15";
+ version = "2.2.16";
src = fetchurl {
url = "mirror://gnupg/gnupg/${name}.tar.bz2";
- sha256 = "0m6lyphbb20i84isdxzfhcbzyc682hdrdv4aqkzmhrdksycf536b";
+ sha256 = "1jqlzp9b3kpfp1dkjqskm67jjrhvf9nh3lzf45321p7m9d2qvgkc";
};
depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 889684d3fa94..a7d5f3b0b8d3 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4643,9 +4643,7 @@ in
docbook-xsl = docbook_xsl;
};
- mosh = callPackage ../tools/networking/mosh {
- stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
- };
+ mosh = callPackage ../tools/networking/mosh { };
motuclient = callPackage ../applications/science/misc/motu-client { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 828cf517d5c8..61801eee1581 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1028,7 +1028,7 @@ in {
aiohttp = callPackage ../development/python-modules/aiohttp { };
- aiohttp-cors = callPackage ../development/python-modules/aiohttp/cors.nix { };
+ aiohttp-cors = callPackage ../development/python-modules/aiohttp-cors { };
aiohttp-jinja2 = callPackage ../development/python-modules/aiohttp-jinja2 { };
diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix
index 339973f05748..bc822b466c90 100644
--- a/pkgs/top-level/release-cross.nix
+++ b/pkgs/top-level/release-cross.nix
@@ -107,7 +107,6 @@ in
mapTestEqual = lib.mapAttrsRecursive testEqual;
in mapTestEqual {
- androidndk = nativePlatforms;
boehmgc = nativePlatforms;
libffi = nativePlatforms;
libiconv = nativePlatforms;