[packages/libxml] Rel 15

arekm arekm at pld-linux.org
Sun Aug 9 13:30:10 CEST 2026


commit a4febd2528c9ae995e9ba27d6d79a6c09d21452f
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Sun Aug 9 13:26:51 2026 +0200

    Rel 15

 libxml-c99.patch | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 libxml.spec      |   6 ++-
 2 files changed, 119 insertions(+), 2 deletions(-)
---
diff --git a/libxml.spec b/libxml.spec
index 29e9e84..e6c977e 100644
--- a/libxml.spec
+++ b/libxml.spec
@@ -10,11 +10,11 @@ Summary(ru.UTF-8):	Библиотека XML
 Summary(uk.UTF-8):	Бібліотека XML
 Name:		libxml
 Version:	1.8.17
-Release:	14
+Release:	15
 Epoch:		1
 License:	LGPL
 Group:		Libraries
-Source0:	ftp://xmlsoft.org/old/%{name}-%{version}.tar.gz
+Source0:	https://download.gnome.org/sources/%{name}/1.8/%{name}-%{version}.tar.gz
 # Source0-md5:	53846294aa850a7d042948176d1d19dc
 Patch0:		%{name}-am15.patch
 Patch1:		%{name}-pmake.patch
@@ -23,6 +23,7 @@ Patch3:		%{name}-man.patch
 Patch4:		%{name}-CAN-2004-0989.patch
 Patch5:		%{name}-open.patch
 Patch6:		format-security.patch
+Patch7:		%{name}-c99.patch
 URL:		http://xmlsoft.org/
 BuildRequires:	autoconf
 BuildRequires:	automake
@@ -123,6 +124,7 @@ libxml приложений.
 %patch -P4 -p1
 %patch -P5 -p1
 %patch -P6 -p1
+%patch -P7 -p1
 
 %build
 %{__libtoolize}
diff --git a/libxml-c99.patch b/libxml-c99.patch
new file mode 100644
index 0000000..769f49d
--- /dev/null
+++ b/libxml-c99.patch
@@ -0,0 +1,115 @@
+Declare the public functions that were defined but missing from the headers and use
+socklen_t for getsockname(); GCC 14+ rejects implicit declarations and mismatched
+pointer types. HAVE_STRING_H was never checked by configure, so debugXML.c never
+got <string.h>. The now-prototyped xmlStrEqual() needs BAD_CAST on its string
+literal arguments, as parser.c already does.
+
+--- libxml-1.8.17.orig/configure.in
++++ libxml-1.8.17/configure.in
+@@ -64,7 +64,7 @@
+ dnl Checks for header files.
+ AC_HEADER_DIRENT
+ AC_HEADER_STDC
+-AC_CHECK_HEADERS(fcntl.h unistd.h ctype.h dirent.h errno.h malloc.h)
++AC_CHECK_HEADERS(fcntl.h unistd.h ctype.h dirent.h errno.h malloc.h string.h)
+ AC_CHECK_HEADERS(stdarg.h sys/stat.h sys/types.h time.h)
+ AC_CHECK_HEADERS(ieeefp.h nan.h math.h fp_class.h float.h)
+ AC_CHECK_HEADERS(stdlib.h sys/socket.h netinet/in.h arpa/inet.h)
+--- libxml-1.8.17.orig/config.h.in
++++ libxml-1.8.17/config.h.in
+@@ -99,6 +99,9 @@
+ /* Define if you have the <stdlib.h> header file.  */
+ #undef HAVE_STDLIB_H
+ 
++/* Define if you have the <string.h> header file.  */
++#undef HAVE_STRING_H
++
+ /* Define if you have the <sys/dir.h> header file.  */
+ #undef HAVE_SYS_DIR_H
+ 
+--- libxml-1.8.17.orig/parser.h
++++ libxml-1.8.17/parser.h
+@@ -342,6 +342,8 @@
+ 					 xmlChar *val);
+ int		xmlStrcmp		(const xmlChar *str1,
+ 					 const xmlChar *str2);
++int		xmlStrEqual		(const xmlChar *str1,
++					 const xmlChar *str2);
+ int		xmlStrncmp		(const xmlChar *str1,
+ 					 const xmlChar *str2,
+ 					 int len);
+@@ -396,6 +398,19 @@
+ xmlDtdPtr	xmlSAXParseDTD		(xmlSAXHandlerPtr sax,
+ 					 const xmlChar *ExternalID,
+ 					 const xmlChar *SystemID);
++int		xmlParseBalancedChunkMemory(xmlDocPtr doc,
++					 xmlSAXHandlerPtr sax,
++					 void *user_data,
++					 int depth,
++					 const xmlChar *string,
++					 xmlNodePtr *list);
++int		xmlParseExternalEntity	(xmlDocPtr doc,
++					 xmlSAXHandlerPtr sax,
++					 void *user_data,
++					 int depth,
++					 const xmlChar *URL,
++					 const xmlChar *ID,
++					 xmlNodePtr *list);
+ /**
+  * SAX initialization routines
+  */
+@@ -403,6 +418,11 @@
+ void		htmlDefaultSAXHandlerInit(void);
+ 
+ /**
++ * Parser initialization.
++ */
++void		xmlInitParser		(void);
++
++/**
+  * Parser contexts handling.
+  */
+ void		xmlInitParserCtxt	(xmlParserCtxtPtr ctxt);
+--- libxml-1.8.17.orig/entities.h
++++ libxml-1.8.17/entities.h
+@@ -93,6 +93,7 @@
+ void			xmlDumpEntitiesTable	(xmlBufferPtr buf,
+ 						 xmlEntitiesTablePtr table);
+ xmlEntitiesTablePtr	xmlCopyEntitiesTable	(xmlEntitiesTablePtr table);
++void			xmlInitializePredefinedEntities(void);
+ void			xmlCleanupPredefinedEntities(void);
+ 
+ #ifdef __cplusplus
+--- libxml-1.8.17.orig/nanoftp.c
++++ libxml-1.8.17/nanoftp.c
+@@ -1227,7 +1227,7 @@
+     unsigned char ad[6], *adp, *portp;
+     unsigned int temp[6];
+     struct sockaddr_in dataAddr;
+-    size_t dataAddrLen;
++    socklen_t dataAddrLen;
+ 
+     ctxt->dataFd = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);
+     if (ctxt->dataFd < 0) {
+--- libxml-1.8.17.orig/entities.c
++++ libxml-1.8.17/entities.c
+@@ -661,7 +661,7 @@
+ 		ptr = buf;
+ 		while (*ptr != 0) *out++ = *ptr++;
+ 	    } else if ((doc != NULL) && (doc->encoding != NULL) &&
+-		       (xmlStrEqual(doc->encoding, "UTF-8"))) {
++		       (xmlStrEqual(doc->encoding, BAD_CAST "UTF-8"))) {
+ 		/*
+ 		 * We assume we have UTF-8 input.
+ 		 */
+--- libxml-1.8.17.orig/tree.c
++++ libxml-1.8.17/tree.c
+@@ -4422,7 +4422,7 @@
+     else
+ 	xmlBufferWriteChar(buf, "\"1.0\"");
+     if ((cur->encoding != NULL) &&
+-	(!xmlStrEqual(cur->encoding, "UTF-8"))) {
++	(!xmlStrEqual(cur->encoding, BAD_CAST "UTF-8"))) {
+         xmlBufferWriteChar(buf, " encoding=");
+ 	xmlBufferWriteQuotedString(buf, cur->encoding);
+     }
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/libxml.git/commitdiff/a4febd2528c9ae995e9ba27d6d79a6c09d21452f



More information about the pld-cvs-commit mailing list