aboutsummaryrefslogtreecommitdiffstats
path: root/community/xmlsec
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2016-10-13 10:42:46 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2016-10-13 10:44:48 +0000
commita7c00d7683eb7f886c49b05f1c2b553b800e4e5d (patch)
tree4d66d6f433df748f092702fdb33f31d9f4cbf3f7 /community/xmlsec
parent0ba2e417b2f88fd3ce772b8eb56b41425c1ba658 (diff)
downloadaports-a7c00d7683eb7f886c49b05f1c2b553b800e4e5d.tar.bz2
aports-a7c00d7683eb7f886c49b05f1c2b553b800e4e5d.tar.xz
community/xmlsec: fix detection of libressl
this is a workaround for https://github.com/lsh123/xmlsec/issues/48 We also make sure that we keep the .la files as they are needed to load the openssl driver.
Diffstat (limited to 'community/xmlsec')
-rw-r--r--community/xmlsec/APKBUILD17
-rw-r--r--community/xmlsec/libressl.patch67
2 files changed, 79 insertions, 5 deletions
diff --git a/community/xmlsec/APKBUILD b/community/xmlsec/APKBUILD
index b459295f94..a5d4250959 100644
--- a/community/xmlsec/APKBUILD
+++ b/community/xmlsec/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Sander Maijers <S.N.Maijers+Alpine@gmail.com>
pkgname='xmlsec'
pkgver='1.2.22'
-pkgrel=2
+pkgrel=3
pkgdesc="Provides a C based implementation for XML Signature Syntax and Processing and XML Encryption Syntax and Processing."
url="https://github.com/lsh123/${pkgname}/"
arch="all"
@@ -11,12 +11,15 @@ depends=""
depends_dev=
makedepends="${depends_dev} libxml2-dev libxslt-dev libressl-dev autoconf automake libtool"
install=
+options="libtool"
subpackages="${pkgname}-dev ${pkgname}-doc"
-source="${url}/archive/${pkgname}-${pkgver//./_}.tar.gz"
+source="${url}/archive/${pkgname}-${pkgver//./_}.tar.gz
+ libressl.patch"
builddir="${srcdir}/${pkgname}-${pkgname}-${pkgver//./_}"
prepare() {
cd "${builddir}"
+ default_prepare || return 1
./autogen.sh
}
@@ -28,6 +31,7 @@ build() {
--prefix='/usr' \
--disable-static \
--enable-pkgconfig \
+ --with-openssl=/usr \
--with-default-crypto='openssl' \
|| return 1
make || return 1
@@ -47,6 +51,9 @@ package() {
|| return 1
}
-md5sums="b0bdaeee4cb39bfe56f2d28bae17faa8 xmlsec-1_2_22.tar.gz"
-sha256sums="f04da7bb6e20e9b9b7a39bb64cfad6836c665cfa6e14f6316fc24fcac6cbac06 xmlsec-1_2_22.tar.gz"
-sha512sums="f03b2dd9fdd9152e4a13466bf71018a2ef5290425019d7576a6f9e9e40bd30b9e6c1895a1ba65cc819dd56a86ea1c6c47142250c6e0695d5c02d4e0322bd8b67 xmlsec-1_2_22.tar.gz"
+md5sums="b0bdaeee4cb39bfe56f2d28bae17faa8 xmlsec-1_2_22.tar.gz
+6fdbe893a933da04e8842a46df2e695f libressl.patch"
+sha256sums="f04da7bb6e20e9b9b7a39bb64cfad6836c665cfa6e14f6316fc24fcac6cbac06 xmlsec-1_2_22.tar.gz
+2dd03f3e3c9ea256012a1b000d82e774f1bcac5bb7adc6bcb86d9cfbf36bc2cb libressl.patch"
+sha512sums="f03b2dd9fdd9152e4a13466bf71018a2ef5290425019d7576a6f9e9e40bd30b9e6c1895a1ba65cc819dd56a86ea1c6c47142250c6e0695d5c02d4e0322bd8b67 xmlsec-1_2_22.tar.gz
+fabc3a3713bc3b7060ca607dbffc094edd31b8e25acefd26706635b38abadbdcc171a4abcb48f1c79876e548bc1370996d92ba718ebd898ce5d73522c2897a69 libressl.patch"
diff --git a/community/xmlsec/libressl.patch b/community/xmlsec/libressl.patch
new file mode 100644
index 0000000000..21dc892688
--- /dev/null
+++ b/community/xmlsec/libressl.patch
@@ -0,0 +1,67 @@
+From e834054c1a6adcc927c34c803eb22c24db69fd76 Mon Sep 17 00:00:00 2001
+From: Bernard Spil <brnrd@FreeBSD.org>
+Date: Sat, 8 Oct 2016 12:58:37 +0200
+Subject: [PATCH] configure: Fix LibreSSL version detection
+
+ - LibreSSL:
+ * defines OPENSSL_VERSION_NUMBER as 0x20000000L
+ * deFines LIBRESS_VERSION_NUMBER in opensslv.h
+ * was forked from 1.0.1f / 0x1000107fL
+
+PR: https://bugs.freebsd.org/213301
+Reported by: Michael Gmelin <grembo@freebsd.org>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index ab69e16..94caf5f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -495,7 +495,7 @@ if test "z$OPENSSL_FOUND" = "zyes" -a "z$OPENSSL_VERSION" = "z" ; then
+ if test "z$OPENSSL_VERSION" = "z" ; then
+ AC_EGREP_CPP(yes,[
+ #include <openssl/opensslv.h>
+- #if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ #if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ yes
+ #endif
+ ],[
+From 51f5a3775dd51aeb13e50e8a428b0f40ab060d48 Mon Sep 17 00:00:00 2001
+From: Eric Sproul <esproul@omniti.com>
+Date: Tue, 31 May 2016 17:19:15 +0000
+Subject: [PATCH] Fix mismatched conditional for XMLSEC_NO_ECDSA
+
+Without this fix, we fail to compile on CentOS 6.x which lacks ECDSA
+support.
+---
+ src/openssl/signatures.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/openssl/signatures.c b/src/openssl/signatures.c
+index 5cb6f7b..95d3691 100644
+--- a/src/openssl/signatures.c
++++ b/src/openssl/signatures.c
+@@ -31,7 +31,7 @@
+ #define EVP_MD_CTX_free(x) EVP_MD_CTX_destroy((x))
+ #define EVP_MD_CTX_md_data(x) ((x)->md_data)
+
+-#ifndef XMLSEC_NO_DSA
++#ifndef XMLSEC_NO_ECDSA
+ /* we expect the r/s to be NOT NULL */
+ static void ECDSA_SIG_get0(BIGNUM **pr, BIGNUM **ps, ECDSA_SIG *sig) {
+ if (pr != NULL) {
+--- a/src/openssl/app.c.orig Wed Apr 20 17:26:22 2016
++++ b/src/openssl/app.c Sat Sep 3 14:33:48 2016
+@@ -1487,11 +1487,6 @@ xmlSecOpenSSLAppLoadRANDFile(const char *file) {
+
+ if(file == NULL) {
+ file = RAND_file_name(buffer, sizeof(buffer));
+- }else if(RAND_egd(file) > 0) {
+- /* we try if the given filename is an EGD socket.
+- * if it is, we don't write anything back to the file. */
+- egdsocket = 1;
+- return 1;
+ }
+
+ if((file == NULL) || !RAND_load_file(file, -1)) {