python{, 3}-m2crypto: update from 0.26.4 -> 0.30.1

Updating recipe for crypto and SSL toolkit for python and support
python3 infrastructure of Yocto as well as the already supported
python2 line.

Refresh patches to fix devtool warnings

Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Jens Rehsack 2018-08-27 13:07:35 +02:00 committed by Khem Raj
parent b3b3449675
commit 15bd5f4ebb
6 changed files with 52 additions and 44 deletions

View File

@ -1,18 +1,20 @@
SUMMARY = "A Python crypto and SSL toolkit"
HOMEPAGE = "https://gitlab.com/m2crypto/m2crypto"
LICENSE = "BSD"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENCE;md5=b0e1f0b7d0ce8a62c18b1287b991800e"
FILESEXTRAPATHS_prepend := "${THISDIR}/python-m2crypto:"
SRC_URI += "file://0001-setup.py-link-in-sysroot-not-in-host-directories.patch \
file://cross-compile-platform.patch \
file://m2crypto-0.26.4-gcc_macros.patch \
"
SRC_URI[md5sum] = "5c74c25ba8b45122318a165a3a2059ad"
SRC_URI[sha256sum] = "5cae7acc0b34821f8c0ddf6665e482893fe1f198ad6379e61ffa9d8e65f5c199"
SRC_URI[md5sum] = "7fce3cbf85eb84a669682892b935746b"
SRC_URI[sha256sum] = "a1b2751cdadc6afac3df8a5799676b7b7c67a6ad144bb62d38563062e7cd3fc6"
PYPI_PACKAGE = "M2Crypto"
inherit pypi setuptools siteinfo
inherit pypi siteinfo
DEPENDS += "openssl swig-native"
RDEPENDS_${PN} += "python-typing"

View File

@ -10,30 +10,26 @@ Upstream-status: Unknown
setup.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/setup.py b/setup.py
index 3407c82..15ed7cd 100644
--- a/setup.py
+++ b/setup.py
@@ -127,7 +127,7 @@ class _M2CryptoBuildExt(build_ext.build_ext):
self.openssl = os.path.join(self.openssl, 'OpenSSL')
else:
self.libraries = ['ssl', 'crypto']
- self.openssl = '/usr'
+ self.openssl = os.environ.get( "STAGING_DIR" )
Index: M2Crypto-0.30.1/setup.py
===================================================================
--- M2Crypto-0.30.1.orig/setup.py
+++ M2Crypto-0.30.1/setup.py
@@ -130,6 +130,7 @@ class _M2CryptoBuildExt(build_ext.build_
self.set_undefined_options('build', ('bundledlls', 'bundledlls'))
def finalize_options(self):
'''Overloaded build_ext implementation to append custom openssl
@@ -143,8 +143,8 @@ class _M2CryptoBuildExt(build_ext.build_ext):
if _openssl and os.path.isdir(_openssl):
self.openssl = _openssl
self.libraries = ['ssl', 'crypto']
+ self.openssl = os.environ.get( "STAGING_DIR" )
if sys.platform == 'win32':
self.libraries = ['ssleay32', 'libeay32']
if self.openssl and openssl_version(self.openssl, 0x10100000, True):
@@ -150,8 +151,8 @@ class _M2CryptoBuildExt(build_ext.build_
- self.include_dirs.append(os.path.join(self.openssl, 'include'))
- openssl_library_dir = os.path.join(self.openssl, 'lib')
+ self.include_dirs.append(os.environ.get( "STAGING_INCDIR" ))
+ openssl_library_dir = os.environ.get( "STAGING_LIBDIR" )
if self.openssl is not None:
log.debug('self.openssl = %s', self.openssl)
- openssl_library_dir = os.path.join(self.openssl, 'lib')
- openssl_include_dir = os.path.join(self.openssl, 'include')
+ openssl_library_dir = os.environ.get( "STAGING_LIBDIR" )
+ openssl_include_dir = os.environ.get( "STAGING_INCDIR" )
if platform.system() == "Linux":
if _multiarch: # on Fedora/RHEL it is an empty string
--
2.7.4
self.library_dirs.append(openssl_library_dir)
self.include_dirs.append(openssl_include_dir)

View File

@ -4,27 +4,30 @@ since it pokes at the system for getting architecture values
Upstream-Status: Inappropriate
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Index: M2Crypto-0.26.0/setup.py
Index: M2Crypto-0.30.1/setup.py
===================================================================
--- M2Crypto-0.26.0.orig/setup.py
+++ M2Crypto-0.26.0/setup.py
@@ -141,19 +141,6 @@ class _M2CryptoBuildExt(build_ext.build_
self.include_dirs.append(
os.path.join(self.openssl, 'include', 'openssl'))
--- M2Crypto-0.30.1.orig/setup.py
+++ M2Crypto-0.30.1/setup.py
@@ -160,22 +160,6 @@ class _M2CryptoBuildExt(build_ext.build_
log.debug('self.include_dirs = %s', self.include_dirs)
log.debug('self.library_dirs = %s', self.library_dirs)
- if platform.system() == "Linux":
- # For RedHat-based distros, the '-D__{arch}__' option for
- # Swig needs to be normalized, particularly on i386.
- mach = platform.machine().lower()
- if mach in ('i386', 'i486', 'i586', 'i686'):
- arch = '__i386__'
- elif mach in ('ppc64', 'powerpc64'):
- elif mach in ('ppc64', 'powerpc64', 'ppc64le', 'ppc64el'):
- arch = '__powerpc64__'
- elif mach in ('ppc', 'powerpc'):
- arch = '__powerpc__'
- else:
- arch = '__%s__' % mach
- self.swig_opts.append('-D%s' % arch)
- if mach in ('ppc64le', 'ppc64el'):
- self.swig_opts.append('-D_CALL_ELF=2')
-
self.swig_opts.extend(['-I%s' % i for i in self.include_dirs])
self.swig_opts.append('-includeall')
self.swig_opts.append('-modern')
# Some Linux distributor has added the following line in

View File

@ -1,16 +1,19 @@
Imported from Fedora
--- M2Crypto/SWIG/_m2crypto.i 2017-09-26 11:26:33.000000000 +0200
+++ M2Crypto-0.26.4/SWIG/_m2crypto.i 2017-09-26 21:04:14.080330741 +0200
@@ -7,6 +7,7 @@
Index: M2Crypto-0.30.1/SWIG/_m2crypto.i
===================================================================
--- M2Crypto-0.30.1.orig/SWIG/_m2crypto.i
+++ M2Crypto-0.30.1/SWIG/_m2crypto.i
@@ -7,7 +7,7 @@
* Copyright (c) 2009-2010 Heikki Toivonen. All rights reserved.
*
*/
-
+%import "gcc_macros.h"
%module(threads=1) m2crypto
/* We really don't need threadblock (PyGILState_Ensure() etc.) anywhere.
@@ -15,11 +16,6 @@
Disable threadallow as well, only enable it for operations likely to
@@ -15,11 +15,6 @@
%nothreadblock;
%nothreadallow;
@ -20,5 +23,5 @@ Imported from Fedora
-#endif
-
%{
#if __GNUC__ < 5
#pragma GCC diagnostic ignored "-Wunused-label"
#ifdef _WIN32
#define _WINSOCKAPI_

View File

@ -0,0 +1,2 @@
inherit setuptools
require python-m2crypto.inc

View File

@ -0,0 +1,2 @@
inherit setuptools3
require python-m2crypto.inc