gnu: casync: Fix build with glibc 2.28.
authorLudovic Courtès <ludo@gnu.org>
Wed, 21 Nov 2018 09:24:06 +0000 (10:24 +0100)
committerLudovic Courtès <ludo@gnu.org>
Wed, 21 Nov 2018 16:38:00 +0000 (17:38 +0100)
* gnu/packages/patches/casync-renameat2-declaration.patch: New file.
* gnu/packages/sync.scm (casync)[source]: Use it.
* gnu/local.mk (dist_patch_DATA): Add it.

gnu/local.mk
gnu/packages/patches/casync-renameat2-declaration.patch [new file with mode: 0644]
gnu/packages/sync.scm

index 3582227..aeff3f8 100644 (file)
@@ -607,6 +607,7 @@ dist_patch_DATA =                                           \
   %D%/packages/patches/cairo-setjmp-wrapper.patch              \
   %D%/packages/patches/calibre-no-updates-dialog.patch         \
   %D%/packages/patches/calibre-use-packaged-feedparser.patch   \
+  %D%/packages/patches/casync-renameat2-declaration.patch      \
   %D%/packages/patches/catdoc-CVE-2017-11110.patch             \
   %D%/packages/patches/cdparanoia-fpic.patch                   \
   %D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch     \
diff --git a/gnu/packages/patches/casync-renameat2-declaration.patch b/gnu/packages/patches/casync-renameat2-declaration.patch
new file mode 100644 (file)
index 0000000..74c2ca7
--- /dev/null
@@ -0,0 +1,27 @@
+Fix build failure on glibc 2.28 where 'renameat2' would end up being
+declared twice: <https://github.com/systemd/casync/issues/166>.
+
+From 625244ca47e8ee1375d2d0092271bfd13b0913ea Mon Sep 17 00:00:00 2001
+From: Daniel Mack <daniel@zonque.org>
+Date: Tue, 13 Nov 2018 17:52:48 +0100
+Subject: [PATCH] meson.build: pass -D_GNU_SOURCE when checking for functions
+
+As described in #166, -D_GNU_SOURCE needs to be passed to the meson function
+availability checker. h/t to @tomeon for providing a link to the solution as
+well.
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index f42ed16..c0f741e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -78,6 +78,6 @@ foreach ident : [
+         ['copy_file_range',   '''#include <sys/syscall.h>
+                                  #include <unistd.h>'''],
+ ]
+-        have = cc.has_function(ident[0], prefix : ident[1])
++        have = cc.has_function(ident[0], args : '-D_GNU_SOURCE', prefix : ident[1])
+         conf.set10('HAVE_' + ident[0].to_upper(), have)
+ endforeach
index e0b0af3..60e6643 100644 (file)
@@ -214,7 +214,8 @@ and does not hamper local file system performance.")
               (sha256
                (base32
                 "0znkp3fcksrykcsv06y2mjvf2lbwmin25snmvfa8i5qfm3f4rm88"))
-              (file-name (string-append name "-" version "-checkout"))))
+              (file-name (string-append name "-" version "-checkout"))
+              (patches (search-patches "casync-renameat2-declaration.patch"))))
     (build-system meson-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)