summaryrefslogtreecommitdiff
path: root/package/python3/004-old-stdlib-cache.patch
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2014-12-28 21:54:53 +0100
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2015-01-02 19:30:17 +0100
commitc24c874810054cb0185807fe797d92056207bbbe (patch)
treeb9c296f3c00a98b0c97b673de9dad441e606c030 /package/python3/004-old-stdlib-cache.patch
parent144e21f203cf88c1768488d08e201e9579db857e (diff)
python3: rename patches to the new convention
Note that we don't use completely sequential numbers, because patches below 100 are used to address cross-compilation issues in Python 3, while patches above 100 are used to make more Python 3 modules configurable. [Thomas: fixup commit log.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Diffstat (limited to 'package/python3/004-old-stdlib-cache.patch')
-rw-r--r--package/python3/004-old-stdlib-cache.patch78
1 files changed, 78 insertions, 0 deletions
diff --git a/package/python3/004-old-stdlib-cache.patch b/package/python3/004-old-stdlib-cache.patch
new file mode 100644
index 000000000..4ed994df6
--- /dev/null
+++ b/package/python3/004-old-stdlib-cache.patch
@@ -0,0 +1,78 @@
+python3: Fix pyc-only related runtime exceptions
+
+Python3 changes the pyc lookup strategy, ignoring the
+__pycache__ directory if the .py file is missing. Change
+install location to enable use of .pyc without their parent .py
+
+See http://www.python.org/dev/peps/pep-3147
+
+Signed-off-by: Daniel Nelson <daniel@sigpwr.com>
+
+Index: b/configure.ac
+===================================================================
+--- a/configure.ac
++++ b/configure.ac
+@@ -352,6 +352,23 @@
+ AC_SUBST(FRAMEWORKUNIXTOOLSPREFIX)
+ AC_SUBST(FRAMEWORKINSTALLAPPSPREFIX)
+
++STDLIB_CACHE_FLAGS=
++AC_MSG_CHECKING(for --enable-old-stdlib-cache)
++AC_ARG_ENABLE(old-stdlib-cache,
++ AS_HELP_STRING([--enable-old-stdlib-cache], [enable pre-pep3147 stdlib cache]),
++[
++ if test "$enableval" = "yes"
++ then
++ STDLIB_CACHE_FLAGS="-b"
++ else
++ STDLIB_CACHE_FLAGS=""
++ fi
++],
++[
++ STDLIB_CACHE_FLAGS=""
++])
++AC_SUBST(STDLIB_CACHE_FLAGS)
++
+ ##AC_ARG_WITH(dyld,
+ ## AS_HELP_STRING([--with-dyld],
+ ## [Use (OpenStep|Rhapsody) dynamic linker]))
+Index: b/Makefile.pre.in
+===================================================================
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -162,6 +162,9 @@
+ # Options to enable prebinding (for fast startup prior to Mac OS X 10.3)
+ OTHER_LIBTOOL_OPT=@OTHER_LIBTOOL_OPT@
+
++# Option to enable old-style precompiled stdlib
++STDLIB_CACHE_FLAGS=@STDLIB_CACHE_FLAGS@
++
+ # Environment to run shared python without installed libraries
+ RUNSHARED= @RUNSHARED@
+
+@@ -1246,21 +1249,21 @@
+ fi
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
+- -d $(LIBDEST) -f \
++ -d $(LIBDEST) -f $(STDLIB_CACHE_FLAGS) \
+ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ $(DESTDIR)$(LIBDEST)
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
+- -d $(LIBDEST) -f \
++ -d $(LIBDEST) -f $(STDLIB_CACHE_FLAGS) \
+ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ $(DESTDIR)$(LIBDEST)
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
+- -d $(LIBDEST)/site-packages -f \
++ -d $(LIBDEST)/site-packages -f $(STDLIB_CACHE_FLAGS) \
+ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
+- -d $(LIBDEST)/site-packages -f \
++ -d $(LIBDEST)/site-packages -f $(STDLIB_CACHE_FLAGS) \
+ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt