Subject: [PATCH] gnu: 4store: Remove preprocessor directive.
From: Roel Janssen <[email-masked]>
To: guix-patches <[email-masked]>
Date: Tue, 03 Apr 2018 17:59:41 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Dear Guix,

The following patch fixes 4store's build.

Kind regards,
Roel Janssen

From c199e8bc2ae4db3ecd8dcc4267619d9fdc2e9a1b Mon Sep 17 00:00:00 2001
From: Roel Janssen <[email-masked]>
Date: Tue, 3 Apr 2018 17:47:05 +0200
Subject: [PATCH] gnu: 4store: Remove preprocessor directive.

* gnu/packages/databases.scm (4store): Add patch to remove preprocessor
  directive.
* gnu/packages/patches/4store-unset-preprocessor-directive.patch: New file.
* gnu/local.mk: Register patch.
---
 gnu/local.mk                                             |  1 +
 gnu/packages/databases.scm                               |  3 ++-
 .../patches/4store-unset-preprocessor-directive.patch    | 16 ++++++++++++++++
 3 files changed, 19 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/4store-unset-preprocessor-directive.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 2705fb37a..1481d0706 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -544,6 +544,7 @@ MODULES_NOT_COMPILED +=				\
 patchdir = $(guilemoduledir)/%D%/packages/patches
 dist_patch_DATA =						\
   %D%/packages/patches/4store-fix-buildsystem.patch		\
+  %D%/packages/patches/4store-unset-preprocessor-directive.patch	\
   %D%/packages/patches/a2ps-CVE-2001-1593.patch	\
   %D%/packages/patches/a2ps-CVE-2014-0466.patch	\
   %D%/packages/patches/abiword-explictly-cast-bools.patch	\
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index b08ac60f8..d9f750b33 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -125,7 +125,8 @@
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "004fmcf1w75zhc1x3zc6kc97j4jqn2v5nhk6yb3z3cpfrhzi9j50"))
-      (patches (list (search-patch "4store-fix-buildsystem.patch")))))
+      (patches (list (search-patch "4store-unset-preprocessor-directive.patch")
+                     (search-patch "4store-fix-buildsystem.patch")))))
     (build-system gnu-build-system)
     (native-inputs
      `(("perl" ,perl)
diff --git a/gnu/packages/patches/4store-unset-preprocessor-directive.patch b/gnu/packages/patches/4store-unset-preprocessor-directive.patch
new file mode 100644
index 000000000..c4b1d6eda
--- /dev/null
+++ b/gnu/packages/patches/4store-unset-preprocessor-directive.patch
@@ -0,0 +1,16 @@
+This patch removes the _XOPEN_SOURCE preprocessor directive as it does not seem to be needed.
+Setting it removes the definition of strdup, which is used in filter-datatypes.c.
+
+Patch by Roel Janssen <[email-masked]>
+*** a/src/frontend/filter-datatypes.c	1970-01-01 01:00:00.000000000 +0100
+--- b/src/frontend/filter-datatypes.c	2018-04-03 17:39:23.177905592 +0200
+***************
+*** 18,24 ****
+   *  Copyright (C) 2006 Steve Harris for Garlik
+   */
+  
+- #define _XOPEN_SOURCE
+  #include <stdlib.h>
+  #include <string.h>
+  #include <math.h>
+--- 18,23 ----
-- 
2.16.1