about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix23
1 files changed, 21 insertions, 2 deletions
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index 642480b670c71..4f957dfcc1675 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, fetchurl, pkg-config, zlib, shadow
+{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook, gtk-doc, pkg-config
+, zlib, shadow
 , capabilitiesSupport ? stdenv.isLinux
 , libcap_ng
 , libxcrypt
@@ -18,7 +19,11 @@
 , memstreamHook
 , gitUpdater
 }:
-
+let
+  # Temporarily avoid applying the patches on systems where already we have binaries
+  # (in particular x86_64-linux and aarch64-linux) as the package is a huge rebuild there.
+  avoidRebuild = stdenv.isLinux && stdenv.is64bit;
+in
 stdenv.mkDerivation rec {
   pname = "util-linux" + lib.optionalString (!nlsSupport && !ncursesSupport && !systemdSupport) "-minimal";
   version = "2.40.1";
@@ -30,6 +35,19 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./rtcwake-search-PATH-for-shutdown.patch
+  ] ++ lib.optionals (!avoidRebuild) [
+    # Backports of patches that hopefully fix an intermittent parallel
+    # build failure.
+    (fetchpatch {
+      name = "pam_lastlog2:-drop-duplicate-assignment-pam_lastlog2_la_LDFLAGS.patch";
+      url = "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/patch/?id=290748729dc3edf9ea1c680c8954441a5e367a44";
+      hash = "sha256-Hi+SrT8UovZyCWf6Jc7s3dc6YLyfOfgqohOEnc7aJq4=";
+    })
+    (fetchpatch {
+      name = "libuuid:-drop-duplicate-assignment-liuuid_la_LDFLAGS";
+      url = "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/patch/?id=597e8b246ae31366514ead6cca240a09fe5e1528";
+      hash = "sha256-QCx3MD/57x2tV1SlJ79EYyxafhaEH4UC+Dt24DA6P8I=";
+    })
   ];
 
   # We separate some of the utilities into their own outputs. This
@@ -80,6 +98,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ pkg-config installShellFiles ]
+    ++ lib.optionals (!avoidRebuild) [ autoreconfHook gtk-doc ]
     ++ lib.optionals translateManpages [ po4a ];
 
   buildInputs = [ zlib libxcrypt sqlite ]