Commit graph

23 commits

Author SHA1 Message Date
Alexandru Ardelean
ed0e77f3c3 python,python3: split python[3]-pkg-resources from setuptools
This package is required by other packages to run some binaries via
`load_entry_point`.

So, this splits this package away from setuptools.
setuptools is pretty big, akd pkg-resources is also big, but not as big.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2019-09-20 13:42:40 +03:00
Jeffery To
64959a1dd0 python,python3: Move python-config to $(STAGING_DIR)/host
Build/InstallDev is passed a second argument, a path where host binaries
should be placed (ultimately $(STAGING_DIR)/host).

This change moves python[3]-config to that directory.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2019-06-10 20:33:06 +08:00
Jeffery To
be751236aa python-setuptools,python-pip: Change prefix to /usr
This changes the --prefix option, passed to host pip when "installing"
target setuptools and pip, to /usr, in case the prefix is recorded in
the packages.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2019-05-29 22:38:30 +08:00
Eneas U de Queiroz
5f447b9020
python-python3-pip: add LICENSE information
CVE id was left commented out as it is not handled by uscan.

Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
2019-05-21 14:46:13 -03:00
Eneas U de Queiroz
bbd4930ccd
python-python3-setuptools: add LICENSE information
CVE id was left commented out as it is not handled by uscan.

Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
2019-05-21 14:44:40 -03:00
Jeffery To
8de8ff4f25 python,python3: Include python-config for target Python in InstallDev
This installs python{2.7,3.7}-config in $(STAGING_DIR)/usr/bin as part
of Build/InstallDev, to be used by other packages to get build
configuration for target Python.

The treatment for Python 2 and 3 are a bit different:

* For Python 2, python-config is a Python script that is expected to be
  run with, and return data for, the installed Python interpreter. This
  installs a modified version of this script, to be run using host
  Python, and read/return data for target Python.

* Python 3 includes a shell script version of python-config (expected to
  be used in cross-compilation scenarios). This simply installs the
  script into the right place.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2019-03-31 19:33:12 +08:00
Alexandru Ardelean
ed862da936 python,python3: move shebang handle in install script
This extends the Python[3] shebang fixup to all packages.
Only Python scripts in `/usr/bin` will be handled at the moment. Later it
may make sense to also cover executables in `/bin`, though typically Python
executables shouldn't be placed there.

Previously the shebang handling was only done for python[3]-pip &
python[3]-setuptools.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2019-02-12 12:31:55 +02:00
Jeffery To
2f55f2a7b5 python/python3: fix .dist-info missing for setuptools and pip
Without .dist-info (similar to .egg-info), setuptools and pip are not
discoverable by pkg_resources.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2018-12-22 22:16:52 +08:00
Alexandru Ardelean
ccdc6bc530 python,python3: export mk files outside of python package dirs
Since `lang/python` is it's own folder of Python packages
(for both Python 2 & 3), and these build rules are needed
in a lot of packages [especially Python packages],
putting them here makes sense architecturally,
to be shared.

This also helps get rid of the `include_mk` construct
which relies on OpenWrt core to provide, and seems
like a broken design idea that has persisted for a while.
Reason is: it requires that Python 2/3 be built to provide
these mk files for other Python packages,
which seems like a bad idea.

Long-term, there could be an issue where some other feeds
would require these mk files [e.g. telephony] for
some Python packages.
We'll see how we handle this a bit later.

For now we limit this to this feed.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2018-01-10 23:01:51 +02:00
Jeffery To
c5cbd44cea python,python3: undo egg-info removal
This reverts commits 4333d1dcbf and
074d2863be, making Python packages
discoverable again by pkg_resources.

Fixes #5361.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2018-01-08 17:26:54 +08:00
Alexandru Ardelean
00bb46866b python-pip-conf: split package away from python package
This should improve build time if you only want to
build Python3 (and not Python).

Because python-pip-conf was part of the python package,
the whole python package (host + target) would get built if Python3
would need to get built.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-12-10 19:49:23 +02:00
Alexandru Ardelean
074d2863be python,python3: add option to keep egg-info dirs for python packages
That way some python packages can choose
to keep their egg-info dirs, if they want to, or they're needed.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-10-03 10:40:26 +03:00
Alexandru Ardelean
79276ef7b7 python: bump to version 2.7.14
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-09-23 11:45:44 +03:00
Alexandru Ardelean
4d0a44d31a python,python3: add host-flags/settings to host pip install rules
The host pip install should have the host's CFLAGS, LDFLAGS, etc
available.
And not the target's flags.
Otherwise, weird things can happen when installing
packages (host-side) that need to build C code.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-09-14 11:44:01 +03:00
Alexandru Ardelean
d7fe1c624f python,python3: fix opkg collisions with -src packages
Fixes:
 https://github.com/openwrt/packages/issues/4681

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-08-08 23:52:40 +03:00
Alexandru Ardelean
612c53fc6c python,python3: add host python pip install support
To install Python packages host side, that
may be needed for a build.

The intent, is to try to reduce host-side Python
packages being installed via LEDE/OpenWrt build system.
Because those seem like a pain to maintain.

The idea is adapted from Yousong's `python-packages`
package.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-07-19 16:50:25 +03:00
Alexandru Ardelean
93a6545591 python,python3: drop HostPy/Compile/Default rules
Not used, and will not be used.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-07-19 16:50:25 +03:00
Alexandru Ardelean
e066fdaf11 python,python3: handle install script errors better
Depending on execution order the `python-package-install.sh`
script would return a non-zero err code.

So, this enforces that all commands in the script
don't fail (via the `set -e` directive).

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-07-19 16:50:25 +03:00
Alexandru Ardelean
4333d1dcbf python,python3: remove .egginfo directories
They don't seem needed, and makes packages a bit smaller

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-07-07 18:07:10 +03:00
Alexandru Ardelean
8db8c927ed python,python3: define PyBuild/Compile & Py3Build/Compile
Similar to LEDE/OpenWrt's Build/Compile/Default rule,
and other similarities like this.

This should allow Python packages to define
PyBuild/Compile rules to do specific stuff per
package.

The advantage of using these (over just overriding
Build/Compile) is the VARIANT mechanism that is
in place to support packaging both for Python & Python3.

So, PyBuild/Compile will get picked up for the Python
variant build, and Py3Build/Compile will get picked
up for the Python3 variant build.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-07-07 18:07:10 +03:00
Alexandru Ardelean
a2b76b5403 python,python3: simplify sed expression for setuptools & pip
A suggestion from comment (from Philip Prindeville):
https://github.com/openwrt/packages/issues/4529#issuecomment-312518121

Avoids some escaping of slashes.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-07-03 16:11:52 +03:00
Alexandru Ardelean
b9d88065f5 python,python3: allow python packages to override Package/<pkg>/install rule
Python packages try to enforce their own.
For some cases this may not be desired.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-05-19 17:16:39 +03:00
Alexandru Ardelean
68312f49c0 python packages: move all things python under lang/python
I admit this may be be a bit aggressive, but the lang
folder is getting cluttered/filled up with Python, PHP, Perl,
Ruby, etc. packages.

Makes sense to try to group them into per-lang folders.

I took the Pythons.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-05-17 16:51:14 +03:00