Subject: [PATCH 5/7] gnu: libetonyek: Update to 0.1.6.

From: Thomas Danckaert <[email-masked]>
Date: Fri, 24 Mar 2017 16:44:18 +0100

* gnu/packages/libreoffice.scm (libetonyek): Update to 0.1.6.
[arguments]: Add phase 'autoreconf, because configure.ac is patched.  Add
configure flag "--with-mdds=1.2".
[inputs]: Add liblangtag.
[native-inputs]: Add autoconf and automake.
* gnu/packages/patches/libetonyek-build-with-mdds-1.2.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                                       |  1 +
 gnu/packages/libreoffice.scm                       | 15 ++++-
 .../patches/libetonyek-build-with-mdds-1.2.patch   | 74 ++++++++++++++++++++++
 3 files changed, 87 insertions(+), 3 deletions(-)
 create mode 100644 gnu/packages/patches/libetonyek-build-with-mdds-1.2.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index c9e3131c0..c17135e2d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -677,6 +677,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/libbonobo-activation-test-race.patch	\
   %D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \
   %D%/packages/patches/libdrm-symbol-check.patch		\
+  %D%/packages/patches/libetonyek-build-with-mdds-1.2.patch     \
   %D%/packages/patches/libevent-dns-tests.patch			\
   %D%/packages/patches/libevent-2.0-CVE-2016-10195.patch	\
   %D%/packages/patches/libevent-2.0-CVE-2016-10196.patch	\
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 476571586..6871b4e21 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -348,22 +348,31 @@ CorelDRAW documents of all versions.")
 (define-public libetonyek
   (package
     (name "libetonyek")
-    (version "0.1.3")
+    (version "0.1.6")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
                           name "-" version ".tar.xz"))
       (sha256 (base32
-               "0mghaqzj0qqza8z1gzprw62702adlww4kgdzynj5qpxxc9m2f4py"))))
+               "0y60vi1plyq69fqbcjnc0v8mvcjqjsl1ry6rmb3bq3q7j8a2fm6z"))
+      (patches (search-patches "libetonyek-build-with-mdds-1.2.patch"))))
     (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags '("--with-mdds=1.2")
+       #:phases (modify-phases %standard-phases
+                  (add-before 'configure 'autoreconf
+                              (lambda _ (system* "autoreconf"))))))
     (native-inputs
      `(("cppunit" ,cppunit)
        ("doxygen" ,doxygen)
        ("glm" ,glm)
        ("gperf" ,gperf)
+       ("liblangtag" ,liblangtag)
        ("mdds" ,mdds)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("autoconf" ,autoconf) ; due to patch
+       ("automake" ,automake)))
     (propagated-inputs ; in Requires or Requires.private field of .pkg
      `(("librevenge" ,librevenge)
        ("libxml2" ,libxml2)))
diff --git a/gnu/packages/patches/libetonyek-build-with-mdds-1.2.patch b/gnu/packages/patches/libetonyek-build-with-mdds-1.2.patch
new file mode 100644
index 000000000..1a70ca99d
--- /dev/null
+++ b/gnu/packages/patches/libetonyek-build-with-mdds-1.2.patch
@@ -0,0 +1,74 @@
+Allow building with mdds 1.2.
+
+Patch taken from upstream commit f6d14b3b510de5c50e45c98fe812a73ba00f3def
+see https://gerrit.libreoffice.org/gitweb?p=libetonyek.git
+
+diff --git a/configure.ac b/configure.ac
+index ca4bb07..bb946eb 100644 (file)
+--- a/configure.ac
++++ b/configure.ac
+@@ -24,7 +24,7 @@ AC_LANG([C++])
+ # Configure options
+ # =================
+ AC_ARG_WITH([mdds],
+-            AS_HELP_STRING([--with-mdds=1.0|0.x], [Specify which version of mdds to use (1.0 is the default)]),
++            AS_HELP_STRING([--with-mdds=1.2|1.0|0.x], [Specify which version of mdds to use (1.0 is the default)]),
+             [], [with_mdds="1.0"])
+ 
+ # ===========================
+@@ -47,7 +47,7 @@ AC_PROG_SED
+ 
+ AM_MISSING_PROG([GPERF], [gperf])
+ 
+-AS_IF([test "$with_mdds" = "1.0"], [AX_CXX_COMPILE_STDCXX_11([noext])])
++AS_IF([test "$with_mdds" = "1.0" -o "$with_mdds" = "1.2" ], [AX_CXX_COMPILE_STDCXX_11([noext])])
+ 
+ # ===============
+ # Find librevenge
+@@ -138,25 +138,27 @@ AC_SUBST([GLM_CFLAGS])
+ # =========
+ # Find mdds
+ # =========
+-AS_IF([test "$with_mdds" = "1.0"], [
+-    PKG_CHECK_MODULES([MDDS], [mdds-1.0])
+-], [
+-    PKG_CHECK_MODULES([MDDS], [mdds])
+-    AC_MSG_CHECKING([checking if mdds::flat_segment_tree can store values of any type])
+-    old_CPPFLAGS="$CPPFLAGS"
+-    CPPFLAGS="$MDDS_CFLAGS $CPPFLAGS"
+-    AC_COMPILE_IFELSE([AC_LANG_SOURCE([
+-    #include <mdds/flat_segment_tree.hpp>
+-    struct Value {};
+-    mdds::flat_segment_tree<int, Value> tree(0, 4, Value());
+-    ])], [
+-        AC_MSG_RESULT([yes])
+-    ], [
+-        AC_MSG_RESULT([no])
+-        AC_MSG_ERROR([please install mdds >= 0.12.1])
+-    ])
+-    CPPFLAGS="$old_CPPFLAGS"
+-])
++AS_CASE(["$with_mdds"],
++    ["1.2"], [PKG_CHECK_MODULES([MDDS], [mdds-1.2])],
++    ["1.0"], [PKG_CHECK_MODULES([MDDS], [mdds-1.0])],
++    [
++        PKG_CHECK_MODULES([MDDS], [mdds])
++        AC_MSG_CHECKING([checking if mdds::flat_segment_tree can store values of any type])
++        old_CPPFLAGS="$CPPFLAGS"
++        CPPFLAGS="$MDDS_CFLAGS $CPPFLAGS"
++        AC_COMPILE_IFELSE([AC_LANG_SOURCE([
++            #include <mdds/flat_segment_tree.hpp>
++            struct Value {};
++            mdds::flat_segment_tree<int, Value> tree(0, 4, Value());
++        ])], [
++            AC_MSG_RESULT([yes])
++        ], [
++            AC_MSG_RESULT([no])
++            AC_MSG_ERROR([please install mdds >= 0.12.1])
++        ])
++        CPPFLAGS="$old_CPPFLAGS"
++    ]
++)
+ 
+ # =================================
+ # Libtool/Version Makefile settings
-- 
2.12.0