diff options
author | Maximilian Bosch <maximilian@mbosch.me> | 2020-06-26 14:49:13 +0200 |
---|---|---|
committer | Maximilian Bosch <maximilian@mbosch.me> | 2020-06-29 14:41:42 +0200 |
commit | 44fb6cc037c9702430a5a1e77a848a2f6f6a0efa (patch) | |
tree | cc3dfe68774d4bf09ceffa409a3dd9472c1bf09e /pkgs/applications/video | |
parent | 7193603c5f91395f936a6522486aac2b7badc227 (diff) |
vdr: fix build w/glibc-2.31
https://hydra.nixos.org/build/122891193
Diffstat (limited to 'pkgs/applications/video')
-rw-r--r-- | pkgs/applications/video/vdr/default.nix | 7 | ||||
-rw-r--r-- | pkgs/applications/video/vdr/glibc2.31-compat.patch | 15 |
2 files changed, 21 insertions, 1 deletions
diff --git a/pkgs/applications/video/vdr/default.nix b/pkgs/applications/video/vdr/default.nix index d025554835eff..14ca503f2e91c 100644 --- a/pkgs/applications/video/vdr/default.nix +++ b/pkgs/applications/video/vdr/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fontconfig, libjpeg, libcap, freetype, fribidi, pkgconfig -, gettext, systemd, perl, lib +, gettext, systemd, perl, lib, fetchpatch , enableSystemd ? true , enableBidi ? true }: stdenv.mkDerivation rec { @@ -12,6 +12,11 @@ sha256 = "1p51b14aqzncx3xpfg0rjplc48pg7520035i5p6r5zzkqhszihr5"; }; + patches = [ + # Derived from http://git.tvdr.de/?p=vdr.git;a=commit;h=930c2cd2eb8947413e88404fa94c66e4e1db5ad6 + ./glibc2.31-compat.patch + ]; + enableParallelBuilding = true; postPatch = "substituteInPlace Makefile --replace libsystemd-daemon libsystemd"; diff --git a/pkgs/applications/video/vdr/glibc2.31-compat.patch b/pkgs/applications/video/vdr/glibc2.31-compat.patch new file mode 100644 index 0000000000000..9a52d4b290b1a --- /dev/null +++ b/pkgs/applications/video/vdr/glibc2.31-compat.patch @@ -0,0 +1,15 @@ +diff --git a/eit.c b/eit.c +index 50d8229..373dbca 100644 +--- a/eit.c ++++ b/eit.c +@@ -391,7 +391,9 @@ cTDT::cTDT(const u_char *Data) + if (abs(diff) > MAX_TIME_DIFF) { + mutex.Lock(); + if (abs(diff) > MAX_ADJ_DIFF) { +- if (stime(&dvbtim) == 0) ++ timespec ts = { 0 }; ++ ts.tv_sec = dvbtim; ++ if (clock_settime(CLOCK_REALTIME, &ts) == 0) + isyslog("system time changed from %s (%ld) to %s (%ld)", *TimeToString(loctim), loctim, *TimeToString(dvbtim), dvbtim); + else + esyslog("ERROR while setting system time: %m"); |