Python3 variant was working fine.
Also add add PACKAGE_python-pyodbc conditional depend for python packages
Otherwise, both Python & Python3 interpreters get built,
even tho only one variant is selected.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
And depend on python-light only if python-lxml is selected.
Same thing for python3-lxml.
Otherwise, this builds both Python & Python3 intepreters.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
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>
Fixes: https://github.com/openwrt/packages/issues/4548
When running parallel jobs, there are chances
that the Build/InstallDev rule may run before
the Host/Install rule and fail the build.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
If you build python/python3 and later decide to build
python(3)-setuptools and/or python(3)-pip, the build won't
re-run without adding `CONFIG_PACKAGE_python(3)-setuptools`
and `CONFIG_PACKAGE_python(3)-pip`.
Seems to resolve issue:
https://github.com/openwrt/packages/issues/4529
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Seems it's called underlinking that's happening only
on Ubuntu 12.04 with libressl (that comes from LEDE's
tools folder).
Link here:
https://ubuntuforums.org/showthread.php?t=1870586
I'm still reading about this a bit.
Since I don't really get it.
But applying that fix (as in the link) seems to fix compiling
on Ubuntu 12.04, and tried also on 16.04 (to make sure).
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
The Build/InstallDev rule is activated only for target builds.
But if someone needs only the host Python, then
these files need to be installed in this phase, and not Build/InstallDev
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
OVS has PKG_BUILD_DEPENDS:=python-six/host as dep.
But that doesn't seem to work, since the PKG_NAME:=six
So, this change renames the PKG_NAME to python-six, to
make it clear it's Python package.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Add native support for SNMP manager functions, so scripts don't
have to call system("snmpget -v2c ...") etc. Cuts down on fork/exec
pairs and simplifies issues with parsing intermediate output.
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
If there is only Python bytecodes, then
the __init__.py script will be concatenated, and
the __init__.pyc as well.
This is becase this bit `path = os.path.join(path, '__init__'+extension)`
is iterated twice.
This is a bug in Python3, also because we ship bytecodes
instead of source code [ with Python & Python3 ].
Python is not affected.
Reported-by: Mirko Vogt <mirko@nanl.de>
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Removed patch 1008-fix-musl-sys-headers.patch which was integrated
upstream.
(Compile tested only so far)
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
We are not properly passing down TARGET_CFLAGS and TARGET_CPPFLAGS and
this can be noticed with external toolchains with the following build
error:
mipsel-linux-gnu-gcc -Wall -Wextra -pedantic -Waggregate-return
-Wcast-align -Wcast-qual -Wdisabled-optimization -Wpointer-arith
-Wshadow -Wsign-compare -Wundef -Wwrite-strings -Wbad-function-cast
-Wdeclaration-after-statement -Wmissing-prototypes -Wnested-externs
-Wstrict-prototypes -O2 -std=c99 -I../lua/ -fPIC -c -o lpvm.o lpvm.c
lpvm.c:10:17: fatal error: lua.h: No such file or directory
#include "lua.h"
^
compilation terminated.
make[4]: *** [lpvm.o] Error 1
Re-use COPT to pass our TARGET_CFLAGS and TARGET_CPPFLAGS
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
This package requires libxml2 & libxslt to be built, has some
C code so it's not installable via pip.
It needs cross-compilation.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
The extensions tries to register some string constants after quering
version strings from underlaying libcurl. However, depending on libcurl's
configuration these strings could also be NULL, which was not handled
properly.
An upstream pull request for this patch is waiting for review.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Standard assignment is immediate expansion without any extraneous spacing, RFC822 compliant email addresses and consistent section assignments
Signed-off-by: Stephen Walker <stephendwalker+github@gmail.com>
This is in essence fixes pip3.
That means pip3 will ship without Python byte-codes
for a while, until I'll find a better way to fix it.
I couldn't think of a not-very hack-ish way of doing it.
The only draw-back of this, will be that pip3 will run
a bit slower ; but that should be ok for a while.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
python3-pip & python3-setuptools have slightly
different installation mechanisms.
We need to remove the __pycache__ folders.
Seems they're generated.
This also reduces the size of the python3-pip &
python3-setuptools packages.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
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>
Avoid using 'hg' (Mercurial) to download sources.
'hg' is not an official prerequisite and it is not installed
in all buildslaves in Openwrt and LEDE buildbots, which
leads to frequent build failures.
Download the .tar.gz source archive instead.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
This fixes a stupid typo from last commit which lead to the following
compiler warning:
cc1: warning: command line option '-std=c++11' is valid for C++/ObjC++ but not for C
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
This fixes the following build error (shortened paths for readability):
-snip-
In file included from .../php-7.1.4/ext/intl/intl_convertcpp.h:26:0,
from .../php-7.1.4/ext/intl/intl_convertcpp.cpp:21:
.../staging_dir/target-arm_arm926ej-s_musl_eabi/usr/include/unicode/unistr.h:56:16: error: 'UChar' does not name a type
u_strlen(const UChar *s);
^
.../staging_dir/target-arm_arm926ej-s_musl_eabi/usr/include/unicode/unistr.h:80:19: error: 'char16_t' has not been declared
char16_t *dest, int32_t destCapacity,
^
.../staging_dir/target-arm_arm926ej-s_musl_eabi/usr/include/unicode/unistr.h:81:25: error: 'char16_t' does not name a type
const char16_t *src, int32_t srcLength,
^
In file included from .../php-7.1.4/ext/intl/intl_convertcpp.h:26:0,
from .../php-7.1.4/ext/intl/intl_convertcpp.cpp:21:
.../staging_dir/target-arm_arm926ej-s_musl_eabi/usr/include/unicode/unistr.h:462:16: error: 'char16_t' does not name a type
const char16_t *srcChars) const;
^
[...]
-snap-
This build error was introduced by update of icu to 59.1.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
MUSL is complaining about <sys/poll.h> instead of <poll.h>.
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
[ Replaced the *-t1lib filtering stuff by simply removing the
left-over configure option ]
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Filter support brings several useful features which many PHP applications
rely on. To make it easier for users who don't want to build own packages
enable this by default. This slightly increases the binary SAPI packages,
but since PHP is a huge monster anyway, I doubt this hurts anybody.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
The gettext extension is only useful when linked against libintl-full
package, however, the detection did not work sucessfully. This patch
by @Dimazhan fixes this.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
In order to reduce flash requirements and also to disallow running NPM on the target
move NPM out of the default NodeJS package.
In order to allow adding NPM via opkg install, move it to a separated
directory
Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
This directory was added by mistake in one of the last commits to
this package, just remove it, it's not needed.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Well, they're not yet compiled, but in the next commit
they should be.
People have been complaining [citation needed] to me
via email or via Github that Python's performance is crap
because it packages sources directly and they're not compiled.
And Python has to compile the sources on each run, and
on-the-fly.
Allowing compilation caching is also a no-no, because
I'll get complaints that the flash storage fills up
whenever a Python app runs.
So, to give the user a choice, the new de-facto packaging
for Python packages will be:
* ship compiled + [ preferably ] optimized files
* package sources separately
The problem is that this doubles the number of packages
in LEDE/OpenWrt, but build-times should not suffer a big
hit, since the compilation is done once, and the
install phase should not be too intensive.
Oh, and people don't need ship source packages if
they don't want to.
To do that, a packager needs to just call
`$(eval $(call BuildPackage,python-<package>-src))`
The `python-` prefix is important.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>