summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-11-25 00:50:53 +0000
committerSam James <sam@gentoo.org>2023-11-25 00:54:44 +0000
commitea17c1e92e82313ced2b7bc8b7eca46a510c6268 (patch)
treea2d4bc88b931e192411e58f241f7dea37bf08db3
parentapp-emulation/wine-vanilla: add 8.21 (diff)
downloadgentoo-ea17c1e92e82313ced2b7bc8b7eca46a510c6268.tar.gz
gentoo-ea17c1e92e82313ced2b7bc8b7eca46a510c6268.tar.bz2
gentoo-ea17c1e92e82313ced2b7bc8b7eca46a510c6268.zip
dev-libs/xmlsec: add 1.3.2
Closes: https://bugs.gentoo.org/917525 Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--dev-libs/xmlsec/Manifest1
-rw-r--r--dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch114
-rw-r--r--dev-libs/xmlsec/xmlsec-1.3.2.ebuild94
3 files changed, 209 insertions, 0 deletions
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 <aleksey@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
+}