aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAric Belsito <lluixhi@gmail.com>2015-09-24 14:07:41 -0700
committerAric Belsito <lluixhi@gmail.com>2015-09-24 14:07:41 -0700
commit31360636f640a15325caaedd0f0acdb656211a33 (patch)
tree3fd54821306ef76e4aeee39fc1c1052bf6413513 /dev-python
parentUpdate LibreSSL. (diff)
downloadlibressl-31360636f640a15325caaedd0f0acdb656211a33.tar.gz
libressl-31360636f640a15325caaedd0f0acdb656211a33.tar.bz2
libressl-31360636f640a15325caaedd0f0acdb656211a33.zip
Fix m2crypto for LibreSSL 2.3.0.
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/m2crypto/Manifest1
-rw-r--r--dev-python/m2crypto/files/0.22.3-Use-swig-generated-python-loader.patch138
-rw-r--r--dev-python/m2crypto/files/0.22.3-no-ssl3.patch12
-rw-r--r--dev-python/m2crypto/files/0.22.3-packaging.patch69
-rw-r--r--dev-python/m2crypto/m2crypto-0.22.3-r4.ebuild42
-rw-r--r--dev-python/m2crypto/metadata.xml9
6 files changed, 271 insertions, 0 deletions
diff --git a/dev-python/m2crypto/Manifest b/dev-python/m2crypto/Manifest
new file mode 100644
index 0000000..5ceb0d4
--- /dev/null
+++ b/dev-python/m2crypto/Manifest
@@ -0,0 +1 @@
+DIST M2Crypto-0.22.3.tar.gz 74795 SHA256 6071bfc817d94723e9b458a010d565365104f84aa73f7fe11919871f7562ff72 SHA512 c179d3cf03ced77aed24285ca3f1527d5e05bbfe091a1522bff94a940fd390213fbb9b83d7ccd43ceae49626b427ae8790782cf93ead85be1e063bc4121c62e0 WHIRLPOOL 66a9a6e7c9b195814048a1bcecf6ef71a269bebb9dbda73801c88b3ba27330b555a46d05c53bbd0778f9c1e1bb5f9c6e7e860de443bf16baffc2072ee5996e31
diff --git a/dev-python/m2crypto/files/0.22.3-Use-swig-generated-python-loader.patch b/dev-python/m2crypto/files/0.22.3-Use-swig-generated-python-loader.patch
new file mode 100644
index 0000000..9ddd550
--- /dev/null
+++ b/dev-python/m2crypto/files/0.22.3-Use-swig-generated-python-loader.patch
@@ -0,0 +1,138 @@
+From 803188070e486030cb1d2e53692b39305c742b17 Mon Sep 17 00:00:00 2001
+From: Joe Julian <jjulian@io.com>
+Date: Tue, 19 May 2015 23:54:08 -0700
+Subject: [PATCH] Use swig generated python loader
+
+---
+ .gitignore | 6 +++++-
+ M2Crypto/__init__.py | 4 ++--
+ M2Crypto/m2.py | 4 +---
+ SWIG/_m2crypto.def | 2 +-
+ SWIG/_m2crypto.i | 2 +-
+ setup.py | 25 +++++++++++++++++++++----
+ 6 files changed, 31 insertions(+), 12 deletions(-)
+
+diff --git a/M2Crypto/__init__.py b/M2Crypto/__init__.py
+index 647e057..38dbbd5 100644
+--- a/M2Crypto/__init__.py
++++ b/M2Crypto/__init__.py
+@@ -19,7 +19,7 @@ Copyright 2008-2011 Heikki Toivonen. All rights reserved.
+ version_info = (0, 22)
+ version = '.'.join([str(_v) for _v in version_info])
+
+-import __m2crypto
++import m2crypto
+ import m2
+ import ASN1
+ import AuthCookie
+@@ -47,4 +47,4 @@ import m2xmlrpclib
+ import threading
+ import util
+
+-__m2crypto.lib_init()
++m2crypto.lib_init()
+diff --git a/M2Crypto/m2.py b/M2Crypto/m2.py
+index e4bb695..516cadb 100644
+--- a/M2Crypto/m2.py
++++ b/M2Crypto/m2.py
+@@ -25,7 +25,5 @@ Portions created by Open Source Applications Foundation (OSAF) are
+ Copyright (C) 2004 OSAF. All Rights Reserved.
+ """
+
+-from __m2crypto import *
++from m2crypto import *
+ lib_init()
+-
+-
+diff --git a/SWIG/_m2crypto.def b/SWIG/_m2crypto.def
+index 753db2c..3e9d5bc 100644
+--- a/SWIG/_m2crypto.def
++++ b/SWIG/_m2crypto.def
+@@ -1,2 +1,2 @@
+ EXPORTS
+-init__m2crypto
++init_m2crypto
+diff --git a/SWIG/_m2crypto.i b/SWIG/_m2crypto.i
+index 50be5c3..e491222 100644
+--- a/SWIG/_m2crypto.i
++++ b/SWIG/_m2crypto.i
+@@ -8,7 +8,7 @@
+ *
+ */
+
+-%module(threads=1) _m2crypto
++%module(threads=1) m2crypto
+ /* We really don't need threadblock (PyGILState_Ensure() etc.) anywhere.
+ Disable threadallow as well, only enable it for operations likely to
+ block. */
+diff --git a/setup.py b/setup.py
+index bac6f9f..fc89513 100644
+--- a/setup.py
++++ b/setup.py
+@@ -17,9 +17,22 @@ import os, sys, platform
+ from setuptools import setup
+ from setuptools.command import build_ext
+
++from distutils.util import get_platform
+ from distutils.core import Extension
+ from distutils.spawn import find_executable
+
++from distutils.command.build import build
++from setuptools.command.install import install
++
++class CustomBuild(build):
++ def run(self):
++ self.run_command('build_ext')
++ build.run(self)
++
++class CustomInstall(install):
++ def run(self):
++ self.run_command('build_ext')
++ self.do_egg_install()
+
+ class _M2CryptoBuildExt(build_ext.build_ext):
+ '''Specialization of build_ext to enable swig_opts to inherit any
+@@ -70,11 +83,12 @@ class _M2CryptoBuildExt(build_ext.build_ext):
+
+ self.add_multiarch_paths()
+
+- opensslIncludeDir = os.path.join(self.openssl, 'include')
++ includeDir = os.path.join(self.openssl, 'include')
++ opensslIncludeDir = os.path.join(self.openssl, 'include', 'openssl')
+ opensslLibraryDir = os.path.join(self.openssl, 'lib')
+
+ self.swig_opts = ['-I%s' % i for i in self.include_dirs + \
+- [opensslIncludeDir, os.path.join(opensslIncludeDir, "openssl")]]
++ [opensslIncludeDir, includeDir]]
+ self.swig_opts.append('-includeall')
+ self.swig_opts.append('-modern')
+
+@@ -85,6 +99,9 @@ class _M2CryptoBuildExt(build_ext.build_ext):
+ elif platform.architecture()[0] == '32bit':
+ self.swig_opts.append('-D__i386__')
+
++ self.swig_opts.append('-outdir')
++ self.swig_opts.append(os.path.join(os.getcwd(),'M2Crypto'))
++
+ self.include_dirs += [os.path.join(self.openssl, opensslIncludeDir),
+ os.path.join(os.getcwd(), 'SWIG')]
+
+@@ -103,7 +120,7 @@ if sys.platform == 'darwin':
+ else:
+ my_extra_compile_args = []
+
+-m2crypto = Extension(name = 'M2Crypto.__m2crypto',
++m2crypto = Extension(name = 'M2Crypto._m2crypto',
+ sources = ['SWIG/_m2crypto.i'],
+ extra_compile_args = ['-DTHREADING'] + my_extra_compile_args,
+ #extra_link_args = ['-Wl,-search_paths_first'], # Uncomment to build Universal Mac binaries
+@@ -145,5 +162,5 @@ interface.''',
+
+ ext_modules = [m2crypto],
+ test_suite='tests.alltests.suite',
+- cmdclass = {'build_ext': _M2CryptoBuildExt}
++ cmdclass = {'build': CustomBuild, 'install': CustomInstall, 'build_ext': _M2CryptoBuildExt}
+ )
+--
+2.4.1
+
diff --git a/dev-python/m2crypto/files/0.22.3-no-ssl3.patch b/dev-python/m2crypto/files/0.22.3-no-ssl3.patch
new file mode 100644
index 0000000..fafdb50
--- /dev/null
+++ b/dev-python/m2crypto/files/0.22.3-no-ssl3.patch
@@ -0,0 +1,12 @@
+diff -Naurw M2Crypto-0.22.3.orig/SWIG/_ssl.i M2Crypto-0.22.3/SWIG/_ssl.i
+--- M2Crypto-0.22.3.orig/SWIG/_ssl.i 2013-04-30 01:55:00.000000000 -0700
++++ M2Crypto-0.22.3/SWIG/_ssl.i 2015-09-24 13:38:16.493673610 -0700
+@@ -48,8 +48,6 @@
+ %rename(ssl_get_alert_desc_v) SSL_alert_desc_string_long;
+ extern const char *SSL_alert_desc_string_long(int);
+
+-%rename(sslv3_method) SSLv3_method;
+-extern SSL_METHOD *SSLv3_method(void);
+ %rename(sslv23_method) SSLv23_method;
+ extern SSL_METHOD *SSLv23_method(void);
+ %rename(tlsv1_method) TLSv1_method;
diff --git a/dev-python/m2crypto/files/0.22.3-packaging.patch b/dev-python/m2crypto/files/0.22.3-packaging.patch
new file mode 100644
index 0000000..26952a4
--- /dev/null
+++ b/dev-python/m2crypto/files/0.22.3-packaging.patch
@@ -0,0 +1,69 @@
+From 0f2c82f097cf6d3722b7793fe1159160f3f52725 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Mon, 25 May 2015 12:08:47 -0400
+Subject: [PATCH] Gentoo-specific packaging fixes
+
+Fix cross-compiles
+EPREFIX support
+---
+ setup.py | 20 ++++----------------
+ 1 file changed, 4 insertions(+), 16 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index fc89513..8360e7e 100644
+--- a/setup.py
++++ b/setup.py
+@@ -32,7 +32,7 @@ class CustomBuild(build):
+ class CustomInstall(install):
+ def run(self):
+ self.run_command('build_ext')
+- self.do_egg_install()
++ install.run(self)
+
+ class _M2CryptoBuildExt(build_ext.build_ext):
+ '''Specialization of build_ext to enable swig_opts to inherit any
+@@ -81,29 +81,19 @@ class _M2CryptoBuildExt(build_ext.build_ext):
+
+ build_ext.build_ext.finalize_options(self)
+
+- self.add_multiarch_paths()
+-
+ includeDir = os.path.join(self.openssl, 'include')
+ opensslIncludeDir = os.path.join(self.openssl, 'include', 'openssl')
+ opensslLibraryDir = os.path.join(self.openssl, 'lib')
+
+- self.swig_opts = ['-I%s' % i for i in self.include_dirs + \
+- [opensslIncludeDir, includeDir]]
++ eprefix = os.getenv('EPREFIX', '')
++ self.swig_opts = ['-I' + eprefix + '/usr/include']
+ self.swig_opts.append('-includeall')
+ self.swig_opts.append('-modern')
+
+- # Fedora does hat tricks.
+- if platform.linux_distribution()[0] in ['Fedora', 'CentOS']:
+- if platform.architecture()[0] == '64bit':
+- self.swig_opts.append('-D__x86_64__')
+- elif platform.architecture()[0] == '32bit':
+- self.swig_opts.append('-D__i386__')
+-
+ self.swig_opts.append('-outdir')
+ self.swig_opts.append(os.path.join(os.getcwd(),'M2Crypto'))
+
+- self.include_dirs += [os.path.join(self.openssl, opensslIncludeDir),
+- os.path.join(os.getcwd(), 'SWIG')]
++ self.include_dirs += [os.path.join(os.getcwd(), 'SWIG')]
+
+ if sys.platform == 'cygwin':
+ # Cygwin SHOULD work (there's code in distutils), but
+@@ -113,8 +103,6 @@ class _M2CryptoBuildExt(build_ext.build_ext):
+ # Someday distutils will be fixed and this won't be needed.
+ self.library_dirs += [os.path.join(self.openssl, 'bin')]
+
+- self.library_dirs += [os.path.join(self.openssl, opensslLibraryDir)]
+-
+ if sys.platform == 'darwin':
+ my_extra_compile_args = ["-Wno-deprecated-declarations"]
+ else:
+--
+2.4.1
+
diff --git a/dev-python/m2crypto/m2crypto-0.22.3-r4.ebuild b/dev-python/m2crypto/m2crypto-0.22.3-r4.ebuild
new file mode 100644
index 0000000..37ae650
--- /dev/null
+++ b/dev-python/m2crypto/m2crypto-0.22.3-r4.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+MY_PN="M2Crypto"
+
+DESCRIPTION="M2Crypto: A Python crypto and SSL toolkit"
+HOMEPAGE="https://github.com/martinpaljak/M2Crypto https://pypi.python.org/pypi/M2Crypto"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND=">=dev-libs/openssl-0.9.8:0="
+DEPEND="${RDEPEND}
+ >=dev-lang/swig-1.3.28:0
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+# Tests access network, and fail randomly. Bug #431458.
+RESTRICT=test
+
+PATCHES=(
+ "${FILESDIR}"/0.22.3-Use-swig-generated-python-loader.patch
+ "${FILESDIR}"/0.22.3-packaging.patch
+ "${FILESDIR}"/0.22.3-no-ssl3.patch
+)
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/m2crypto/metadata.xml b/dev-python/m2crypto/metadata.xml
new file mode 100644
index 0000000..63966d0
--- /dev/null
+++ b/dev-python/m2crypto/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">M2Crypto</remote-id>
+ <remote-id type="github">martinpaljak/M2Crypto</remote-id>
+ </upstream>
+</pkgmetadata>