aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/python/files/2.6/09_all_use_external_libffi.patch')
-rw-r--r--dev-lang/python/files/2.6/09_all_use_external_libffi.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/dev-lang/python/files/2.6/09_all_use_external_libffi.patch b/dev-lang/python/files/2.6/09_all_use_external_libffi.patch
new file mode 100644
index 0000000..0c54246
--- /dev/null
+++ b/dev-lang/python/files/2.6/09_all_use_external_libffi.patch
@@ -0,0 +1,51 @@
+http://bugs.python.org/issue6943
+http://hg.python.org/cpython/rev/f02881332342
+http://hg.python.org/cpython/rev/6d9be1a97c17
+
+--- configure.in
++++ configure.in
+@@ -2046,11 +2046,20 @@
+ ],
+ [AC_MSG_RESULT(no)])
+
++AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
++
+ # Check for use of the system libffi library
+ AC_MSG_CHECKING(for --with-system-ffi)
+ AC_ARG_WITH(system_ffi,
+ AC_HELP_STRING(--with-system-ffi, build _ctypes module using an installed ffi library))
+
++if test "$with_system_ffi" = "yes" && test -n "$PKG_CONFIG"; then
++ LIBFFI_INCLUDEDIR="`"$PKG_CONFIG" libffi --cflags-only-I 2>/dev/null | sed -e 's/^-I//;s/ *$//'`"
++else
++ LIBFFI_INCLUDEDIR=""
++fi
++AC_SUBST(LIBFFI_INCLUDEDIR)
++
+ AC_MSG_RESULT($with_system_ffi)
+
+ # Determine if signalmodule should be used.
+--- Makefile.pre.in
++++ Makefile.pre.in
+@@ -202,6 +202,8 @@
+ GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar
+
+
++LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@
++
+ ##########################################################################
+ # Parser
+ PGEN= Parser/pgen$(EXE)
+--- setup.py
++++ setup.py
+@@ -1929,7 +1929,9 @@
+ # in /usr/include/ffi
+ inc_dirs.append('/usr/include/ffi')
+
+- ffi_inc = find_file('ffi.h', [], inc_dirs)
++ ffi_inc = [sysconfig.get_config_var("LIBFFI_INCLUDEDIR")]
++ if not ffi_inc:
++ ffi_inc = find_file('ffi.h', [], inc_dirs)
+ if ffi_inc is not None:
+ ffi_h = ffi_inc[0] + '/ffi.h'
+ fp = open(ffi_h)