floppym     15/05/25 16:41:54

  Added:                0.22.3-Use-swig-generated-python-loader.patch
                        0.22.3-packaging.patch
  Log:
  Resolve issues with swig-3.0.5, bug 538920.
  
  (Portage version: 2.2.20/cvs/Linux x86_64, signed Manifest commit with key 
0BBEEA1FEA4843A4)

Revision  Changes    Path
1.1                  
dev-python/m2crypto/files/0.22.3-Use-swig-generated-python-loader.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/m2crypto/files/0.22.3-Use-swig-generated-python-loader.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/m2crypto/files/0.22.3-Use-swig-generated-python-loader.patch?rev=1.1&content-type=text/plain

Index: 0.22.3-Use-swig-generated-python-loader.patch
===================================================================
>From 803188070e486030cb1d2e53692b39305c742b17 Mon Sep 17 00:00:00 2001
From: Joe Julian <jjul...@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




1.1                  dev-python/m2crypto/files/0.22.3-packaging.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/m2crypto/files/0.22.3-packaging.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/m2crypto/files/0.22.3-packaging.patch?rev=1.1&content-type=text/plain

Index: 0.22.3-packaging.patch
===================================================================
>From d307a38515c5d050bbf8555d79aff3e4ce78af78 Mon Sep 17 00:00:00 2001
From: Mike Gilbert <flop...@gentoo.org>
Date: Mon, 25 May 2015 12:08:47 -0400
Subject: [PATCH] Gentoo-specific packaging fixes

Fix cross-compiles
EPREFIX support
Revert custom build and install classes
---
 setup.py | 20 ++++----------------
 1 file changed, 4 insertions(+), 16 deletions(-)

diff --git a/setup.py b/setup.py
index fc89513..806464f 100644
--- a/setup.py
+++ b/setup.py
@@ -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:
@@ -162,5 +150,5 @@ interface.''',
 
       ext_modules = [m2crypto],
       test_suite='tests.alltests.suite',
-      cmdclass = {'build': CustomBuild, 'install': CustomInstall, 'build_ext': 
_M2CryptoBuildExt}
+      cmdclass = {'build_ext': _M2CryptoBuildExt}
       )
-- 
2.4.1





Reply via email to