From 5c9bd5bf824a93d51774e6e0b7a9d796bcddb3ed Mon Sep 17 00:00:00 2001
From: Colin <colin@uninsane.org>
Date: Sat, 1 Jun 2024 14:09:05 +0000
Subject: [PATCH] moreutils: minor packaging improvements

- use `perl.withPackages` instead of manually wrapping.
- plumb the docbook via `DOCBOOKXSL` instead of patching.
- specify `INSTALL_BIN=install` instead of upstream's default `install -s`.
  this lets the user control stripping (via stdenv's `dontStrip` option),
  and notably in a way which is compatible with cross compilation
  (`install -s` is not).
---
 pkgs/tools/misc/moreutils/default.nix | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/pkgs/tools/misc/moreutils/default.nix b/pkgs/tools/misc/moreutils/default.nix
index 7d7dd80d7e7a..5d334cf0b855 100644
--- a/pkgs/tools/misc/moreutils/default.nix
+++ b/pkgs/tools/misc/moreutils/default.nix
@@ -22,23 +22,20 @@ stdenv.mkDerivation rec {
     hash = "sha256-hVvRAIXlG8+pAD2v/Ma9Z6EUL/1xIRz7Gx1fOxoQyi0=";
   };
 
-  preBuild = ''
-    substituteInPlace Makefile --replace /usr/share/xml/docbook/stylesheet/docbook-xsl ${docbook-xsl}/xml/xsl/docbook
-  '';
-
   strictDeps = true;
   nativeBuildInputs = [ makeWrapper perl libxml2 libxslt docbook-xsl docbook_xml_dtd_44 ];
-  buildInputs = lib.optional stdenv.isDarwin darwin.cctools;
+  buildInputs = [
+    (perl.withPackages (p: [ p.IPCRun p.TimeDate p.TimeDuration ]))
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.cctools
+  ];
 
-  propagatedBuildInputs = with perlPackages; [ perl IPCRun TimeDate TimeDuration ];
-
-  buildFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
-  installFlags = [ "PREFIX=$(out)" ];
-
-  postInstall = ''
-    wrapProgram $out/bin/chronic --prefix PERL5LIB : $PERL5LIB
-    wrapProgram $out/bin/ts --prefix PERL5LIB : $PERL5LIB
-  '';
+  makeFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "DOCBOOKXSL=${docbook-xsl}/xml/xsl/docbook"
+    "INSTALL_BIN=install"
+    "PREFIX=${placeholder "out"}"
+  ];
 
   passthru.updateScript = gitUpdater {
     # No nicer place to find latest release.