mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-24 22:04:20 +00:00
82ea1a7345
This is a very disappointing fix, as all it's doing is switching to another deprecated API, and kicking the can down the road, but if that's what upstream wants to do…
56 lines
1.8 KiB
Nix
56 lines
1.8 KiB
Nix
{ lib, stdenv, fetchFromGitHub, fetchpatch, perl, coreutils }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "libfaketime";
|
|
version = "0.9.10";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "wolfcw";
|
|
repo = "libfaketime";
|
|
rev = "v${version}";
|
|
sha256 = "sha256-DYRuQmIhQu0CNEboBAtHOr/NnWxoXecuPMSR/UQ/VIQ=";
|
|
};
|
|
|
|
patches = [
|
|
./nix-store-date.patch
|
|
(fetchpatch {
|
|
name = "0001-libfaketime.c-wrap-timespec_get-in-TIME_UTC-macro.patch";
|
|
url = "https://github.com/wolfcw/libfaketime/commit/e0e6b79568d36a8fd2b3c41f7214769221182128.patch";
|
|
sha256 = "sha256-KwwP76v0DXNW73p/YBvwUOPdKMAcVdbQSKexD/uFOYo=";
|
|
})
|
|
(fetchpatch {
|
|
name = "LFS64.patch";
|
|
url = "https://github.com/wolfcw/libfaketime/commit/f32986867addc9d22b0fab29c1c927f079d44ac1.patch";
|
|
hash = "sha256-fIXuxxcV9J2IcgwcwSrMo4maObkH9WYv1DC/wdtbq/g=";
|
|
})
|
|
] ++ (lib.optionals stdenv.cc.isClang [
|
|
# https://github.com/wolfcw/libfaketime/issues/277
|
|
./0001-Remove-unsupported-clang-flags.patch
|
|
]);
|
|
|
|
postPatch = ''
|
|
patchShebangs test src
|
|
for a in test/functests/test_exclude_mono.sh src/faketime.c ; do
|
|
substituteInPlace $a \
|
|
--replace /bin/bash ${stdenv.shell}
|
|
done
|
|
substituteInPlace src/faketime.c --replace @DATE_CMD@ ${coreutils}/bin/date
|
|
'';
|
|
|
|
PREFIX = placeholder "out";
|
|
LIBDIRNAME = "/lib";
|
|
|
|
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=cast-function-type -Wno-error=format-truncation";
|
|
|
|
nativeCheckInputs = [ perl ];
|
|
|
|
meta = with lib; {
|
|
description = "Report faked system time to programs without having to change the system-wide time";
|
|
homepage = "https://github.com/wolfcw/libfaketime/";
|
|
license = licenses.gpl2;
|
|
platforms = platforms.all;
|
|
maintainers = [ maintainers.bjornfor ];
|
|
mainProgram = "faketime";
|
|
};
|
|
}
|