commit:     ea17c1e92e82313ced2b7bc8b7eca46a510c6268
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 25 00:50:53 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Nov 25 00:54:44 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ea17c1e9

dev-libs/xmlsec: add 1.3.2

Closes: https://bugs.gentoo.org/917525
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/xmlsec/Manifest                           |   1 +
 .../xmlsec-1.3.2-libxml2-2.12.0-includes.patch     | 114 +++++++++++++++++++++
 dev-libs/xmlsec/xmlsec-1.3.2.ebuild                |  94 +++++++++++++++++
 3 files changed, 209 insertions(+)

diff --git a/dev-libs/xmlsec/Manifest b/dev-libs/xmlsec/Manifest
index 3c2ede1438c2..c1fd7521877a 100644
--- a/dev-libs/xmlsec/Manifest
+++ b/dev-libs/xmlsec/Manifest
@@ -1,3 +1,4 @@
 DIST xmlsec1-1.2.37.tar.gz 2009175 BLAKE2B 
19f43ba6bf6eb49428b9c5563baecbab21476f326cceee13785ae16769afa258f100732831c0f3f7d160543bd075cdcfdc5cbf11b7406637ee6c2f0e27c07f30
 SHA512 
99220cb28a346ffac0023f9f177d6a7be3ddcea04bea434b7dc926c1f0aaa5564d75f74f92896ac100179c04d77e001f688ddf46fed4e0a0b4f20b7b87c24900
 DIST xmlsec1-1.2.38.tar.gz 2036578 BLAKE2B 
03f7e1b5e659793bf1984c5a59582d9459089ce913620d5cc1e5a5d0eb65557580cd23fa190db277298fd7cc55bd41563b93cf61a37c8b7521a4690cd2ca3489
 SHA512 
724089777caae95db27e67f24381c066eaae23a9d64819a18bb04837c1ab1b380d19be2c7ee25659ca481d9eab96fcbe8027a430a0ac1630ad3b073cddd20fac
 DIST xmlsec1-1.3.1.tar.gz 2432943 BLAKE2B 
1dafdffd959579add5c579e3fa9c9f9ddc73ce4aadc6fc2139506e6e64ffcd1bbe7298786e414900eb9f33f93b0a47da64e686c499e48d4c80d81b256db6692e
 SHA512 
7f30c15c3edcafe70fa5febaa0ba39f73f8d30525ee102b5961a658dd2842fbc58e63f7595f15b150d71bf735bfa7688c3694a191b0d475776ca26902d90d25f
+DIST xmlsec1-1.3.2.tar.gz 2437263 BLAKE2B 
d11953c6e2a263a6742ef62309c2f29e2ba5761d58bee5f8cc761965d0e16fea148811ac3d8036d271400840a62ff2a7fff947bb5331170d3bcc598c558b2a95
 SHA512 
328f3d27cc1dadee27e5ee4649f6c5a094203cc27f42f1fe98fd429f7dd5630eaadff0e8bf14616016fc3530482ed8bcee4870289a41a083f6dd9bd603782a92

diff --git a/dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch 
b/dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch
new file mode 100644
index 000000000000..e4b7ec4d7f68
--- /dev/null
+++ b/dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch
@@ -0,0 +1,114 @@
+https://github.com/lsh123/xmlsec/commit/ffb327376f5bb69e8dfe7f805529e45a40118c2b
+
+From ffb327376f5bb69e8dfe7f805529e45a40118c2b Mon Sep 17 00:00:00 2001
+From: lsh123 <alek...@aleksey.com>
+Date: Mon, 20 Nov 2023 11:50:43 -0500
+Subject: [PATCH] Fix libxml2 v2.12.0 includes  (#729)
+
+--- a/apps/crypto.c
++++ b/apps/crypto.c
+@@ -12,6 +12,7 @@
+ #endif
+ 
+ #include <string.h>
++#include <stdlib.h>
+ 
+ #include <xmlsec/xmlsec.h>
+ #include <xmlsec/keys.h>
+--- a/apps/xmlsec.c
++++ b/apps/xmlsec.c
+@@ -22,6 +22,7 @@
+ #include <libxml/xmlmemory.h>
+ #include <libxml/parser.h>
+ #include <libxml/xpath.h>
++#include <libxml/xmlsave.h>
+ #include <libxml/xpathInternals.h>
+ 
+ #ifndef XMLSEC_NO_XSLT
+@@ -3030,7 +3031,7 @@ xmlSecAppInit(void) {
+     /* Init libxml */
+     xmlInitParser();
+     LIBXML_TEST_VERSION
+-    xmlTreeIndentString = "\t";
++    xmlThrDefTreeIndentString("\t");
+ #ifndef XMLSEC_NO_XSLT
+     xmlIndentTreeOutput = 1;
+ #endif /* XMLSEC_NO_XSLT */
+--- a/include/xmlsec/xmlsec.h
++++ b/include/xmlsec/xmlsec.h
+@@ -12,6 +12,7 @@
+ #define __XMLSEC_H__
+ 
+ #include <libxml/tree.h>
++#include <libxml/parser.h>
+ 
+ #include <xmlsec/version.h>
+ #include <xmlsec/exports.h>
+--- a/src/errors_helpers.h
++++ b/src/errors_helpers.h
+@@ -136,7 +136,7 @@ extern "C" {
+  */
+ #define xmlSecXmlError(errorFunction, errorObject) \
+     {                                                 \
+-        xmlErrorPtr error = xmlGetLastError();        \
++        const xmlError * error = xmlGetLastError();        \
+         int code = (error != NULL) ? error->code : 0; \
+         const char* message = (error != NULL) ? error->message : NULL; \
+         xmlSecError(XMLSEC_ERRORS_HERE,               \
+@@ -159,7 +159,7 @@ extern "C" {
+  */
+ #define xmlSecXmlError2(errorFunction, errorObject, msg, param) \
+     {                                                 \
+-        xmlErrorPtr error = xmlGetLastError();        \
++        const xmlError * error = xmlGetLastError();        \
+         int code = (error != NULL) ? error->code : 0; \
+         const char* message = (error != NULL) ? error->message : NULL; \
+         xmlSecError(XMLSEC_ERRORS_HERE,               \
+@@ -181,7 +181,7 @@ extern "C" {
+  */
+ #define xmlSecXmlParserError(errorFunction, ctxt, errorObject) \
+     {                                                 \
+-        xmlErrorPtr error = xmlCtxtGetLastError(ctxt);\
++        const xmlError * error = xmlCtxtGetLastError(ctxt);\
+         int code = (error != NULL) ? error->code : 0; \
+         const char* message = (error != NULL) ? error->message : NULL; \
+         xmlSecError(XMLSEC_ERRORS_HERE,               \
+@@ -205,7 +205,7 @@ extern "C" {
+  */
+ #define xmlSecXmlParserError2(errorFunction, ctxt, errorObject, msg, param) \
+     {                                                 \
+-        xmlErrorPtr error = xmlCtxtGetLastError(ctxt);\
++        const xmlError * error = xmlCtxtGetLastError(ctxt);\
+         int code = (error != NULL) ? error->code : 0; \
+         const char* message = (error != NULL) ? error->message : NULL; \
+         xmlSecError(XMLSEC_ERRORS_HERE,               \
+@@ -227,7 +227,7 @@ extern "C" {
+  */
+ #define xmlSecXsltError(errorFunction, ctxt, errorObject) \
+     {                                                 \
+-        xmlErrorPtr error = xmlGetLastError();        \
++        const xmlError * error = xmlGetLastError();        \
+         int code = (error != NULL) ? error->code : 0; \
+         const char* message = (error != NULL) ? error->message : NULL; \
+         xmlSecError(XMLSEC_ERRORS_HERE,               \
+--- a/src/mscrypto/certkeys.c
++++ b/src/mscrypto/certkeys.c
+@@ -18,6 +18,7 @@
+ #include "globals.h"
+ 
+ #include <string.h>
++#include <stdlib.h>
+ 
+ #ifndef XMLSEC_NO_GOST
+ #include "csp_oid.h"
+--- a/src/mscrypto/signatures.c
++++ b/src/mscrypto/signatures.c
+@@ -17,6 +17,7 @@
+ #include "globals.h"
+ 
+ #include <string.h>
++#include <stdlib.h>
+ 
+ #ifndef XMLSEC_NO_GOST
+ #include "csp_calg.h"
+

diff --git a/dev-libs/xmlsec/xmlsec-1.3.2.ebuild 
b/dev-libs/xmlsec/xmlsec-1.3.2.ebuild
new file mode 100644
index 000000000000..c999cba77c0c
--- /dev/null
+++ b/dev-libs/xmlsec/xmlsec-1.3.2.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Command line tool for signing, verifying, encrypting and 
decrypting XML"
+HOMEPAGE="https://www.aleksey.com/xmlsec";
+SRC_URI="https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz";
+S="${WORKDIR}/${PN}1-${PV}"
+
+LICENSE="MIT"
+# Upstream consider major version bumps to be changes in either X or Y in X.Y.Z
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="doc gcrypt gnutls http nss +openssl static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+       || ( gnutls nss openssl )
+"
+
+RDEPEND="
+       >=dev-libs/libxml2-2.7.4
+       >=dev-libs/libxslt-1.0.20
+       dev-libs/libltdl
+       gcrypt? ( >=dev-libs/libgcrypt-1.4.0:= )
+       gnutls? ( >=net-libs/gnutls-3.6.13:= )
+       nss? (
+               >=dev-libs/nspr-4.4.1
+               >=dev-libs/nss-3.9
+       )
+       openssl? ( dev-libs/openssl:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       virtual/pkgconfig
+       test? (
+               nss? (
+                       >=dev-libs/nss-3.9[utils]
+               )
+       )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.3.0-optimisation.patch
+       "${FILESDIR}"/${P}-libxml2-2.12.0-includes.patch
+)
+
+src_prepare() {
+       default
+
+       eautoreconf
+}
+
+src_configure() {
+       local myeconfargs=(
+               $(use_enable doc docs)
+               $(use_enable static-libs static)
+               $(use_with gcrypt)
+               $(use_with gnutls)
+               $(use_with nss nspr)
+               $(use_with nss)
+               $(use_with openssl)
+
+               --disable-werror
+               --enable-mans
+               --enable-pkgconfig
+
+               --enable-concatkdf
+               --enable-pbkdf2
+               --enable-ec
+               --enable-dh
+               --enable-sha3
+
+               --enable-files
+               $(use_enable http)
+               --disable-ftp
+       )
+
+       # Bash because of bug #721128
+       CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
+}
+
+src_test() {
+       # See https://github.com/lsh123/xmlsec/issues/280 for TZ=UTC
+       TZ=UTC SHELL="${BROOT}"/bin/bash emake TMPFOLDER="${T}" check
+}
+
+src_install() {
+       default
+
+       find "${ED}" -name '*.la' -delete || die
+}

Reply via email to