commit:     3f74e0196b4719fb8f10118c80de15fa823797a6
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Thu May 12 00:58:45 2016 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Thu May 12 00:58:45 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3f74e019

dev-lang/python: fix cross-compiles for 3.5.1

Bug: https://bugs.gentoo.org/581304

Package-Manager: portage-2.2.28_p106

 dev-lang/python/files/3.5.1-cross-compile.patch | 75 +++++++++++++++++++++++++
 dev-lang/python/python-3.5.1-r2.ebuild          |  7 +--
 2 files changed, 76 insertions(+), 6 deletions(-)

diff --git a/dev-lang/python/files/3.5.1-cross-compile.patch 
b/dev-lang/python/files/3.5.1-cross-compile.patch
new file mode 100644
index 0000000..25a518b
--- /dev/null
+++ b/dev-lang/python/files/3.5.1-cross-compile.patch
@@ -0,0 +1,75 @@
+# HG changeset patch
+# User Martin Panter <[email protected]>
+# Date 1461373124 0
+# Node ID 66e40df31faca467937c7b9d5d2e825471f97822
+# Parent  a246047734b3496a7dc4ebaf1f0232dadf22eab6
+Issue #22359: Disable running cross-compiled _freeze_importlib and pgen
+
+Patch by Xavier de Gaye.
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -221,6 +221,7 @@ LIBOBJS=   @LIBOBJS@
+ PYTHON=               python$(EXE)
+ BUILDPYTHON=  python$(BUILDEXE)
+ 
++cross_compiling=@cross_compiling@
+ PYTHON_FOR_BUILD=@PYTHON_FOR_BUILD@
+ _PYTHON_HOST_PLATFORM=@_PYTHON_HOST_PLATFORM@
+ BUILD_GNU_TYPE=       @build@
+@@ -718,12 +719,16 @@ Programs/_freeze_importlib: Programs/_fr
+       $(LINKCC) $(PY_LDFLAGS) -o $@ Programs/_freeze_importlib.o 
$(LIBRARY_OBJS_OMIT_FROZEN) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
+ 
+ Python/importlib_external.h: $(srcdir)/Lib/importlib/_bootstrap_external.py 
Programs/_freeze_importlib
+-      ./Programs/_freeze_importlib \
+-              $(srcdir)/Lib/importlib/_bootstrap_external.py 
Python/importlib_external.h
++      if test "$(cross_compiling)" != "yes"; then \
++          ./Programs/_freeze_importlib \
++              $(srcdir)/Lib/importlib/_bootstrap_external.py 
Python/importlib_external.h; \
++      fi
+ 
+ Python/importlib.h: $(srcdir)/Lib/importlib/_bootstrap.py 
Programs/_freeze_importlib
+-      ./Programs/_freeze_importlib \
+-              $(srcdir)/Lib/importlib/_bootstrap.py Python/importlib.h
++      if test "$(cross_compiling)" != "yes"; then \
++          ./Programs/_freeze_importlib \
++              $(srcdir)/Lib/importlib/_bootstrap.py Python/importlib.h; \
++      fi
+ 
+ 
+ ############################################################################
+@@ -784,10 +789,18 @@ Python/sysmodule.o: $(srcdir)/Python/sys
+ $(IO_OBJS): $(IO_H)
+ 
+ $(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGEN)
+-              @$(MKDIR_P) Include
+-              $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
++      @$(MKDIR_P) Include
++      if test "$(cross_compiling)" != "yes"; then \
++              $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C); \
++      else \
++              cp $(srcdir)/Include/graminit.h $(GRAMMAR_H); \
++      fi
+ $(GRAMMAR_C): $(GRAMMAR_H)
+-              touch $(GRAMMAR_C)
++      if test "$(cross_compiling)" != "yes"; then \
++              touch $(GRAMMAR_C); \
++      else \
++              cp $(srcdir)/Python/graminit.c $(GRAMMAR_C); \
++      fi
+ 
+ $(PGEN): $(PGENOBJS)
+               $(CC) $(OPT) $(PY_LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
+diff --git a/configure.ac b/configure.ac
+--- a/configure.ac
++++ b/configure.ac
+@@ -49,6 +49,7 @@ fi
+ AC_CONFIG_SRCDIR([Include/object.h])
+ AC_CONFIG_HEADER(pyconfig.h)
+ 
++AC_SUBST(cross_compiling)
+ AC_CANONICAL_HOST
+ AC_SUBST(build)
+ AC_SUBST(host)
+

diff --git a/dev-lang/python/python-3.5.1-r2.ebuild 
b/dev-lang/python/python-3.5.1-r2.ebuild
index 0f2fa79..480c6ad 100644
--- a/dev-lang/python/python-3.5.1-r2.ebuild
+++ b/dev-lang/python/python-3.5.1-r2.ebuild
@@ -71,7 +71,7 @@ src_prepare() {
 
        EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches"
        epatch "${FILESDIR}/${PN}-3.4.3-ncurses-pkg-config.patch"
-       epatch "${FILESDIR}/3.5-secondary-targets.patch"
+       epatch "${FILESDIR}/3.5.1-cross-compile.patch"
 
        epatch_user
 
@@ -87,8 +87,6 @@ src_prepare() {
                Modules/Setup.dist \
                setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
 
-       #sed -i -e 's/\$(GRAMMAR_H): \$(GRAMMAR_INPUT) \$(PGEN)/$(GRAMMAR_H): 
\$(GRAMMAR_INPUT)/' Makefile.pre.in || die
-
        eautoreconf
 }
 
@@ -174,9 +172,6 @@ src_configure() {
 }
 
 src_compile() {
-       # Avoid regenerating these for cross-compiles
-       touch Include/graminit.h Python/graminit.c Python/importlib.h 
Python/importlib_external.h || die
-
        cd "${BUILD_DIR}" || die
 
        emake CPPFLAGS= CFLAGS= LDFLAGS=

Reply via email to