summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJory A. Pratt <anarchy@gentoo.org>2017-10-15 20:23:37 -0500
committerJory A. Pratt <anarchy@gentoo.org>2017-10-15 20:23:37 -0500
commit45e7ce7db0063c36ef061f5984428f084787c6ed (patch)
tree21885cae82a5074b2074f44916a1ba19ae9fec60
parentdev-util/cargo - disable static building (diff)
downloadanarchy-45e7ce7db0063c36ef061f5984428f084787c6ed.tar.gz
anarchy-45e7ce7db0063c36ef061f5984428f084787c6ed.tar.bz2
anarchy-45e7ce7db0063c36ef061f5984428f084787c6ed.zip
dev-python/m2crypto - add libressl support patch
-rw-r--r--dev-python/m2crypto/Manifest3
-rw-r--r--dev-python/m2crypto/files/m2crypto-0.27.0-libressl.patch181
-rw-r--r--dev-python/m2crypto/m2crypto-0.27.0.ebuild2
3 files changed, 185 insertions, 1 deletions
diff --git a/dev-python/m2crypto/Manifest b/dev-python/m2crypto/Manifest
index ed62a3a..7a39b60 100644
--- a/dev-python/m2crypto/Manifest
+++ b/dev-python/m2crypto/Manifest
@@ -1,3 +1,4 @@
+AUX m2crypto-0.27.0-libressl.patch 6213 SHA256 7ca223d97756cc94879fe7744aec665dfa44a106a90c2c6e163ae14058127124 SHA512 ac09a09a430a9c6a31fa9abec9c95e643714951bdd8b0fe6c30f8f5ce737d6080dd6066ecb79ae960df16a21646c406698fc768eeb1a8235b8b72200b7061b68 WHIRLPOOL 00619900c0ac82c5aea6efc025520c15587a5a6567079f9c4fc2a756197b42e3eb750c719817ccd3756e708b1bba605dc5a1215c37a3fbeaf759c0256a1e8848
DIST M2Crypto-0.27.0.tar.gz 1119288 SHA256 82317459d653322d6b37f122ce916dc91ddcd9d1b814847497ac796c4549dd68 SHA512 df0f6b16f7d00a19fafbb5da5a3ececff6b4627accd00ca65e0d6f9e752a97f41016d0072c8e681475fe1d87c89b7474067068c0bfce6c68a30baddeb31bfac2 WHIRLPOOL 678f19d7bcd0663b704761a78b8e2d39a1c62450f99d5b0aa513e8b8af717ef1935b274eef99d4e027e8e5992887806bd270fcba02fd3e650f086f8b87f5adc7
-EBUILD m2crypto-0.27.0.ebuild 997 SHA256 3b2c1c5998f7916f1c65b60fb6d59b1083076956b823f18ab2ec883c3855b8d8 SHA512 a7569727bb1b958ab175d88f919119fc03e48c09931d83390b35d23dcb6e8ee4492df06ea6192315ccb86d8235f0597657c56c9ee1823ff4688719398d2eae7a WHIRLPOOL 463fed62e2fd8e3776d2b917313f30bfdff835f01dee1aa6ea64c8ab8cea9ce6535e7eefdf9d98d5b732e459cf3397d1c2294b2c57f1365ebcff83563e8d8a3e
+EBUILD m2crypto-0.27.0.ebuild 1044 SHA256 80dcfdb003bb7864fa2dd9da7de9041bee23ec0be6c34b8e75082280fddcb8c9 SHA512 ac927184c9eaac941fc54b7f65274048ffbbca3eee1127c4d5fd2393d7d08f2c7fad49f826f1fad1ee4eba52e404578c9a6f1f2d294ecc2a290c980e1bae6cfd WHIRLPOOL 12dfab32af2ba68c4ba75a411d46a8f78874d74c4105373cd00b84ab676213cf96bcedbecedd49236a7ac8ab036dfa2dd75082fa54d54649122522b3c8645cd9
MISC metadata.xml 380 SHA256 5ab7583a3fb8617ce68eb175d57b6a1ba951baca62d0179d80f63aca9eba3635 SHA512 f2e3b4228c45471f0132b3bb412f017f4006eb82bd63e187db3efdfd3f412c1db19bdb79d37630bb059f75ef69f110687b8924d22c2aef0101cb40eb3486f1e6 WHIRLPOOL f7bbc7ad82ae17374b32f1606bbf8960c799800debf709111abffb1df8da39d4492038dbeb3e3eb135f81f43038615d6d0fc0810151a58d5c27a3936237df9da
diff --git a/dev-python/m2crypto/files/m2crypto-0.27.0-libressl.patch b/dev-python/m2crypto/files/m2crypto-0.27.0-libressl.patch
new file mode 100644
index 0000000..798b193
--- /dev/null
+++ b/dev-python/m2crypto/files/m2crypto-0.27.0-libressl.patch
@@ -0,0 +1,181 @@
+From f9a7fe51cb523363baa57073cc8dbeaa7db756a6 Mon Sep 17 00:00:00 2001
+From: "Jory A. Pratt" <anarchy@gentoo.org>
+Date: Sat, 14 Oct 2017 23:11:54 -0500
+Subject: [PATCH] Fix support for libressl
+
+Signed-off-by: Jory A. Pratt <anarchy@gentoo.org>
+---
+ SWIG/_bio.i | 6 +++---
+ SWIG/_evp.i | 2 +-
+ SWIG/_lib.i | 4 ++--
+ SWIG/_lib11_compat.i | 2 +-
+ SWIG/_ssl.i | 4 ++--
+ SWIG/_threads.i | 10 +++++-----
+ SWIG/libcrypto-compat.h | 2 +-
+ 7 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/SWIG/_bio.i b/SWIG/_bio.i
+index 770b2ba..cd7fe53 100644
+--- a/SWIG/_bio.i
++++ b/SWIG/_bio.i
+@@ -63,14 +63,14 @@ extern BIO *BIO_pop(BIO *);
+ static PyObject *_bio_err;
+
+
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ void pyfd_init(void);
+ #endif
+
+ void bio_init(PyObject *bio_err) {
+ Py_INCREF(bio_err);
+ _bio_err = bio_err;
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ pyfd_init();
+ #endif
+ }
+@@ -299,7 +299,7 @@ int bio_should_write(BIO* a) {
+ return BIO_should_write(a);
+ }
+
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ /* implment custom BIO_s_pyfd */
+
+ #ifdef WIN32
+diff --git a/SWIG/_evp.i b/SWIG/_evp.i
+index bab8ac7..786d474 100644
+--- a/SWIG/_evp.i
++++ b/SWIG/_evp.i
+@@ -19,7 +19,7 @@ Copyright (c) 2009-2010 Heikki Toivonen. All rights reserved.
+ #include <openssl/rsa.h>
+ #include <openssl/opensslv.h>
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+
+ HMAC_CTX *HMAC_CTX_new(void) {
+ HMAC_CTX *ret = PyMem_Malloc(sizeof(HMAC_CTX));
+diff --git a/SWIG/_lib.i b/SWIG/_lib.i
+index 1d847ae..b361208 100644
+--- a/SWIG/_lib.i
++++ b/SWIG/_lib.i
+@@ -18,7 +18,7 @@
+
+ %{
+ /* OpenSSL 1.0.2 copmatbility shim */
+-#if OPENSSL_VERSION_NUMBER < 0x10002000L
++#if OPENSSL_VERSION_NUMBER < 0x10002000L || defined(LIBRESSL_VERSION_NUMBER)
+ typedef void (*OPENSSL_sk_freefunc)(void *);
+ typedef void *(*OPENSSL_sk_copyfunc)(const void *);
+ typedef struct stack_st OPENSSL_STACK;
+@@ -501,7 +501,7 @@ int passphrase_callback(char *buf, int num, int v, void *arg) {
+ %inline %{
+
+ void lib_init() {
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ SSLeay_add_all_algorithms();
+ ERR_load_ERR_strings();
+ #endif
+diff --git a/SWIG/_lib11_compat.i b/SWIG/_lib11_compat.i
+index 1ec42dd..9053dfb 100644
+--- a/SWIG/_lib11_compat.i
++++ b/SWIG/_lib11_compat.i
+@@ -8,7 +8,7 @@
+ */
+
+ %{
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+
+ #include <string.h>
+ #include <openssl/engine.h>
+diff --git a/SWIG/_ssl.i b/SWIG/_ssl.i
+index c0b58e9..210462f 100644
+--- a/SWIG/_ssl.i
++++ b/SWIG/_ssl.i
+@@ -268,7 +268,7 @@ void ssl_init(PyObject *ssl_err, PyObject *ssl_timeout_err) {
+
+ #ifndef OPENSSL_NO_SSL3
+ const SSL_METHOD *sslv3_method(void) {
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ PyErr_WarnEx(PyExc_DeprecationWarning,
+ "Function SSLv3_method has been deprecated.", 1);
+ #endif
+@@ -277,7 +277,7 @@ const SSL_METHOD *sslv3_method(void) {
+ #endif
+
+ const SSL_METHOD *tlsv1_method(void) {
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ PyErr_WarnEx(PyExc_DeprecationWarning,
+ "Function TLSv1_method has been deprecated.", 1);
+ #endif
+diff --git a/SWIG/_threads.i b/SWIG/_threads.i
+index 69adb9f..091230f 100644
+--- a/SWIG/_threads.i
++++ b/SWIG/_threads.i
+@@ -5,7 +5,7 @@
+ #include <pythread.h>
+ #include <openssl/crypto.h>
+
+-#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L
++#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ #define CRYPTO_num_locks() (CRYPTO_NUM_LOCKS)
+ static PyThread_type_lock lock_cs[CRYPTO_num_locks()];
+ static long lock_count[CRYPTO_num_locks()];
+@@ -13,7 +13,7 @@ static int thread_mode = 0;
+ #endif
+
+ void threading_locking_callback(int mode, int type, const char *file, int line) {
+-#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L
++#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ if (mode & CRYPTO_LOCK) {
+ PyThread_acquire_lock(lock_cs[type], WAIT_LOCK);
+ lock_count[type]++;
+@@ -25,7 +25,7 @@ void threading_locking_callback(int mode, int type, const char *file, int line)
+ }
+
+ unsigned long threading_id_callback(void) {
+-#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L
++#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ return (unsigned long)PyThread_get_thread_ident();
+ #else
+ return (unsigned long)0;
+@@ -35,7 +35,7 @@ unsigned long threading_id_callback(void) {
+
+ %inline %{
+ void threading_init(void) {
+-#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L
++#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ int i;
+ if (!thread_mode) {
+ for (i=0; i<CRYPTO_num_locks(); i++) {
+@@ -50,7 +50,7 @@ void threading_init(void) {
+ }
+
+ void threading_cleanup(void) {
+-#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L
++#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ int i;
+ if (thread_mode) {
+ CRYPTO_set_locking_callback(NULL);
+diff --git a/SWIG/libcrypto-compat.h b/SWIG/libcrypto-compat.h
+index edf09a8..f7df0bc 100644
+--- a/SWIG/libcrypto-compat.h
++++ b/SWIG/libcrypto-compat.h
+@@ -1,7 +1,7 @@
+ #ifndef LIBCRYPTO_COMPAT_H
+ #define LIBCRYPTO_COMPAT_H
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+
+ #include <openssl/rsa.h>
+ #include <openssl/dsa.h>
+--
+2.14.2
+
diff --git a/dev-python/m2crypto/m2crypto-0.27.0.ebuild b/dev-python/m2crypto/m2crypto-0.27.0.ebuild
index bd08f83..39f47b9 100644
--- a/dev-python/m2crypto/m2crypto-0.27.0.ebuild
+++ b/dev-python/m2crypto/m2crypto-0.27.0.ebuild
@@ -32,6 +32,8 @@ DEPEND="${RDEPEND}
S="${WORKDIR}/${MY_PN}-${PV}"
+PATCHES=( "${FILESDIR}/${P}-libressl.patch" )
+
# Tests access network, and fail randomly. Bug #431458.
RESTRICT=test