Skip to content

Commit

Permalink
dev-lang/python: fix system libffi handling
Browse files Browse the repository at this point in the history
  • Loading branch information
vapier committed Nov 19, 2015
1 parent 85a6c11 commit bc2ac53
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 0 deletions.
36 changes: 36 additions & 0 deletions dev-lang/python/files/python-2.7.10-system-libffi.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
make sure we respect the system libffi setting in our build config.
the compiler probing is fragile and can break in some situations.

--- a/setup.py
+++ b/setup.py
@@ -2069,7 +2069,7 @@ class PyBuildExt(build_ext):
return True

def detect_ctypes(self, inc_dirs, lib_dirs):
- self.use_system_libffi = False
+ self.use_system_libffi = ('--with-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS"))
include_dirs = []
extra_compile_args = []
extra_link_args = []
@@ -2113,7 +2113,7 @@ class PyBuildExt(build_ext):
sources=['_ctypes/_ctypes_test.c'])
self.extensions.extend([ext, ext_test])

- if not '--with-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS"):
+ if not self.use_system_libffi:
return

if host_platform == 'darwin':
@@ -2141,10 +2141,10 @@ class PyBuildExt(build_ext):
ffi_lib = lib_name
break

- if ffi_inc and ffi_lib:
+ if ffi_inc:
ext.include_dirs.extend(ffi_inc)
+ if ffi_lib:
ext.libraries.append(ffi_lib)
- self.use_system_libffi = True


class PyBuildInstall(install):
1 change: 1 addition & 0 deletions dev-lang/python/python-2.7.10-r3.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ src_prepare() {
epatch "${FILESDIR}/python-2.7.5-nonfatal-compileall.patch"
epatch "${FILESDIR}/python-2.7.9-ncurses-pkg-config.patch"
epatch "${FILESDIR}/python-2.7.10-cross-compile-warn-test.patch"
epatch "${FILESDIR}/python-2.7.10-system-libffi.patch"

sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
Lib/distutils/command/install.py \
Expand Down
1 change: 1 addition & 0 deletions dev-lang/python/python-2.7.10-r4.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ src_prepare() {
epatch "${FILESDIR}/python-2.7.5-nonfatal-compileall.patch"
epatch "${FILESDIR}/python-2.7.9-ncurses-pkg-config.patch"
epatch "${FILESDIR}/python-2.7.10-cross-compile-warn-test.patch"
epatch "${FILESDIR}/python-2.7.10-system-libffi.patch"

sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
Lib/distutils/command/install.py \
Expand Down

0 comments on commit bc2ac53

Please sign in to comment.