Commit graph

62 commits

Author SHA1 Message Date
Alexandru Ardelean
31d614f92c python,python3: add python-pip-conf package to be used by both python-pip & python3-pip
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-01-23 11:59:50 +02:00
Alexandru Ardelean
a53d0c5a40 pip,setuptools: move as part of python,python3 build
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-01-23 10:20:20 +02:00
Alexandru Ardelean
80349f9e73 python,python3: install built-in pip and setuptools
Easier than using external package.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-01-23 09:06:51 +02:00
Alexandru Ardelean
ed8fa163c0 python3: sync changes from python
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-01-19 18:15:12 +02:00
Matthias Schiffer
4a984a8d60
treewide: replace $(STAGING_DIR)/host and $(HOST_BUILD_PREFIX) with $(STAGING_DIR_HOSTPKG)
As both LEDE and OpenWrt have STAGING_DIR_HOSTPKG now, we can start to rely
on it. See 73b7f55424 for more information on
STAGING_DIR_HOSTPKG.

STAGING_DIR_HOSTPKG won't actually be changed before the first LEDE release
(it is equivalent to $(STAGING_DIR)/host), so this simple search/replace
cleanup is safe to apply. Doing this cleanup now will be useful for the
Gluon project (an OpenWrt/LEDE based firmware framework) for experimenting
with modifying STAGING_DIR_HOSTPKG before doing this in the LEDE upstream.

Also fixes a typo in the dbus Makefile ("STAGIND_DIR").

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2017-01-10 18:25:54 +01:00
Matthias Schiffer
876d139c98
python{,3}: remove STAGING_DIR_HOSTPKG fallback definition
STAGING_DIR_HOSTPKG is now defined in both OpenWrt and LEDE, so we can
start to rely on it.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2017-01-10 02:24:29 +01:00
Alexandru Ardelean
3af2027886 python3: sync makefiles with python package
Technically, this just updates build details.
No functionality change to package itself.

So, no need to increase PKG_RELEASE on this change.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-01-04 17:18:50 +02:00
Alexandru Ardelean
2244ad9f56 python3: upgrade to version 3.6.0
Python 3.6 comes with some new cross-compilation logic that
generates filenames/paths with arch, abiflags and mach
included (in filename & path).

Problem is that the generated paths/filenames are not
consistent across archs (noticed on x86_64 & ar71xx),
so patch `016-adjust-config-paths.patch` was added
to mitigate this (by removing extra stuff in paths).

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-01-02 21:46:03 +02:00
Alexandru Ardelean
985dcd4b28 python3: split python3-version.mk from python3-package.mk
And move \`python3-package.mk\` include, same as in python package.
This is mostly to have consistency/similarity between python & python3
packages.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2016-12-16 09:07:44 +02:00
Alexandru Ardelean
9eca45fdf1 python, python3: unify HOST_ vars and get rid of HOST_CFLAGS
--sysconfigdir and --sbindir are obtained from --prefix
and --exec-prefix, so no need to have them explicitly

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2016-11-07 10:55:34 +02:00
Alexandru Ardelean
7d89234b86 python,python3: get rid of HOST_CFLAGS
They rely on system paths and are a bit misleading/confusing.
As seen here:
https://github.com/openwrt/packages/issues/3339

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2016-11-07 10:55:33 +02:00
Alexandru Ardelean
e81632ab90 python3: disable ensurepip on package & host builds
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2016-11-07 10:55:33 +02:00
Jo-Philipp Wich
4a083de4a9 python3: avoid use of HOST_BUILD_PREFIX
Currently, the python3-package.mk framework relies on HOST_BUILD_PREFIX to
refer to the $(STAGING_DIR)/host directory but using the HOST_BUILD_PREFIX
variable requires the use of include/host-build.mk which in turn includes
python3-package.mk, leading to target redefinition errors.

In order to provide a global, uniform way to refer to the host staging
directory, LEDE introduced a new variable STAGING_DIR_HOSTPKG which points
to $(STAGING_DIR)/host for now with the purpose of eventually being able to
relocate that directory in the future.

This commit changes python3-package.mk to ...
 - stop including include/host-build.mk (revert of #3423)
 - replace usages of $(HOST_BUILD_PREFIX) with $(STAGING_DIR_HOSTPKG)
 - warn and fallback to $(STAGING_DIR)/host if STAGING_DIR_HOSTPKG is
   unavailable

The fallback code will ensure that the python host build infrastructure
continues to work properly on older OpenWrt and LEDE versions until the
STAGING_DIR_HOSTPKG is fully settled in and can be removed some time
in the future.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-11-01 12:57:41 +01:00
Alexandru Ardelean
e54d296a53 python,python3: include host-build.mk in python-host.mk & python3-package.mk
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2016-10-31 09:51:34 +02:00
Matthias Schiffer
b53342b9a4
python3: use default prefix for host install
Also fixes a few incorrect "$(STAGING_DIR_HOST)/host" paths.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-10-04 01:00:05 +02:00
Alexandru Ardelean
b6993d544f python3: upgrade to version 3.5.2
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2016-09-13 14:22:08 +03:00
Alexandru Ardelean
2dee0cf070 python3: do not allow packaging of windows exe files
Thanks to @ryzhovau for reporting.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2016-06-27 15:38:24 +03:00
Alexandru Ardelean
06fbe038ab python3: revert $(STAGING_DIR)/host to $(STAGING_DIR_HOST) change
Also, override all prefix args in the HOST_CONFIGURE_ARGS
so that this works fine on CC/15.05.
There are some changes in core regarding package builds that
require this.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2016-04-15 12:09:19 +03:00
Alexandru Ardelean
7ebd492f5f python3: change $(STAGING_DIR)/host to $(STAGING_DIR_HOST)
I ommitted 1 element when pushing.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2016-04-14 16:57:38 +03:00
Alexandru Ardelean
57d94bbd44 python3: upgrade to version 3.5.1
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2016-04-14 11:41:48 +03:00
Felix Fietkau
9f8e5aca34 treewide: use $(STAGING_DIR)/host instead of $(STAGING_DIR_HOST), sync with changes in trunk
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2016-01-20 21:56:03 +01:00
Florian Fieber
472b596bb1 python3: Add new packages python3-{dev,lib2to3}
Signed-off-by: Florian Fieber <florian@florianfieber.de>
2015-11-19 18:26:30 +01:00
Florian Fieber
877971ec4c python3: Port changes from python-package.mk to python3-package.mk
- Add configure arguments for distutils path detection
- Add '_python_*' env vars to host python

Signed-off-by: Florian Fieber <florian@florianfieber.de>
2015-11-19 18:26:23 +01:00
Florian Fieber
b011c10eb5 python3: Download source archive via https
Signed-off-by: Florian Fieber <florian@florianfieber.de>
2015-11-18 12:03:13 +01:00
Alexandru Ardelean
6ce01594b6 python3: upgrade to version 3.5.0
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-09-16 21:56:40 +03:00
Jan Čermák
6156136903 python3: disable usage of wcsftime (broken in uClibc)
Python 3 prefers usage of wcsftime() over strftime() if it's available,
however this function returns just an empty string in some older
uClibc versions. Proposed solution disables detection of wcsftime() in
./configure that results in HAVE_WCSFTIME being undefined, effectively
disabling branches of code that use possibly broken wcsftime().

See: http://lists.busybox.net/pipermail/uclibc/2014-November/048718.html

Signed-off-by: Jan Čermák <jan.cermak@nic.cz>
2015-07-02 16:27:23 +02:00
Alexandru Ardelean
aceacb4de0 python3: add python3-package-lzma.mk
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-04-24 13:04:56 +03:00
Alexandru Ardelean
9fc15af80a python3: do not prefer ncursesw over ncurses
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-04-21 10:22:27 +03:00
Alexandru Ardelean
6e042a2b22 python3: replace with libncursesw with libncurses
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-04-21 10:20:29 +03:00
Alexandru Ardelean
96d4953662 python3: override machine definition for i386 to build the decimal module
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-03-27 16:42:33 +02:00
Alexandru Ardelean
12bba35627 python3: revert puting the encodings folder into a python3-codecs
Some notes about the 'encodings' module, which is about 1.7 MB.
Unfortunately that one cannot be moved into the 'python3-codecs'
package, because Python tries to load up all available encodings
at startup.
Some efforts to add a dummy folder/python file have failed so far,
since there's a C code (Python/codecs.c) that tries to evaluate that
all encodings (in the encodings folder/module) are valid.

Basically the encodings module is a repository of encodings,
and it seemst there are quite a few of them.

Maybe a request to upstream Python would work for this, to
make encodings a bit more decoupled from the interpreter.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-03-14 21:24:31 +02:00
Alexandru Ardelean
cfe31ca3d3 python3: port some patches from python
Based on the idea that 'what-works-on-python-should-work-on-python3'
because they share the same trunk, these patches have been copied over
from the python package.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-03-14 21:24:31 +02:00
Alexandru Ardelean
741fdfd1e0 python3: replicate packaging work done in python package
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-03-14 21:24:30 +02:00
Alexandru Ardelean
70df2d9a0c python3: upgrade to version 3.4.3
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-03-14 21:18:15 +02:00
Alexandru Ardelean
dd091f235f python3: re-number patches
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-03-14 21:18:15 +02:00
Alexandru Ardelean
8c057f39d8 python3: update using python updates as template
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-01-19 20:22:41 +02:00
Alexandru Ardelean
9e639dbf87 python3: add $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR) to PYTHON3PATH
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-12-09 14:17:56 +02:00
Alexandru Ardelean
48aaf18057 python3: disable Python3 bytecode generation by default
Same as python.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-12-09 14:16:03 +02:00
Alexandru Ardelean
ec10e7e2e4 python3 upgrade to version 3.4.2
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-11-28 21:15:20 +02:00
Alexandru Ardelean
84cf76e7a6 python3: sync build rules with python's
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-11-27 23:47:28 +02:00
Nicolas Thill
6243f35724 python3: create ./usr/bin directory at package/install
Signed-off-by: Nicolas Thill <nico@openwrt.org>
2014-10-24 16:32:29 +02:00
Nicolas Thill
cad9bdbc85 python, python3: fix python*-package.mk
Replace calls to getvar function recently removed

Signed-off-by: Nicolas Thill <nico@openwrt.org>
2014-10-23 22:57:02 +02:00
Alexandru Ardelean
056e565ab6 python3: add _PYTHON_HOST_PLATFORM env var when cross-compiling C extensions
This mostly helps to avoid confusion when modules are cross-compiled.
Otherwise build folders are named with the host's platform name.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-20 20:04:55 +03:00
Alexandru Ardelean
1a0e9b3786 python3: enable shared python3 lib; make this the norm
This will reduce the bloat when users will want to compile in their
Python C extensions.
There will be a initial bloat (several kb) if just Python
is installed, but that will be compensated when users will add more
C extensions.

During the build we also have to add Python's PKG_BUILD_DIR
so that the shared lib is found when compiling Python's
built-in C extensions.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-20 20:04:54 +03:00
Alexandru Ardelean
cc6423d57a python3: add LD and LDSHARED env vars to Build/Compile/Py3Mod
Tells the host Python to use the target's linker.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-20 19:13:32 +03:00
Alexandru Ardelean
3edeed3f4d python3: add PYTHON3_INC_DIR var to CPPFLAGS
The target's PYTHON3_INC_DIR should take precedence over the host's
include dir when cross-compiling.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-20 19:13:32 +03:00
Alexandru Ardelean
f729ba98c5 python3: export CC + CCSHARED env vars to cross-compile Python C extensions properly
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-20 19:13:28 +03:00
Alexandru Ardelean
5bf4866fd9 python3: add patch to disable package compiles/tests during cross-builts
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-20 18:13:13 +03:00
Alexandru Ardelean
e0abcb569b python: add ac_cv_buggy_getaddrinfo=no to config.site file
Required when IPv6 support gets enabled.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-20 18:09:57 +03:00
Alexandru Ardelean
8c4da0367b python3: patch setup.py so that it does not include system include dirs
Seems that the Python C extensions were being
(or at least trying to be) build using '/usr/include' as the first
include folder.

Seems this issue was already fixed on MacOS X and now we've extended
it for our case.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-20 18:08:55 +03:00