summaryrefslogtreecommitdiff
path: root/dev-python/m2crypto
diff options
context:
space:
mode:
authorPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
committerPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
commitecdac123787b96ce6649f0f91da12ea6458cc2b1 (patch)
treeb89c74d9e6fe6e8aebc4c77bcbeb4ab73214127d /dev-python/m2crypto
parent1be72aa41cf41dedadeecf59dca9f01de6381f5e (diff)
downloadbaldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.gz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.xz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.zip
Updating liguros repo
Diffstat (limited to 'dev-python/m2crypto')
-rw-r--r--dev-python/m2crypto/Manifest2
-rw-r--r--dev-python/m2crypto/files/m2crypto-crossdev-0.31.0.patch12
-rw-r--r--dev-python/m2crypto/files/m2crypto-libressl-0.31.0.patch222
-rw-r--r--dev-python/m2crypto/m2crypto-0.31.0-r2.ebuild71
-rw-r--r--dev-python/m2crypto/m2crypto-0.35.2.ebuild65
-rw-r--r--dev-python/m2crypto/metadata.xml13
6 files changed, 385 insertions, 0 deletions
diff --git a/dev-python/m2crypto/Manifest b/dev-python/m2crypto/Manifest
new file mode 100644
index 000000000000..7522684b8333
--- /dev/null
+++ b/dev-python/m2crypto/Manifest
@@ -0,0 +1,2 @@
+DIST M2Crypto-0.31.0.tar.gz 1292016 BLAKE2B 3f1e0e8f686719ff87fa3a51cdc287be989fa1554866582deb1968fd04605270e14cbfd280f64211c043c5d8cb77a09e6a8cec6824ab15416ab94366aa73d2a3 SHA512 9f3e2afda4b8ac14aa64a1534e446eb6895ec7182ce5b7ded8008178e01139d383561a87f8c9fb5fe4b9c257ba5c6b93339955eb9e2f7417cd3f4832c35c4598
+DIST M2Crypto-0.35.2.tar.gz 1117706 BLAKE2B efa15e023be7755b94c642bb23eade912edcbbb76bcdfed3414d27937cd705ec4c83069ca620fe20e58e126549ba7f98e84f6f8330b78133a8a8b953d18f467b SHA512 3608b29a8e7d0732a2359e35fcaae191447aa7c0211ca3d057eed6cee7f0819f5c1121e7d41caca8cdea3c7911f8c447ee475b1b3d125e8dc3adde2718a59f36
diff --git a/dev-python/m2crypto/files/m2crypto-crossdev-0.31.0.patch b/dev-python/m2crypto/files/m2crypto-crossdev-0.31.0.patch
new file mode 100644
index 000000000000..ff8388988ad1
--- /dev/null
+++ b/dev-python/m2crypto/files/m2crypto-crossdev-0.31.0.patch
@@ -0,0 +1,12 @@
+--- a/setup.py
++++ b/setup.py
+@@ -50,7 +50,8 @@
+ '*Visual*', 'VC', 'include')
+ err = glob.glob(globmask)
+ else:
+- pid = subprocess.Popen(['cpp', '-Wp,-v', '-'],
++ pid = subprocess.Popen(os.environ.get('CPP', 'cpp').split() +
++ ['-Wp,-v', '-'],
+ stdin=open(os.devnull, 'r'),
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
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-r2.ebuild b/dev-python/m2crypto/m2crypto-0.31.0-r2.ebuild
new file mode 100644
index 000000000000..fe82518cfdd5
--- /dev/null
+++ b/dev-python/m2crypto/m2crypto-0.31.0-r2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2018-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 python3_{6..7})
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 toolchain-funcs
+
+MY_PN="M2Crypto"
+
+DESCRIPTION="A Python crypto and SSL toolkit"
+HOMEPAGE="https://gitlab.com/m2crypto/m2crypto https://pypi.org/project/M2Crypto/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+
+IUSE="libressl"
+
+RDEPEND="
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ $(python_gen_cond_dep '
+ dev-python/typing[${PYTHON_USEDEP}]
+ ' -2)
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-lang/swig-2.0.9
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+# Tests access network, and fail randomly. Bug #431458.
+RESTRICT=test
+
+PATCHES=(
+ "${FILESDIR}/${PN}-libressl-${PV}.patch"
+ "${FILESDIR}/${PN}-crossdev-${PV}.patch"
+)
+
+swig_define() {
+ local x
+ for x; do
+ if tc-cpp-is-true "defined(${x})"; then
+ SWIG_FEATURES+=" -D${x}"
+ fi
+ done
+}
+
+python_compile() {
+ # setup.py looks at platform.machine() to determine swig options.
+ # For exotic ABIs, we need to give swig a hint.
+ local -x SWIG_FEATURES=
+
+ # https://bugs.gentoo.org/617946
+ swig_define __ILP32__
+
+ # https://bugs.gentoo.org/674112
+ swig_define __ARM_PCS_VFP
+
+ distutils-r1_python_compile --openssl="${ESYSROOT}"/usr
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/m2crypto/m2crypto-0.35.2.ebuild b/dev-python/m2crypto/m2crypto-0.35.2.ebuild
new file mode 100644
index 000000000000..de0dfcb82c44
--- /dev/null
+++ b/dev-python/m2crypto/m2crypto-0.35.2.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2018-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 python3_{6,7,8})
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 toolchain-funcs
+
+MY_PN="M2Crypto"
+DESCRIPTION="A Python crypto and SSL toolkit"
+HOMEPAGE="https://gitlab.com/m2crypto/m2crypto https://pypi.org/project/M2Crypto/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="libressl"
+
+RDEPEND="
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ $(python_gen_cond_dep '
+ dev-python/typing[${PYTHON_USEDEP}]
+ ' -2)
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-lang/swig-2.0.9
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-libressl-0.31.0.patch"
+)
+
+swig_define() {
+ local x
+ for x; do
+ if tc-cpp-is-true "defined(${x})"; then
+ SWIG_FEATURES+=" -D${x}"
+ fi
+ done
+}
+
+python_compile() {
+ # setup.py looks at platform.machine() to determine swig options.
+ # For exotic ABIs, we need to give swig a hint.
+ local -x SWIG_FEATURES=
+
+ # https://bugs.gentoo.org/617946
+ swig_define __ILP32__
+
+ # https://bugs.gentoo.org/674112
+ swig_define __ARM_PCS_VFP
+
+ distutils-r1_python_compile --openssl="${ESYSROOT}"/usr
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/m2crypto/metadata.xml b/dev-python/m2crypto/metadata.xml
new file mode 100644
index 000000000000..2f794a478d31
--- /dev/null
+++ b/dev-python/m2crypto/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">M2Crypto</remote-id>
+ <remote-id type="gitlab">m2crypto/m2crypto</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>