summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-02-17 23:01:54 +0100
committerLudovic Courtès <ludo@gnu.org>2020-02-17 23:01:54 +0100
commiteb07edabaf11e39b25f5cf40967afd3dadcb14eb (patch)
tree2891cac86fc706587284a89ed5e3a4c9461d349f
parent88f85494491a0cd4d4262c97860f01e99c2bc313 (diff)
downloadguix-eb07edabaf11e39b25f5cf40967afd3dadcb14eb.tar.gz
gnu: datefudge: Fix compilation against libc 2.31.
* gnu/packages/patches/datefudge-gettimeofday.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/time.scm (datefudge)[source] Use it.
-rw-r--r--gnu/local.mk3
-rw-r--r--gnu/packages/patches/datefudge-gettimeofday.patch13
-rw-r--r--gnu/packages/time.scm4
3 files changed, 18 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 2b425bee22..dcdcef9875 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1,5 +1,5 @@
 # GNU Guix --- Functional package management for GNU
-# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 # Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Andreas Enge <andreas@enge.fr>
 # Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
 # Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org>
@@ -806,6 +806,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/cvs-CVE-2017-12836.patch		\
   %D%/packages/patches/cyrus-sasl-ac-try-run-fix.patch		\
   %D%/packages/patches/darkice-workaround-fpermissive-error.patch	\
+  %D%/packages/patches/datefudge-gettimeofday.patch		\
   %D%/packages/patches/dbus-helper-search-path.patch		\
   %D%/packages/patches/dbus-c++-gcc-compat.patch		\
   %D%/packages/patches/dbus-c++-threading-mutex.patch		\
diff --git a/gnu/packages/patches/datefudge-gettimeofday.patch b/gnu/packages/patches/datefudge-gettimeofday.patch
new file mode 100644
index 0000000000..11c7640869
--- /dev/null
+++ b/gnu/packages/patches/datefudge-gettimeofday.patch
@@ -0,0 +1,13 @@
+Add the 'restrict' qualifier to match the 'gettimeofday' declaration found
+in glibc 2.31.
+
+--- datefudge-1.23/datefudge.c	2020-02-17 22:35:21.343341725 +0100
++++ datefudge-1.23/datefudge.c	2020-02-17 22:35:49.619117874 +0100
+@@ -78,6 +78,6 @@
+     return 0;
+ }
+ 
+-int gettimeofday(struct timeval *x, struct timezone *y) {
++int gettimeofday(struct timeval *restrict x, void *restrict y) {
+     return __gettimeofday(x,y);
+ }
diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm
index 63227d7bf5..b9ce791827 100644
--- a/gnu/packages/time.scm
+++ b/gnu/packages/time.scm
@@ -39,6 +39,7 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
+  #:use-module (gnu packages)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages perl)
@@ -429,7 +430,8 @@ datetime type.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0r9g8v9xnv60hq3j20wqy34kyig3sc2pisjxl4irn7jjx85f1spv"))))
+                "0r9g8v9xnv60hq3j20wqy34kyig3sc2pisjxl4irn7jjx85f1spv"))
+              (patches (search-patches "datefudge-gettimeofday.patch"))))
     (build-system gnu-build-system)
     (arguments
      `(#:test-target "test"