Commit Graph

2337 Commits

Author SHA1 Message Date
Alexandru Ardelean 9e78aff770 python: add PKG_USE_MIPS16:=0 + handle CONFIG_USE_MIPS16
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-11-07 15:37:18 +02:00
Alexandru Ardelean 242286b80d python: add PYTHONPATH var; this allows packages to configure it
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-11-07 15:37:18 +02:00
Alexandru Ardelean 283b3597b7 python: add HOST_PYTHON_LIB_DIR variable to python-package.mk
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-11-07 15:37:18 +02:00
Alexandru Ardelean 38a72bab1f python: cleanup Build/InstallDev rule
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-11-07 15:37:17 +02:00
Alexandru Ardelean 7a689890eb python: remove --without-ensurepip; not needed anymore
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-11-07 15:37:17 +02:00
Alexandru Ardelean 0ea587ad24 python: remove explicit rules in favor of using make/configure vars
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-11-07 15:37:17 +02:00
Alexandru Ardelean 7be9485564 python: reboot all python packages
Redefine python-full as all-pages-minus-a-few-that-don't make sense.
Remove all other packages.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-11-07 15:37:12 +02:00
Alexandru Ardelean ab0232eebe python: add _sysconfigdata.py to python base package
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-25 15:01:49 +03: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 f699a1f8f9 python: fix source folder for libpython
This fix is quite critical since it fixes copying the libpython shared lib.
The previous source folder we've used is ok, it has the shared lib,
but libpython2.7.so is not a symlink of libpython2.7.so.1.0, but
rather a copy of it.
Which means that libpython2.7.so takes twice as much space
on the target's flash.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-20 19:07:28 +03:00
Alexandru Ardelean 820278a0c8 python: use libncursesw instead of libncurses
Python's build scripts prefer ncursesw, and if it is detected
it will be used.
The problem will occur when linking, since ncursesw libs may not be
installed if not added as deps, but the sources will be compiled
against ncursesw.

Reference from Python's HISTORY file:
  Patch #1428494: Prefer linking against ncursesw over ncurses library.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-19 22:41:57 +03:00
Alexandru Ardelean 0141057a59 python: 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-19 22:33:08 +03:00
Alexandru Ardelean a1f86a6870 python: enable shared python 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-19 22:33:08 +03:00
Alexandru Ardelean 855ef2a530 python: add LD and LDSHARED env vars to Build/Compile/PyMod
Tells the host Python to use the target's linker.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-19 22:33:08 +03:00
Alexandru Ardelean bfb286ff62 python: add PYTHON_INC_DIR var to CPPFLAGS
The target's PYTHON_INC_DIR should take precedence over the host's
include dir when cross-compiling.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-19 22:33:08 +03:00
Alexandru Ardelean 6521cc7ed7 python: do not install pyconfig.h on the target
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-19 22:33:08 +03:00
Alexandru Ardelean 9415753544 python: export CC + CCSHARED env vars to cross-compile Python C extensions properly
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-19 22:33:08 +03:00
Alexandru Ardelean 6862f1d8e6 python: add libopenssl and libcrypto as package deps
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-17 17:11:51 +03:00
Alexandru Ardelean 15111b3ccf python: _md5 + _sha libs are now grouped under _hashlibs
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-17 17:05:56 +03:00
Alexandru Ardelean d05c846e69 python: add patch to disable package compiles/tests during cross-builts
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-17 17:05:43 +03:00
Alexandru Ardelean 8122954aff 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-17 16:39:26 +03:00
Alexandru Ardelean aafbac886e python: 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-17 16:34:15 +03:00
Alexandru Ardelean 09c02844e4 python: enforce the existence of files in the filespecs
Seems that this allows some goofs, because some files
silently do not get copied and the build succeeds, even though
it shouldn't.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-17 16:30:45 +03:00
Alexandru Ardelean 714b1247b7 python: reduce bloat by removing *.pyo and *.pyc files
Seems that if you add a package folder this would also
include the compiled python files which increases fw size.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-17 10:25:43 +03:00
Alexandru Ardelean 02ad9c1915 python: upgrade to version 2.7.8 2014-10-15 16:49:49 +03:00
Alexandru Ardelean e3145e1fb0 python: add python2 symlink to python as per PEP394 2014-10-15 10:02:57 +03:00
Alexandru Ardelean b0c21ae7aa python: use command instead of 'ln -sf' 2014-10-15 10:02:57 +03:00
Alexandru Ardelean 9cdea1ba38 python: include python*-package.mk irespective of DUMP env var
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-15 10:02:54 +03:00
Alexandru Ardelean b49c17d6c7 python: enforce version assignment
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-15 10:02:49 +03:00
Alexandru Ardelean 3ad7208ba6 python: move python package versioning to python-package.mk
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-15 10:02:48 +03:00
Alexandru Ardelean d5bd7dd36e python: add old python 2 package back
According to PEP394 (http://legacy.python.org/dev/peps/pep-0394/)
the 'python' command should refer to 'python2'.

In our case, this means we should reboot the old python package.

We could rename the package name to python2, but that would
just complicate things a bit with other packages, and
since we're doing this reboot, such a complication would be
unnecessary.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-15 10:02:33 +03:00
Agent 42 5e3393cf94 rename folder to python3 2014-10-13 12:20:34 +02:00
Alexandru Ardelean 4ed312143a python: reset packages and start off with minimal python
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-06 21:07:37 +03:00
Alexandru Ardelean 7bf1ae65a8 python: upgrade to version 3.4.1
Some notes:
- Python 3 (at least version 3.4) is pretty cross-compiler-friendly,
  so a lot of patches were thrown away.
- Arguments below were moved to ./files/config.site file, and disabled
      ac_cv_have_chflags=no \
      ac_cv_have_lchflags=no \
      ac_cv_py_format_size_t=no \
      ac_cv_have_long_long_format=yes \
      ac_cv_buggy_getaddrinfo=no \
- --without-ensurepip added, because the build wants to ensure that
  it works; that's a good idea, but for now, it requires special
  setup, and we can do that later
- --without-pymalloc added, becase in Python 3, modules are suffixed
  with m; e.g. so some paths are python3.4m instead of python3.4
  all this is detailed here:
         http://legacy.python.org/dev/peps/pep-3149/
  Maybe it will be a good idea to re-add this back

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-06 21:07:31 +03:00
Alexandru Ardelean da85f0770a python: reorganize package
Make python-mini the top-level and default Python package.
Make the other packages subpackages of the top-level python package.
Make old python package the python-full package.

Note: at this point, this package can be split/renamed to
python-legacy should anyone need Python 2. After this commit
it's going to be Python 3 all the way.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-06 17:34:28 +03:00
Alexandru Ardelean 1472a35f36 python: update copyright & maintainer
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-06 17:31:23 +03:00
Alexandru Ardelean 0169d40b81 python: import package as-is from old packages
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-06 17:31:23 +03:00