summary refs log tree commit diff
path: root/pkgs/applications/video/vdr
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2020-06-26 14:49:13 +0200
committerMaximilian Bosch <maximilian@mbosch.me>2020-06-29 14:41:42 +0200
commit44fb6cc037c9702430a5a1e77a848a2f6f6a0efa (patch)
treecc3dfe68774d4bf09ceffa409a3dd9472c1bf09e /pkgs/applications/video/vdr
parent7193603c5f91395f936a6522486aac2b7badc227 (diff)
downloadnixpkgs-44fb6cc037c9702430a5a1e77a848a2f6f6a0efa.tar
nixpkgs-44fb6cc037c9702430a5a1e77a848a2f6f6a0efa.tar.gz
nixpkgs-44fb6cc037c9702430a5a1e77a848a2f6f6a0efa.tar.bz2
nixpkgs-44fb6cc037c9702430a5a1e77a848a2f6f6a0efa.tar.lz
nixpkgs-44fb6cc037c9702430a5a1e77a848a2f6f6a0efa.tar.xz
nixpkgs-44fb6cc037c9702430a5a1e77a848a2f6f6a0efa.tar.zst
nixpkgs-44fb6cc037c9702430a5a1e77a848a2f6f6a0efa.zip
vdr: fix build w/glibc-2.31
https://hydra.nixos.org/build/122891193
Diffstat (limited to 'pkgs/applications/video/vdr')
-rw-r--r--pkgs/applications/video/vdr/default.nix7
-rw-r--r--pkgs/applications/video/vdr/glibc2.31-compat.patch15
2 files changed, 21 insertions, 1 deletions
diff --git a/pkgs/applications/video/vdr/default.nix b/pkgs/applications/video/vdr/default.nix
index d025554835e..14ca503f2e9 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 00000000000..9a52d4b290b
--- /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");