diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-04-08 08:43:12 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-04-08 08:43:12 +0100 |
commit | e81d2dd033df3a61b874a9a37f951ca05eead86f (patch) | |
tree | 82bfb1314b75b6c04de41a378a4838b7a18b0d68 /dev-libs/xmlrpc-c | |
parent | 288d9455931660abb6dfa534a78d45c7fb901477 (diff) |
gentoo auto-resync : 08:04:2025 - 08:43:11
Diffstat (limited to 'dev-libs/xmlrpc-c')
-rw-r--r-- | dev-libs/xmlrpc-c/Manifest | 2 | ||||
-rw-r--r-- | dev-libs/xmlrpc-c/files/xmlrpc-c-1.59.03-use-system-expat.patch | 229 | ||||
-rw-r--r-- | dev-libs/xmlrpc-c/xmlrpc-c-1.59.03-r2.ebuild | 90 |
3 files changed, 321 insertions, 0 deletions
diff --git a/dev-libs/xmlrpc-c/Manifest b/dev-libs/xmlrpc-c/Manifest index 805c3c64a033..911a1b21e9fd 100644 --- a/dev-libs/xmlrpc-c/Manifest +++ b/dev-libs/xmlrpc-c/Manifest @@ -1,11 +1,13 @@ AUX xmlrpc-c-1.51.06-pkg-config-libxml2.patch 3488 BLAKE2B 498c4654bf5733b2457d5c156f46504dcadaa1befa4e4ff51bd014c4a529f2d3ea76ccc3dc5f0b30f7b6ff32f827148ae9827eca4041c07d8a8b71316cecae27 SHA512 3990ef576e1ce313efaeb0829b72decf94a97e4390b74bbc23a680727d451d64a1b7ca55210f9b2df980bf4ab110e0f091d3f33fabd4a1f61b5ee0e54cdec6b9 AUX xmlrpc-c-1.51.06-pkg-config-openssl.patch 1264 BLAKE2B 035b1635abe42ce91a5c8ea277067e1fb935644186dfc5775c579e98b973f88714a63a4543e1373060a98bdc485f76957361fee0e22bbc8a74a5bf541349375d SHA512 a2a5a65dbf84b0494b3e204b438a149db65a2aeb62baeee5564c8f2373f67690b783fd48c2219c66fe88444fd0c9c6ecf1f8447cfe61f7078eb678619f025366 AUX xmlrpc-c-1.54.06-wformat-security.patch 1107 BLAKE2B 4572a031c01f018af7fe8281429d8a43c93a07f9af0cae47d1f5c2e1b4cf0aac98c0a3d00bce7ff4964b61d9f1c4b2a265379f5efcf49ccb60c4207bcccafd34 SHA512 5ecaea4f875261b9c108840779554505fead02011b5fbf6387a01335cbcd5169e2f76b491806efabdb418c0dee9977f15856470099e3464ec039bf8dada9b9ec +AUX xmlrpc-c-1.59.03-use-system-expat.patch 7591 BLAKE2B 083684f61e0448ee34b724edf97c349927f0f1360af94cbbbccac3ab0311ec1bc564b4160632281711180c51f75ede0469951dd3ffe3a2a6e71f993acc491944 SHA512 23252a55b648fb9637f7575df82646e7ee50aacea2b0161b961468c11c29a304cb92c6f144f162dea33d9af009594e4c745598197c779dbd46b9d53a4ccf7499 DIST xmlrpc-c-1.54.05.tgz 933228 BLAKE2B 50d73fe22454f04ffebf11d4b88986eaac571d107abce4e04244ad0b74469fc5233178967e3dd832a8525514912e4f835fa1ce13c439caf918a2b2d0c05021a0 SHA512 81bf8f398e9cb73b421907d8e304b9a6dc8da931f573f7296457486ade432f4a00a94b6850391690f7b229928f785522e5852db8aca68cb462c71d139e4f27b1 DIST xmlrpc-c-1.54.06.tgz 933199 BLAKE2B 1286323b59aa4d77fe2f8b04fef18d9a448d29a7fa23aad143418e62c92ac6a5156bb61ee58e0df4b0667e73a9170663b02b42fac94b38df71fc789d13e929e0 SHA512 0e8c920ccf04c78947bc66f7210b62c153ba185183c181461584772885690a3bb09dcf63d69c5b0f1f76a96f162a2a0eba6268e7210dda42561f59bec8008733 DIST xmlrpc-c-1.59.03.tgz 935404 BLAKE2B 7a8d2ea19fe698538747d8b5735eb3247dec0c0ef87204cdec3a2aa051581e2d23b1a7b41673ff422c69474c5a4f24243945d5474c30beafc59235bc60c2cad5 SHA512 10b984421e7f4a7c1434b03f542ba1c9f9027ae72ed6022aca5efee55fc630b0f630f1ca5193fd2477c743ffd994c199064b15b73d1b019004f1f8e36cbd6921 EBUILD xmlrpc-c-1.54.05-r3.ebuild 2204 BLAKE2B 4ef32f4fe04c85df0543a13512ad11a3af771e3513f95a15ded1959cb7357f585dccecde9b954bdc227d715485b2835741343282996897ee4d54b0b5e0066e8e SHA512 ad05a2eaa789587dc2d655cb38ded02c3adb3d4713ac75e884c3df784bcc1cb4f3d471f775857b666a1e018b2b092f6521d99b645c5272268267eba2ba7f412c EBUILD xmlrpc-c-1.54.06-r1.ebuild 2283 BLAKE2B a688d712820b6082fe289a8659128a09873adf5e459a380def352be8846a2b20ff75bc8dd882be13a9c5113dbd9c7176663a6b18595c91d8278b62189cffe1c0 SHA512 c706028d8607b7b55138db695a91510418b103126aa06007946d3468c205415026730bc4b39b9629ffc33242fe96cf248968c62168afddf062f9fe55066aabb4 EBUILD xmlrpc-c-1.59.03-r1.ebuild 2196 BLAKE2B fc5542e8e926e8b51038e55e003e77687458d945dc3d6170a42f40385610ce0cf549878880281e2d673322d7176e69cc483c680f5df2d854ec78165226c50c29 SHA512 f9eec5bb4e73506fb3783270bf41a78ecbe91ae4a4dba440fe08e2055a73eee39f317f8405c653055febfd37392e5957c806d98f4b00361cb63da84057045c3e +EBUILD xmlrpc-c-1.59.03-r2.ebuild 2274 BLAKE2B e04d1ddb4f9fbf625718378d2a2cdd781ebda6f6481c4dd55a5b9188ea381717d2a338ff1718497b5ad3e1944b27c03bacaea85e67bc0c419a1c9bf80e6fc871 SHA512 23a717465dc8e2aab1678e2635b0f644494a609b7c48693b1184889247bb893b785f5f81dbec9ce015d5663d1df449d17524bafdb97e43476d261f738f022f76 EBUILD xmlrpc-c-1.59.03.ebuild 2124 BLAKE2B ea772608cc214af161971af9ce79b62873e097828738d6053ead554dc566affd2e30baf5aa7a5ddcc40e6c5e40df77ffd1e4fa41d5d3ad01e925a36de405956d SHA512 2914fb35bf01dc91b957c261910a2d61fdccb52267d7e71179e5399c636e9fe4f1335bd60deb66713421fd82e16837b1f7671799b9b5d7363c2c14bd9dea7dc2 MISC metadata.xml 548 BLAKE2B c471932a7dc9bfd7557572a122f5715bd3dab51a3c4d3510dd110077e94f7f03cfcdbd063f5241f3920c5cd871ab9b7b8b6b9beba0d9eedd8d75356095b8191d SHA512 180c83cc1781b2631a10a71e3bd6d99fda2d3e07fcf53aa1b17176b3d935f0f91bb41b3b7f9455ba5eef8d517cc4a6c8f4a87aaaabe58d1d93bf59823d4cc078 diff --git a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.59.03-use-system-expat.patch b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.59.03-use-system-expat.patch new file mode 100644 index 000000000000..df25189042e5 --- /dev/null +++ b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.59.03-use-system-expat.patch @@ -0,0 +1,229 @@ +From 5d276a95a6953c51ed4fd20cabc6eab3808755e5 Mon Sep 17 00:00:00 2001 +From: Sebastian Pipping <sebastian@pipping.org> +Date: Sun, 6 Apr 2025 02:19:15 +0200 +Subject: [PATCH] Use system libexpat rather than bundled lib/expat/ for + security + +--- + common.mk | 31 +------------------------------ + config.mk.in | 1 + + lib/Makefile | 3 --- + src/Makefile | 8 +++----- + src/cpp/Makefile | 6 ++---- + src/xmlrpc_expat.c | 18 ++++++++++-------- + xmlrpc-c-config.test.main | 6 ++---- + 7 files changed, 19 insertions(+), 54 deletions(-) + +diff --git a/common.mk b/common.mk +index e6e79a0..4f8b8b7 100644 +--- a/common.mk ++++ b/common.mk +@@ -216,22 +216,6 @@ LIBXMLRPC_SERVER_CGI_A = $(BLDDIR)/src/libxmlrpc_server_cgi.a + + endif + +-LIBXMLRPC_XMLTOK_DIR = $(BLDDIR)/lib/expat/xmltok +- +-ifneq ($(OMIT_XMLTOK_LIB_RULE),Y) +-LIBXMLRPC_XMLTOK = \ +- $(call shliblefn, $(LIBXMLRPC_XMLTOK_DIR)/libxmlrpc_xmltok) +-LIBXMLRPC_XMLTOK_A = $(LIBXMLRPC_XMLTOK_DIR)/libxmlrpc_xmltok.a +-endif +- +-LIBXMLRPC_XMLPARSE_DIR = $(BLDDIR)/lib/expat/xmlparse +- +-ifneq ($(OMIT_XMLPARSE_LIB_RULE),Y) +-LIBXMLRPC_XMLPARSE = \ +- $(call shliblefn, $(LIBXMLRPC_XMLPARSE_DIR)/libxmlrpc_xmlparse) +-LIBXMLRPC_XMLPARSE_A = $(LIBXMLRPC_XMLPARSE_DIR)/libxmlrpc_xmlparse.a +-endif +- + LIBXMLRPC_ABYSS_DIR = $(BLDDIR)/lib/abyss/src + + ifneq ($(OMIT_ABYSS_LIB_RULE),Y) +@@ -270,16 +254,11 @@ LIBXMLRPC_SERVER_PSTREAMPP = \ + $(call shliblefn, $(BLDDIR)/src/cpp/libxmlrpc_server_pstream++) + LIBXMLRPC_SERVER_PSTREAMPP_A = $(BLDDIR)/src/cpp/libxmlrpc_server_pstream++.a + +-# LIBXMLRPC_XML is the list of Xmlrpc-c libraries we need to parse +-# XML. If we're using an external library to parse XML, this is null. + # LDLIBS_XML is the corresponding -L/-l options + + ifneq ($(ENABLE_LIBXML2_BACKEND),yes) + # We're using the internal Expat XML parser +- LIBXMLRPC_XML = $(LIBXMLRPC_XMLPARSE) $(LIBXMLRPC_XMLTOK) +- LDLIBS_XML = \ +- -L$(BLDDIR)/lib/expat/xmlparse -lxmlrpc_xmlparse \ +- -L$(BLDDIR)/lib/expat/xmltok -lxmlrpc_xmltok ++ LDLIBS_XML = $(shell $(PKG_CONFIG) --libs expat) + else + LDLIBS_XML = $(shell xml2-config --libs) + endif +@@ -472,14 +451,6 @@ $(LIBXMLRPC_UTILPP) $(LIBXMLRPC_UTILPP_A) : FORCE + $(MAKE) -C $(dir $@) -f $(SRCDIR)/lib/libutil++/Makefile \ + $(notdir $@) + +-$(LIBXMLRPC_XMLPARSE) $(LIBXMLRPC_XMLPARSE_A) : FORCE +- $(MAKE) -C $(dir $@) -f $(SRCDIR)/lib/expat/xmlparse/Makefile \ +- $(notdir $@) +- +-$(LIBXMLRPC_XMLTOK) $(LIBXMLRPC_XMLTOK_A) : FORCE +- $(MAKE) -C $(dir $@) -f $(SRCDIR)/lib/expat/xmltok/Makefile \ +- $(notdir $@) +- + $(LIBXMLRPC_ABYSS) $(LIBXMLRPC_ABYSS_A): FORCE + $(MAKE) -C $(dir $@) -f $(SRCDIR)/lib/abyss/src/Makefile \ + $(notdir $@) +diff --git a/config.mk.in b/config.mk.in +index 725c063..5251c85 100644 +--- a/config.mk.in ++++ b/config.mk.in +@@ -52,6 +52,7 @@ CXX = @CXX@ + CCLD = $(CC) + CXXLD = $(CXX) + AR = @AR@ ++PKG_CONFIG = pkg-config + RANLIB = @RANLIB@ + LN_S = ln -s + INSTALL = $(SRCDIR)/install-sh +diff --git a/lib/Makefile b/lib/Makefile +index c0e7889..b573ed5 100644 +--- a/lib/Makefile ++++ b/lib/Makefile +@@ -28,9 +28,6 @@ endif + ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes) + SUBDIRS += libwww_transport + endif +-ifneq ($(ENABLE_LIBXML2_BACKEND),yes) +- SUBDIRS += expat +-endif + + ifeq ($(HAVE_OPENSSL),Y) + SUBDIRS += openssl +diff --git a/src/Makefile b/src/Makefile +index acd04dd..75ffafb 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -73,10 +73,8 @@ ifeq ($(ENABLE_LIBXML2_BACKEND),yes) + XML_PKGCONFIG_REQ = libxml-2.0 + else + XMLRPC_XML_PARSER = xmlrpc_expat +- XML_PARSER_LIBDEP = \ +- -Lblddir/lib/expat/xmlparse -lxmlrpc_xmlparse \ +- -Lblddir/lib/expat/xmltok -lxmlrpc_xmltok +- XML_PARSER_LIBDEP_DEP = $(LIBXMLRPC_XMLPARSE) $(LIBXMLRPC_XMLTOK) ++ XML_PARSER_LIBDEP = $(shell $(PKG_CONFIG) expat --libs) ++ XML_PARSER_LIBDEP_DEP = + XML_PKGCONFIG_REQ = xmlrpc_expat + endif + +@@ -278,7 +276,7 @@ BASIC_INCLUDES = \ + ifeq ($(ENABLE_LIBXML2_BACKEND),yes) + LIBXML_INCLUDES = $(shell xml2-config --cflags) + else +- LIBXML_INCLUDES = -Isrcdir/lib/expat/xmlparse ++ LIBXML_INCLUDES = $(shell $(PKG_CONFIG) --cflags expat) + endif + + $(LIBXMLRPC_MODS:%=%.o) \ +diff --git a/src/cpp/Makefile b/src/cpp/Makefile +index 184b254..986af46 100644 +--- a/src/cpp/Makefile ++++ b/src/cpp/Makefile +@@ -44,3 +44,3 @@ DEP_SOURCES = *.cpp + else +- LIBXML_INCLUDES = -Isrcdir/lib/expat/xmlparse ++ LIBXML_INCLUDES = $(shell $(PKG_CONFIG) --cflags expat) + endif +@@ -51,5 +51,3 @@ DEP_SOURCES = *.cpp + else +- XML_PARSER_LIBDEP = \ +- -L$(BLDDIR)/lib/expat/xmlparse -lxmlrpc_xmlparse \ +- -L$(BLDDIR)/lib/expat/xmltok -lxmlrpc_xmltok ++ XML_PARSER_LIBDEP = $(shell $(PKG_CONFIG) --libs expat) + endif +diff --git a/src/xmlrpc_expat.c b/src/xmlrpc_expat.c +index 30fae15..2e01ec3 100644 +--- a/src/xmlrpc_expat.c ++++ b/src/xmlrpc_expat.c +@@ -6,7 +6,7 @@ + #include <stdlib.h> + #include <string.h> + +-#include <xmlparse.h> /* Expat */ ++#include <expat.h> + + #include "bool.h" + +@@ -419,18 +419,18 @@ createParser(xmlrpc_env * const envP, + -----------------------------------------------------------------------------*/ + XML_Parser parser; + +- parser = xmlrpc_XML_ParserCreate(NULL); ++ parser = XML_ParserCreate(NULL); + if (parser == NULL) + xmlrpc_faultf(envP, "Could not create expat parser"); + else { + initParseContext(contextP, memPoolP); + +- xmlrpc_XML_SetUserData(parser, contextP); +- xmlrpc_XML_SetElementHandler( ++ XML_SetUserData(parser, contextP); ++ XML_SetElementHandler( + parser, + (XML_StartElementHandler) startElement, + (XML_EndElementHandler) endElement); +- xmlrpc_XML_SetCharacterDataHandler( ++ XML_SetCharacterDataHandler( + parser, + (XML_CharacterDataHandler) characterData); + } +@@ -445,7 +445,7 @@ destroyParser(XML_Parser const parser, + + termParseContext(contextP); + +- xmlrpc_XML_ParserFree(parser); ++ XML_ParserFree(parser); + } + + +@@ -483,15 +483,17 @@ xml_parse(xmlrpc_env * const envP, + if (!envP->fault_occurred) { + bool ok; + +- ok = xmlrpc_XML_Parse(parser, xmlData, xmlDataLen, 1); ++ ok = XML_Parse(parser, xmlData, xmlDataLen, 1); + /* sets 'context', *envP */ + if (!ok) { + /* Expat failed on its own to parse it -- this is not an error + that our handlers detected. + */ ++ const enum XML_Error error_code = XML_GetErrorCode(parser); ++ const char * const error_string = (error_code == XML_ERROR_NONE) ? NULL : XML_ErrorString(error_code); + xmlrpc_env_set_fault( + envP, XMLRPC_PARSE_ERROR, +- xmlrpc_XML_GetErrorString(parser)); ++ error_string); + if (!context.env.fault_occurred) { + /* Have to clean up what our handlers built before Expat + barfed. +diff --git a/xmlrpc-c-config.test.main b/xmlrpc-c-config.test.main +index d184534..0e53b12 100644 +--- a/xmlrpc-c-config.test.main ++++ b/xmlrpc-c-config.test.main +@@ -22,10 +22,8 @@ packetsocket_lib= + if test "${ENABLE_LIBXML2_BACKEND}" = "yes"; then + LIBXML=`xml2-config --libs` + else +- LIBXML="${BLDDIR}/lib/expat/xmlparse/libxmlrpc_xmlparse.a" +- sopath="${BLDDIR}/lib/expat/xmlparse:$sopath" +- LIBXML="${LIBXML} ${BLDDIR}/lib/expat/xmltok/libxmlrpc_xmltok.a" +- sopath="${BLDDIR}/lib/expat/xmltok:$sopath" ++ [ -n "${PKG_CONFIG}" ] || PKG_CONFIG=pkg-config ++ LIBXML=`${PKG_CONFIG} --libs expat` + fi + + needCpp=no +-- +2.48.1 + diff --git a/dev-libs/xmlrpc-c/xmlrpc-c-1.59.03-r2.ebuild b/dev-libs/xmlrpc-c/xmlrpc-c-1.59.03-r2.ebuild new file mode 100644 index 000000000000..ed0f2fcb69a7 --- /dev/null +++ b/dev-libs/xmlrpc-c/xmlrpc-c-1.59.03-r2.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools toolchain-funcs + +# Upstream maintains 3 release channels: https://xmlrpc-c.sourceforge.net/release.html +# 1. Only the "Super Stable" series is released as a tarball +# 2. SVN tagging of releases seems spotty: https://svn.code.sf.net/p/xmlrpc-c/code/release_number/ +# Because of this, we are following the "Super Stable" release channel + +DESCRIPTION="A lightweight RPC library based on XML and HTTP" +HOMEPAGE="https://xmlrpc-c.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tgz" + +LICENSE="BSD" +SLOT="0/4.59" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris" +IUSE="abyss +cgi +curl +cxx +libxml2 static-libs threads test" +RESTRICT="!test? ( test )" +REQUIRED_USE="test? ( abyss curl cxx )" + +RDEPEND=" + dev-libs/openssl:= + sys-libs/ncurses:= + sys-libs/readline:= + curl? ( net-misc/curl ) + libxml2? ( dev-libs/libxml2 ) +" +DEPEND="${RDEPEND}" + +# configure calls curl-config, hence curl in BDEPEND +BDEPEND=" + virtual/pkgconfig + curl? ( net-misc/curl ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.51.06-pkg-config-libxml2.patch + "${FILESDIR}"/${PN}-1.51.06-pkg-config-openssl.patch + "${FILESDIR}"/${PN}-1.59.03-use-system-expat.patch +) + +pkg_setup() { + use curl || ewarn "Curl support disabled: No client library will be built" +} + +src_prepare() { + rm -R lib/expat/ || die + + default + + sed -i \ + -e "/CFLAGS_COMMON/s|-g -O3$||" \ + -e "/CXXFLAGS_COMMON/s|-g$||" \ + common.mk || die + eautoconf +} + +src_configure() { + tc-export PKG_CONFIG + + econf \ + --disable-libwww-client \ + --disable-wininet-client \ + --without-libwww-ssl \ + $(use_enable abyss abyss-server) \ + $(use_enable cgi cgi-server) \ + $(use_enable curl curl-client) \ + $(use_enable cxx cplusplus) \ + $(use_enable libxml2 libxml2-backend) \ + $(use_enable threads abyss-threads) +} + +src_compile() { + default + + # Tools building is broken in this release + #use tools && emake -rC "${S}"/tools +} + +src_install() { + default + + use static-libs || find "${D}" -type f -name \*.a -delete + + # Tools building is broken in this release + #use tools && emake DESTDIR="${D}" -rC "${S}"/tools install +} |