Commit Graph

3246 Commits

Author SHA1 Message Date
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
Alexandru Ardelean 885fe99cd2 python3: 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-20 18:05:03 +03:00
Alexandru Ardelean a1fe8c48aa python3: reduce bloat by removing *.pyo and *.pyc files
Seems that if you add a package folder this would also
include the compiled python3 files which increases fw size.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-20 18:04:12 +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
Marcel Denia 4715296a79 perl: Bump PKG_RELEASE
Signed-off-by: Marcel Denia <naoir@gmx.net>
2014-10-16 11:12:45 +02:00
Marcel Denia ef3ac53da2 perl: Don't try to link against libnsl
And also remove all other references to avoid confusion.
libnsl isn't really needed. Removing it allows glibc based
toolchains to build perl.

Signed-off-by: Marcel Denia <naoir@gmx.net>
2014-10-16 11:12:44 +02:00
Marcel Denia 4456537077 perl: Make I8/I16/I32 types explicitly signed for PPC
Type signedness is undefined for char. char may actually be unsigned for
some CPUs.
This fixes various bugs on PPC, like negative array indices.

Signed-off-by: Marcel Denia <naoir@gmx.net>
2014-10-16 11:12:44 +02: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
Alexandru Ardelean 5cb802cac4 python3: fix python host path 2014-10-15 09:13:24 +03:00
Alexandru Ardelean a964feec68 python3: add python3 symlink to python exec as per PEP394 2014-10-15 09:13:24 +03:00
Alexandru Ardelean 72092dabf2 python3: suffix vars with 3 2014-10-15 09:12:41 +03:00
Alexandru Ardelean e4d94961c3 python3: include python*-package.mk irespective of DUMP env var
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-15 09:11:00 +03:00
Alexandru Ardelean dee4a69cea python3: enforce version assignment
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-15 09:10:29 +03:00
Alexandru Ardelean 9500f50f2b python3: avoid making python3 the default python command
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-15 09:08:09 +03:00
Alexandru Ardelean d5d9442928 python3: fixup python-package.mk include
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2014-10-15 09:08:06 +03:00
Agent 42 d4bc92fad5 renaming python-package.mk to python3-package.mk 2014-10-13 22:58:43 +02:00
Agent 42 1e6a88dde0 rename package name to python3 2014-10-13 12:21:16 +02:00
Agent 42 5e3393cf94 rename folder to python3 2014-10-13 12:20:34 +02:00
sbyx 85695f4561 Merge pull request #396 from commodo/python-migration
python: import from old packages and update to version 3.4
2014-10-08 08:52:42 +02:00
Luiz Angelo Daros de Luca b1d4af0be0 Merge pull request #398 from luizluca/ruby_fixes-n-update
Ruby many fixes n update to 2.1.3
2014-10-07 14:46:44 -03:00
Luiz Angelo Daros de Luca 201bb841ac ruby: reorder subpackages (alphabetical order)
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2014-10-07 14:32:07 -03:00
Luiz Angelo Daros de Luca ae90aca0ca ruby: adds help text for pkgs
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2014-10-07 14:14:53 -03:00
Luiz Angelo Daros de Luca d372bf0eba ruby: update to 2.1.3
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2014-10-07 14:14:53 -03:00
Luiz Angelo Daros de Luca abfa610a1c ruby: explode ruby-core into subpkgs
ruby-core is problematic as it is too big.
It is impossible to fix pkgs dependencies as
ruby-core would generate multiple cycled dependencies
between packages.

Also, "core" in ruby context means "classes that does not need a 'require'".
This is not the case of ruby-core classes. They are, actually, a subset of
Ruby Standard Library.

In every detected case where a portion of ruby-core could be isolated and
save another pkgs from requiring all ruby-core where spin-off into a new
subset. Also, big portions of ruby-core, not require by current ruby-* pkgs
where spin-off in new pkgs. The remaining of ruby-core was put into a new ruby-misc.

ruby-stdlib was created as a meta package that requires all ruby packages that are
part of Ruby Standard Library. For a full Ruby Standard Library, just install
ruby-stdlib and its deps.

Created pkgs from ruby-stdlib:
- ruby-misc
- ruby-csv
- ruby-datetime
- ruby-dbm
- ruby-debuglib
- ruby-drb
- ruby-fiddle
- ruby-filelib
- ruby-logger
- ruby-math
- ruby-multithread
- ruby-mkmf
- ruby-net
- ruby-optparse
- ruby-patterns
- ruby-prettyprint
- ruby-pstore
- ruby-racc
- ruby-rbconfig
- ruby-rinda
- ruby-ripper
- ruby-sdbm
- ruby-shell
- ruby-socket
- ruby-uri

Some files from ruby-openssl where moved to new subpkgs (as ruby-net and ruby-drb).

All dependencies where redefined based on auxiliar script ruby_find_pkgsdeps

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2014-10-07 14:14:53 -03:00
Luiz Angelo Daros de Luca a30e571680 ruby: move files to ruby-xmlrpc,ruby-dl left in ruby-core
Some files that belong to other subpkgs where still in
ruby-core. Just moved them to the correct place.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2014-10-07 14:14:53 -03:00
Luiz Angelo Daros de Luca e6541de61d ruby: create subpkgs ruby-enc-extra from ruby-enc
Ruby encoding library was too big and bring unecessary encodings for a simple ruby usage.
All not directly required encodings from stdlib where moved to ruby-enc-extra.

Created pkg from ruby-enc
- ruby-enc-extra (from ruby-enc)

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2014-10-07 14:14:53 -03:00
Luiz Angelo Daros de Luca e707020e18 ruby: add auxiliar scripts in order to help tests
ruby_find_pkgsdeps: look for file dependencies (checks
require and Encoding references) and extrapolate it to pkgs
deps. Also checks whether a dep is redundant or missing in pkgs.
Must run inside an OpenWRT with all ruby* pkgs installed.

ruby_missingfiles: list files in staging/target and from files
comparing side by side its contents. It helps to easly visualize
which file is not packaged in an ipk.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2014-10-07 14:14:53 -03:00
Luiz Angelo Daros de Luca c755b298c3 ruby: spin-off ruby-digest from ruby-openssl
Digest can use OpenSSL or ruby internal implementation of hash functions. The first
uses less disk space but requires openssl, that is relatively big. As internal hash
implementations are not too much bigger than openssl version, it is compiled by
default. A new config option can change it to use OpenSSL instead.

As digest is independent from openssl, ruby-digest was created as a new pkgs.

Adds pkgs:
- ruby-digest (from ruby-openssl)

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2014-10-07 14:14:53 -03:00
Luiz Angelo Daros de Luca 8d46e8a453 ruby: remove refs from dropped syck
syck was replaced by psych in yaml. (ref:
https://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/36786)

Also add ruby-psych to ruby-yaml deps

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2014-10-07 14:14:53 -03:00
Luiz Angelo Daros de Luca 52ba3a1122 ruby: move gems out of core
Some ruby gems where still in ruby-core pkg. These files where
moved outside ruby-core into ruby-gems or their own subpkg.

ruby-unit renamed to ruby-testunit as its gem is named test-unit.

ruby-rdoc left a file in ruby-core.

Psych is a gem and deserves its own subpkg. It replaces syck
(used by yaml) on recent ruby version (ref:
https://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/36786)
Also, some psych files where packed incorrecly into ruby-json. The asterisk
in */json was intend to match <arch>/json/ and not psych/json.

Files where derived
from ruby-core and a lost file in ruby-json.

New subpkgs:
- ruby-bigdecimal
- ruby-io-console
- ruby-minitest
- ruby-psych

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2014-10-07 14:14:53 -03:00
Luiz Angelo Daros de Luca cfcd564d9c ruby: link ext/digest/* to openssl only when needed, fix rmd160 name
ext/digest/rmd160 was referencing a function that never existed in openssl.
The name was simply mistyped. Now it can use openssl.

openssl was always linked to ext/digest when library is avaiable,
even when it was disable by configure option and not used by code.

upstream refs: https://bugs.ruby-lang.org/issues/10252
upstream refs: https://bugs.ruby-lang.org/issues/10324

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2014-10-07 14:14:53 -03:00