summaryrefslogtreecommitdiff
path: root/dev-python/m2crypto
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-02-20 15:11:50 +0000
committerV3n3RiX <venerix@redcorelinux.org>2019-02-20 15:11:50 +0000
commit16449a80e28af2209916cc66d19c9a44ca2b90d9 (patch)
treeb4cfe2332c7a6c5da27b6985bf05db4508df1a92 /dev-python/m2crypto
parent79599515788b85b18aa655e7b7f8cc05c1bbddd8 (diff)
gentoo resync : 20.02.2019
Diffstat (limited to 'dev-python/m2crypto')
-rw-r--r--dev-python/m2crypto/Manifest3
-rw-r--r--dev-python/m2crypto/files/m2crypto-libressl-0.31.0.patch222
-rw-r--r--dev-python/m2crypto/m2crypto-0.31.0-r1.ebuild (renamed from dev-python/m2crypto/m2crypto-0.31.0.ebuild)12
3 files changed, 232 insertions, 5 deletions
diff --git a/dev-python/m2crypto/Manifest b/dev-python/m2crypto/Manifest
index 95b21b621e2e..352854749ba2 100644
--- a/dev-python/m2crypto/Manifest
+++ b/dev-python/m2crypto/Manifest
@@ -1,3 +1,4 @@
+AUX m2crypto-libressl-0.31.0.patch 8211 BLAKE2B dc36c1e77f6fa9f260d465c0e61168a9ddd82f382c46f31c06a3ef5972cbbe225f665eac17999f7c8a0b74e1702f82451fed5a39691577b050f477bbf7a2ee2e SHA512 ea100feabae82cf1c1237f55354847935a9c49e05c780e01d8fef959d2a10abc4b9f14c56ea50cba68ff59eb67c3cf5136ff92e9dc456960327e0c582b55720d
AUX m2crypto-libressl-version-check.patch 5125 BLAKE2B 969595234bc845f5a5c31f0fbe8bfb69f9eb41dd99f4053757ddcb0fcbd3a9a6e3b725dc1eb3d73108a69c496cbfc66bd52a3eefe0763e27e2f7b82b9f8c9a38 SHA512 36fc26175591bd731de80bea08887d76d3cedd2049d17c838001eb75bea2762d5b93eaa6fe7aa45d3d156dc93ddfd73c1a58a548d6325408960e08dc54bf233a
DIST M2Crypto-0.24.0.tar.gz 184457 BLAKE2B 15a11dc1b13359041875e8321d0159a1a393b7f85dfbd38d650721d8a2eaed2cc2199859c3e1e3c890033711e0b137f4c78b90f04681ff44a3356558b9f55aea SHA512 c23ae0f8ac790d4ef108a217a44e994341f6bbe4e12a7fef2518d8def82331246a145e19a2504b82b790a3ad4b467d2facc8a73bb7f1190b56441d8482c66aca
DIST M2Crypto-0.27.0.tar.gz 1119288 BLAKE2B 90e227aef9a5b4c7f5ab9bd62fbe506ea0931a6c338c530adbeb1a8303a31cc7755d13003532fe0ee4005f1997db23bed2d03cd54224dc7d89a6f23882197800 SHA512 df0f6b16f7d00a19fafbb5da5a3ececff6b4627accd00ca65e0d6f9e752a97f41016d0072c8e681475fe1d87c89b7474067068c0bfce6c68a30baddeb31bfac2
@@ -5,5 +6,5 @@ DIST M2Crypto-0.31.0.tar.gz 1292016 BLAKE2B 3f1e0e8f686719ff87fa3a51cdc287be989f
EBUILD m2crypto-0.24.0.ebuild 935 BLAKE2B d15257bc6f02af9dce4514f19e7b2e1ba29eb3e1091acb8f03caf2db32164fc87548f5b55e37e8d616b1fb3ddd19a43cd899aa248ef9300a910af644ab6b2e4b SHA512 39c75d9af3ed016a8c3e363350a4f37ef7c31b8867684f66189652127494f4a53aea5edf451005a3c6b901241797556ab237521f80f6ca9860b6b2a4a97b7dcf
EBUILD m2crypto-0.27.0-r2.ebuild 1361 BLAKE2B 85800c96f50f5f080eee9aa96523dae8f6ace906568b6fbfb1d04bfceedce813bd24eb315364909c0bdae164a4856e369fa64dd4b01f2f2e65eda6e5696b0833 SHA512 777df5b5eddf9cf1e4db99c680b3bf08a3a99c3100b701dc41b1c7943fdc8f6da5b212a9668ae3e3cf820c39cab24b5e034d8546c0a360351a51cefc1b841320
EBUILD m2crypto-0.27.0.ebuild 1298 BLAKE2B 97104e95a890d7dd30a9ccbbe4328e09e3d99ab86736aa68dbafb3e2334174e9f2a64964351f7cee426b2433bb008b5bd816a454c30714aafc9ef0d8bbd8cb6a SHA512 a4ed82f6f69fa6edb4ac6449c4472f76c7ffd438711376cfe616b0cb0b3a06639d7f1ea31dfbdceef8d17847982997b0ed722df3d53193ad2471553b2bb3bb7a
-EBUILD m2crypto-0.31.0.ebuild 1307 BLAKE2B fc5e832da62001b9af77ef32dc118c820ee640318609a9564f718dea97a50ada617a879f8daa11b40b85ced1da100487528261ab26ac2bac906603c4f5b1166d SHA512 cf86160885ac3f6bc37209895c608c3832ce03e6f65916fd40162a7ae9b48d612f4df4b8f42ab17aa247040785108df2a9c1e422b8f8443ba4fda86ea2d339cc
+EBUILD m2crypto-0.31.0-r1.ebuild 1343 BLAKE2B 3841013b68a17cef27f7f22ad136ad734fe36f76eab57a4ba07c8a15c34b5ec354f3705c3cfa97e0befe357233f858110bf7d95c9bb560cf3bea9f437dcd15a3 SHA512 55950b02e614de392cd458dce92964a2dae8c573f5f4e0b78fc948b7b9d41c92fd3d4e097eb46aa0e81798e0312db05fd2ffc7d62daa4daad45bd417c7e1ea30
MISC metadata.xml 380 BLAKE2B 99a1c8e8202bed7c6d0ff8cdff3f17b664791405b082be2b7d72b3fe2b77bf89c886666d9bdce6a96c540b9518042b9d49b9af926ca10ab4c5b3b416182de01c SHA512 f2e3b4228c45471f0132b3bb412f017f4006eb82bd63e187db3efdfd3f412c1db19bdb79d37630bb059f75ef69f110687b8924d22c2aef0101cb40eb3486f1e6
diff --git a/dev-python/m2crypto/files/m2crypto-libressl-0.31.0.patch b/dev-python/m2crypto/files/m2crypto-libressl-0.31.0.patch
new file mode 100644
index 000000000000..10ed142b33e4
--- /dev/null
+++ b/dev-python/m2crypto/files/m2crypto-libressl-0.31.0.patch
@@ -0,0 +1,222 @@
+From fa56170c7adf5f124a48cf1074390adfc697272c Mon Sep 17 00:00:00 2001
+From: Stefan Strogin <stefan.strogin@gmail.com>
+Date: Wed, 9 Jan 2019 10:15:08 +0200
+Subject: [PATCH] Fix compilation with LibreSSL
+
+---
+ SWIG/_bio.i | 8 +++++---
+ SWIG/_evp.i | 2 +-
+ SWIG/_lib.i | 2 +-
+ SWIG/_lib11_compat.i | 5 ++++-
+ SWIG/_m2crypto_wrap.c | 11 ++++++++---
+ SWIG/_ssl.i | 4 ++--
+ SWIG/_threads.i | 10 +++++-----
+ 7 files changed, 26 insertions(+), 16 deletions(-)
+
+diff --git a/SWIG/_bio.i b/SWIG/_bio.i
+index e85a275..8eada82 100644
+--- a/SWIG/_bio.i
++++ b/SWIG/_bio.i
+@@ -293,7 +293,7 @@ int bio_should_write(BIO* a) {
+ }
+
+ /* Macros for things not defined before 1.1.0 */
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
+ static BIO_METHOD *
+ BIO_meth_new( int type, const char *name )
+ {
+@@ -325,11 +325,13 @@ BIO_meth_free( BIO_METHOD *meth )
+ #define BIO_set_shutdown(b, x) (b)->shutdown = x
+ #define BIO_get_shutdown(b) (b)->shutdown
+ #define BIO_set_init(b, x) b->init = x
+-#define BIO_get_init(b) (b)->init
+ #define BIO_set_data(b, x) b->ptr = x
+ #define BIO_clear_flags(b, x) b->flags &= ~(x)
+ #define BIO_get_data(b) b->ptr
+ #endif
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
++#define BIO_get_init(b) (b)->init
++#endif
+
+ /* implment custom BIO_s_pyfd */
+
+@@ -515,7 +517,7 @@ static long pyfd_ctrl(BIO *b, int cmd, long num, void *ptr) {
+ }
+
+ void pyfd_init(void) {
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if (!defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000L) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x2070000fL)
+ methods_fdp = BIO_meth_new(
+ BIO_get_new_index()|BIO_TYPE_DESCRIPTOR|BIO_TYPE_SOURCE_SINK,
+ "python file descriptor");
+diff --git a/SWIG/_evp.i b/SWIG/_evp.i
+index d04e806..6fa9b38 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) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
+
+ 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 c84b800..807d5f6 100644
+--- a/SWIG/_lib.i
++++ b/SWIG/_lib.i
+@@ -512,7 +512,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) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
+ SSLeay_add_all_algorithms();
+ ERR_load_ERR_strings();
+ #endif
+diff --git a/SWIG/_lib11_compat.i b/SWIG/_lib11_compat.i
+index 1ec42dd..4234004 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>
+@@ -24,6 +24,9 @@ static void *CRYPTO_zalloc(size_t num, const char *file, int line)
+ return ret;
+ }
+
++#endif
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
++
+ #include <openssl/bn.h>
+
+ #ifndef BN_F_BN_GENCB_NEW
+diff --git a/SWIG/_m2crypto_wrap.c b/SWIG/_m2crypto_wrap.c
+index 0f07702..f168822 100644
+--- a/SWIG/_m2crypto_wrap.c
++++ b/SWIG/_m2crypto_wrap.c
+@@ -3838,7 +3838,7 @@ void threading_cleanup(void) {
+ #include <ceval.h>
+
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+
+ #include <string.h>
+ #include <openssl/engine.h>
+@@ -3854,6 +3854,9 @@ static void *CRYPTO_zalloc(size_t num, const char *file, int line)
+ return ret;
+ }
+
++#endif
++#ifdef OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
++
+ #include <openssl/bn.h>
+
+ #ifndef BN_F_BN_GENCB_NEW
+@@ -5315,7 +5318,7 @@ int bio_should_write(BIO* a) {
+ }
+
+ /* Macros for things not defined before 1.1.0 */
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
+ static BIO_METHOD *
+ BIO_meth_new( int type, const char *name )
+ {
+@@ -5347,11 +5350,13 @@ BIO_meth_free( BIO_METHOD *meth )
+ #define BIO_set_shutdown(b, x) (b)->shutdown = x
+ #define BIO_get_shutdown(b) (b)->shutdown
+ #define BIO_set_init(b, x) b->init = x
+-#define BIO_get_init(b) (b)->init
+ #define BIO_set_data(b, x) b->ptr = x
+ #define BIO_clear_flags(b, x) b->flags &= ~(x)
+ #define BIO_get_data(b) b->ptr
+ #endif
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
++#define BIO_get_init(b) (b)->init
++#endif
+
+ /* implment custom BIO_s_pyfd */
+
+diff --git a/SWIG/_ssl.i b/SWIG/_ssl.i
+index 7257656..40b0582 100644
+--- a/SWIG/_ssl.i
++++ b/SWIG/_ssl.i
+@@ -27,7 +27,7 @@ typedef unsigned __int64 uint64_t;
+ #endif
+ %}
+
+-#if OPENSSL_VERSION_NUMBER >= 0x10100005L
++#if (!defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100005L) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x2070000fL)
+ %include <openssl/safestack.h>
+ #endif
+
+@@ -261,7 +261,7 @@ void ssl_init(PyObject *ssl_err, PyObject *ssl_timeout_err) {
+ }
+
+ const SSL_METHOD *tlsv1_method(void) {
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if (!defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000L) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x2070000fL)
+ PyErr_WarnEx(PyExc_DeprecationWarning,
+ "Function TLSv1_method has been deprecated.", 1);
+ #endif
+diff --git a/SWIG/_threads.i b/SWIG/_threads.i
+index 69adb9f..fd2285a 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) && LIBRESSL_VERSION_NUMBER < 0x2070000fL))
+ #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) && LIBRESSL_VERSION_NUMBER < 0x2070000fL))
+ 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) && LIBRESSL_VERSION_NUMBER < 0x2070000fL))
+ 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) && LIBRESSL_VERSION_NUMBER < 0x2070000fL))
+ 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) && LIBRESSL_VERSION_NUMBER < 0x2070000fL))
+ int i;
+ if (thread_mode) {
+ CRYPTO_set_locking_callback(NULL);
+--
+2.20.1
+
diff --git a/dev-python/m2crypto/m2crypto-0.31.0.ebuild b/dev-python/m2crypto/m2crypto-0.31.0-r1.ebuild
index 89114bf03d7f..d39f59a5d400 100644
--- a/dev-python/m2crypto/m2crypto-0.31.0.ebuild
+++ b/dev-python/m2crypto/m2crypto-0.31.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2018 Gentoo Authors
+# Copyright 2018-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -18,11 +18,11 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
-# NOTE: Apparently nobody cares about libressl support, dropping support
-# IUSE="libressl"
+IUSE="libressl"
RDEPEND="
- dev-libs/openssl:0=[-bindist(-)]
+ !libressl? ( dev-libs/openssl:0=[-bindist(-)] )
+ libressl? ( dev-libs/libressl:0= )
virtual/python-typing[${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}
@@ -35,6 +35,10 @@ S="${WORKDIR}/${MY_PN}-${PV}"
# Tests access network, and fail randomly. Bug #431458.
RESTRICT=test
+PATCHES=(
+ "${FILESDIR}/${PN}-libressl-${PV}.patch"
+)
+
python_compile() {
# setup.py looks at platform.machine() to determine swig options.
# For exotic ABIs, we need to give swig a hint.