From b91c469103551d9f9c6943a4e4a80a9f85bcf9b1 Mon Sep 17 00:00:00 2001 From: Ivan Mincik Date: Sun, 7 Jan 2024 18:22:06 +0100 Subject: [PATCH] mapserver: fix build with libxml2 2.12 --- pkgs/servers/geospatial/mapserver/default.nix | 5 +++ .../mapserver/fix-build-w-libxml2-12.patch | 39 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 pkgs/servers/geospatial/mapserver/fix-build-w-libxml2-12.patch diff --git a/pkgs/servers/geospatial/mapserver/default.nix b/pkgs/servers/geospatial/mapserver/default.nix index c46aa3d48d0d..922f0864b841 100644 --- a/pkgs/servers/geospatial/mapserver/default.nix +++ b/pkgs/servers/geospatial/mapserver/default.nix @@ -15,6 +15,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-fAf4kOe/6bQW0i46+EZbD/6iWI2Bjkn2no6XeR/+mg4="; }; + patches = [ + # drop this patch for version 8.0.2 + ./fix-build-w-libxml2-12.patch + ]; + nativeBuildInputs = [ cmake pkg-config diff --git a/pkgs/servers/geospatial/mapserver/fix-build-w-libxml2-12.patch b/pkgs/servers/geospatial/mapserver/fix-build-w-libxml2-12.patch new file mode 100644 index 000000000000..e33a7f7bc44c --- /dev/null +++ b/pkgs/servers/geospatial/mapserver/fix-build-w-libxml2-12.patch @@ -0,0 +1,39 @@ +diff --git a/mapows.c b/mapows.c +index f141a7b..5a94ecb 100644 +--- a/mapows.c ++++ b/mapows.c +@@ -168,7 +168,7 @@ static int msOWSPreParseRequest(cgiRequestObj *request, + #endif + if (ows_request->document == NULL + || (root = xmlDocGetRootElement(ows_request->document)) == NULL) { +- xmlErrorPtr error = xmlGetLastError(); ++ const xmlError *error = xmlGetLastError(); + msSetError(MS_OWSERR, "XML parsing error: %s", + "msOWSPreParseRequest()", error->message); + return MS_FAILURE; +diff --git a/mapwcs.cpp b/mapwcs.cpp +index 70e63b8..19afa79 100644 +--- a/mapwcs.cpp ++++ b/mapwcs.cpp +@@ -362,7 +362,7 @@ static int msWCSParseRequest(cgiRequestObj *request, wcsParamsObj *params, mapOb + /* parse to DOM-Structure and get root element */ + if((doc = xmlParseMemory(request->postrequest, strlen(request->postrequest))) + == NULL) { +- xmlErrorPtr error = xmlGetLastError(); ++ const xmlError *error = xmlGetLastError(); + msSetError(MS_WCSERR, "XML parsing error: %s", + "msWCSParseRequest()", error->message); + return MS_FAILURE; +diff --git a/mapwcs20.cpp b/mapwcs20.cpp +index b35e803..2431bdc 100644 +--- a/mapwcs20.cpp ++++ b/mapwcs20.cpp +@@ -1446,7 +1446,7 @@ int msWCSParseRequest20(mapObj *map, + + /* parse to DOM-Structure and get root element */ + if(doc == NULL) { +- xmlErrorPtr error = xmlGetLastError(); ++ const xmlError *error = xmlGetLastError(); + msSetError(MS_WCSERR, "XML parsing error: %s", + "msWCSParseRequest20()", error->message); + return MS_FAILURE;