[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