Python will record the values of CC, CXX, AR, and READELF (and other
configure options) used during compilation. pip will use these programs
when asked to compile extension modules on the target device.
* If ccache is used during build, CC and CXX will be ccache_cc and
ccache_cxx, respectively, which are not available on-device (#11912).
* If an external toolchain is used during build, the values of these
variables will contain the external toolchain prefix, which may not be
available on target.
* If the normal toolchain is used during build, AR and READELF will
contain the toolchain prefix, but the names of ar and readelf
on-device do not contain the prefix; they are named "ar" and
"readelf".
This changes the values of these variables in Python's files to match
the names available on-device, and without any toolchain prefix.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This also updates all package metadata (it appears this information was
not updated when the package switched from packaging "gnupg" from PyPI
to "python-gnupg"), updates the package to use the default Python
package build recipe, and adds a src package.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
python-django1-common was added to allow both Python 2 and 3 versions of
Django 1.11 to be installed at the same time. With the removal of Python
2, this package is no longer necessary.
This removes this common package and updates the CONFLICTS value for the
django package.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
The previous maintainer has removed himself from his other packages
(#11612). This package appears to have been omitted by mistake.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This removes:
* Python 3 variants (VARIANT:=python3)
* "for Python3" from package titles
* Package selection condition from package dependencies, e.g.
+PACKAGE_python3-six:python3-light replaced with +python3-light
* "Default" package information sections, e.g.
Package/python-six/Default removed and package details merged into
Package/python3-six
* "(Variant for Python3)" from package descriptions
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
PYTHON_VERSION is a holdover from Python 2; all Python 3 variables are
prefixed with PYTHON3 (or some variation with "3").
This updates all uses of PYTHON_VERSION to PYTHON3_VERSION.
This also sets PYTHON3_PKG_BUILD:=0 before python3-package.mk is
included in the python3 Makefile.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This replaces the use of BUILD_VARIANT with PYTHON3_PKG_BUILD to opt
in/out of the default Python package build recipe (Py3Build/Compile).
PYTHON3_PKG_BUILD defaults to true (1), i.e. if a package includes
python3-package.mk, then by default it will set the package's
Build/Compile to Py3Build/Compile.
If PYTHON3_PKG_BUILD is set to 0 before python3-package.mk is included,
then Build/Compile will not be modified.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
There are no bug reports or other evidence to suggest Python is not
compatible with MIPS16 compilation.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* Remove PYTHON3_BIN_DIR, it isn't used anywhere in the repo
* Rephrase *-src package description
* Reduce Py3Package/$(1)/install indentation
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This extracts filespec export and processing into
Py3Package/ProcessFilespec.
This also allows the filespec variable to be explicitly set to an empty
value, to bypass filespec processing. (The default filespec is also
available as Py3Package/filespec/Default to be explicitly assigned to
the filespec variable.)
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This moves functionality from python-package-install.sh into
python3-package.mk, so that they can be reused separate from filespec
processing.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Group Python3/* recipes together, group Py3Package and Py3Build
together.
This also adds headings and whitespace to separate major sections.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This renames "internal" recipes to use the Python3/ prefix and clarifies
the names (RunTarget to Run, Mod to ModSetup, Shebang to FixShebang).
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This changes the recipe name prefix from Build/Compile/HostPy3 to
HostPython3, and clarifies some of the names (RunHost to Run, Mod to
ModSetup).
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
HostPython3 only adds a few environment variables before running host
Python. It has only two users, Build/Compile/HostPy3RunHost and
Build/Compile/HostPy3RunTarget.
HostPython3 also accesses $(PYTHON3PATH), even though python3-host.mk
does not include python3-package.mk, where the variable is defined.
This removes HostPython3 and has its two users run host Python directly.
This also combines the environment variables of HostPython3 and the two
users into HOST_PYTHON3_VARS and PYTHON3_VARS.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Since it only defines variables and canned recipes, it is safe to
include python3-host.mk more than once.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This was needed for Seafile up to a certain version. Since it's not
required anymore by any other package/known-user, remove it.
Should be installable via pip or manually.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
This adds a 'Package/<pkg>-src/config' definition with a 'depends on
<pkg>' line, which will hide <pkg>-src unless <pkg> is selected. This
makes the long list of python packages a bit shorter, and also indents
the src package:
<M> python3-base................................ Python 3.8 interpreter
< > python3-base-src................. Python 3.8 interpreter (sources)
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
Time to make it more official.
Running 'python' should get you an interpreter running, and that one is now
Python3.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Was mostly required for Seafile.
Now it isn't.
It's also pretty ancient.
https://www.saddi.com/software/flup/
Page was last updated in 2005.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
This change bumps gunicorn to version 20.0.4.
It also installs the binary for gunicorn without any suffix, via symlink.
And remove gunicorn_paster; that was removed from the package and moved
into the gunicorn library.
Also, now we need to use the full python3-setuptools package for the
gunicorn executable, as it won't start without it.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
This fixes a typo with the default PYTHON3_PKG_SETUP_GLOBAL_ARGS.
Since in make context non-defined variables are empty anyway, this doesn't
produce any issues. The fix is more semantic in nature.
Fixes https://github.com/openwrt/packages/issues/11790
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Since cffi is installed by HOST_PYTHON3_PACKAGE_BUILD_DEPENDS, it
shouldn't be necessary to clear setup_requirements anymore.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Currently, python3-pip installs the same script as pip3 and pip3.8 to
usr/bin. This changes pip3 to be a symlink to pip3.8.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* Replace the Python 2 pending removal notice/schedule with a brief
message about the removal
* Replace mentions of "Python & Python 3" with just "Python" (references
to the version number are kept only in cases where it is necessary)
* Update Makefile example code to use Python 3 conventions/names
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
These are either libraries that backport Python 3 features for Python 2
programs, or libraries that have not had Python 3 variants added to them
by anyone.
These packages will be added to the abandoned packages feed.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Life changes, I'm no longer avaiable to be an sufficiently active
OpenWrt developer. Therefore removing myself from maintainer from
all packages I maintained in OpenWrt.
All the best for those who keep up the good work!
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Previously, this packaged "django-jsonfield" on PyPI.
The only (in-tree) package that depends on this package is
django-postoffice.
django-post-office actually depends on "jsonfield" on PyPI.[1][2]
This changes the packaged project from "django-jsonfield" to
"jsonfield".
The version packaged here is not the latest available update, but the
last version compatible with Django 1.11 / Python 2.
[1]: https://github.com/ui/django-post_office/blob/v3.2.1/setup.py#L45
[2]: https://github.com/ui/django-post_office/issues/182
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This patches Django to load byte-compiled (.pyc) db migration scripts,
since Python scripts are often distributed in byte-compiled form in
OpenWrt packages.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This adds a Python 3 version of the django1 package.
This also adds a python-django1-common package that contains a
django-admin script based on the one in Debian[1]. This allows
python-django1 and python3-django1 to be installed at the same time.
python3-django conflicts with python-django1 (via python-django1-common)
and python3-django1.
This also updates older Python 3 Django plugin packages to depend on
python3-django1, and newer plugin packages to depend on "django", which
both python3-django and python3-django1 provide.
Because of this dependency on either version of Django, the MDEPENDS for
Python 3 Django plugin packages no longer functions correctly and has
been removed.
[1]: https://salsa.debian.org/python-team/modules/python-django/blob/debian/buster/debian/django-admin
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Split python2 and python3 packages and update to newest versions:
* python-django-restframework version 3.9.4 using django1
* python3-django-restframework version 3.11.0 using django3
This fixes the issue that the restframework cannot import name
'python_2_unicode_compatible' from 'django.utils.encoding', when
using version 3.9.x together with Django 3.y.
Signed-off-by: Peter Stadler <peter.stadler@student.uibk.ac.at>
* Replace $(PKG_NAME) with package name in call, define, and eval lines
* Remove extra "define" in $(call define Package/.../description)
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Python Interface for libmodbus written with CFFI.
This libmodbus wrapper is compatible with Python 2 and Python 3.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This backports patches from bpo-34585[1] to fix byte order detection of
floats.
Fixing byte order detection allows the repr() of floats to be shorter (a
feature backported to Python 2.7 from Python 3.1[2]).
sys.float_repr_style should be 'short' instead of 'legacy' on supported
platforms.
See #11134.
[1]: https://bugs.python.org/issue34585
[2]: https://docs.python.org/2.7/whatsnew/2.7.html#python-3-1-features
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
According to the installation guide [1], the support for "sha256_password"
or "caching_sha2_password" for authentication is optional.
This change makes it optional for the OpenWrt package by providing a build
option to enable it.
By default it won't be enabled, and packages can choose to enable it.
[1] https://pymysql.readthedocs.io/en/latest/user/installation.html
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
+ WolfSSL support from upstream => remove 0001-Add-locking-support-to-wolfSSL.patch
PycURL changeLog:
Version 7.43.0.4 - 2020-01-15
-----------------------------------------------------------------
- Minimum supported Python 3 version is now 3.5.
- Python 2 is no longer officially supported.
- Improved thread safety of multi code.
- Added Python 3.8 support (patch by Michael Treanor).
- Fixed link order when linking statically against OpenSSL (patch by Ashley Whetter).
- Fixed Darwin detection.
- Added support for wolfSSL (patch by Eneas U de Queiroz).
- Added PROXY_SSL_VERIFYHOST (patch by Amir Rossert).
Signed-off-by: Waldemar Konik <informatyk74@interia.pl>
Compile tested: mipsel_24kc
This change adds support for the pymysql package, which is a pure Python
MySQL client. This package will replace the current python-mysqlclient.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
This change:
* bumps the version 1.3.0
* switches to pypi.org download
* removes the python2 variant
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Relevant bits of upstream changelog
New Features
argon2: Support more hashes
scrypt: Now uses python 3.6 stdlib’s hashlib.scrypt() as backend, if present (issue 86).
Bugfixes
Python 3.8 compatibility fixes
passlib.apache.HtpasswdFile: improve compatibility with Apache 2.4's htpasswd
passlib.totp: fix some compatibility issues with older TOTP clients (issue 92)
Fixed error in argon2.parsehash() (issue 97)
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
- Instagram compliance fix
- Added force_querystring argument to fetch_token() method on
OAuth2Session
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
This is the reusable django app that implements the server side of EteSync.
There will be another package that makes it available through Nginx using uwsgi.
Signed-off-by: Peter Stadler <peter.stadler@student.uibk.ac.at>
While the filespec example is technically correct, the more likely
scenario is that the files to be omitted would be inside of a package
subdirectory.
This adds an example_package directory into the example to illustrate
this case.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Add dependency on python3-sqlparse and use django-admin.py instead of django-admin as the latter depends on python3-pkg-resources.
Signed-off-by: Peter Stadler <peter.stadler@student.uibk.ac.at>
This adds documentation on including pypi.mk and its required/optional
variables to the Python section readme.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
PKG_BUILD_DIR now takes variants into account
(openwrt/openwrt@e545fac8d9), so it should
not be necessary for Python packages to set these variables anymore.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This issue was introduced after upgrading to 3.8.
Patch `006-remove-multi-arch-and-local-paths.patch` was dropped. It was
tested on x86, but when using the x86_64 compiler in OpenWrt, the issue is
present.
The issue seems to be about Ubuntu/Debian's multi-arch support in
Python/Python3 setup [which I forgot about]. The code runs it regardless of
whether it cross-compiles or not, and for OpenWrt, this causes issues, as
it introduces absolute include paths from the host system.
Fixes https://github.com/openwrt/packages/issues/10452
Fixes: 48277ec915 ("python3: bump to version 3.8")
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
This is a dependency of the etesync-server and uses the rest framework of django.
Edit: Remove runtests and add dependencies on python3-django and python3-light.
Signed-off-by: Peter Stadler <peter.stadler@student.uibk.ac.at>
This is a dependency for django-cors-headers.
Install sqlformat without using pkg-resources:
Upstream uses the entry_point function to call the __main__.py script.
We copy it for avoiding the dependency on pkg_resources and full python3 in turn.
Signed-off-by: Peter Stadler <peter.stadler@student.uibk.ac.at>
This updates all Python packages that download their source from PyPi to
use pypi.mk.
This will allow future improvements/changes to pypi.mk to affect all
relevant packages.
This also makes it easier for future Python packages to start using
pypi.mk, when it's clear how it is used in existing packages.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
After many failed attempts at upgrading Django to 2.2.6, the solution seems
to be to split a `python-django1` package that works with Python2 and
upgrade `python3-django` to the latest 2.2[.6] LTS release.
This also means that all Python2 Django packages will be stuck & based on
Django 1.11[.24] LTS release. But, it's currently the sanest approach I
could find to be able to perform an upgrade of Django to 2.2, and not break
Seafile.
Upgrading Seafile is also pretty difficult, as their Python3 support is not
yet finished & released. And in the meantime, we want to allow people to
use newer Django versions.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
This adds a new (optional) variable, PYPI_SOURCE_NAME, to pypi.mk.
For some PyPi packages (e.g. aiohttp_cors, click, django-compressor),
the name of the package and the source tarball name are slightly
different (usually by capitalisation or hyphen/underscore change).
This new variable is to make this difference explicit. PYPI_NAME is
meant for the "official" package name, whereas PYPI_SOURCE_NAME is meant
for the source tarball name.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>