python3: bump to 3.4.0rc1
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>
This commit is contained in:
parent
249778541b
commit
0d327c267a
@ -1,158 +0,0 @@
|
||||
changeset: 79745:f85c3f4d9b98
|
||||
parent: 79743:36b2ca7dc893
|
||||
parent: 79744:24d52d3060e8
|
||||
user: Trent Nelson <trent@trent.me>
|
||||
date: Tue Oct 16 08:17:11 2012 -0400
|
||||
summary: Merge issue #15298: ensure _sysconfigdata is generated in build directory,
|
||||
|
||||
Taken from upstream.
|
||||
|
||||
---
|
||||
Lib/sysconfig.py | 11 ++++++++++-
|
||||
Makefile.pre.in | 24 +++++++++++++-----------
|
||||
setup.py | 14 --------------
|
||||
3 files changed, 23 insertions(+), 26 deletions(-)
|
||||
|
||||
Index: Python-3.3.0/Lib/sysconfig.py
|
||||
===================================================================
|
||||
--- Python-3.3.0.orig/Lib/sysconfig.py
|
||||
+++ Python-3.3.0/Lib/sysconfig.py
|
||||
@@ -390,13 +390,22 @@
|
||||
if _PYTHON_BUILD:
|
||||
vars['LDSHARED'] = vars['BLDSHARED']
|
||||
|
||||
- destfile = os.path.join(os.path.dirname(__file__), '_sysconfigdata.py')
|
||||
+ pybuilddir = 'build/lib.%s-%s' % (get_platform(), sys.version[:3])
|
||||
+ if hasattr(sys, "gettotalrefcount"):
|
||||
+ pybuilddir += '-pydebug'
|
||||
+ os.makedirs(pybuilddir, exist_ok=True)
|
||||
+ destfile = os.path.join(pybuilddir, '_sysconfigdata.py')
|
||||
+
|
||||
with open(destfile, 'w', encoding='utf8') as f:
|
||||
f.write('# system configuration generated and used by'
|
||||
' the sysconfig module\n')
|
||||
f.write('build_time_vars = ')
|
||||
pprint.pprint(vars, stream=f)
|
||||
|
||||
+ # Create file used for sys.path fixup -- see Modules/getpath.c
|
||||
+ with open('pybuilddir.txt', 'w', encoding='ascii') as f:
|
||||
+ f.write(pybuilddir)
|
||||
+
|
||||
def _init_posix(vars):
|
||||
"""Initialize the module as appropriate for POSIX systems."""
|
||||
# _sysconfigdata is generated at build time, see _generate_posix_vars()
|
||||
Index: Python-3.3.0/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-3.3.0.orig/Makefile.pre.in
|
||||
+++ Python-3.3.0/Makefile.pre.in
|
||||
@@ -410,8 +410,6 @@
|
||||
Objects/unicodectype.o \
|
||||
Objects/weakrefobject.o
|
||||
|
||||
-SYSCONFIGDATA=$(srcdir)/Lib/_sysconfigdata.py
|
||||
-
|
||||
##########################################################################
|
||||
# objects that get linked into the Python library
|
||||
LIBRARY_OBJS_OMIT_FROZEN= \
|
||||
@@ -432,7 +430,7 @@
|
||||
|
||||
# Default target
|
||||
all: build_all
|
||||
-build_all: $(BUILDPYTHON) $(SYSCONFIGDATA) oldsharedmods sharedmods gdbhooks Modules/_testembed
|
||||
+build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks Modules/_testembed
|
||||
|
||||
# Compile a binary with gcc profile guided optimization.
|
||||
profile-opt:
|
||||
@@ -466,15 +464,17 @@
|
||||
$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
|
||||
$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
|
||||
|
||||
-platform: $(BUILDPYTHON) $(SYSCONFIGDATA)
|
||||
+platform: $(BUILDPYTHON)
|
||||
$(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print(get_platform()+"-"+sys.version[0:3])' >platform
|
||||
|
||||
-# Generate the sysconfig build-time data
|
||||
-$(SYSCONFIGDATA): $(BUILDPYTHON)
|
||||
+# Create build directory and generate the sysconfig build-time data there.
|
||||
+# pybuilddir.txt contains the name of the build dir and is used for
|
||||
+# sys.path fixup -- see Modules/getpath.c.
|
||||
+pybuilddir.txt: $(BUILDPYTHON)
|
||||
$(RUNSHARED) $(PYTHON_FOR_BUILD) -S -m sysconfig --generate-posix-vars
|
||||
|
||||
# Build the shared modules
|
||||
-sharedmods: $(BUILDPYTHON) $(SYSCONFIGDATA)
|
||||
+sharedmods: $(BUILDPYTHON) pybuilddir.txt
|
||||
case $$MAKEFLAGS in *s*) quiet=-q; esac; \
|
||||
$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
|
||||
$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
|
||||
@@ -1036,7 +1036,7 @@
|
||||
else true; \
|
||||
fi; \
|
||||
done
|
||||
- @for i in $(srcdir)/Lib/*.py ; \
|
||||
+ @for i in $(srcdir)/Lib/*.py `cat pybuilddir.txt`/_sysconfigdata.py; \
|
||||
do \
|
||||
if test -x $$i; then \
|
||||
$(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \
|
||||
@@ -1196,6 +1196,8 @@
|
||||
--install-scripts=$(BINDIR) \
|
||||
--install-platlib=$(DESTSHARED) \
|
||||
--root=$(DESTDIR)/
|
||||
+ -rm $(DESTDIR)$(DESTSHARED)/_sysconfigdata.py
|
||||
+ -rm -r $(DESTDIR)$(DESTSHARED)/__pycache__
|
||||
|
||||
# Here are a couple of targets for MacOSX again, to install a full
|
||||
# framework-based Python. frameworkinstall installs everything, the
|
||||
@@ -1341,9 +1343,10 @@
|
||||
find . -name '*.s[ol]' -exec rm -f {} ';'
|
||||
find . -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';'
|
||||
find build -name 'fficonfig.h' -exec rm -f {} ';' || true
|
||||
- find build -name 'fficonfig.py' -exec rm -f {} ';' || true
|
||||
+ find build -name '*.py' -exec rm -f {} ';' || true
|
||||
+ find build -name '*.py[co]' -exec rm -f {} ';' || true
|
||||
+ -rm -f pybuilddir.txt
|
||||
-rm -f Lib/lib2to3/*Grammar*.pickle
|
||||
- -rm -f $(SYSCONFIGDATA)
|
||||
-rm -f Modules/_testembed Modules/_freeze_importlib
|
||||
|
||||
profile-removal:
|
||||
@@ -1367,7 +1370,6 @@
|
||||
Modules/Setup Modules/Setup.local Modules/Setup.config \
|
||||
Modules/ld_so_aix Modules/python.exp Misc/python.pc
|
||||
-rm -f python*-gdb.py
|
||||
- -rm -f pybuilddir.txt
|
||||
find $(srcdir) '(' -name '*.fdc' -o -name '*~' \
|
||||
-o -name '[@,#]*' -o -name '*.old' \
|
||||
-o -name '*.orig' -o -name '*.rej' \
|
||||
Index: Python-3.3.0/setup.py
|
||||
===================================================================
|
||||
--- Python-3.3.0.orig/setup.py
|
||||
+++ Python-3.3.0/setup.py
|
||||
@@ -33,10 +33,6 @@
|
||||
# This global variable is used to hold the list of modules to be disabled.
|
||||
disabled_module_list = []
|
||||
|
||||
-# File which contains the directory for shared mods (for sys.path fixup
|
||||
-# when running from the build dir, see Modules/getpath.c)
|
||||
-_BUILDDIR_COOKIE = "pybuilddir.txt"
|
||||
-
|
||||
def add_dir_to_list(dirlist, dir):
|
||||
"""Add the directory 'dir' to the list 'dirlist' (after any relative
|
||||
directories) if:
|
||||
@@ -252,16 +248,6 @@
|
||||
args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags
|
||||
self.compiler.set_executables(**args)
|
||||
|
||||
- # Not only do we write the builddir cookie, but we manually install
|
||||
- # the shared modules directory if it isn't already in sys.path.
|
||||
- # Otherwise trying to import the extensions after building them
|
||||
- # will fail.
|
||||
- with open(_BUILDDIR_COOKIE, "wb") as f:
|
||||
- f.write(self.build_lib.encode('utf-8', 'surrogateescape'))
|
||||
- abs_build_lib = os.path.join(os.getcwd(), self.build_lib)
|
||||
- if abs_build_lib not in sys.path:
|
||||
- sys.path.append(abs_build_lib)
|
||||
-
|
||||
build_ext.build_extensions(self)
|
||||
|
||||
longest = max([len(e.name) for e in self.extensions])
|
36
package/python3/python3-001-remove-host-header-path.patch
Normal file
36
package/python3/python3-001-remove-host-header-path.patch
Normal file
@ -0,0 +1,36 @@
|
||||
setup.py: do not add invalid header locations
|
||||
|
||||
This piece of code incorrectly adds /usr/include to
|
||||
self.compiler.include_dirs, and results in the following invalid
|
||||
compilation line:
|
||||
|
||||
/home/thomas/projets/buildroot/output/host/usr/bin/arm-none-linux-gnueabi-gcc
|
||||
-fPIC -Wno-unused-result -Werror=declaration-after-statement -DNDEBUG -g
|
||||
-O3 -Wall -Wstrict-prototypes -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
|
||||
-D_FILE_OFFSET_BITS=64 -pipe -Os
|
||||
-I./Include -I/usr/include -I. -IInclude
|
||||
-I/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include
|
||||
-I/home/thomas/projets/buildroot/output/build/python3-3.4.0b1/Include
|
||||
-I/home/thomas/projets/buildroot/output/build/python3-3.4.0b1
|
||||
-c /home/thomas/projets/buildroot/output/build/python3-3.4.0b1/Modules/_struct.c
|
||||
-o build/temp.linux-arm-3.4/home/thomas/projets/buildroot/output/build/python3-3.4.0b1/Modules/_struct.o
|
||||
cc1: warning: include location "/usr/include" is unsafe for cross-compilation [-Wpoison-system-directories]
|
||||
|
||||
The -I/usr/include is wrong when cross compiling, so we disable adding
|
||||
INCLUDEDIR and LIBDIR from the host when cross compiling.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Index: b/setup.py
|
||||
===================================================================
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -487,7 +487,8 @@
|
||||
add_dir_to_list(dir_list, directory)
|
||||
|
||||
if os.path.normpath(sys.base_prefix) != '/usr' \
|
||||
- and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
|
||||
+ and not sysconfig.get_config_var('PYTHONFRAMEWORK') \
|
||||
+ and not cross_compiling:
|
||||
# OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework
|
||||
# (PYTHONFRAMEWORK is set) to avoid # linking problems when
|
||||
# building a framework with different architectures than
|
@ -1,68 +0,0 @@
|
||||
Add support in Python build system to specify host pgen
|
||||
|
||||
Python needs a "pgen" program to build itself. Unfortunately, the
|
||||
Python build system assumes that it can use the pgen program it has
|
||||
just built to build itself. Obviously, this cannot work in
|
||||
cross-compilation mode since the pgen program have been built for the
|
||||
target.
|
||||
|
||||
Therefore, this patch adds support in the Python build system for the
|
||||
new PGEN_FOR_BUILD variable, so that we can point Python ./configure
|
||||
script to the pgen program that have been previously built for the
|
||||
host.
|
||||
|
||||
Patch ported to python2.7 by Maxime Ripard <ripard@archos.com>, and
|
||||
later significantly reworked by Thomas Petazzoni
|
||||
<thomas.petazzoni@free-electrons.com>, with some inspiration taken
|
||||
from the Python patches of the PTXdist project, and then ported to
|
||||
python3.3 by Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
Makefile.pre.in | 5 +++--
|
||||
configure.ac | 5 +++++
|
||||
2 files changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: Python-3.3.0/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-3.3.0.orig/Makefile.pre.in
|
||||
+++ Python-3.3.0/Makefile.pre.in
|
||||
@@ -239,6 +239,7 @@
|
||||
##########################################################################
|
||||
# Parser
|
||||
PGEN= Parser/pgen$(EXE)
|
||||
+PGEN_FOR_BUILD=@PGEN_FOR_BUILD@
|
||||
|
||||
PSRCS= \
|
||||
Parser/acceler.c \
|
||||
@@ -639,8 +640,8 @@
|
||||
|
||||
$(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGENSRCS)
|
||||
@$(MKDIR_P) Include
|
||||
- $(MAKE) $(PGEN)
|
||||
- $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
|
||||
+ $(MAKE) $(PGEN_FOR_BUILD)
|
||||
+ $(PGEN_FOR_BUILD) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
|
||||
$(GRAMMAR_C): $(GRAMMAR_H) $(GRAMMAR_INPUT) $(PGENSRCS)
|
||||
$(MAKE) $(GRAMMAR_H)
|
||||
touch $(GRAMMAR_C)
|
||||
Index: Python-3.3.0/configure.ac
|
||||
===================================================================
|
||||
--- Python-3.3.0.orig/configure.ac
|
||||
+++ Python-3.3.0/configure.ac
|
||||
@@ -51,10 +51,15 @@
|
||||
AC_MSG_RESULT($interp)
|
||||
PYTHON_FOR_BUILD="_PYTHON_PROJECT_BASE=$srcdir"' _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(srcdir)/Lib:$(srcdir)/Lib/plat-$(MACHDEP) '$interp
|
||||
fi
|
||||
+ AC_MSG_CHECKING(pgen for build)
|
||||
+ PGEN_FOR_BUILD="${PGEN_FOR_BUILD}"
|
||||
+ AC_MSG_RESULT($PGEN_FOR_BUILD)
|
||||
else
|
||||
PYTHON_FOR_BUILD='./$(BUILDPYTHON) -E'
|
||||
+ PGEN_FOR_BUILD='./$(PGEN)'
|
||||
fi
|
||||
AC_SUBST(PYTHON_FOR_BUILD)
|
||||
+AC_SUBST(PGEN_FOR_BUILD)
|
||||
|
||||
dnl Ensure that if prefix is specified, it does not end in a slash. If
|
||||
dnl it does, we get path names containing '//' which is both ugly and
|
@ -1,72 +0,0 @@
|
||||
Do not look at host headers/libraries in cross-compile mode
|
||||
|
||||
When we are cross-compiling, setup.py should never look in /usr or
|
||||
/usr/local to find headers or libraries. A later patch adds a
|
||||
mechanism to tell setup.py to look in a specific directory for headers
|
||||
and libraries.
|
||||
|
||||
Patch first written by Thomas Petazzoni
|
||||
<thomas.petazzoni@free-electrons.com> for python2.7, and then ported
|
||||
to python3.3 by Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
setup.py | 23 +++++------------------
|
||||
1 file changed, 5 insertions(+), 18 deletions(-)
|
||||
|
||||
Index: Python-3.3.0/setup.py
|
||||
===================================================================
|
||||
--- Python-3.3.0.orig/setup.py
|
||||
+++ Python-3.3.0/setup.py
|
||||
@@ -447,10 +447,8 @@
|
||||
if not cross_compiling:
|
||||
add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
|
||||
add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
|
||||
- # only change this for cross builds for 3.3, issues on Mageia
|
||||
- if cross_compiling:
|
||||
self.add_gcc_paths()
|
||||
- self.add_multiarch_paths()
|
||||
+ self.add_multiarch_paths()
|
||||
|
||||
# Add paths specified in the environment variables LDFLAGS and
|
||||
# CPPFLAGS for header and library files.
|
||||
@@ -458,10 +456,7 @@
|
||||
# directly since an inconsistently reproducible issue comes up where
|
||||
# the environment variable is not set even though the value were passed
|
||||
# into configure and stored in the Makefile (issue found on OS X 10.3).
|
||||
- for env_var, arg_name, dir_list in (
|
||||
- ('LDFLAGS', '-R', self.compiler.runtime_library_dirs),
|
||||
- ('LDFLAGS', '-L', self.compiler.library_dirs),
|
||||
- ('CPPFLAGS', '-I', self.compiler.include_dirs)):
|
||||
+ for env_var, arg_name, dir_list in ():
|
||||
env_val = sysconfig.get_config_var(env_var)
|
||||
if env_val:
|
||||
# To prevent optparse from raising an exception about any
|
||||
@@ -486,17 +481,6 @@
|
||||
for directory in reversed(options.dirs):
|
||||
add_dir_to_list(dir_list, directory)
|
||||
|
||||
- if os.path.normpath(sys.base_prefix) != '/usr' \
|
||||
- and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
|
||||
- # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework
|
||||
- # (PYTHONFRAMEWORK is set) to avoid # linking problems when
|
||||
- # building a framework with different architectures than
|
||||
- # the one that is currently installed (issue #7473)
|
||||
- add_dir_to_list(self.compiler.library_dirs,
|
||||
- sysconfig.get_config_var("LIBDIR"))
|
||||
- add_dir_to_list(self.compiler.include_dirs,
|
||||
- sysconfig.get_config_var("INCLUDEDIR"))
|
||||
-
|
||||
# lib_dirs and inc_dirs are used to search for files;
|
||||
# if a file is found in one of those directories, it can
|
||||
# be assumed that no additional -I,-L directives are needed.
|
||||
@@ -506,6 +490,9 @@
|
||||
'/lib', '/usr/lib',
|
||||
]
|
||||
inc_dirs = self.compiler.include_dirs + ['/usr/include']
|
||||
+ else:
|
||||
+ lib_dirs = self.compiler.library_dirs
|
||||
+ inc_dirs = self.compiler.include_dirs
|
||||
exts = []
|
||||
missing = []
|
||||
|
@ -0,0 +1,23 @@
|
||||
distutils: fix build_ext check to find whether we're building Python or not
|
||||
|
||||
The build_ext logic uses
|
||||
sys.executable.startswith(os.path.join(sys.exec_prefix, "bin")) to
|
||||
determine whether we're building a third-party Python extension, or a
|
||||
built-in Python extension. However, this check is wrong in
|
||||
cross-compilation mode, and instead, the sysconfig.python_build
|
||||
variable should be used.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Index: b/Lib/distutils/command/build_ext.py
|
||||
===================================================================
|
||||
--- a/Lib/distutils/command/build_ext.py
|
||||
+++ b/Lib/distutils/command/build_ext.py
|
||||
@@ -246,7 +246,7 @@
|
||||
# Python's library directory must be appended to library_dirs
|
||||
# See Issues: #1600860, #4366
|
||||
if (sysconfig.get_config_var('Py_ENABLE_SHARED')):
|
||||
- if sys.executable.startswith(os.path.join(sys.exec_prefix, "bin")):
|
||||
+ if not sysconfig.python_build:
|
||||
# building third party extensions
|
||||
self.library_dirs.append(sysconfig.get_config_var('LIBDIR'))
|
||||
else:
|
@ -1,41 +0,0 @@
|
||||
Tell setup.py the location of headers/libraries
|
||||
|
||||
Allow the libraries detection routine to look for headers and libs in
|
||||
other directories than /usr/include or /usr/lib through the
|
||||
environment variables PYTHON_MODULES_INCLUDE and PYTHON_MODULES_LIB.
|
||||
|
||||
We can then use it to look for libraries in the buildroot staging
|
||||
directory.
|
||||
|
||||
Ported to python3.3 by Maxime Ripard <maxime.ripard@free-electrons.com> based
|
||||
on the work by Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
setup.py | 13 +++++++++++++
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
Index: Python-3.3.0/setup.py
|
||||
===================================================================
|
||||
--- Python-3.3.0.orig/setup.py
|
||||
+++ Python-3.3.0/setup.py
|
||||
@@ -441,6 +441,19 @@
|
||||
os.unlink(tmpfile)
|
||||
|
||||
def detect_modules(self):
|
||||
+ try:
|
||||
+ modules_include_dirs = os.environ["PYTHON_MODULES_INCLUDE"].split()
|
||||
+ except KeyError:
|
||||
+ modules_include_dirs = ['/usr/include']
|
||||
+ try:
|
||||
+ modules_lib_dirs = os.environ["PYTHON_MODULES_LIB"].split()
|
||||
+ except KeyError:
|
||||
+ modules_lib_dirs = ['/usr/lib']
|
||||
+ for dir in modules_include_dirs:
|
||||
+ add_dir_to_list(self.compiler.include_dirs, dir)
|
||||
+ for dir in modules_lib_dirs:
|
||||
+ add_dir_to_list(self.compiler.library_dirs, dir)
|
||||
+
|
||||
# Ensure that /usr/local is always used, but the local build
|
||||
# directories (i.e. '.' and 'Include') must be first. See issue
|
||||
# 10520.
|
@ -0,0 +1,76 @@
|
||||
Change the install location of _sysconfigdata.py
|
||||
|
||||
The _sysconfigdata.py module contains definitions that are needed when
|
||||
building Python modules. In cross-compilation mode, when building
|
||||
Python extensions for the target, we need to use the _sysconfigdata.py
|
||||
of the target Python while executing the host Python.
|
||||
|
||||
However until now, the _sysconfigdata.py module was installed in
|
||||
build/lib.<arch>-<version> directory, together with a number of
|
||||
architecture-specific shared objects, which cannot be used with the
|
||||
host Python.
|
||||
|
||||
To solve this problem, this patch moves _sysconfigdata.py to a
|
||||
separate location, build/sysconfigdata.<arch>-<version>/, and only
|
||||
this directory gets added to the PYTHONPATH of the host Python
|
||||
interpreter when building Python modules for the target.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -543,6 +543,9 @@
|
||||
# sys.path fixup -- see Modules/getpath.c.
|
||||
pybuilddir.txt: $(BUILDPYTHON)
|
||||
$(RUNSHARED) $(PYTHON_FOR_BUILD) -S -m sysconfig --generate-posix-vars
|
||||
+ echo `cat pybuilddir.txt`/sysconfigdata > pysysconfigdatadir.txt
|
||||
+ mkdir -p `cat pysysconfigdatadir.txt`
|
||||
+ cp `cat pybuilddir.txt`/_sysconfigdata.py `cat pysysconfigdatadir.txt`
|
||||
|
||||
# Build the shared modules
|
||||
# Under GNU make, MAKEFLAGS are sorted and normalized; the 's' for
|
||||
@@ -1181,7 +1184,7 @@
|
||||
else true; \
|
||||
fi; \
|
||||
done
|
||||
- @for i in $(srcdir)/Lib/*.py `cat pybuilddir.txt`/_sysconfigdata.py; \
|
||||
+ @for i in $(srcdir)/Lib/*.py ; \
|
||||
do \
|
||||
if test -x $$i; then \
|
||||
$(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \
|
||||
@@ -1191,6 +1194,11 @@
|
||||
echo $(INSTALL_DATA) $$i $(LIBDEST); \
|
||||
fi; \
|
||||
done
|
||||
+ $(INSTALL_DATA) `cat pysysconfigdatadir.txt`/_sysconfigdata.py \
|
||||
+ $(DESTDIR)$(LIBDEST)
|
||||
+ mkdir -p $(DESTDIR)$(LIBDEST)/sysconfigdata
|
||||
+ $(INSTALL_DATA) `cat pysysconfigdatadir.txt`/_sysconfigdata.py \
|
||||
+ $(DESTDIR)$(LIBDEST)/sysconfigdata
|
||||
@for d in $(LIBSUBDIRS); \
|
||||
do \
|
||||
a=$(srcdir)/Lib/$$d; \
|
||||
@@ -1513,7 +1521,7 @@
|
||||
find build -name 'fficonfig.h' -exec rm -f {} ';' || true
|
||||
find build -name '*.py' -exec rm -f {} ';' || true
|
||||
find build -name '*.py[co]' -exec rm -f {} ';' || true
|
||||
- -rm -f pybuilddir.txt
|
||||
+ -rm -f pybuilddir.txt pysysconfigdatadir.txt
|
||||
-rm -f Lib/lib2to3/*Grammar*.pickle
|
||||
-rm -f Modules/_testembed Modules/_freeze_importlib
|
||||
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -67,7 +67,7 @@
|
||||
AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found])
|
||||
fi
|
||||
AC_MSG_RESULT($interp)
|
||||
- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp
|
||||
+ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pysysconfigdatadir.txt && echo $(abs_builddir)/`cat pysysconfigdatadir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp
|
||||
fi
|
||||
elif test "$cross_compiling" = maybe; then
|
||||
AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH])
|
@ -1,27 +0,0 @@
|
||||
Disable import check when cross-compiling
|
||||
|
||||
Once Python has compiled an extension (i.e some C code, potentially
|
||||
linked to a library), it tries to import it. This cannot work in
|
||||
cross-compilation mode, so we just disable this check.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
setup.py | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
Index: Python-3.3.0/setup.py
|
||||
===================================================================
|
||||
--- Python-3.3.0.orig/setup.py
|
||||
+++ Python-3.3.0/setup.py
|
||||
@@ -318,6 +318,10 @@
|
||||
self.announce('WARNING: skipping import check for Cygwin-based "%s"'
|
||||
% ext.name)
|
||||
return
|
||||
+ if os.environ.get('CROSS_COMPILING') == 'yes':
|
||||
+ self.announce('WARNING: skipping import check for cross compiled "%s"'
|
||||
+ % ext.name)
|
||||
+ return
|
||||
ext_filename = os.path.join(
|
||||
self.build_lib,
|
||||
self.get_ext_filename(self.get_ext_fullname(ext.name)))
|
@ -8,11 +8,13 @@ See http://www.python.org/dev/peps/pep-3147
|
||||
|
||||
Signed-off-by: Daniel Nelson <daniel@sigpwr.com>
|
||||
|
||||
--- python3-3.3.0/configure.ac 2013-01-27 16:35:52.429067797 -0800
|
||||
+++ python3-3.3.0/configure.ac 2013-01-27 16:43:43.528601443 -0800
|
||||
@@ -1827,6 +1827,23 @@
|
||||
LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';;
|
||||
esac
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -349,6 +349,23 @@
|
||||
AC_SUBST(FRAMEWORKUNIXTOOLSPREFIX)
|
||||
AC_SUBST(FRAMEWORKINSTALLAPPSPREFIX)
|
||||
|
||||
+STDLIB_CACHE_FLAGS=
|
||||
+AC_MSG_CHECKING(for --enable-old-stdlib-cache)
|
||||
@ -31,12 +33,14 @@ Signed-off-by: Daniel Nelson <daniel@sigpwr.com>
|
||||
+])
|
||||
+AC_SUBST(STDLIB_CACHE_FLAGS)
|
||||
+
|
||||
AC_MSG_CHECKING(for --enable-framework)
|
||||
if test "$enable_framework"
|
||||
then
|
||||
--- python3-3.3.0/Makefile.pre.in 2013-01-27 16:35:52.422067642 -0800
|
||||
+++ python3-3.3.0/Makefile.pre.in 2013-01-27 16:37:03.710650439 -0800
|
||||
@@ -143,6 +143,9 @@
|
||||
##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
|
||||
@@ -157,6 +157,9 @@
|
||||
# Options to enable prebinding (for fast startup prior to Mac OS X 10.3)
|
||||
OTHER_LIBTOOL_OPT=@OTHER_LIBTOOL_OPT@
|
||||
|
||||
@ -46,17 +50,28 @@ Signed-off-by: Daniel Nelson <daniel@sigpwr.com>
|
||||
# Environment to run shared python without installed libraries
|
||||
RUNSHARED= @RUNSHARED@
|
||||
|
||||
@@ -1079,12 +1082,12 @@
|
||||
@@ -1231,21 +1234,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) \
|
@ -1,40 +0,0 @@
|
||||
Do not generate .pyo files
|
||||
|
||||
By default, the Python installation byte-compiles all modules in two
|
||||
forms: the normal bytecode (.pyc) and an optimized bytecode (.pyo).
|
||||
|
||||
According to
|
||||
http://www.network-theory.co.uk/docs/pytut/CompiledPythonfiles.html,
|
||||
the optimization do not do anything useful, and generating both the
|
||||
"non-optimized" and "optimized" bytecode variants takes time.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
Makefile.pre.in | 9 ---------
|
||||
1 file changed, 9 deletions(-)
|
||||
|
||||
Index: Python-3.3.0/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-3.3.0.orig/Makefile.pre.in
|
||||
+++ Python-3.3.0/Makefile.pre.in
|
||||
@@ -1082,20 +1082,11 @@
|
||||
-d $(LIBDEST) -f \
|
||||
-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 \
|
||||
- -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 \
|
||||
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
|
||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
- $(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
- -d $(LIBDEST)/site-packages -f \
|
||||
- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
|
||||
- -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
|
60
package/python3/python3-005-pyc-pyo-conditional.patch
Normal file
60
package/python3/python3-005-pyc-pyo-conditional.patch
Normal file
@ -0,0 +1,60 @@
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -1232,24 +1232,32 @@
|
||||
$(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
|
||||
$(DESTDIR)$(LIBDEST)/distutils/tests ; \
|
||||
fi
|
||||
+ifeq (@PYC_BUILD@,yes)
|
||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
$(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
-d $(LIBDEST) -f $(STDLIB_CACHE_FLAGS) \
|
||||
-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
|
||||
$(DESTDIR)$(LIBDEST)
|
||||
+endif
|
||||
+ifeq (@PYO_BUILD@,yes)
|
||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
$(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
-d $(LIBDEST) -f $(STDLIB_CACHE_FLAGS) \
|
||||
-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
|
||||
$(DESTDIR)$(LIBDEST)
|
||||
+endif
|
||||
+ifeq (@PYC_BUILD@,yes)
|
||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
$(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
-d $(LIBDEST)/site-packages -f $(STDLIB_CACHE_FLAGS) \
|
||||
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
|
||||
+endif
|
||||
+ifeq (@PYO_BUILD@,yes)
|
||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
$(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
-d $(LIBDEST)/site-packages -f $(STDLIB_CACHE_FLAGS) \
|
||||
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
|
||||
+endif
|
||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
|
||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -936,6 +936,18 @@
|
||||
|
||||
AC_MSG_CHECKING(LDLIBRARY)
|
||||
|
||||
+AC_SUBST(PYC_BUILD)
|
||||
+
|
||||
+AC_ARG_ENABLE(pyc-build,
|
||||
+ AS_HELP_STRING([--disable-pyc-build], [disable build of pyc files]),
|
||||
+ [ PYC_BUILD="${enableval}" ], [ PYC_BUILD=yes ])
|
||||
+
|
||||
+AC_SUBST(PYO_BUILD)
|
||||
+
|
||||
+AC_ARG_ENABLE(pyo-build,
|
||||
+ AS_HELP_STRING([--disable-pyo-build], [disable build of pyo files]),
|
||||
+ [ PYO_BUILD="${enableval}" ], [ PYO_BUILD=yes ])
|
||||
+
|
||||
# MacOSX framework builds need more magic. LDLIBRARY is the dynamic
|
||||
# library that we build, but we do not want to link against it (we
|
||||
# will find it with a -framework option). For this reason there is an
|
@ -6,11 +6,11 @@ Signed-off-by: Vanya Sergeev <vsergeev at gmail.com>
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: Python-3.3.0/configure.ac
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- Python-3.3.0.orig/configure.ac
|
||||
+++ Python-3.3.0/configure.ac
|
||||
@@ -3204,7 +3204,7 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3423,7 +3423,7 @@
|
||||
|
||||
AC_MSG_RESULT($ac_cv_buggy_getaddrinfo)
|
||||
|
@ -1,63 +0,0 @@
|
||||
Make sure setup.py reads the correct CONFIG_ARGS
|
||||
|
||||
The setup.py script that builds and installs all the Python modules
|
||||
shipped with the interpreter looks at the CONFIG_ARGS variable stored
|
||||
in the "sysconfig" module to look at the ./configure options and
|
||||
adjust its behaviour accordingly.
|
||||
|
||||
Unfortunately, when cross-compiling, the value of CONFIG_ARGS returned
|
||||
by the sysconfig are the one passed to the ./configure script of the
|
||||
*host* Python and not the one we're currently building for the target.
|
||||
|
||||
In order to avoid that, we re-initialize the values in the sysconfig
|
||||
module by re-reading the environment at the beginning of the setup.py
|
||||
script, and we make sure that the CONFIG_ARGS variable is actually
|
||||
part of the environment of setup.py.
|
||||
|
||||
See the beginning of
|
||||
http://article.gmane.org/gmane.comp.python.devel/99772 for the
|
||||
inspiration.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
---
|
||||
Makefile.pre.in | 4 +++-
|
||||
setup.py | 3 +++
|
||||
2 files changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: Python-3.3.0/setup.py
|
||||
===================================================================
|
||||
--- Python-3.3.0.orig/setup.py
|
||||
+++ Python-3.3.0/setup.py
|
||||
@@ -30,6 +30,9 @@
|
||||
# Were we compiled --with-pydebug or with #define Py_DEBUG?
|
||||
COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS"))
|
||||
|
||||
+sysconfig.get_config_vars()
|
||||
+sysconfig._CONFIG_VARS.update(os.environ)
|
||||
+
|
||||
# This global variable is used to hold the list of modules to be disabled.
|
||||
disabled_module_list = []
|
||||
|
||||
Index: Python-3.3.0/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-3.3.0.orig/Makefile.pre.in
|
||||
+++ Python-3.3.0/Makefile.pre.in
|
||||
@@ -478,6 +478,7 @@
|
||||
sharedmods: $(BUILDPYTHON) pybuilddir.txt
|
||||
case $$MAKEFLAGS in *s*) quiet=-q; esac; \
|
||||
$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
|
||||
+ CONFIG_ARGS="$(CONFIG_ARGS)" \
|
||||
$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
|
||||
|
||||
# Build static library
|
||||
@@ -1183,7 +1184,8 @@
|
||||
# Install the dynamically loadable modules
|
||||
# This goes into $(exec_prefix)
|
||||
sharedinstall: sharedmods
|
||||
- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
|
||||
+ $(RUNSHARED) CONFIG_ARGS="$(CONFIG_ARGS)" \
|
||||
+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
|
||||
--prefix=$(prefix) \
|
||||
--install-scripts=$(BINDIR) \
|
||||
--install-platlib=$(DESTSHARED) \
|
@ -1,76 +0,0 @@
|
||||
Change the location of pyconfig.h
|
||||
|
||||
The Python interpreter has a really strange behaviour: at *runtime*,
|
||||
it reads a Makefile and a header file named pyconfig.h to get some
|
||||
information about the configuration.
|
||||
|
||||
The Makefile is located in usr/lib/python3.3/config-3.3m, which is fine
|
||||
since this location is kept on the target.
|
||||
|
||||
However, by default, the pyconfig.h is installed in
|
||||
usr/include/python3.3m, but we completely remove the usr/include
|
||||
directory for the target. Since making an exception just for
|
||||
pyconfig.h is annoying, this patch also installs pyconfig.h to
|
||||
usr/lib/python3.3/config-3.3m, and modifies the sysconfig module so that it
|
||||
looks in this location instead of usr/include.
|
||||
|
||||
The pyconfig.h is still kept in usr/include/python3.3m, because it is
|
||||
needed in the $(STAGING_DIR) when building third-party Python
|
||||
extensions that contain C code.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
---
|
||||
Lib/distutils/sysconfig.py | 3 ++-
|
||||
Lib/sysconfig.py | 2 +-
|
||||
Makefile.pre.in | 3 ++-
|
||||
3 files changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: Python-3.3.0/Lib/distutils/sysconfig.py
|
||||
===================================================================
|
||||
--- Python-3.3.0.orig/Lib/distutils/sysconfig.py
|
||||
+++ Python-3.3.0/Lib/distutils/sysconfig.py
|
||||
@@ -239,7 +239,8 @@
|
||||
else:
|
||||
inc_dir = _sys_home or project_base
|
||||
else:
|
||||
- inc_dir = get_python_inc(plat_specific=1)
|
||||
+ lib_dir = get_python_lib(plat_specific=1, standard_lib=1)
|
||||
+ inc_dir = os.path.join(lib_dir, "config")
|
||||
if get_python_version() < '2.2':
|
||||
config_h = 'config.h'
|
||||
else:
|
||||
Index: Python-3.3.0/Lib/sysconfig.py
|
||||
===================================================================
|
||||
--- Python-3.3.0.orig/Lib/sysconfig.py
|
||||
+++ Python-3.3.0/Lib/sysconfig.py
|
||||
@@ -467,7 +467,7 @@
|
||||
else:
|
||||
inc_dir = _sys_home or _PROJECT_BASE
|
||||
else:
|
||||
- inc_dir = get_path('platinclude')
|
||||
+ inc_dir = os.path.join(get_path('stdlib'), "config")
|
||||
return os.path.join(inc_dir, 'pyconfig.h')
|
||||
|
||||
|
||||
Index: Python-3.3.0/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-3.3.0.orig/Makefile.pre.in
|
||||
+++ Python-3.3.0/Makefile.pre.in
|
||||
@@ -1123,7 +1123,6 @@
|
||||
echo $(INSTALL_DATA) $$i $(INCLUDEPY); \
|
||||
$(INSTALL_DATA) $$i $(DESTDIR)$(INCLUDEPY); \
|
||||
done
|
||||
- $(INSTALL_DATA) pyconfig.h $(DESTDIR)$(CONFINCLUDEPY)/pyconfig.h
|
||||
|
||||
# Install the library and miscellaneous stuff needed for extending/embedding
|
||||
# This goes into $(exec_prefix)
|
||||
@@ -1157,6 +1156,8 @@
|
||||
$(INSTALL_DATA) Modules/python.o $(DESTDIR)$(LIBPL)/python.o
|
||||
$(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in
|
||||
$(INSTALL_DATA) Makefile $(DESTDIR)$(LIBPL)/Makefile
|
||||
+ $(INSTALL_DATA) pyconfig.h $(DESTDIR)$(LIBPL)/pyconfig.h
|
||||
+ $(INSTALL_DATA) pyconfig.h $(DESTDIR)$(CONFINCLUDEPY)/pyconfig.h
|
||||
$(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup
|
||||
$(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local
|
||||
$(INSTALL_DATA) Modules/Setup.config $(DESTDIR)$(LIBPL)/Setup.config
|
@ -38,11 +38,11 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
setup.py | 5 ++++-
|
||||
3 files changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: cpython/Makefile.pre.in
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- cpython.orig/Makefile.pre.in
|
||||
+++ cpython/Makefile.pre.in
|
||||
@@ -155,6 +155,8 @@
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -175,6 +175,8 @@
|
||||
# configure script arguments
|
||||
CONFIG_ARGS= @CONFIG_ARGS@
|
||||
|
||||
@ -51,27 +51,29 @@ Index: cpython/Makefile.pre.in
|
||||
|
||||
# Subdirectories with code
|
||||
SRCDIRS= @SRCDIRS@
|
||||
@@ -478,6 +480,7 @@
|
||||
sharedmods: $(BUILDPYTHON) pybuilddir.txt
|
||||
@@ -561,6 +563,7 @@
|
||||
esac; \
|
||||
$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
|
||||
CONFIG_ARGS="$(CONFIG_ARGS)" \
|
||||
_TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
|
||||
+ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \
|
||||
$(PYTHON_FOR_BUILD) $(srcdir)/setup.py build
|
||||
$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
|
||||
|
||||
# Build static library
|
||||
@@ -1185,6 +1188,7 @@
|
||||
@@ -1371,7 +1374,8 @@
|
||||
# Install the dynamically loadable modules
|
||||
# This goes into $(exec_prefix)
|
||||
sharedinstall: sharedmods
|
||||
$(RUNSHARED) CONFIG_ARGS="$(CONFIG_ARGS)" \
|
||||
+ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \
|
||||
$(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
|
||||
- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
|
||||
+ $(RUNSHARED) DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \
|
||||
+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
|
||||
--prefix=$(prefix) \
|
||||
--install-scripts=$(BINDIR) \
|
||||
Index: cpython/configure.ac
|
||||
--install-platlib=$(DESTSHARED) \
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- cpython.orig/configure.ac
|
||||
+++ cpython/configure.ac
|
||||
@@ -2175,6 +2175,8 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2360,6 +2360,8 @@
|
||||
|
||||
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
|
||||
|
||||
@ -80,12 +82,12 @@ Index: cpython/configure.ac
|
||||
# Check for use of the system expat library
|
||||
AC_MSG_CHECKING(for --with-system-expat)
|
||||
AC_ARG_WITH(system_expat,
|
||||
Index: cpython/setup.py
|
||||
Index: b/setup.py
|
||||
===================================================================
|
||||
--- cpython.orig/setup.py
|
||||
+++ cpython/setup.py
|
||||
@@ -34,7 +34,10 @@
|
||||
sysconfig._CONFIG_VARS.update(os.environ)
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -33,7 +33,10 @@
|
||||
COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS"))
|
||||
|
||||
# This global variable is used to hold the list of modules to be disabled.
|
||||
-disabled_module_list = []
|
@ -0,0 +1,58 @@
|
||||
Index: b/Lib/distutils/sysconfig.py
|
||||
===================================================================
|
||||
--- a/Lib/distutils/sysconfig.py
|
||||
+++ b/Lib/distutils/sysconfig.py
|
||||
@@ -430,49 +430,11 @@
|
||||
|
||||
def _init_posix():
|
||||
"""Initialize the module as appropriate for POSIX systems."""
|
||||
- g = {}
|
||||
- # load the installed Makefile:
|
||||
- try:
|
||||
- filename = get_makefile_filename()
|
||||
- parse_makefile(filename, g)
|
||||
- except OSError as msg:
|
||||
- my_msg = "invalid Python installation: unable to open %s" % filename
|
||||
- if hasattr(msg, "strerror"):
|
||||
- my_msg = my_msg + " (%s)" % msg.strerror
|
||||
-
|
||||
- raise DistutilsPlatformError(my_msg)
|
||||
-
|
||||
- # load the installed pyconfig.h:
|
||||
- try:
|
||||
- filename = get_config_h_filename()
|
||||
- with open(filename) as file:
|
||||
- parse_config_h(file, g)
|
||||
- except OSError as msg:
|
||||
- my_msg = "invalid Python installation: unable to open %s" % filename
|
||||
- if hasattr(msg, "strerror"):
|
||||
- my_msg = my_msg + " (%s)" % msg.strerror
|
||||
-
|
||||
- raise DistutilsPlatformError(my_msg)
|
||||
-
|
||||
- # On AIX, there are wrong paths to the linker scripts in the Makefile
|
||||
- # -- these paths are relative to the Python source, but when installed
|
||||
- # the scripts are in another directory.
|
||||
- if python_build:
|
||||
- g['LDSHARED'] = g['BLDSHARED']
|
||||
-
|
||||
- elif get_python_version() < '2.1':
|
||||
- # The following two branches are for 1.5.2 compatibility.
|
||||
- if sys.platform == 'aix4': # what about AIX 3.x ?
|
||||
- # Linker script is in the config directory, not in Modules as the
|
||||
- # Makefile says.
|
||||
- python_lib = get_python_lib(standard_lib=1)
|
||||
- ld_so_aix = os.path.join(python_lib, 'config', 'ld_so_aix')
|
||||
- python_exp = os.path.join(python_lib, 'config', 'python.exp')
|
||||
-
|
||||
- g['LDSHARED'] = "%s %s -bI:%s" % (ld_so_aix, g['CC'], python_exp)
|
||||
-
|
||||
+ # _sysconfigdata is generated at build time, see the sysconfig module
|
||||
+ from _sysconfigdata import build_time_vars
|
||||
global _config_vars
|
||||
- _config_vars = g
|
||||
+ _config_vars = {}
|
||||
+ _config_vars.update(build_time_vars)
|
||||
|
||||
|
||||
def _init_nt():
|
@ -1,51 +0,0 @@
|
||||
Remove runtime library paths
|
||||
|
||||
For some extensions (sqlite and dbm), Python setup.py script
|
||||
hardcode a runtime path (rpath) into the extension. However, this
|
||||
runtime path is incorrect (because it points to the location of the
|
||||
library directory on the development machine) and useless (because on
|
||||
the target, all useful libraries are in a standard directory searched
|
||||
by the dynamic loader). For those reasons, we just get rid of the
|
||||
runtime paths in cross-compilation mode.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
setup.py | 12 ++++++++++--
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: Python-3.3.0/setup.py
|
||||
===================================================================
|
||||
--- Python-3.3.0.orig/setup.py
|
||||
+++ Python-3.3.0/setup.py
|
||||
@@ -1134,11 +1134,15 @@
|
||||
# can end up with a bad search path order.
|
||||
if sqlite_incdir not in self.compiler.include_dirs:
|
||||
include_dirs.append(sqlite_incdir)
|
||||
+ if cross_compiling:
|
||||
+ sqlite_runtime_libdir = None
|
||||
+ else:
|
||||
+ sqlite_runtime_libdir = sqlite_libdir
|
||||
exts.append(Extension('_sqlite3', sqlite_srcs,
|
||||
define_macros=sqlite_defines,
|
||||
include_dirs=include_dirs,
|
||||
library_dirs=sqlite_libdir,
|
||||
- runtime_library_dirs=sqlite_libdir,
|
||||
+ runtime_library_dirs=sqlite_runtime_libdir,
|
||||
extra_link_args=sqlite_extra_link_args,
|
||||
libraries=["sqlite3",]))
|
||||
else:
|
||||
@@ -1205,9 +1209,13 @@
|
||||
elif cand == "bdb":
|
||||
if db_incs is not None:
|
||||
if dbm_setup_debug: print("building dbm using bdb")
|
||||
+ if cross_compiling:
|
||||
+ dblib_runtime_libdir = None
|
||||
+ else:
|
||||
+ dblib_runtime_libdir = dblib_dir
|
||||
dbmext = Extension('_dbm', ['_dbmmodule.c'],
|
||||
library_dirs=dblib_dir,
|
||||
- runtime_library_dirs=dblib_dir,
|
||||
+ runtime_library_dirs=dblib_runtime_libdir,
|
||||
include_dirs=db_incs,
|
||||
define_macros=[
|
||||
('HAVE_BERKDB_H', None),
|
@ -0,0 +1,57 @@
|
||||
Adjust library/header paths for cross-compilation
|
||||
|
||||
When cross-compiling third-party extensions, the get_python_inc() or
|
||||
get_python_lib() can be called, to return the path to headers or
|
||||
libraries. However, they use the sys.prefix of the host Python, which
|
||||
returns incorrect paths when cross-compiling (paths pointing to host
|
||||
headers and libraries).
|
||||
|
||||
In order to fix this, we introduce the _python_sysroot, _python_prefix
|
||||
and _python_exec_prefix variables, that allow to override these
|
||||
values, and get correct header/library paths when cross-compiling
|
||||
third-party Python modules.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/Lib/distutils/sysconfig.py
|
||||
===================================================================
|
||||
--- a/Lib/distutils/sysconfig.py
|
||||
+++ b/Lib/distutils/sysconfig.py
|
||||
@@ -16,10 +16,17 @@
|
||||
from .errors import DistutilsPlatformError
|
||||
|
||||
# These are needed in a couple of spots, so just compute them once.
|
||||
-PREFIX = os.path.normpath(sys.prefix)
|
||||
-EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
|
||||
-BASE_PREFIX = os.path.normpath(sys.base_prefix)
|
||||
-BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix)
|
||||
+if "_python_sysroot" in os.environ:
|
||||
+ _sysroot=os.environ.get('_python_sysroot')
|
||||
+ PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_prefix'))
|
||||
+ EXEC_PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_exec_prefix'))
|
||||
+ BASE_PREFIX = PREFIX
|
||||
+ BASE_EXEC_PREFIX = EXEC_PREFIX
|
||||
+else:
|
||||
+ PREFIX = os.path.normpath(sys.prefix)
|
||||
+ EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
|
||||
+ BASE_PREFIX = os.path.normpath(sys.base_prefix)
|
||||
+ BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix)
|
||||
|
||||
# Path to the base directory of the project. On Windows the binary may
|
||||
# live in project/PCBuild9. If we're dealing with an x64 Windows build,
|
||||
Index: b/Lib/distutils/command/build_ext.py
|
||||
===================================================================
|
||||
--- a/Lib/distutils/command/build_ext.py
|
||||
+++ b/Lib/distutils/command/build_ext.py
|
||||
@@ -248,7 +248,10 @@
|
||||
if (sysconfig.get_config_var('Py_ENABLE_SHARED')):
|
||||
if not sysconfig.python_build:
|
||||
# building third party extensions
|
||||
- self.library_dirs.append(sysconfig.get_config_var('LIBDIR'))
|
||||
+ libdir = sysconfig.get_config_var('LIBDIR')
|
||||
+ if "_python_sysroot" in os.environ:
|
||||
+ libdir = os.environ.get("_python_sysroot") + libdir
|
||||
+ self.library_dirs.append(libdir)
|
||||
else:
|
||||
# building python standard extensions
|
||||
self.library_dirs.append('.')
|
@ -1,26 +0,0 @@
|
||||
Enables verbose output when building modules
|
||||
|
||||
Patch borrowed from OpenBricks.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
---
|
||||
Makefile.pre.in | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
Index: Python-3.3.0/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-3.3.0.orig/Makefile.pre.in
|
||||
+++ Python-3.3.0/Makefile.pre.in
|
||||
@@ -476,10 +476,9 @@
|
||||
|
||||
# Build the shared modules
|
||||
sharedmods: $(BUILDPYTHON) pybuilddir.txt
|
||||
- case $$MAKEFLAGS in *s*) quiet=-q; esac; \
|
||||
$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
|
||||
CONFIG_ARGS="$(CONFIG_ARGS)" \
|
||||
- $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
|
||||
+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py build
|
||||
|
||||
# Build static library
|
||||
# avoid long command lines, same as LIBRARY_OBJS
|
@ -1,71 +0,0 @@
|
||||
Add some cross-compilation fixes to distutils
|
||||
|
||||
Inspired by work done by Marc Kleine-Budde <mkl@pengutronix.de> in
|
||||
PTXdist.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
Lib/distutils/sysconfig.py | 17 +++++++++++++----
|
||||
configure.ac | 8 +++++++-
|
||||
2 files changed, 20 insertions(+), 5 deletions(-)
|
||||
|
||||
Index: Python-3.3.0/Lib/distutils/sysconfig.py
|
||||
===================================================================
|
||||
--- Python-3.3.0.orig/Lib/distutils/sysconfig.py
|
||||
+++ Python-3.3.0/Lib/distutils/sysconfig.py
|
||||
@@ -16,15 +16,24 @@
|
||||
from .errors import DistutilsPlatformError
|
||||
|
||||
# These are needed in a couple of spots, so just compute them once.
|
||||
-PREFIX = os.path.normpath(sys.prefix)
|
||||
-EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
|
||||
+EXECUTABLE_DIRNAME = os.path.dirname(os.path.realpath(sys.executable))
|
||||
+if os.environ.get('CROSS_COMPILING') == 'yes':
|
||||
+ _sysroot=os.environ.get('_python_sysroot')
|
||||
+ PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_prefix'))
|
||||
+ EXEC_PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_exec_prefix'))
|
||||
+ if '_python_srcdir' in os.environ:
|
||||
+ EXECUTABLE_DIRNAME = os.path.normpath(os.environ['_python_srcdir'])
|
||||
+else:
|
||||
+ PREFIX = os.path.normpath(sys.prefix)
|
||||
+ EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
|
||||
+
|
||||
BASE_PREFIX = os.path.normpath(sys.base_prefix)
|
||||
BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix)
|
||||
|
||||
# Path to the base directory of the project. On Windows the binary may
|
||||
# live in project/PCBuild9. If we're dealing with an x64 Windows build,
|
||||
# it'll live in project/PCbuild/amd64.
|
||||
-project_base = os.path.dirname(os.path.abspath(sys.executable))
|
||||
+project_base = EXECUTABLE_DIRNAME
|
||||
if os.name == "nt" and "pcbuild" in project_base[-8:].lower():
|
||||
project_base = os.path.abspath(os.path.join(project_base, os.path.pardir))
|
||||
# PC/VS7.1
|
||||
@@ -98,7 +107,7 @@
|
||||
# the build directory may not be the source directory, we
|
||||
# must use "srcdir" from the makefile to find the "Include"
|
||||
# directory.
|
||||
- base = _sys_home or os.path.dirname(os.path.abspath(sys.executable))
|
||||
+ base = _sys_home or EXECUTABLE_DIRNAME
|
||||
if plat_specific:
|
||||
return base
|
||||
if _sys_home:
|
||||
Index: Python-3.3.0/configure.ac
|
||||
===================================================================
|
||||
--- Python-3.3.0.orig/configure.ac
|
||||
+++ Python-3.3.0/configure.ac
|
||||
@@ -963,7 +963,13 @@
|
||||
fi
|
||||
|
||||
if test "$cross_compiling" = yes; then
|
||||
- RUNSHARED=
|
||||
+ RUNSHARED=" \
|
||||
+ CROSS_COMPILING=yes \
|
||||
+ _python_cross_host=${ac_cv_host} \
|
||||
+ _python_sysroot=\"\$(sysroot)\" \
|
||||
+ _python_srcdir=\"\$(srcdir)\" \
|
||||
+ _python_prefix=\"\$(prefix)\" \
|
||||
+ _python_exec_prefix=\"\$(exec_prefix)\""
|
||||
fi
|
||||
|
||||
AC_MSG_RESULT($LDLIBRARY)
|
22
package/python3/python3-010-no-termcap-host-path.patch
Normal file
22
package/python3/python3-010-no-termcap-host-path.patch
Normal file
@ -0,0 +1,22 @@
|
||||
Don't look in /usr/lib/termcap for libraries
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/setup.py
|
||||
===================================================================
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -725,12 +725,9 @@
|
||||
pass # Issue 7384: Already linked against curses or tinfo.
|
||||
elif curses_library:
|
||||
readline_libs.append(curses_library)
|
||||
- elif self.compiler.find_library_file(lib_dirs +
|
||||
- ['/usr/lib/termcap'],
|
||||
- 'termcap'):
|
||||
+ elif self.compiler.find_library_file(lib_dirs, 'termcap'):
|
||||
readline_libs.append('termcap')
|
||||
exts.append( Extension('readline', ['readline.c'],
|
||||
- library_dirs=['/usr/lib/termcap'],
|
||||
extra_link_args=readline_extra_link_args,
|
||||
libraries=readline_libs) )
|
||||
else:
|
@ -11,11 +11,11 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
configure.ac | 6 ++++++
|
||||
2 files changed, 38 insertions(+), 18 deletions(-)
|
||||
|
||||
Index: cpython/Makefile.pre.in
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- cpython.orig/Makefile.pre.in
|
||||
+++ cpython/Makefile.pre.in
|
||||
@@ -976,8 +976,26 @@
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -1120,8 +1120,30 @@
|
||||
EXTRAPLATDIR= @EXTRAPLATDIR@
|
||||
MACHDEPS= $(PLATDIR) $(EXTRAPLATDIR)
|
||||
XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax
|
||||
@ -23,13 +23,16 @@ Index: cpython/Makefile.pre.in
|
||||
- tkinter/test/test_ttk site-packages test \
|
||||
+LIBSUBDIRS= tkinter \
|
||||
+ site-packages \
|
||||
+ asyncio \
|
||||
+ collections concurrent concurrent/futures encodings \
|
||||
+ email email/mime \
|
||||
+ ensurepip ensurepip/_bundled \
|
||||
+ html json http dbm xmlrpc \
|
||||
+ sqlite3 \
|
||||
+ logging csv wsgiref urllib \
|
||||
+ lib2to3 lib2to3/fixes lib2to3/pgen2 \
|
||||
+ ctypes ctypes/macholib idlelib idlelib/Icons \
|
||||
+ ctypes ctypes/macholib \
|
||||
+ idlelib idlelib/Icons \
|
||||
+ distutils distutils/command $(XMLLIBSUBDIRS) \
|
||||
+ importlib \
|
||||
+ turtledemo \
|
||||
@ -38,37 +41,34 @@ Index: cpython/Makefile.pre.in
|
||||
+ venv venv/scripts venv/scripts/posix \
|
||||
+ curses pydoc_data $(MACHDEPS)
|
||||
+
|
||||
+ifeq (@TEST_MODULES@,yes)
|
||||
+LIBSUBDIRS += tkinter/test tkinter/test/test_tkinter \
|
||||
+ tkinter/test/test_ttk test \
|
||||
+TESTSUBDIRS = tkinter/test tkinter/test/test_tkinter tkinter/test/test_ttk \
|
||||
+ test test/test_asyncio ctypes/test \
|
||||
+ test/test_email test/test_email/data \
|
||||
+ test/test_json \
|
||||
test/audiodata \
|
||||
test/capath test/data \
|
||||
test/cjkencodings test/decimaltestdata test/xmltestdata \
|
||||
test/subprocessdata test/sndhdrdata \
|
||||
@@ -1000,26 +1018,22 @@
|
||||
test/namespace_pkgs/project3 \
|
||||
test/namespace_pkgs/project3/parent \
|
||||
@@ -1148,28 +1170,20 @@
|
||||
test/namespace_pkgs/project3/parent/child \
|
||||
- test/namespace_pkgs/module_and_namespace_package \
|
||||
- test/namespace_pkgs/module_and_namespace_package/a_test \
|
||||
test/namespace_pkgs/module_and_namespace_package \
|
||||
test/namespace_pkgs/module_and_namespace_package/a_test \
|
||||
- asyncio \
|
||||
- test/test_asyncio \
|
||||
- collections concurrent concurrent/futures encodings \
|
||||
- email email/mime test/test_email test/test_email/data \
|
||||
- html json test/json_tests http dbm xmlrpc \
|
||||
- ensurepip ensurepip/_bundled \
|
||||
- html json test/test_json http dbm xmlrpc \
|
||||
- sqlite3 sqlite3/test \
|
||||
- logging csv wsgiref urllib \
|
||||
- lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \
|
||||
+ test/namespace_pkgs/module_and_namespace_package \
|
||||
+ test/namespace_pkgs/module_and_namespace_package/a_test \
|
||||
+ test/test_email test/test_email/data \
|
||||
+ test/json_tests \
|
||||
+ sqlite3/test \
|
||||
+ lib2to3/tests \
|
||||
lib2to3/tests/data lib2to3/tests/data/fixers \
|
||||
lib2to3/tests/data/fixers/myfixes \
|
||||
- ctypes ctypes/test ctypes/macholib idlelib idlelib/Icons \
|
||||
- ctypes ctypes/test ctypes/macholib \
|
||||
- idlelib idlelib/Icons idlelib/idle_test \
|
||||
- distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \
|
||||
- importlib test/test_importlib test/test_importlib/builtin \
|
||||
+ ctypes/test \
|
||||
+ distutils/tests \
|
||||
+ sqlite3/test idlelib/idle_test \
|
||||
+ test/test_importlib test/test_importlib/builtin \
|
||||
test/test_importlib/extension test/test_importlib/frozen \
|
||||
test/test_importlib/import_ test/test_importlib/source \
|
||||
@ -77,17 +77,21 @@ Index: cpython/Makefile.pre.in
|
||||
- unittest unittest/test unittest/test/testmock \
|
||||
- venv venv/scripts venv/scripts/posix \
|
||||
- curses pydoc_data $(MACHDEPS)
|
||||
+ unittest unittest/test unittest/test/testmock
|
||||
+ unittest/test unittest/test/testmock \
|
||||
+ distutils/tests
|
||||
+
|
||||
+ifeq (@TEST_MODULES@,yes)
|
||||
+LIBSUBDIRS += $(TESTSUBDIRS)
|
||||
+endif
|
||||
+
|
||||
libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
||||
@for i in $(SCRIPTDIR) $(LIBDEST); \
|
||||
do \
|
||||
Index: cpython/configure.ac
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- cpython.orig/configure.ac
|
||||
+++ cpython/configure.ac
|
||||
@@ -2449,6 +2449,12 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2667,6 +2667,12 @@
|
||||
fi
|
||||
|
||||
|
||||
|
@ -12,11 +12,11 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
setup.py | 9 +++++++--
|
||||
3 files changed, 19 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: cpython/Makefile.pre.in
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- cpython.orig/Makefile.pre.in
|
||||
+++ cpython/Makefile.pre.in
|
||||
@@ -952,7 +952,9 @@
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -1087,7 +1087,9 @@
|
||||
-rm -f $(DESTDIR)$(BINDIR)/idle3
|
||||
(cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3)
|
||||
-rm -f $(DESTDIR)$(BINDIR)/pydoc3
|
||||
@ -26,32 +26,32 @@ Index: cpython/Makefile.pre.in
|
||||
-rm -f $(DESTDIR)$(BINDIR)/2to3
|
||||
(cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3)
|
||||
-rm -f $(DESTDIR)$(BINDIR)/pyvenv
|
||||
@@ -991,7 +993,7 @@
|
||||
@@ -1138,7 +1140,7 @@
|
||||
multiprocessing multiprocessing/dummy \
|
||||
unittest \
|
||||
venv venv/scripts venv/scripts/posix \
|
||||
- curses pydoc_data $(MACHDEPS)
|
||||
+ curses $(MACHDEPS)
|
||||
|
||||
ifeq (@TEST_MODULES@,yes)
|
||||
LIBSUBDIRS += tkinter/test tkinter/test/test_tkinter \
|
||||
@@ -1034,6 +1036,10 @@
|
||||
unittest unittest/test unittest/test/testmock
|
||||
endif
|
||||
TESTSUBDIRS = tkinter/test tkinter/test/test_tkinter tkinter/test/test_ttk \
|
||||
test test/test_asyncio ctypes/test \
|
||||
@@ -1180,6 +1182,10 @@
|
||||
unittest/test unittest/test/testmock \
|
||||
distutils/tests
|
||||
|
||||
+ifeq (@PYDOC@,yes)
|
||||
+LIBSUBDIRS += pydoc_data
|
||||
+endif
|
||||
+
|
||||
libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
||||
@for i in $(SCRIPTDIR) $(LIBDEST); \
|
||||
do \
|
||||
Index: cpython/configure.ac
|
||||
ifeq (@TEST_MODULES@,yes)
|
||||
LIBSUBDIRS += $(TESTSUBDIRS)
|
||||
endif
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- cpython.orig/configure.ac
|
||||
+++ cpython/configure.ac
|
||||
@@ -2448,6 +2448,11 @@
|
||||
esac])
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2666,6 +2666,11 @@
|
||||
AC_CHECK_FUNCS(pthread_atfork)
|
||||
fi
|
||||
|
||||
+AC_SUBST(PYDOC)
|
||||
@ -62,11 +62,11 @@ Index: cpython/configure.ac
|
||||
|
||||
AC_SUBST(TEST_MODULES)
|
||||
|
||||
Index: cpython/setup.py
|
||||
Index: b/setup.py
|
||||
===================================================================
|
||||
--- cpython.orig/setup.py
|
||||
+++ cpython/setup.py
|
||||
@@ -2123,6 +2123,12 @@
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -2182,6 +2182,12 @@
|
||||
# turn off warnings when deprecated modules are imported
|
||||
import warnings
|
||||
warnings.filterwarnings("ignore",category=DeprecationWarning)
|
||||
@ -79,7 +79,7 @@ Index: cpython/setup.py
|
||||
setup(# PyPI Metadata (PEP 301)
|
||||
name = "Python",
|
||||
version = sys.version.split()[0],
|
||||
@@ -2147,8 +2153,7 @@
|
||||
@@ -2206,8 +2212,7 @@
|
||||
# If you change the scripts installed here, you also need to
|
||||
# check the PyBuildScripts command above, and change the links
|
||||
# created by the bininstall target in Makefile.pre.in
|
||||
|
@ -12,11 +12,11 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
setup.py | 5 +++--
|
||||
3 files changed, 23 insertions(+), 6 deletions(-)
|
||||
|
||||
Index: cpython/Makefile.pre.in
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- cpython.orig/Makefile.pre.in
|
||||
+++ cpython/Makefile.pre.in
|
||||
@@ -956,7 +956,9 @@
|
||||
--- 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
|
||||
@ -25,46 +25,44 @@ Index: cpython/Makefile.pre.in
|
||||
+endif
|
||||
-rm -f $(DESTDIR)$(BINDIR)/pyvenv
|
||||
(cd $(DESTDIR)$(BINDIR); $(LN) -s pyvenv-$(VERSION) pyvenv)
|
||||
|
||||
@@ -985,7 +987,6 @@
|
||||
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 \
|
||||
ctypes ctypes/macholib \
|
||||
idlelib idlelib/Icons \
|
||||
distutils distutils/command $(XMLLIBSUBDIRS) \
|
||||
importlib \
|
||||
@@ -1025,9 +1026,6 @@
|
||||
test/test_email test/test_email/data \
|
||||
test/json_tests \
|
||||
sqlite3/test \
|
||||
@@ -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 \
|
||||
ctypes/test \
|
||||
distutils/tests \
|
||||
sqlite3/test idlelib/idle_test \
|
||||
test/test_importlib test/test_importlib/builtin \
|
||||
@@ -1040,6 +1038,16 @@
|
||||
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
|
||||
+ifeq (@TEST_MODULES@,yes)
|
||||
+LIBSUBDIRS += lib2to3/tests \
|
||||
+ lib2to3/tests/data \
|
||||
+ lib2to3/tests/data/fixers \
|
||||
+ lib2to3/tests/data/fixers/myfixes
|
||||
+endif
|
||||
+TESTSUBDIRS += lib2to3/tests \
|
||||
+ lib2to3/tests/data \
|
||||
+ lib2to3/tests/data/fixers \
|
||||
+ lib2to3/tests/data/fixers/myfixes
|
||||
+endif
|
||||
+
|
||||
libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
||||
@for i in $(SCRIPTDIR) $(LIBDEST); \
|
||||
do \
|
||||
@@ -1109,10 +1117,12 @@
|
||||
$(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
-d $(LIBDEST)/site-packages -f \
|
||||
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
|
||||
@ -74,11 +72,11 @@ Index: cpython/Makefile.pre.in
|
||||
|
||||
# Create the PLATDIR source directory, if one wasn't distributed..
|
||||
$(srcdir)/Lib/$(PLATDIR):
|
||||
Index: cpython/setup.py
|
||||
Index: b/setup.py
|
||||
===================================================================
|
||||
--- cpython.orig/setup.py
|
||||
+++ cpython/setup.py
|
||||
@@ -2124,10 +2124,11 @@
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -2183,10 +2183,11 @@
|
||||
import warnings
|
||||
warnings.filterwarnings("ignore",category=DeprecationWarning)
|
||||
|
||||
@ -92,11 +90,11 @@ Index: cpython/setup.py
|
||||
|
||||
setup(# PyPI Metadata (PEP 301)
|
||||
name = "Python",
|
||||
Index: cpython/configure.ac
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- cpython.orig/configure.ac
|
||||
+++ cpython/configure.ac
|
||||
@@ -2460,6 +2460,12 @@
|
||||
--- 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 ])
|
||||
|
||||
|
@ -8,12 +8,12 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
configure.ac | 9 +++++++++
|
||||
2 files changed, 16 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: cpython/configure.ac
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- cpython.orig/configure.ac
|
||||
+++ cpython/configure.ac
|
||||
@@ -2448,6 +2448,15 @@
|
||||
esac])
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2666,6 +2666,15 @@
|
||||
AC_CHECK_FUNCS(pthread_atfork)
|
||||
fi
|
||||
|
||||
+AC_SUBST(SQLITE3)
|
||||
@ -28,37 +28,36 @@ Index: cpython/configure.ac
|
||||
AC_SUBST(PYDOC)
|
||||
|
||||
AC_ARG_ENABLE(pydoc,
|
||||
Index: cpython/Makefile.pre.in
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- cpython.orig/Makefile.pre.in
|
||||
+++ cpython/Makefile.pre.in
|
||||
@@ -985,7 +985,6 @@
|
||||
collections concurrent concurrent/futures encodings \
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -1131,7 +1131,6 @@
|
||||
email email/mime \
|
||||
ensurepip ensurepip/_bundled \
|
||||
html json http dbm xmlrpc \
|
||||
- sqlite3 \
|
||||
logging csv wsgiref urllib \
|
||||
ctypes ctypes/macholib idlelib idlelib/Icons \
|
||||
distutils distutils/command $(XMLLIBSUBDIRS) \
|
||||
@@ -1025,7 +1024,6 @@
|
||||
test/namespace_pkgs/module_and_namespace_package/a_test \
|
||||
test/test_email test/test_email/data \
|
||||
test/json_tests \
|
||||
- sqlite3/test \
|
||||
ctypes/test \
|
||||
distutils/tests \
|
||||
ctypes ctypes/macholib \
|
||||
idlelib idlelib/Icons \
|
||||
@@ -1173,7 +1172,7 @@
|
||||
test/namespace_pkgs/project3/parent/child \
|
||||
test/namespace_pkgs/module_and_namespace_package \
|
||||
test/namespace_pkgs/module_and_namespace_package/a_test \
|
||||
- sqlite3/test idlelib/idle_test \
|
||||
+ idlelib/idle_test \
|
||||
test/test_importlib test/test_importlib/builtin \
|
||||
@@ -1048,6 +1046,13 @@
|
||||
endif
|
||||
test/test_importlib/extension test/test_importlib/frozen \
|
||||
test/test_importlib/import_ test/test_importlib/source \
|
||||
@@ -1192,6 +1191,11 @@
|
||||
lib2to3/tests/data/fixers/myfixes
|
||||
endif
|
||||
|
||||
+ifeq (@SQLITE3@,yes)
|
||||
+LIBSUBDIRS += sqlite3
|
||||
+ifeq (@TEST_MODULES@,yes)
|
||||
+LIBSUBDIRS += sqlite3/test
|
||||
+endif
|
||||
+TESTSUBDIRS += sqlite3/test
|
||||
+endif
|
||||
+
|
||||
libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
||||
@for i in $(SCRIPTDIR) $(LIBDEST); \
|
||||
do \
|
||||
ifeq (@TEST_MODULES@,yes)
|
||||
LIBSUBDIRS += $(TESTSUBDIRS)
|
||||
endif
|
||||
|
@ -8,50 +8,47 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
configure.ac | 9 +++++++++
|
||||
2 files changed, 20 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: cpython/Makefile.pre.in
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- cpython.orig/Makefile.pre.in
|
||||
+++ cpython/Makefile.pre.in
|
||||
@@ -980,7 +980,7 @@
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -1124,7 +1124,7 @@
|
||||
EXTRAPLATDIR= @EXTRAPLATDIR@
|
||||
MACHDEPS= $(PLATDIR) $(EXTRAPLATDIR)
|
||||
XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax
|
||||
-LIBSUBDIRS= tkinter \
|
||||
+LIBSUBDIRS= \
|
||||
site-packages \
|
||||
asyncio \
|
||||
collections concurrent concurrent/futures encodings \
|
||||
email email/mime \
|
||||
@@ -996,8 +996,7 @@
|
||||
@@ -1142,8 +1142,7 @@
|
||||
venv venv/scripts venv/scripts/posix \
|
||||
curses $(MACHDEPS)
|
||||
|
||||
ifeq (@TEST_MODULES@,yes)
|
||||
-LIBSUBDIRS += tkinter/test tkinter/test/test_tkinter \
|
||||
- tkinter/test/test_ttk test \
|
||||
+LIBSUBDIRS += test \
|
||||
test/capath test/data \
|
||||
test/cjkencodings test/decimaltestdata test/xmltestdata \
|
||||
test/subprocessdata test/sndhdrdata \
|
||||
@@ -1053,6 +1052,15 @@
|
||||
endif
|
||||
-TESTSUBDIRS = tkinter/test tkinter/test/test_tkinter tkinter/test/test_ttk \
|
||||
- test test/test_asyncio ctypes/test \
|
||||
+TESTSUBDIRS = test test/test_asyncio ctypes/test \
|
||||
test/test_email test/test_email/data \
|
||||
test/test_json \
|
||||
test/audiodata \
|
||||
@@ -1196,6 +1195,12 @@
|
||||
TESTSUBDIRS += sqlite3/test
|
||||
endif
|
||||
|
||||
+ifeq (@TK@,yes)
|
||||
+LIBSUBDIRS += tkinter
|
||||
+ifeq (@TEST_MODULES@,yes)
|
||||
+LIBSUBDIRS += \
|
||||
+ tkinter/test tkinter/test/test_tkinter \
|
||||
+ tkinter/test/test_ttk
|
||||
+endif
|
||||
+TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \
|
||||
+ tkinter/test/test_ttk
|
||||
+endif
|
||||
+
|
||||
libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
||||
@for i in $(SCRIPTDIR) $(LIBDEST); \
|
||||
do \
|
||||
Index: cpython/configure.ac
|
||||
ifeq (@TEST_MODULES@,yes)
|
||||
LIBSUBDIRS += $(TESTSUBDIRS)
|
||||
endif
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- cpython.orig/configure.ac
|
||||
+++ cpython/configure.ac
|
||||
@@ -2457,6 +2457,15 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2675,6 +2675,15 @@
|
||||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3"
|
||||
fi
|
||||
|
||||
|
@ -8,35 +8,35 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
configure.ac | 9 +++++++++
|
||||
2 files changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: cpython/Makefile.pre.in
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- cpython.orig/Makefile.pre.in
|
||||
+++ cpython/Makefile.pre.in
|
||||
@@ -993,7 +993,7 @@
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -1140,7 +1140,7 @@
|
||||
multiprocessing multiprocessing/dummy \
|
||||
unittest \
|
||||
venv venv/scripts venv/scripts/posix \
|
||||
- curses $(MACHDEPS)
|
||||
+ $(MACHDEPS)
|
||||
|
||||
ifeq (@TEST_MODULES@,yes)
|
||||
LIBSUBDIRS += test \
|
||||
@@ -1061,6 +1061,10 @@
|
||||
endif
|
||||
TESTSUBDIRS = test test/test_asyncio ctypes/test \
|
||||
test/test_email test/test_email/data \
|
||||
@@ -1201,6 +1201,10 @@
|
||||
tkinter/test/test_ttk
|
||||
endif
|
||||
|
||||
+ifeq (@CURSES@,yes)
|
||||
+LIBSUBDIRS += curses
|
||||
+endif
|
||||
+
|
||||
libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
||||
@for i in $(SCRIPTDIR) $(LIBDEST); \
|
||||
do \
|
||||
Index: cpython/configure.ac
|
||||
ifeq (@TEST_MODULES@,yes)
|
||||
LIBSUBDIRS += $(TESTSUBDIRS)
|
||||
endif
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- cpython.orig/configure.ac
|
||||
+++ cpython/configure.ac
|
||||
@@ -2466,6 +2466,15 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2684,6 +2684,15 @@
|
||||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter"
|
||||
fi
|
||||
|
||||
|
@ -15,20 +15,20 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
setup.py | 2 +-
|
||||
3 files changed, 19 insertions(+), 7 deletions(-)
|
||||
|
||||
Index: cpython/Makefile.pre.in
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- cpython.orig/Makefile.pre.in
|
||||
+++ cpython/Makefile.pre.in
|
||||
@@ -987,7 +987,7 @@
|
||||
html json http dbm xmlrpc \
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -1134,7 +1134,7 @@
|
||||
logging csv wsgiref urllib \
|
||||
ctypes ctypes/macholib idlelib idlelib/Icons \
|
||||
ctypes ctypes/macholib \
|
||||
idlelib idlelib/Icons \
|
||||
- distutils distutils/command $(XMLLIBSUBDIRS) \
|
||||
+ distutils distutils/command \
|
||||
importlib \
|
||||
turtledemo \
|
||||
multiprocessing multiprocessing/dummy \
|
||||
@@ -1065,6 +1065,10 @@
|
||||
@@ -1205,6 +1205,10 @@
|
||||
LIBSUBDIRS += curses
|
||||
endif
|
||||
|
||||
@ -36,14 +36,14 @@ Index: cpython/Makefile.pre.in
|
||||
+LIBSUBDIRS += $(XMLLIBSUBDIRS)
|
||||
+endif
|
||||
+
|
||||
libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
||||
@for i in $(SCRIPTDIR) $(LIBDEST); \
|
||||
do \
|
||||
Index: cpython/configure.ac
|
||||
ifeq (@TEST_MODULES@,yes)
|
||||
LIBSUBDIRS += $(TESTSUBDIRS)
|
||||
endif
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- cpython.orig/configure.ac
|
||||
+++ cpython/configure.ac
|
||||
@@ -2178,13 +2178,21 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2363,13 +2363,21 @@
|
||||
AC_SUBST(DISABLED_EXTENSIONS)
|
||||
|
||||
# Check for use of the system expat library
|
||||
@ -70,11 +70,11 @@ Index: cpython/configure.ac
|
||||
|
||||
# Check for use of the system libffi library
|
||||
AC_MSG_CHECKING(for --with-system-ffi)
|
||||
Index: cpython/setup.py
|
||||
Index: b/setup.py
|
||||
===================================================================
|
||||
--- cpython.orig/setup.py
|
||||
+++ cpython/setup.py
|
||||
@@ -1404,7 +1404,7 @@
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -1396,7 +1396,7 @@
|
||||
#
|
||||
# More information on Expat can be found at www.libexpat.org.
|
||||
#
|
||||
|
@ -6,11 +6,11 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
configure.ac | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
Index: cpython/configure.ac
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- cpython.orig/configure.ac
|
||||
+++ cpython/configure.ac
|
||||
@@ -2465,6 +2465,12 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2683,6 +2683,12 @@
|
||||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3"
|
||||
fi
|
||||
|
||||
|
@ -9,11 +9,11 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
configure.ac | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
Index: cpython/configure.ac
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- cpython.orig/configure.ac
|
||||
+++ cpython/configure.ac
|
||||
@@ -2471,6 +2471,12 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2689,6 +2689,12 @@
|
||||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022"
|
||||
fi])
|
||||
|
||||
|
@ -6,11 +6,11 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
configure.ac | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
Index: cpython/configure.ac
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- cpython.orig/configure.ac
|
||||
+++ cpython/configure.ac
|
||||
@@ -2477,6 +2477,12 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2695,6 +2695,12 @@
|
||||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis"
|
||||
fi])
|
||||
|
||||
|
@ -11,11 +11,11 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
setup.py | 4 +++-
|
||||
3 files changed, 16 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: cpython/Makefile.pre.in
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- cpython.orig/Makefile.pre.in
|
||||
+++ cpython/Makefile.pre.in
|
||||
@@ -950,7 +950,9 @@
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -1085,7 +1085,9 @@
|
||||
-rm -f $(DESTDIR)$(LIBPC)/python3.pc
|
||||
(cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python3.pc)
|
||||
-rm -f $(DESTDIR)$(BINDIR)/idle3
|
||||
@ -25,16 +25,15 @@ Index: cpython/Makefile.pre.in
|
||||
-rm -f $(DESTDIR)$(BINDIR)/pydoc3
|
||||
ifeq (@PYDOC@,yes)
|
||||
(cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3)
|
||||
@@ -986,7 +988,7 @@
|
||||
email email/mime \
|
||||
@@ -1133,7 +1135,6 @@
|
||||
html json http dbm xmlrpc \
|
||||
logging csv wsgiref urllib \
|
||||
- ctypes ctypes/macholib idlelib idlelib/Icons \
|
||||
+ ctypes ctypes/macholib \
|
||||
ctypes ctypes/macholib \
|
||||
- idlelib idlelib/Icons \
|
||||
distutils distutils/command \
|
||||
importlib \
|
||||
turtledemo \
|
||||
@@ -1069,6 +1071,10 @@
|
||||
@@ -1209,6 +1210,10 @@
|
||||
LIBSUBDIRS += $(XMLLIBSUBDIRS)
|
||||
endif
|
||||
|
||||
@ -42,14 +41,14 @@ Index: cpython/Makefile.pre.in
|
||||
+LIBSUBDIRS += idlelib idlelib/Icons
|
||||
+endif
|
||||
+
|
||||
libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
||||
@for i in $(SCRIPTDIR) $(LIBDEST); \
|
||||
do \
|
||||
Index: cpython/configure.ac
|
||||
ifeq (@TEST_MODULES@,yes)
|
||||
LIBSUBDIRS += $(TESTSUBDIRS)
|
||||
endif
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- cpython.orig/configure.ac
|
||||
+++ cpython/configure.ac
|
||||
@@ -2519,6 +2519,12 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2737,6 +2737,12 @@
|
||||
AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]),
|
||||
[ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ])
|
||||
|
||||
@ -62,11 +61,11 @@ Index: cpython/configure.ac
|
||||
# Check for enable-ipv6
|
||||
AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified])
|
||||
AC_MSG_CHECKING([if --enable-ipv6 is specified])
|
||||
Index: cpython/setup.py
|
||||
Index: b/setup.py
|
||||
===================================================================
|
||||
--- cpython.orig/setup.py
|
||||
+++ cpython/setup.py
|
||||
@@ -2124,11 +2124,13 @@
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -2183,11 +2183,13 @@
|
||||
import warnings
|
||||
warnings.filterwarnings("ignore",category=DeprecationWarning)
|
||||
|
||||
|
@ -4,10 +4,11 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON3_VERSION_MAJOR = 3.3
|
||||
PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).0
|
||||
PYTHON3_VERSION_MAJOR = 3.4
|
||||
PYTHON3_VERSION_MINOR = 0
|
||||
PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).$(PYTHON3_VERSION_MINOR)rc1
|
||||
PYTHON3_SOURCE = Python-$(PYTHON3_VERSION).tar.xz
|
||||
PYTHON3_SITE = http://python.org/ftp/python/$(PYTHON3_VERSION)
|
||||
PYTHON3_SITE = http://python.org/ftp/python/$(PYTHON3_VERSION_MAJOR).$(PYTHON3_VERSION_MINOR)
|
||||
|
||||
# Python needs itself and a "pgen" program to build itself, both being
|
||||
# provided in the Python sources. So in order to cross-compile Python,
|
||||
@ -16,6 +17,7 @@ PYTHON3_SITE = http://python.org/ftp/python/$(PYTHON3_VERSION)
|
||||
# third-party Python modules.
|
||||
|
||||
HOST_PYTHON3_CONF_OPT += \
|
||||
--without-ensurepip \
|
||||
--without-cxx-main \
|
||||
--disable-sqlite3 \
|
||||
--disable-tk \
|
||||
@ -25,25 +27,8 @@ HOST_PYTHON3_CONF_OPT += \
|
||||
--disable-nis \
|
||||
--disable-unicodedata \
|
||||
--disable-test-modules \
|
||||
--disable-idle3
|
||||
|
||||
HOST_PYTHON3_MAKE_ENV = \
|
||||
PYTHON_MODULES_INCLUDE=$(HOST_DIR)/usr/include \
|
||||
PYTHON_MODULES_LIB="$(HOST_DIR)/lib $(HOST_DIR)/usr/lib"
|
||||
|
||||
|
||||
define HOST_PYTHON3_CONFIGURE_CMDS
|
||||
(cd $(@D) && rm -rf config.cache; \
|
||||
$(HOST_CONFIGURE_OPTS) \
|
||||
CFLAGS="$(HOST_CFLAGS)" \
|
||||
LDFLAGS="$(HOST_LDFLAGS)" \
|
||||
$(HOST_PYTHON3_CONF_ENV) \
|
||||
./configure \
|
||||
--prefix="$(HOST_DIR)/usr" \
|
||||
--sysconfdir="$(HOST_DIR)/etc" \
|
||||
$(HOST_PYTHON3_CONF_OPT) \
|
||||
)
|
||||
endef
|
||||
--disable-idle3 \
|
||||
--disable-pyo-build
|
||||
|
||||
PYTHON3_DEPENDENCIES = host-python3 libffi
|
||||
|
||||
@ -72,6 +57,10 @@ ifeq ($(BR2_PACKAGE_PYTHON3_PYC_ONLY),y)
|
||||
PYTHON3_CONF_OPT += --enable-old-stdlib-cache
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_PYTHON3_PY_ONLY),y)
|
||||
PYTHON3_CONF_OPT += --disable-pyc-build
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_PYTHON3_SQLITE),y)
|
||||
PYTHON3_DEPENDENCIES += sqlite
|
||||
else
|
||||
@ -99,15 +88,12 @@ PYTHON3_DEPENDENCIES += zlib
|
||||
endif
|
||||
|
||||
PYTHON3_CONF_ENV += \
|
||||
_PROJECT_BASE=$(PYTHON3_DIR) \
|
||||
_PYTHON_HOST_PLATFORM=$(BR2_HOSTARCH) \
|
||||
PYTHON_FOR_BUILD=$(HOST_PYTHON3_DIR)/python \
|
||||
PGEN_FOR_BUILD=$(HOST_PYTHON3_DIR)/Parser/pgen \
|
||||
ac_cv_have_long_long_format=yes \
|
||||
ac_cv_file__dev_ptmx=yes \
|
||||
ac_cv_file__dev_ptc=yes \
|
||||
|
||||
PYTHON3_CONF_OPT += \
|
||||
--without-ensurepip \
|
||||
--without-cxx-main \
|
||||
--with-system-ffi \
|
||||
--disable-pydoc \
|
||||
@ -115,22 +101,18 @@ PYTHON3_CONF_OPT += \
|
||||
--disable-lib2to3 \
|
||||
--disable-tk \
|
||||
--disable-nis \
|
||||
--disable-idle3
|
||||
--disable-idle3 \
|
||||
--disable-pyo-build
|
||||
|
||||
PYTHON3_MAKE_ENV = \
|
||||
_PROJECT_BASE=$(PYTHON3_DIR) \
|
||||
_PYTHON_HOST_PLATFORM=$(BR2_HOSTARCH) \
|
||||
PYTHON_MODULES_INCLUDE=$(STAGING_DIR)/usr/include \
|
||||
PYTHON_MODULES_LIB="$(STAGING_DIR)/lib $(STAGING_DIR)/usr/lib"
|
||||
# This is needed to make sure the Python build process doesn't try to
|
||||
# regenerate those files with the pgen program. Otherwise, it builds
|
||||
# pgen for the target, and tries to run it on the host.
|
||||
|
||||
# python distutils adds -L$LIBDIR when linking binary extensions, causing
|
||||
# trouble for cross compilation
|
||||
define PYTHON3_FIXUP_LIBDIR
|
||||
$(SED) 's|^LIBDIR=.*|LIBDIR= $(STAGING_DIR)/usr/lib|' \
|
||||
$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/config-$(PYTHON3_VERSION_MAJOR)m/Makefile
|
||||
define PYTHON3_TOUCH_GRAMMAR_FILES
|
||||
touch $(@D)/Include/graminit.h $(@D)/Python/graminit.c
|
||||
endef
|
||||
|
||||
PYTHON3_POST_INSTALL_STAGING_HOOKS += PYTHON3_FIXUP_LIBDIR
|
||||
PYTHON3_POST_PATCH_HOOKS += PYTHON3_TOUCH_GRAMMAR_FILES
|
||||
|
||||
#
|
||||
# Remove useless files. In the config/ directory, only the Makefile
|
||||
|
Loading…
Reference in New Issue
Block a user