gnu: datefudge: Fix compilation against libc 2.31.
authorLudovic Courtès <ludo@gnu.org>
Mon, 17 Feb 2020 22:01:54 +0000 (23:01 +0100)
committerLudovic Courtès <ludo@gnu.org>
Mon, 17 Feb 2020 22:01:54 +0000 (23:01 +0100)
* gnu/packages/patches/datefudge-gettimeofday.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/time.scm (datefudge)[source] Use it.

gnu/local.mk
gnu/packages/patches/datefudge-gettimeofday.patch [new file with mode: 0644]
gnu/packages/time.scm

index 2b425be..dcdcef9 100644 (file)
@@ -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 (file)
index 0000000..11c7640
--- /dev/null
@@ -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);
+ }
index 63227d7..b9ce791 100644 (file)
@@ -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"