From 15b025f87e3186c1f7ba064c162cdf2bcacf535e Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Wed, 1 Jan 2014 22:13:22 +0100
Subject: Port patches from libxml2-2.8.0.


diff --git a/configure.ac b/configure.ac
index 46faa23..e281702 100644
--- a/configure.ac
+++ b/configure.ac
@@ -840,24 +840,19 @@ if test "$with_python" != "no" ; then
     fi
     if test "$PYTHON_VERSION" != "" -a "$PYTHON_INCLUDES" = ""
     then
-	if test -r $with_python/include/python$PYTHON_VERSION/Python.h
+	if test -r $with_python/develop/headers/python$PYTHON_VERSION/Python.h
 	then
-	    PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
+	    PYTHON_INCLUDES=$with_python/develop/headers/python$PYTHON_VERSION
 	else
-	    if test -r $prefix/include/python$PYTHON_VERSION/Python.h
+	    if test -r $prefix/develop/headers/python$PYTHON_VERSION/Python.h
 	    then
-	        PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
+	        PYTHON_INCLUDES=$prefix/develop/headers/python$PYTHON_VERSION
 	    else
-		if test -r /usr/include/python$PYTHON_VERSION/Python.h
+		if test -r /boot/system/develop/headers/python$PYTHON_VERSION/Python.h
 		then
-		    PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
-		else
-	            if test -r $with_python/include/Python.h
-	            then
-	                PYTHON_INCLUDES=$with_python/include
-	            else
-		        echo could not find python$PYTHON_VERSION/Python.h or $with_python/include/Python.h
-		    fi
+		    PYTHON_INCLUDES=/boot/system/develop/headers/python$PYTHON_VERSION
+	        else
+		    echo could not find python$PYTHON_VERSION/Python.h or $with_python/develop/headers/Python.h
 		fi
 	    fi
 	fi
@@ -868,13 +863,13 @@ if test "$with_python" != "no" ; then
     fi
     if test "$PYTHON_VERSION" != "" -a "$PYTHON_SITE_PACKAGES" = ""
     then
-	if test -d $libdir/python$PYTHON_VERSION/site-packages
+	if test -d $libdir/python$PYTHON_VERSION/vendor-packages
 	then
-	    PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
+	    PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/vendor-packages
 	else
-	    if test -d $with_python/lib/site-packages
+	    if test -d $with_python/lib/vendor-packages
 	    then
-		PYTHON_SITE_PACKAGES=$with_python/lib/site-packages
+		PYTHON_SITE_PACKAGES=$with_python/lib/vendor-packages
 	    else
 		PYTHON_SITE_PACKAGES=$($PYTHON -c 'from distutils import sysconfig; print(sysconfig.get_python_lib(True,False,"${exec_prefix}"))')
 	    fi
diff --git a/python/tests/Makefile.am b/python/tests/Makefile.am
index 227e24d..06d137c 100644
--- a/python/tests/Makefile.am
+++ b/python/tests/Makefile.am
@@ -1,4 +1,4 @@
-exampledir = $(datadir)/doc/libxml2-python-$(LIBXML_VERSION)/examples
+exampledir = $(docdir)_python-$(LIBXML_VERSION)/examples
 dist_example_DATA = $(PYTESTS) $(XMLS)
 
 PYTESTS=	\
diff --git a/xml2-config.in b/xml2-config.in
index 5863ffa..fd460ff 100644
--- a/xml2-config.in
+++ b/xml2-config.in
@@ -40,8 +40,8 @@ while test $# -gt 0; do
     case "$1" in
     --prefix=*)
 	prefix=$optarg
-	includedir=$prefix/include
-	libdir=$prefix/lib
+	includedir=$prefix/develop/headers
+	libdir=$prefix/develop/lib
 	;;
 
     --prefix)
@@ -50,7 +50,7 @@ while test $# -gt 0; do
 
     --exec-prefix=*)
       exec_prefix=$optarg
-      libdir=$exec_prefix/lib
+      libdir=$exec_prefix/develop/lib
       ;;
 
     --exec-prefix)
-- 
2.30.2


From 1d07f58593833b3a3df4c1374c37c1cb59802b87 Mon Sep 17 00:00:00 2001
From: Jessica Hamilton <jessica.l.hamilton@gmail.com>
Date: Sat, 30 May 2015 11:38:15 +1200
Subject: Haiku: search for catalogs in directories


diff --git a/catalog.c b/catalog.c
index e071b49..6ef5668 100644
--- a/catalog.c
+++ b/catalog.c
@@ -32,6 +32,9 @@
 #include <stdlib.h>
 #endif
 #include <string.h>
+#ifdef __HAIKU__
+#include <ftw.h>
+#endif
 #include <libxml/xmlmemory.h>
 #include <libxml/hash.h>
 #include <libxml/uri.h>
@@ -70,10 +73,10 @@
 #define XML_URN_PUBID "urn:publicid:"
 #define XML_CATAL_BREAK ((xmlChar *) -1)
 #ifndef XML_XML_DEFAULT_CATALOG
-#define XML_XML_DEFAULT_CATALOG "file:///etc/xml/catalog"
+#define XML_XML_DEFAULT_CATALOG "/boot/system/data/xml/catalog"
 #endif
 #ifndef XML_SGML_DEFAULT_CATALOG
-#define XML_SGML_DEFAULT_CATALOG "file:///etc/sgml/catalog"
+#define XML_SGML_DEFAULT_CATALOG "/boot/system/data/sgml/catalog"
 #endif
 
 #if defined(_WIN32) && defined(_MSC_VER)
@@ -3079,6 +3082,21 @@ xmlCatalogIsEmpty(xmlCatalogPtr catal) {
  *									*
  ************************************************************************/
 
+#ifdef __HAIKU__
+static xmlCatalogEntryPtr *__haikuNextEntry;
+static int __haikuAddCatalog(const char* subpath, const struct stat* sb, int typeflag)
+{
+	if (typeflag == FTW_F) {
+		*__haikuNextEntry = xmlNewCatalogEntry(XML_CATA_CATALOG, NULL,
+			NULL, BAD_CAST subpath, xmlCatalogDefaultPrefer, NULL);
+		if (*__haikuNextEntry != NULL)
+			__haikuNextEntry = &((*__haikuNextEntry)->next);
+	}
+
+	return 0;
+}
+#endif
+
 /**
  * xmlInitializeCatalogData:
  *
@@ -3171,10 +3189,16 @@ xmlInitializeCatalog(void) {
 			cur++;
 		    path = (char *) xmlStrndup((const xmlChar *)paths, cur - paths);
 		    if (path != NULL) {
+#ifdef __HAIKU__
+			__haikuNextEntry = nextent;
+			ftw(path, __haikuAddCatalog, 3);
+			nextent = __haikuNextEntry;
+#else
 			*nextent = xmlNewCatalogEntry(XML_CATA_CATALOG, NULL,
 				NULL, BAD_CAST path, xmlCatalogDefaultPrefer, NULL);
 			if (*nextent != NULL)
 			    nextent = &((*nextent)->next);
+#endif
 			xmlFree(path);
 		    }
 		}
-- 
2.30.2


From d5b81a0c013d0c6dfe20cbda44b0d2ff890d5f01 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Wed, 3 Apr 2019 18:27:19 +0200
Subject: Remove options unknown to gcc2


diff --git a/configure.ac b/configure.ac
index e281702..4162493 100644
--- a/configure.ac
+++ b/configure.ac
@@ -761,7 +761,7 @@ else
     fi
 
     # warnings we'd like to see
-    EXTRA_CFLAGS="${EXTRA_CFLAGS} -pedantic -Wall -Wextra -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls"
+    EXTRA_CFLAGS="${EXTRA_CFLAGS} -pedantic -Wall -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls"
     # warnings we'd like to suppress
     EXTRA_CFLAGS="${EXTRA_CFLAGS} -Wno-long-long -Wno-format-extra-args"
     case "${host}" in
-- 
2.30.2

