libfaketime: use date from nix store (#115212)

Previously the faketime command used date (or gdate on darwin) from the environment. This led to issues when the date command was not available or did not behave as expected.
Thus, we patch libfaketime to use the date binary from the Nix coreutils package, pulling it into the closure.
wip/yesman
Finn Behrens 3 years ago committed by GitHub
parent b014643071
commit b2e2f0422f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      pkgs/development/libraries/libfaketime/default.nix
  2. 29
      pkgs/development/libraries/libfaketime/nix-store-date.patch

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, perl }:
{ lib, stdenv, fetchurl, perl, coreutils }:
stdenv.mkDerivation rec {
pname = "libfaketime";
@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
patches = [
./no-date-in-gzip-man-page.patch
./nix-store-date.patch
] ++ (lib.optionals stdenv.cc.isClang [
# https://github.com/wolfcw/libfaketime/issues/277
./0001-Remove-unsupported-clang-flags.patch
@ -22,6 +23,7 @@ stdenv.mkDerivation rec {
substituteInPlace $a \
--replace /bin/bash ${stdenv.shell}
done
substituteInPlace src/faketime.c --replace @DATE_CMD@ ${coreutils}/bin/date
'';
PREFIX = placeholder "out";

@ -0,0 +1,29 @@
From abd7dd05b440e3dc9621a1579e4afb0267897d9c Mon Sep 17 00:00:00 2001
From: Finn Behrens <me@kloenk.de>
Date: Fri, 5 Mar 2021 21:58:57 +0100
Subject: [PATCH] use nix date path
---
src/faketime.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/src/faketime.c b/src/faketime.c
index af618f2..48e47da 100644
--- a/src/faketime.c
+++ b/src/faketime.c
@@ -50,11 +50,7 @@
const char version[] = "0.9.9";
-#ifdef __APPLE__
-static const char *date_cmd = "gdate";
-#else
-static const char *date_cmd = "date";
-#endif
+static const char *date_cmd = "@DATE_CMD@";
#define PATH_BUFSIZE 4096
--
2.24.3 (Apple Git-128)
Loading…
Cancel
Save