~ruther/guix-local

d8de9186cd9abedf552b52e7cf5971cc4c66c1fc — Guillaume Le Vaillant 5 months ago 50f6644
gnu: libspatialite: Fix build with libxml2 >= 2.14.

* gnu/packages/patches/libspatialite-libxml2-2.14.patch: New file.
* gnu/local.mk (dist_pach_DATA): Register it.
* gnu/packages/geo.scm (libspatialite)[source]: Use it.

Change-Id: I24ac907c11c0592d3e9bdbba8e7f44585c1055d0
3 files changed, 55 insertions(+), 1 deletions(-)

M gnu/local.mk
M gnu/packages/geo.scm
A gnu/packages/patches/libspatialite-libxml2-2.14.patch
M gnu/local.mk => gnu/local.mk +1 -0
@@ 1773,6 1773,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/libsecret-fix-test-paths.patch		\
  %D%/packages/patches/libsepol-versioned-docbook.patch		\
  %D%/packages/patches/libskk-fix-invalid-escape.patch		\
  %D%/packages/patches/libspatialite-libxml2-2.14.patch		\
  %D%/packages/patches/libtar-CVE-2013-4420.patch 		\
  %D%/packages/patches/libtar-CVE-2021-33643-CVE-2021-33644.patch	\
  %D%/packages/patches/libtar-CVE-2021-33645-CVE-2021-33646.patch	\

M gnu/packages/geo.scm => gnu/packages/geo.scm +2 -1
@@ 822,7 822,8 @@ coverages using a SpatiaLite DBMS.")
                           version ".tar.gz"))
       (sha256
        (base32
         "102hc18fvwr1kw8aap53zqi8r0l52b8wa00lvlbf1zys979jvgj3"))))
         "102hc18fvwr1kw8aap53zqi8r0l52b8wa00lvlbf1zys979jvgj3"))
       (patches (search-patches "libspatialite-libxml2-2.14.patch"))))
    (build-system gnu-build-system)
    (native-inputs
     (list pkg-config))

A gnu/packages/patches/libspatialite-libxml2-2.14.patch => gnu/packages/patches/libspatialite-libxml2-2.14.patch +52 -0
@@ 0,0 1,52 @@
Source: https://www.gaia-gis.it/fossil/libspatialite/tktview?name=ac85f0fca3

Index: spatialite-5.1.0/configure.ac
===================================================================
--- a/configure.ac
+++ b/configure.ac
@@ -61,6 +61,8 @@ AH_TEMPLATE([OMIT_FREEXL],
             [Should be defined in order to disable FREEXL support.])
 AH_TEMPLATE([ENABLE_LIBXML2],
             [Should be defined in order to enable LIBXML2 support.])
+AH_TEMPLATE([ENABLE_LIBXML2_NANOHTTP],
+            [Should be defined in order to enable LIBXML2 HTTP support.])
 AH_TEMPLATE([ENABLE_MINIZIP],
             [Should be defined in order to enable MiniZIP support.])
 AH_TEMPLATE([ENABLE_GEOPACKAGE],
@@ -441,6 +443,7 @@ if test x"$enable_libxml2" != "xno"; the
   AC_SUBST(LIBXML2_CFLAGS)
   AC_SUBST(LIBXML2_LIBS)
   AC_DEFINE(ENABLE_LIBXML2)
+  AC_SEARCH_LIBS(xmlNanoHTTPCleanup,xml2,AC_DEFINE(ENABLE_LIBXML2_NANOHTTP),,)
 fi
 
 #-----------------------------------------------------------------------
Index: spatialite-5.1.0/src/wfs/wfs_in.c
===================================================================
--- a/src/wfs/wfs_in.c
+++ b/src/wfs/wfs_in.c
@@ -76,7 +76,10 @@ Regione Toscana - Settore Sistema Inform
 #ifdef ENABLE_LIBXML2          /* LIBXML2 enabled: supporting XML documents */
 
 #include <libxml/parser.h>
+
+#ifdef ENABLE_LIBXML2_NANOHTTP
 #include <libxml/nanohttp.h>
+#endif
 
 #define MAX_GTYPES     28
 
@@ -4636,8 +4639,13 @@ get_wfs_schema_column_info (gaiaWFScolum
 SPATIALITE_DECLARE void
 reset_wfs_http_connection (void)
 {
+#ifdef ENABLE_LIBXML2_NANOHTTP
 /* Resets the libxml2 "nano HTTP": useful when changing the HTTP_PROXY settings */
     xmlNanoHTTPCleanup ();
+#else
+/* LIBXML2 doesn't have HTTP support: does absolutely nothing */
+    return;
+#endif
 }
 
 #else /* LIBXML2 isn't enabled */