Commit graph

80 commits

Author SHA1 Message Date
Alexandru Ardelean
f04641d3d1 python: upgrade to version 2.7.13
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-01-04 15:08:45 +02:00
Alexandru Ardelean
165cd9f96a python: update PYTHON_FOR_BUILD (based on python3)
PYTHON_FOR_BUILD is used to build the target python.
Nomally Python scripts detect fine the Python host interpreter
to use for building the Python target interpreter.
But, let's not leave it up to chance anymore.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-01-04 15:08:36 +02:00
Alexandru Ardelean
9d876738b2 python: remove argument for --with-system-ffi configure arg (based on python3)
And apparently `--with-system-ffi` does not take any arguments.
But it's only in Python 3.6 that a check was added for that.
After checking, Python 2.7 does not take any args either
for `--with-system-ffi` ; so, remove it [for the case when this
change may get backported].

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-01-04 15:08:36 +02:00
Jo-Philipp Wich
49cf5815e3 python: move includes after common package variables
Move the python-host.mk and python-package.mk includes after the definition of
common package variables. This is required to ensure that PKG_UNPACK is not set
to to the dummy "true" command which happens if PKG_SOURCE is not yet set.

Fixes the following error observed while attempting to build Python on a recent
LEDE version:

    make[2]: Entering directory '.../lang/python'
    true
    [ ! -d ./src/ ] || cp -fpR ./src/* .../Python-2.7.12

    Applying ./patches/001-enable-zlib.patch using plaintext:
    can't find file to patch at input line 14
    Perhaps you used the wrong -p or --strip option?
    [...]
    Patch failed!  Please fix ./patches/001-enable-zlib.patch!
    Makefile:242: recipe for target '.../Python-2.7.12/.prepared_...' failed

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-12-16 03:24:19 +01: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
6a670f42b1 python: move PYTHON_VERSION in own .mk file
Allows for more granularity with respect to python-host.mk
and python-package.mk inclusions.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2016-11-07 10:55:31 +02:00
Alexandru Ardelean
45bdb70e1e python: add include guard for python-host.mk and include in Makefile
So that it can be included twice.
python-package.mk include python-host.mk, but at some point
in time python-host.mk is not exported to staging_dir yet.

So, to have in python's Makefile, we need to include it
in the Makefile, and to prevent double inclusion (if
python-host.mk is exported from a previous build), the
include guard is added.

Also, moved the includes after some vars were set.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2016-11-07 09:27:20 +02:00
Matthias Schiffer
205ee41506
python, python-*: 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 00:59:37 +02:00
Alexandru Ardelean
a4b0c0a9fb python: disable with-ensurepip option for host build
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2016-09-21 16:44:02 +03:00
Alexandru Ardelean
8dd0131439 python: upgrade to version 2.7.12
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2016-09-13 10:17:57 +03:00
Alexandru Ardelean
aa2baa2120 python: 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:31:12 +03:00
Alexandru Ardelean
eec85f0ce7 python: 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:11:21 +03:00
Alexandru Ardelean
c8e8aae579 python: change $(STAGING_DIR)/host to $(STAGING_DIR_HOST)
It seems that this can become an issue.
Found when building python3-setuptools from packages/trunk
in openwrt/15.05.

python3-setuptools is not in packages/for-15.05

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2016-04-14 11:56:21 +03:00
Hannu Nyman
65ee7df96b python: bump PKG_RELEASE
Bump PKG_RELEASE of python 2.7.11 after the recent fixes.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-03-15 13:55:43 +02:00
Hannu Nyman
56688f68fd Merge pull request #2463 from jefferyto/host-python-with-system-ffi
python: use external libffi for host python
2016-03-06 20:25:19 +02:00
Jeffery To
4e3ae81b0c python: use external libffi for host python
This will ensure that ctypes will use the same version of libffi as
other packages, e.g. python-cffi.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2016-03-06 19:09:13 +08:00
Jeffery To
b70b978cc6 python: use default host build prefix, remove cross-compile workarounds for host
The sets host Python's prefix and exec-prefix to the same value
($(STAGING_DIR)/host for packages, as currently defined in
include/host-build.mk), which avoids the case where pyconfig.h is
not in the same location as Python's other header files (see
https://bugs.python.org/issue896330).

This also removes some cross compilation workarounds
(_python_sysroot/prefix/exec_prefix, disabling byte-compilation,
__PYVENV_LAUNCHER__) that are not necessary when compiling packages
for host.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2016-03-05 02:30:12 +08:00
Jeffery To
2140d8f6d2 python: fix HOST_PYTHON_INC_DIR path
Host python moved in c5564133, this updates HOST_PYTHON_INC_DIR to
match.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2016-02-14 01:46:56 +08: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
Jeffery To
94578145cd python: fixed _python_sysroot paths
AFAIK sysroot is combined with prefix/exec_prefix, so sysroot shouldn't
include "/usr". (cf. the HostPython function in older versions of
python-package.mk)

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2015-12-31 11:55:12 +08:00
Hannu Nyman
2e3fb832fc python: bump PKG_RELEASE
Bump PKG_RELEASE of python 2.7.11 as there have been several fixes
since the initial release.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-12-13 17:13:19 +02:00
Alexandru Ardelean
015adc9b7a python: fix upgrade 2.7.11 goof
Seems those pkgconfig file paths were revealed to be incorrect
after doing a full clean build.
And I only had to inspiration to do one after doing the initial PR.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-12-11 16:49:45 +02:00
Alexandru Ardelean
a8602a7ccb python: upgrade to version 2.7.11
And split python-dev and python-lib2to3 packages.
Seems for python3 this was done, so we'll sync here.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-12-11 16:07:22 +02:00
Alexandru Ardelean
c55641331e python: unify HostPython and HostHostPython functions
That means basically moving the host Python from $(STAGING_DIR_HOST)
to $(STAGING_DIR_HOST)/usr and making the PYTHONPATH var
as an argument.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-12-11 16:01:27 +02:00
Alexandru Ardelean
8054747a49 python: remove newline function; it's also in OpenWRT core
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-12-11 15:30:32 +02:00
Steven Barth
dbde5d5295 Merge pull request #1984 from jefferyto/host-python-package
python: add capability to install python packages for the host
2015-11-24 15:50:34 +01:00
Jeffery To
b12d7b6db1 python: add capability to install python packages for the host
Some python packages (e.g. cffi) compile one or more shared libraries
as part of their setup process. When these packages are setup
dependencies of other packages (e.g. cryptography), these packages (and
their shared libraries) will need to be loaded on the host system.

This adds a makefile, similar to python-package.mk, to simplify
installing python packages on the host.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2015-11-24 22:43:56 +08:00
Jan Čermák
3ac990447f python: add missing host build dependency on expat/host
Since 94f87dc1, host build of Python depends on expat installed in host
staging directory. However, pyexpat extension fails to build if expat
was not built and installed to staging dir before - adding host build
dependency should fix this.

Signed-off-by: Jan Čermák <jan.cermak@nic.cz>
2015-11-23 21:59:29 +01:00
Jo-Philipp Wich
99484ec990 python: fix two build depend issues
Build depends must refer to the source package name, not the binary one,
therefore we need to use `bzip2` in order to enforce a build of libbz2.so.

Also make the host python build depend on the bzip2 host build in order to
ensure that host python is built with bzip2 support. We don't need a build
dependency for the target python as this already depends on +libbz2 through
python-light. That package dependency in turn implies a build dependency.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-23 14:29:41 +02:00
John Crispin
e461e7dda9 python: add dependency to bz2 host build
Signed-off-by: John Crispin <blogic@openwrt.org>
2015-08-22 01:11:29 +02:00
Steven Barth
94f87dc1e1 python: add correct host expat
Signed-off-by: Steven Barth <steven@midlink.org>
2015-08-03 08:02:59 +02:00
Jan Čermák
73244f09ec python: fix patch removing multiarch support for host python
Patch removing multiarch paths from build should be applied only when
Python is built for target, but not for host. When the paths are removed
during host build, host python throws some ugly errors when importing
some hashlib modules. Also it reports that modules crypt and nis failed
to build (tested on Ubuntu 14.04 host).

Signed-off-by: Jan Čermák <jan.cermak@nic.cz>
2015-07-02 18:19:09 +02:00
Alexandru Ardelean
af89de58f5 python: upgrade to 2.7.10
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-05-27 19:52:49 +03:00
Alexandru Ardelean
01eff3fc59 python: fix conflicts between python-light & python-base
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-03-12 21:04:45 +02:00
Alexandru Ardelean
9c5af1f29c python: revert previous patch and add a filespec
Seems removing the PyPackage rule and/or adding dummy install rule
causes some issues inside the build-system, where the libpython2.7.so.1.0
is not seen by packages that depend on python.
Even though that libpython2.7.so.1.0 file is installed properly by `python-base`.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-03-11 11:27:40 +02:00
Alexandru Ardelean
ac311e9801 python: remove PyPackage rules for python package
Calling `PyPackage` will install some default install rules for
python packages that are not required for the `python` package specifically
are not required.
That will lead to some conflicts with `python-light` because the
`/usr/lib/python2.7/site-packages` folder (+contents) will be
available in both packages.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-03-09 16:52:52 +02:00
Alexandru Ardelean
0d072f2b42 python: packetize some python modules
Packetize some Python modules to reduce size of the overall Python package.
Basically, a new package is introduced, call `python-light`,
and everything that's extra (or big) is put in other packages.

The `python` package becomes a metapackage that installs `python-light`
along with the rest of the packages.

Base work started by Jan Čermák.

Signed-off-by: Jan Čermák <jan.cermak@nic.cz>
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-03-06 15:19:29 +02:00
Jan Čermák
6f699463da python: removed ensurepip module
This module is not necessary in OpenWrt because the functionality it
provides (i.e. installation of setuptools and PIP) is ensured by
python-pip and python-setuptools packages.

See: https://docs.python.org/2.7/library/ensurepip.html

Signed-off-by: Jan Čermák <jan.cermak@nic.cz>
2015-02-24 18:33:29 +01:00
Alexandru Ardelean
705b381b5b python: add ncurses(w) include folders for host python
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-02-11 20:20:14 +02:00
Alexandru Ardelean
677ed22b3e python: fix goof
This should have gone in python3.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-01-20 10:45:09 +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
Szilárd Pfeiffer
0394a1e286 python: Install .pc files from Python package.
Signed-off-by: Szilárd Pfeiffer <coroner@pfeifferszilard.hu>
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-01-11 20:15:13 +02:00
Alexandru Ardelean
11fba7e6bd python: remove libffi/host; we're not using it
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-01-11 20:15:13 +02:00
Alexandru Ardelean
7123d31a0b python: enable pip installation of pip on the host-side
Python packs some pip installation script during the build,
which looks like a better idea to use for the python-pip
and/or python-setuptools packages.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-01-11 20:15:13 +02:00
Alexandru Ardelean
87c4cbff5c python: upgrade to version 2.7.9
Release notes here:
   https://www.python.org/downloads/release/python-279/

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2015-01-06 15:10:59 +02:00
Gergely Kiss
fabb55271d python: fix file conflict between python and python-base packages
Signed-off-by: Gergely Kiss <mail.gery@gmail.com>
Tested-by: Gergely Kiss <mail.gery@gmail.com>
2014-12-15 15:26:41 +01:00
Alexandru Ardelean
94b090cb9c python: use Build/Prepare rule for the config.site file
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-11-26 11:51:40 +02:00
Alexandru Ardelean
ad9c57beae python: add distutils back (selectively)
This patch reduces distutils from 1.7 MB to 0.7 MB.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-11-12 23:45:39 +02:00
Alexandru Ardelean
8623c2942a python: update MAKE_FLAGS
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-11-12 23:24:30 +02:00