0d327c267a
This commit bumps the Python3 package to use Python 3.4.0rc1. About the patches: * The patches below 100 are significantly changed, because like for Python 2.x, a good number of improvements have been made in the upstream Python for cross-compilation. Therefore, almost all of these patches have been modified. * All the patches above 100 are simply updated for Python 3.4.0, with a small refactoring for the handling of test modules. The details of the python3.mk changes are: * --without-ensurepip to tell Python to not use PIP at build time. * Many environment variables are no longer passed, they were specific to our cross-compilation patches * The fixup of the LIBDIR in the Python Makefile is no longer needed since Python has switched to _sysconfigdata.py for distutils configuration instead of parsing the Makefile. * A new post patch hooks touches the two files generated by pgen to make sure they are newer than the pgen sources, which ensures pgen is not built/executed. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
110 lines
3.7 KiB
Diff
110 lines
3.7 KiB
Diff
Add an option to disable lib2to3
|
|
|
|
lib2to3 is a library to convert Python 2.x code to Python 3.x. As
|
|
such, it is probably not very useful on embedded system targets.
|
|
|
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
|
|
|
---
|
|
Makefile.pre.in | 18 ++++++++++++++----
|
|
configure.ac | 6 ++++++
|
|
setup.py | 5 +++--
|
|
3 files changed, 23 insertions(+), 6 deletions(-)
|
|
|
|
Index: b/Makefile.pre.in
|
|
===================================================================
|
|
--- a/Makefile.pre.in
|
|
+++ b/Makefile.pre.in
|
|
@@ -1091,7 +1091,9 @@
|
|
(cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3)
|
|
endif
|
|
-rm -f $(DESTDIR)$(BINDIR)/2to3
|
|
+ifeq (@LIB2TO3@,yes)
|
|
(cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3)
|
|
+endif
|
|
-rm -f $(DESTDIR)$(BINDIR)/pyvenv
|
|
(cd $(DESTDIR)$(BINDIR); $(LN) -s pyvenv-$(VERSION) pyvenv)
|
|
if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \
|
|
@@ -1131,7 +1133,6 @@
|
|
html json http dbm xmlrpc \
|
|
sqlite3 \
|
|
logging csv wsgiref urllib \
|
|
- lib2to3 lib2to3/fixes lib2to3/pgen2 \
|
|
ctypes ctypes/macholib \
|
|
idlelib idlelib/Icons \
|
|
distutils distutils/command $(XMLLIBSUBDIRS) \
|
|
@@ -1172,9 +1173,6 @@
|
|
test/namespace_pkgs/project3/parent/child \
|
|
test/namespace_pkgs/module_and_namespace_package \
|
|
test/namespace_pkgs/module_and_namespace_package/a_test \
|
|
- lib2to3/tests \
|
|
- lib2to3/tests/data lib2to3/tests/data/fixers \
|
|
- lib2to3/tests/data/fixers/myfixes \
|
|
sqlite3/test idlelib/idle_test \
|
|
test/test_importlib test/test_importlib/builtin \
|
|
test/test_importlib/extension test/test_importlib/frozen \
|
|
@@ -1186,6 +1184,14 @@
|
|
LIBSUBDIRS += pydoc_data
|
|
endif
|
|
|
|
+ifeq (@LIB2TO3@,yes)
|
|
+LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2
|
|
+TESTSUBDIRS += lib2to3/tests \
|
|
+ lib2to3/tests/data \
|
|
+ lib2to3/tests/data/fixers \
|
|
+ lib2to3/tests/data/fixers/myfixes
|
|
+endif
|
|
+
|
|
ifeq (@TEST_MODULES@,yes)
|
|
LIBSUBDIRS += $(TESTSUBDIRS)
|
|
endif
|
|
@@ -1281,10 +1287,12 @@
|
|
-d $(LIBDEST)/site-packages -f $(STDLIB_CACHE_FLAGS) \
|
|
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
|
|
endif
|
|
+ifeq (@LIB2TO3@,yes)
|
|
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
|
$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
|
|
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
|
$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt
|
|
+endif
|
|
|
|
# Create the PLATDIR source directory, if one wasn't distributed..
|
|
$(srcdir)/Lib/$(PLATDIR):
|
|
Index: b/setup.py
|
|
===================================================================
|
|
--- a/setup.py
|
|
+++ b/setup.py
|
|
@@ -2183,10 +2183,11 @@
|
|
import warnings
|
|
warnings.filterwarnings("ignore",category=DeprecationWarning)
|
|
|
|
- scripts = ['Tools/scripts/idle3', 'Tools/scripts/2to3',
|
|
- 'Lib/smtpd.py']
|
|
+ scripts = ['Tools/scripts/idle3', 'Lib/smtpd.py']
|
|
if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"):
|
|
scripts += [ 'Tools/scripts/pydoc3' ]
|
|
+ if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"):
|
|
+ scripts += [ 'Tools/scripts/2to3' ]
|
|
|
|
setup(# PyPI Metadata (PEP 301)
|
|
name = "Python",
|
|
Index: b/configure.ac
|
|
===================================================================
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -2678,6 +2678,12 @@
|
|
AS_HELP_STRING([--disable-test-modules], [disable test modules]),
|
|
[ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ])
|
|
|
|
+AC_SUBST(LIB2TO3)
|
|
+
|
|
+AC_ARG_ENABLE(lib2to3,
|
|
+ AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]),
|
|
+ [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ])
|
|
+
|
|
# Check for enable-ipv6
|
|
AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified])
|
|
AC_MSG_CHECKING([if --enable-ipv6 is specified])
|