From 8cf4ef7ab747b3e3d0b1319de538257281355b33 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com> Date: Tue, 30 Dec 2014 04:36:14 +0100 Subject: [PATCH] merge #5505: use /run/current-system/sw/bin/* A working /sbin/shutdown (usually provided by systemd) is required by "rtcwake -m off". Creating a circular dependency on systemd for this just isn't worth the trouble, so take the straightforward way out. One could easily make the argument that rtcwake wants to shut down the *currently running system*, and that the correct API for that *is* in fact /run/current-system. And it makes a very tempting sort of sense. @vcunat moved to postPatch and added #FIXME. --- pkgs/os-specific/linux/util-linux/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index 3b76eb63ea5f..3715a93d9328 100644 --- a/pkgs/os-specific/linux/util-linux/default.nix +++ b/pkgs/os-specific/linux/util-linux/default.nix @@ -8,6 +8,14 @@ stdenv.mkDerivation rec { sha256 = "e0457f715b73f4a349e1acb08cb410bf0edc9a74a3f75c357070f31f70e33cd6"; }; + #FIXME: make it also work on non-nixos? + postPatch = '' + # Substituting store paths would create a circular dependency on systemd + substituteInPlace include/pathnames.h \ + --replace "/bin/login" "/run/current-system/sw/bin/login" \ + --replace "/sbin/shutdown" "/run/current-system/sw/bin/shutdown" + ''; + crossAttrs = { # Work around use of `AC_RUN_IFELSE'. preConfigure = "export scanf_cv_type_modifier=ms";