Commit Graph

121 Commits

Author SHA1 Message Date
Jörg Krause 9fd47ce1a8 package/python: bump to version 2.7.11
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
 [Thomas: quick run-time test on ARM.]
2015-12-12 14:16:27 +01:00
Thomas Petazzoni 7076e6f61c python: bump to 2.7.10
Patches are simply refreshed, except
004-sysconfigdata-install-location.patch where a minor conflict
resolution was needed.

[Peter: fixup .hash as pointed out by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-06-22 23:13:46 +02:00
Thomas Petazzoni 238bf198cf python: add patch to fix logic to get gcc paths
The Python setup.py has a function called add_gcc_paths(), which
executes gcc -E -v to get the list of header paths searched by
gcc. However, the logic of setup.py is only valid with the normal
english output of gcc: it doesn't work if a non-english locale is
set. This causes setup.py to not find certain headers (such as zlib.h)
and therefore disabling the build of such extensions.

Reported-by: Bruno Coudoin <bruno.coudoin@gcompris.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-05-31 21:44:55 +02:00
Peter Korsgaard 5b4d18dd1c python: needs dynamic library support
Fixes:
http://autobuild.buildroot.net/results/7a0/7a044d5c8bf7526fcf4f0ec80a2b9b18d1f632a1/
http://autobuild.buildroot.net/results/27f/27ff12127dee3b1a8df86ef8b05681d695b2cac8/
http://autobuild.buildroot.net/results/7ce/7ce78169b661dcd6c04dc3ee5b1877c0de09f91d/
http://autobuild.buildroot.net/results/e58/e583583bc0ba4aff84d896fb7e6caf4793e03eb9/

And many more.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-05-02 09:39:45 +02:00
Peter Korsgaard b4d19a0995 python: move toolchain comment above main option
So suboptions are correctly indented.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-05-02 09:39:45 +02:00
Gustavo Zacarias 99f2f9aab9 python: add hash file
Even though there's a hash at
https://www.python.org/downloads/release/python-279/ prefer using the
sig since that's just md5.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-19 09:41:14 +02:00
Angelo Compagnucci c22da1a2da package/python: change BR2_PACKAGE_PYTHON_PYEXPAT description
This patch changes BR2_PACKAGE_PYTHON_PYEXPAT description and
help text to underline that all the xml libraries will be
included in python.
It also reorders alphabetically the affected option.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-21 17:09:04 +01:00
Yann E. MORIN 9863553fe8 packages: all salute the passing of avr32
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-14 17:43:11 +01:00
Thomas Petazzoni 9b79f2a637 python: add an option to make the ossaudiodev module optional for the target
Now that we have a configure option in Python to enable/disable the
ossaudiodev module, this commit adds a configuration option to the
target Python to explicitly enable/disable this module.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-01-10 16:19:26 +01:00
Zoltan Gyarmati 9c335f1838 python: disable building ossaudiodev module for host-python
This module is not needed to build the target Python, and can cause
some build issues on certain systems (when <linux/soundcard.h> does
not contain the OSS related definitions).

Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-01-10 15:59:45 +01:00
Zoltan Gyarmati 1ad8036ef2 python: add patch to make ossaudiodev module optional
This module causes some build failures in certain setups and is not
very useful.

Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-01-10 15:58:21 +01:00
Thomas Petazzoni 897d07c313 python: 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,
while patches above 100 are used to make more Python 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>
2015-01-02 19:30:25 +01:00
Thomas Petazzoni 9badea2d05 python: bump to 2.7.9
In addition to doing the bump, this commit also:

 - Refreshes all the patches
 - Removes python-003-properly-detect-if-python-build.patch, which has
   been applied upstream.
 - Passes the --without-ensurepip option, like is done in Python 3, to
   avoid having Python use PIP to automatically download stuff when it
   is being built.
 - PYTHON_LIBTOOL_PATH = NO is added to prevent Buildroot from trying
   to patch a version of libtool for which we don't have matching
   patches, which isn't a problem since we're anyway not using the
   part of the Python sources that uses libtool (it's the built-in
   copy of libffi, and we use the external libffi).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-01-02 19:30:25 +01:00
Thomas De Schampheleire f268f7131b .mk files: bulk aligment and whitespace cleanup of assignments
The Buildroot coding style defines one space around make assignments and
does not align the assignment symbols.

This patch does a bulk fix of offending packages. The package
infrastructures (or more in general assignments to calculated variable
names, like $(2)_FOO) are not touched.

Alignment of line continuation characters (\) is kept as-is.

The sed command used to do this replacement is:
find * -name "*.mk" | xargs sed -i \
    -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*$#\1 \2#'
    -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\]\+\)$#\1 \2 \3#'
    -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\ \t]\+\s*\\\)\s*$#\1 \2 \3#'
    -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\(\s*\\\)#\1 \2\3#'

Brief explanation of this command:
    ^\([A-Z0-9a-z_]\+\)     a regular variable at the beginning of the line
    \([?:+]\?=\)            any assignment character =, :=, ?=, +=
    \([^\\]\+\)             any string not containing a line continuation
    \([^\\ \t]\+\s*\\\)     string, optional whitespace, followed by a
                            line continuation character
    \(\s*\\\)               optional whitespace, followed by a line
                            continuation character

Hence, the first subexpression handles empty assignments, the second
handles regular assignments, the third handles regular assignments with
line continuation, and the fourth empty assignments with line
continuation.

This expression was tested on following test text: (initial tab not
included)

	FOO     = spaces before
	FOO     =   spaces before and after
	FOO	= tab before
	FOO	  = tab and spaces before
	FOO =	tab after
	FOO =	   tab and spaces after
	FOO =   	spaces and tab after
	FOO =    \
	FOO = bar \
	FOO = bar space    \
	FOO   =		   \
	GENIMAGE_DEPENDENCIES   = host-pkgconf libconfuse
	FOO     += spaces before
	FOO     ?=   spaces before and after
	FOO     :=
	FOO     =
	FOO	=
	FOO	  =
	FOO =
	   $(MAKE1) CROSS_COMPILE=$(TARGET_CROSS) -C
	AT91BOOTSTRAP3_DEFCONFIG = \
	AXEL_DISABLE_I18N=--i18n=0

After this bulk change, following manual fixups were done:
- fix line continuation alignment in cegui06 and spice (the sed
  expression leaves the number of whitespace between the value and line
  continuation character intact, but the whitespace before that could have
  changed, causing misalignment.
- qt5base was reverted, as this package uses extensive alignment which
  actually makes the code more readable.

Finally, the end result was manually reviewed.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Cc: Yann E. Morin <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-07 15:00:28 +02:00
Thomas Petazzoni 899d2af16d python, python3: convert py/pyc removal to TARGET_FINALIZE_HOOKS
Since the removal of py/pyc files is Python-specific, this commit
moves the logic removing those files to python.mk and python3.mk
respectively.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-05 14:32:41 +02:00
Thomas De Schampheleire aaffd209fa packages: rename FOO_CONF_OPT into FOO_CONF_OPTS
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS,
make the same change for FOO_CONF_OPT.

Sed command used:
   find * -type f | xargs sed -i 's#_CONF_OPT\>#&S#g'

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-04 18:54:16 +02:00
Christophe Vu-Brugier edab68c1f1 python, python3: add patch to prevent distutils from adjusting the shebang
The copy_scripts() method in distutils copies the scripts listed
in the setup file and adjusts the first line to refer to the
current Python interpreter. When cross-compiling, this means that
the adjusted shebang refers to the host Python interpreter.

As a consequence, we add a patch for python and python3 that
force copy_scripts() to preserve the shebang when
cross-compilation is detected.

Signed-off-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-09-21 19:46:13 +02:00
Jérôme Pouiller 77cf5b5a71 libffi and python: need threads support
libffi depends on pthreads.

Python depends on libffi (it can provide a builtin libffi, but also depends on
pthreads). Thus this patch also disable Python support if toolchain is compiled
w/o treads support.

Fixes http://sysmic.org/~jezz/results/204099dd:

../src/closures.c:119:21: fatal error: pthread.h: No such file or directory

[Peter: fix comment dependencies, add python3]
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-13 09:40:48 +02:00
Baruch Siach 2d0166e76c python: renumber patch
Advance the serial number of a patch from 015 to 016 to avoid collision and
confusion.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-06 22:17:50 +02:00
Baruch Siach c821210b1b python: fix termios build for xtensa
The xtensa ioctls.h header references struct serial_multiport_struct that is
not defined in this header or included headers. ioctls.h also references
tty_struct that is not exported to userspace at all. Add a patch fixing these
issues.

This is only a workaround as the real problem should be fixed in the kernel
(by removing all struct references like all other archs). But since we support
older kernel versions we'll have to carry this patch for some time.

Fixes:
http://autobuild.buildroot.net/results/12b/12b5612828d7f1fc7d1f69fc01341d5a6e628db5/

Cc: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-07-18 20:04:11 +02:00
Henry Margies a37b214c43 python, python3: build with tzset support
This patch adds support for time.tzset() in Python 2.7 and Python 3.

The Python configure script sets ac_cv_working_tzset to 'no' when
cross compiling, although it should be available and work with all
toolchains supported by Buildroot (?).
The patch below pre-sets the variable so that time.tzset() works.

[Thomas: adjust commit log.]

Signed-off-by: Henry Margies <henry.margies@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-07-15 20:39:09 +02:00
Yann E. MORIN 85a016f5e1 package/python: fix sqlite3 extension without threads
Fix a compiler error when building the sqlite3 extension, when the
toolchain does not have threads.

Fixes:
        http://autobuild.buildroot.net/results/10f/10f268cd55f16ee53f4c5e17e1248b0a1820f6ea/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-07-15 19:16:50 +02:00
Thomas Petazzoni 5476b7273f python: improve isolation of build environment and error handling
This commit mainly fixes bug #7268 by improving the isolation of
the build environment by making sure some host environment header
paths do not leak into the target build. The investigation was done by
David <buildroot-2014@inbox.com>. This is done by not calling the
add_multiarch_paths() function of setup.py when we're cross-compiling,
a change made in the newly introduced
python-013-dont-add-multiarch-path.patch.

In addition to this, another patch is added to make sure the build is
aborted when one of the Python module fails to build. This is done in
python-014-abort-on-failed-modules.patch. Without this, the Python
setup.py script simply logs which module failed to build, but doesn't
abort, so it's hard to notice when there is a problem.

[Peter: slightly reword commit message]
Cc: David <buildroot-2014@inbox.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-07-09 13:18:58 +02:00
Thomas Petazzoni 63c735b60a python: bump to version 2.7.8
The different patches are just refreshed to apply without fuzz, there
are no changes/conflicts.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-07-08 13:56:42 +02:00
Thomas Petazzoni 12b6eebe12 python: do not install the IDLE editor
IDLE is the Python IDE built with the tkinter GUI toolkit, for which
the main script has always been removed from the target (so it was
never usable in Buildroot). However, we were still installing about
800 to 900 KB of .pyc files used only by the idle editor. This commit
adds a Python patch that completely gets rid of the
compilation/installation of the idle editor. As a consequence, it is
no longer needed to manually remove the 'idle' program from the
target in python.mk.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-07-01 14:57:34 +02:00