datefudge: work correctly even if GNU date is not in PATH (#94045)

* datefudge: work correctly even if GNU date is not in PATH

Examples in manual assumes advanced features from date(1) like "last
Friday", which only available in GNU coreutils version of date(1)
utility. Without this patch, most examples from datefudge(1) manual will
fail in busybox environment, which is confusing.

* Apply suggestions from code review

* Update pkgs/tools/system/datefudge/default.nix

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
main
Dmitry Bogatov 3 years ago committed by GitHub
parent 6834ca6639
commit f538c07f2e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 11
      pkgs/tools/system/datefudge/default.nix

@ -1,4 +1,4 @@
{ lib, stdenv, fetchgit, fetchpatch }:
{ stdenv, lib, fetchgit, fetchpatch, makeWrapper, coreutils }:
stdenv.mkDerivation rec {
pname = "datefudge";
@ -10,6 +10,10 @@ stdenv.mkDerivation rec {
sha256 = "1nh433yx4y4djp0bs6aawqbwk7miq7fsbs9wpjlyh2k9dvil2lrm";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ coreutils ];
postPatch = ''
substituteInPlace Makefile \
--replace "/usr" "/" \
@ -20,7 +24,10 @@ stdenv.mkDerivation rec {
installFlags = [ "DESTDIR=$(out)" ];
postInstall = "chmod +x $out/lib/datefudge/datefudge.so";
postInstall = ''
chmod +x $out/lib/datefudge/datefudge.so
wrapProgram $out/bin/datefudge --prefix PATH : ${coreutils}/bin
'';
meta = with lib; {
description = "Fake the system date";

Loading…
Cancel
Save