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
This commit is contained in:
Guillaume Le Vaillant 2025-10-04 10:33:08 +02:00
parent 50f6644269
commit d8de9186cd
No known key found for this signature in database
GPG key ID: 6BE8208ADF21FE3F
3 changed files with 55 additions and 1 deletions

View file

@ -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 \

View file

@ -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))

View file

@ -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 */