Revert "python: bump to latest version"

This reverts commit 8be6cbdcc2.
This commit is contained in:
coolsnowwolf 2019-04-27 15:15:40 +08:00
parent 8be6cbdcc2
commit 5fcf0b0d0b
172 changed files with 1022 additions and 4966 deletions

View File

@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=Flask
PKG_VERSION:=1.0.2
PKG_VERSION:=0.12.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/F/Flask
PKG_HASH:=2271c0070dbcb5275fad4a82e29f23ab92682dc45f9dfbc22c02ba9b9322ce48
PKG_SOURCE_URL:=https://pypi.python.org/packages/eb/12/1c7bd06fcbd08ba544f25bf2c6612e305a70ea51ca0eda8007344ec3f123/
PKG_HASH:=49f44461237b69ecd901cc7ce66feea0319b9158743dd27a2899962ab214dac1
PKG_BUILD_DEPENDS:=python python3
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
@ -29,9 +29,8 @@ define Package/python3-flask
URL:=http://github.com/pallets/flask/
TITLE:=python3-flask
DEPENDS:=+python3-asyncio +python3-click +python3-codecs +python3-decimal \
+python3-itsdangerous +python3-jinja2 +python3 +python3-logging \
+python3-markupsafe +python3-multiprocessing +python3-setuptools \
+python3-werkzeug
+python3-itsdangerous +python3-jinja2 +python3-light +python3-logging \
+python3-markupsafe +python3-multiprocessing +python3-werkzeug
VARIANT:=python3
endef

View File

@ -5,16 +5,19 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=Jinja2
PKG_VERSION:=2.10.1
PKG_VERSION:=2.9.6
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/J/Jinja2
PKG_HASH:=065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_SOURCE_URL:=https://pypi.python.org/packages/90/61/f820ff0076a2599dd39406dcb858ecb239438c02ce706c8e91131ab9c7f1/
PKG_HASH:=ddaa01a212cd6d641401cb01b605f4a4d9f37bfc93043d7f760ec70fb99ff9ff
PKG_BUILD_DEPENDS:=python3
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-$(PKG_NAME)-$(PKG_VERSION)
PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
@ -23,9 +26,9 @@ define Package/python3-jinja2
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Jinja2
URL:=http://jinja.pocoo.org/
DEPENDS:=+python3-light +python3-markupsafe
TITLE:=python3-jinja2
DEPENDS:=+python3-light
VARIANT:=python3
endef
@ -37,4 +40,3 @@ endef
$(eval $(call Py3Package,python3-jinja2))
$(eval $(call BuildPackage,python3-jinja2))
$(eval $(call BuildPackage,python3-jinja2-src))

View File

@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=MarkupSafe
PKG_VERSION:=1.1.1
PKG_VERSION:=1.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/M/MarkupSafe
PKG_HASH:=29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b
PKG_SOURCE_URL:=https://pypi.python.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/
PKG_HASH:=a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665
PKG_BUILD_DEPENDS:=python python3
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
@ -26,7 +26,7 @@ define Package/python3-markupsafe
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
URL:=https://github.com/pallets/markupsafe/
URL:=http://github.com/pallets/markupsafe/
TITLE:=python3-markupsafe
DEPENDS:=+python3-light
VARIANT:=python3

View File

@ -1,291 +0,0 @@
# Python packages folder
## Table of contents
1. [Description](#description)
2. [Introduction](#introduction)
3. [Build considerations](#build-considerations)
4. [General folder structure](#general-folder-structure)
5. [Building a Python[3] package](#building-a-python3-package)
1. [PKG_BUILD_DIR](#pkg_build_dir)
2. [PKG_UNPACK](#pkg_unpack)
3. [Include python[3]-package.mk](#include-python3-packagemk)
4. [Add Package/<PKG_NAME> OpenWrt definitions](#add-packagepkg_name-openwrt-definitions)
5. [Wrapping things up so that they build](#wrapping-things-up-so-that-they-build)
6. [Customizing things](#customizing-things)
7. [Host-side Python packages for build](#host-side-python-packages-for-build)
## Description
This section describes specifics for the Python packages that are present in this repo, and how things are structured.
In terms of license, contributing guide, etc, all of that information is described in the top [README.md](README.md) file, and it applies here as well. This document attempts to cover only technical aspects of Python/Python3 packages, and maybe some explanations about how things are (and why they are as they are).
## Introduction
This sub-tree came to exist after a number of contributions (Python packages) were made to this repo, and the [lang](lang) subtree grew to a point where a decision was made to move all Python packages under [lang/python](lang/python).
It contains the 2 Python interpreters (Python & Python3) and Python packages. Most of the Python packages are downloaded from [pypi.org](https://pypi.org/). Python packages from [pypi.org](https://pypi.org/) are typically preferred when adding new packages.
If more packages (than the ones packaged here) are needed, they can be downloaded via [pip or pip3](https://pip.pypa.io). Note that the versions of `pip` & `setuptools` [available in this repo] are the ones that are packaged inside the Python & Python3 packages (yes, Python & Python3 come packaged with `pip` & `setuptools`).
## Build considerations
In order to build the Python[3] interpreters, a host Python/Python3 interpreter needs to be built, in order to process some of the build for the target Python/Python3 build. The host Python[3] interpreters are also needed so that Python bytecodes are generated, so the host interpreters need to be the exact versions as on the target. And finally, the host Python[3] interpreters also provide pip & pip3, so that they may be used to install some Python[3] packages that are required to build other Python[3] packages.
That's why you'll also see a Python/Python3 build & staging directories.
As you're probably thinking, this sounds [and is] somewhat too much complication [just for packaging], but the status of things is-as-it-is, and it's probably much worse than what's currently visible on the surface [with respect to packaging Python[3] & packages].
As mentioned earlier, Python[3] packages are shipped with bytecodes, and the reason for this is simply performance & size.
The thought/discussion matrix derives a bit like this:
* shipping both Python source-code & bytecodes takes too much space on some devices ; Python source code & byte-code take about similar disk-size
* shipping only Python source code has a big performance penalty [on some lower end systems] ; something like 500 msecs (Python source-only) -> 70 msecs (Python byte-codes) time reduction for a simple "Hello World" script
* shipping only Python byte-codes seems like a good trade-off, and this means that `python-src` & `python3-src` can be provided for people that want the source code
By default, automatic Python[3] byte-code generation is disabled when running a Python script, in order to prevent a disk from accidentally filling up. Since some disks reside in RAM, this also means not filling up the RAM. If someone wants to convert Python source to byte-code then he/she is free to compile it [directly on the device] manually via the Python interpreter & library.
## General folder structure
The basis of all these packages are:
* [lang/python/python](lang/python/python) - The Python 2.7.y interpreter (supposedly, there won't ever by a 2.8.y)
* [lang/python/python3](lang/python/python3) - The Python 3.x.y interpreter
These 2 are normal OpenWrt packages, which will build the Python interpreters. They also provide `python[3]-pip` & `python[3]-setuptools`. Each Python or Python3 package is actually split into multiple sub-packages [e.g. python-email, python-sqlite3, etc]. This can be viewed inside [lang/python/python/files](lang/python/python/files) & [lang/python/python3/files](lang/python/python3/files).
The reason for this splitting, is purely to offer a way for some people to package Python/Python3 in as-minimal-as-possible-and-still-runable way, and also to be somewhat maintainable when packaging. A standard Python[3] installation can take ~20-30 MBs of disk, which can be somewhat big for some people, so there are the `python[3]-base` packages which bring that down to ~5 MBs. This seems to be good enough (and interesting) for a number of people.
The Python[3] interpreters are structured like this:
* `python-base` (and `python3-base`), which is just the minimal package to startup Python[3] and run basic commands
* `python` (and `python3`) are meta-packages, which install almost everything (python[3]-base [plus] Python[3] library [minus] some unit-tests & some windows-y things)
* `python-light` (and `python3-light`) are `python` (and `python3`) [minus] packages that are in [lang/python/python/files](lang/python/python/files) or [lang/python/python3/files](lang/python/python3/files) ; the size of these 2 packages may be sensible (and interesting) to another group of people
All other Python & Python3 packages (aside from the 2 intepreters) typically use these files:
* **python[3]-host.mk** - this file contains paths and build rules for running the Python[3] interpreters on the host-side; they also provide paths to host interprete, host Python lib-dir & so on
* **python[3]-package.mk**
* includes **python[3]-host.mk**
* contains all the default build rules for Python[3] packages; these will be detailed below in the [Building a Python[3] package](#Building a Python[3] package) section
**Note** that Python/Python3 packages don't need to use these files (i.e. `python[3]-package.mk` & `python[3]-host.mk`), but they do provide some ease-of-use & reduction of duplicate code, especially when packaging for both Python & Python3. And they do contain some learned-lessons about packaging Python/Python3 packages, so it's a good idea to use them.
## Building a Python[3] package
A Python package can be packaged for either Python or Python3 or both.
This section will describe both, and then it can be inferred which is for which.
Packaging for both Python & Python3 uses the `VARIANT` mechanism for packaging inside OpenWrt. (#### FIXME: find a link for this later if it exists)
### PKG_BUILD_DIR
It's important when packaging for both Python & Python3 to override this variable, so that the build directory differs for each variant.
Typically it's just something like:
```
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-pyasn1-$(PKG_VERSION)
```
Where `pyasn1` should be some other name, or maybe `PKG_NAME`
This should be added before this include:
```
include $(INCLUDE_DIR)/package.mk
```
### PKG_UNPACK
In many cases, this needs to be overriden. This is usually because the way Python packages are archived, don't follow the convention of other `tar.gz` packages.
So, something like:
```
PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
```
should be added.
It's not important whether this is after or before `include $(INCLUDE_DIR)/package.mk`
### Include python[3]-package.mk
If packaging for Python, add this after `include $(INCLUDE_DIR)/package.mk`
```
include ../python-package.mk
```
If packaging for Python3, add this after `include $(INCLUDE_DIR)/package.mk`
```
include ../python3-package.mk
```
Order doesn't matter between `python-package.mk` & `python3-package.mk`.
These will make sure that build rules for Python or Python3 can be specified and picked up for build.
### Add Package/<PKG_NAME> OpenWrt definitions
This part is similar to default OpenWrt packages.
It's usually recommended to have a `Package/<PKG_NAME>/Default` section that's common for both Python & Python3.
Example:
```
define Package/python-lxml/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
URL:=https://lxml.de
DEPENDS:=+libxml2 +libxslt +libexslt
endef
```
Then for each variant do something like:
```
define Package/python-lxml
$(call Package/python-lxml/Default)
TITLE:=python-lxml
DEPENDS+=+PACKAGE_python-lxml:python-light +PACKAGE_python-lxml:python-codecs
VARIANT:=python
endef
define Package/python3-lxml
$(call Package/python-lxml/Default)
TITLE:=python3-lxml
DEPENDS+=+PACKAGE_python3-lxml:python3-light
VARIANT:=python3
endef
```
Some considerations here (based on the example above):
* be sure to make sure that `DEPENDS` are correct for both variants; as seen in the example above, `python-codecs` is needed only for `python-lxml` ; that's because `python3-codecs` doesn't exist and is included in `python3-base` ; most of the times they are similar, sometimes they are not
* consider adding conditional DEPENDS for each variant ; so for each Python[3] package add `+PACKAGE_python-lxml:<dep>` as seen in the above example ; the reason for this is build-time reduction ; if you want to build Python3 only packages, this won't build Python & Python packages + dependencies ; this is a known functionality of OpenWrt build deps
* there is an exception to the above consideration: if adding `+PACKAGE_python-lxml` conditional deps creates circular dependencies [for some weird reason], then this can be omitted
* `VARIANT=python` or `VARIANT=python3` must be added
* typically each variant package is named `Package/python3-<something>` & `Package/python3-<something>` ; this convention makes things easier to follow, though it could work without naming things this this
* `TITLE` can be something a bit more verbose/neat ; typically the name is short as seen above
Following these, 2 more definitions are required:
```
define Package/python-lxml/description
The lxml XML toolkit is a Pythonic binding
for the C libraries libxml2 and libxslt.
endef
define Package/python3-lxml/description
$(call Package/python-lxml/description)
.
(Variant for Python3)
endef
```
Typically, the description is the same for both, so just mentioning that one is a variant of the other is sufficient.
### Wrapping things up so that they build
If all the above prerequisites have been met, all that's left is:
```
$(eval $(call PyPackage,python-lxml))
$(eval $(call BuildPackage,python-lxml))
$(eval $(call Py3Package,python3-lxml))
$(eval $(call BuildPackage,python3-lxml))
```
The `$(eval $(call PyPackage,python-lxml))` part will instantiate all the default Python build rules so that the final Python package is packaged into an OpenWrt.
And `$(eval $(call BuildPackage,python-lxml))` will bind all the rules generated with `$(eval $(call PyPackage,python-lxml))` into the OpenWrt build system.
These packages will contain byte-codes and binaries (shared libs & other stuff).
If a user wishes to ship source code, adding 2 more lines creates 2 more packages that ship Python source code:
```
$(eval $(call PyPackage,python-lxml))
$(eval $(call PyPackage,python-lxml-src))
$(eval $(call BuildPackage,python-lxml))
$(eval $(call Py3Package,python3-lxml))
$(eval $(call Py3Package,python3-lxml-src))
$(eval $(call BuildPackage,python3-lxml))
```
The name `*-src` must be the Python package name; so for `python-lxml-src` a equivalent `python-lxml` name must exist.
### Customizing things
Some packages need custom build rules (because they do).
The default package build and install processes are defined in `python[3]-package.mk`.
#### Building
The default build process calls `setup.py install` inside the directory where the Python source package is extracted (`PKG_BUILD_DIR`). This "installs" the Python package to an intermediate location (`PKG_INSTALL_DIR`) where it is used by the default install process.
There are several Makefile variables that can be used to customize this process (all optional):
* `PYTHON_PKG_SETUP_DIR` / `PYTHON3_PKG_SETUP_DIR`: Path where `setup.py` can be found, relative to the package directory (`PKG_BUILD_DIR`).
Default: empty value (`setup.py` is in the package directory)
* `PYTHON_PKG_SETUP_VARS` / `PYTHON3_PKG_SETUP_VARS`: Additional environment variables to set for the call to `setup.py`. Should be in the form of `VARIABLE1=value VARIABLE2=value ...`.
Default: empty value
* `PYTHON_PKG_SETUP_GLOBAL_ARGS` / `PYTHON3_PKG_SETUP_GLOBAL_ARGS`: Additional command line arguments to pass to `setup.py`, before / in front of the `install` command.
Default: empty value
* `PYTHON_PKG_SETUP_ARGS` / `PYTHON3_PKG_SETUP_ARGS`: Additional command line arguments to pass to `setup.py`, after the `install` command.
Default: `--single-version-externally-managed`
Conceptually, these variables are used in this way (using a Python 2 package as an example):
```
cd $(PKG_BUILD_DIR)/$(PYTHON_PKG_SETUP_DIR)
$(PYTHON_PKG_SETUP_VARS) python setup.py $(PYTHON_PKG_SETUP_GLOBAL_ARGS) install $(PYTHON_PKG_SETUP_ARGS)
```
The default build process can be completely overridden by defining custom `PyBuild/Compile` & `Py3Build/Compile` rules in the package Makefile.
#### Installing
The default install process copies some/all of the files from `PKG_INSTALL_DIR`, placed there by the build process, to a location passed to the install rule as the first argument (`$(1)`). The OpenWrt build system will then take those files and create the actual .ipk package archives.
This default process uses 2 build rules:
* `PyPackage/<package>/filespec` & `Py3Package/<package>/filespec` which are Python library files relative to `/usr/lib/pythonX.Y` ; by default this is `/usr/lib/python$(PYTHON[3]_VERSION)/site-packages` (`PYTHON[3]_PKG_DIR`) ; most Python[3] packages generate files that get installed in this sub-folder
* `PyPackage/<package>/install` & `Py3Package/<package>/install` is similar to `Package/<package>/install` ; these allow binary (or other files) to be installed on the target
Both the 2 above rules generate a `Package/<package>/install` build rule, which gets picked up by the build system. Both can be used together (they are not mutually exclusive), and provide a good enough flexibility for specifying Python[3] packages.
The `PyPackage/<package>/filespec` & `Py3Package/<package>/filespec` rules contain one or more lines of the following format (whitespace added for clarity):
```
<one of: +-=> | <file/directory path> | <file permissions>
```
The initial character controls the action that will be taken:
* `+`: Install the given path. If the path is a directory, all files and subdirectories inside are installed.
* If file permissions is specified (optional), then the file or directory (and all files and subdirectories) are assigned the given permissions; if omitted, then the file or directory retains its original permissions.
* `-`: Remove the given path. Useful when most of a directory should be installed except for a few files or subdirectories.
* File permissions is not used / ignored in this case.
* `=`: Assign the given file permissions to the given path. File permissions is required in this case.
As mentioned, the default `PyPackage/<package>/filespec` & `Py3Package/<package>/filespec` install `PYTHON[3]_PKG_DIR`:
```
define PyPackage/python-example/filespec
+|$(PYTHON_PKG_DIR)
endef
```
If there is an `examples` directory and `test_*.py` files that can be omitted to save space, this can be specified as:
```
define PyPackage/python-example/filespec
+|$(PYTHON_PKG_DIR)
-|$(PYTHON_PKG_DIR)/examples
-|$(PYTHON_PKG_DIR)/test_*.py
endef
```
### Host-side Python packages for build
These can be installed via pip and ideally they should only be installed like this, because it's a bit simpler than running them through the OpenWrt build system. Build variants on the host-side build are more complicated (and nearly impossible to do sanely) in the current OpenWrt build system.
Which is why [for example] if you need python cffi on the host build, it's easier to just add it via:
```
HOST_PYTHON_PACKAGE_BUILD_DEPENDS:="cffi==$(PKG_VERSION)"
HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="cffi==$(PKG_VERSION)"
```
[cffi is one of those packages that needs a host-side package installed for both Python & Python3].
This works reasonably well in the current OpenWrt build system, as binaries get built for this package and get installed in the staging-dir `$(STAGING_DIR)/usr/lib/pythonX.Y/site-packages`.

View File

@ -5,18 +5,17 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=Werkzeug
PKG_VERSION:=0.14.1
PKG_VERSION:=0.12.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/W/Werkzeug
PKG_HASH:=c3fd7a7d41976d9f44db327260e263132466836cef6f91512889ed60ad26557c
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_SOURCE_URL:=https://pypi.python.org/packages/56/41/c095a77eb2dd69bf278dd664a97d3416af04e9ba1a00b8c138f772741d31/
PKG_HASH:=903a7b87b74635244548b30d30db4c8947fe64c5198f58899ddcd3a13c23bb26
PKG_BUILD_DEPENDS:=python python3
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_BUILD_DEPENDS:=python python3
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-$(PKG_NAME)-$(PKG_VERSION)
PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
@ -27,7 +26,7 @@ define Package/python3-werkzeug
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
URL:=https://palletsprojects.com/p/werkzeug/
URL:=http://werkzeug.pocoo.org/
TITLE:=python3-werkzeug
DEPENDS:=+python3-light +python3-email
VARIANT:=python3

View File

@ -1,68 +0,0 @@
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=bcrypt
PKG_VERSION:=3.1.6
PKG_RELEASE:=1
PKG_SOURCE:=bcrypt-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:= https://files.pythonhosted.org/packages/source/b/$(PKG_NAME)
PKG_HASH:=44636759d222baa62806bbceb20e96f75a015a6381690d1bc2eda91c01ec02ea
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Daniel Dickinson <cshored@thecshore.com>
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-bcrypt-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
define Package/bcrypt/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
URL:=https://github.com/pyca/bcrypt/
endef
define Package/python-bcrypt
$(call Package/bcrypt/Default)
TITLE:=BCrypt
DEPENDS+=+PACKAGE_python-bcrypt:python +PACKAGE_python-bcrypt:python-cffi \
+PACKAGE_python-bcrypt:python-six
VARIANT:=python
endef
define Package/python3-bcrypt
$(call Package/bcrypt/Default)
TITLE:=BCrypt
DEPENDS+=+PACKAGE_python3-bcrypt:python3 +PACKAGE_python3-bcrypt:python3-cffi \
+PACKAGE_python3-bcrypt:python3-six
VARIANT:=python3
endef
define Package/python-bcrypt/description
Good password hashing for your software and your servers
endef
define Package/python3-bcrypt/description
$(call Package/python-bcrypt/description)
.
(Variant for Python3)
endef
$(eval $(call PyPackage,python-bcrypt))
$(eval $(call Py3Package,python3-bcrypt))
$(eval $(call BuildPackage,python-bcrypt))
$(eval $(call BuildPackage,python-bcrypt-src))
$(eval $(call BuildPackage,python3-bcrypt))
$(eval $(call BuildPackage,python3-bcrypt-src))

View File

@ -0,0 +1,52 @@
#
# Copyright (C) 2007-2017 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=chardet
PKG_VERSION:=3.0.4
PKG_RELEASE:=1
PKG_LICENSE:=LGPL-2.1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://pypi.python.org/packages/fc/bb/a5768c230f9ddb03acc9ef3f0d4a3cf93462473795d18e9535498c8f929d/
PKG_HASH:=84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
define Package/chardet
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
TITLE:=Universal encoding detector for Python 2 and 3
URL:=https://github.com/chardet/chardet
DEPENDS:=+python
endef
define Package/chardet/description
Universal encoding detector for Python 2 and 3
endef
define Build/Compile
$(call Build/Compile/PyMod,,install --prefix=/usr --root=$(PKG_INSTALL_DIR))
endef
define Package/chardet/install
$(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
$(INSTALL_DIR) $(1)/usr/bin
$(CP) \
$(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
$(1)$(PYTHON_PKG_DIR)
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/chardetect \
$(1)/usr/bin
# fix python exec path in scripts
sed -i 's/#!.*/#!\/usr\/bin\/python/g' $(1)/usr/bin/chardetect
endef
$(eval $(call BuildPackage,chardet))

View File

@ -1,36 +0,0 @@
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=click-log
PKG_VERSION:=0.3.2
PKG_RELEASE:=1
PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
PKG_SOURCE_URL:=https://codeload.github.com/click-contrib/click-log/tar.gz/$(PKG_VERSION)?
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_HASH:=16babb66a2ebf22c37c1cf38753a84e6027eb8991fcf9a8487971591b8ca9812
PKG_LICENSE:=MIT
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
define Package/python3-click-log
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
URL:=http://github.com/mitsuhiko/click
TITLE:=python3-click-log
DEPENDS:=+python3-click
VARIANT:=python3
endef
define Package/python3-click-log/description
Simple and beautiful logging for click applications
endef
$(eval $(call Py3Package,python3-click-log))
$(eval $(call BuildPackage,python3-click-log))
$(eval $(call BuildPackage,python3-click-log-src))

View File

@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=django-constance
PKG_VERSION:=2.3.1
PKG_VERSION:=2.0.0
PKG_RELEASE:=1
PKG_LICENSE:=BSD-3-Clause
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/django-constance
PKG_HASH:=a49735063b2c30015d2e52a90609ea9798da722ed070f091de51714758a5d018
PKG_SOURCE_URL:=https://pypi.python.org/packages/8a/37/4fa87dd0e43aa0a66fc419d58e67a9b6da70e1853d646c4b501c1ee7208b/
PKG_HASH:=6eec9f3ac4e5657b93e64f3379181d1e727088df10dd34f0398cd12119b9f0b0
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk

View File

@ -1,40 +0,0 @@
#
# Copyright (C) 2007-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=django-formtools
PKG_VERSION:=2.1
PKG_RELEASE:=2
PKG_LICENSE:=BSD-3-Clause
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/${PKG_NAME}
PKG_HASH:=7703793f1675aa6e871f9fed147e8563816d7a5b9affdc5e3459899596217f7c
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
define Package/django-formtools
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
TITLE:=A set of high-level abstractions for Django forms
URL:=https://django-formtools.readthedocs.io/en/latest/
DEPENDS:=+python +django
VARIANT:=python
endef
define Package/django-formtools/description
Django "formtools" is a set of high-level abstractions for Django forms.
Currently for form previews and multi-step forms.
endef
$(eval $(call PyPackage,django-formtools))
$(eval $(call BuildPackage,django-formtools))
$(eval $(call BuildPackage,django-formtools-src))

View File

@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=django-picklefield
PKG_VERSION:=1.1.0
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_LICENSE:=MIT
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/django-picklefield
PKG_HASH:=ce7fee5c6558fe5dc8924993d994ccde75bb75b91cd82787cbd4c92b95a69f9c
PKG_SOURCE_URL:=https://pypi.python.org/packages/e8/69/232d78ef16cad8dd4c2f871b0f44d87bcde36ed6a90597416e903034600b/
PKG_HASH:=61e3ba7f6df82d8df9e6be3a8c55ef589eb3bf926c3d25d2b7949b07eae78354
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
@ -25,7 +25,7 @@ define Package/django-picklefield
CATEGORY:=Languages
MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
TITLE:=Pickled object field for Django
URL:=https://github.com/gintas/django-picklefield
URL:=http://github.com/gintas/django-picklefield/
DEPENDS:=+python +django
endef

View File

@ -8,14 +8,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=django-postoffice
PKG_VERSION:=3.1.0
PKG_VERSION:=3.0.3
PKG_RELEASE:=1
PKG_LICENSE:=MIT
PKG_SOURCE:=django-post_office-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/django-post_office
PKG_HASH:=827937a944fe47cea393853069cd9315d080298c8ddb0faf787955d6aa51a030
PKG_BUILD_DIR:=$(BUILD_DIR)/django-post_office-$(PKG_VERSION)
PKG_SOURCE_URL:=https://pypi.python.org/packages/0f/8c/8c7e1d8998741fd195f7df947c509bc31a03d505aca03488c39e59da11f0/
PKG_BUILD_DIR:=$(BUILD_DIR)/django-post_office-$(PKG_VERSION)/
PKG_HASH:=8d691b2e53ba8121d770ce448f05568874cf78a3cf63215918ad49536db5e76a
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk

View File

@ -1,39 +0,0 @@
#
# Copyright (C) 2007-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=django-ranged-response
PKG_VERSION:=0.2.0
PKG_RELEASE:=2
PKG_LICENSE:=MIT
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/${PKG_NAME}
PKG_HASH:=f71fff352a37316b9bead717fc76e4ddd6c9b99c4680cdf4783b9755af1cf985
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
define Package/django-ranged-response
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
TITLE:=Modified Django FileResponse that adds Content-Range headers.
URL:=https://github.com/wearespindle/django-ranged-fileresponse
DEPENDS:=+python +django
VARIANT:=python
endef
define Package/django-ranged-response/description
Modified Django FileResponse that adds Content-Range headers.
endef
$(eval $(call PyPackage,django-ranged-response))
$(eval $(call BuildPackage,django-ranged-response))
$(eval $(call BuildPackage,django-ranged-response-src))

View File

@ -8,14 +8,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=django-restframework
PKG_VERSION:=3.9.0
PKG_VERSION:=3.7.1
PKG_RELEASE:=1
PKG_LICENSE:=BSD-3-Clause
PKG_SOURCE:=djangorestframework-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/djangorestframework
PKG_HASH:=607865b0bb1598b153793892101d881466bd5a991de12bd6229abb18b1c86136
PKG_SOURCE_URL:=https://pypi.python.org/packages/d0/ab/8b991e7d3e26af7cf6327c84b341e60004fc56325d8a4d4019e1474f7456/
PKG_BUILD_DIR:=$(BUILD_DIR)/djangorestframework-$(PKG_VERSION)
PKG_HASH:=305b2c6564ca46d3b558ba21110ed717135c467adf1a6dfd192bd85f4bb04d50
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
@ -26,7 +26,7 @@ define Package/django-restframework
CATEGORY:=Languages
MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
TITLE:=Web APIs for Django, made easy.
URL:=https://www.django-rest-framework.org
URL:=http://www.django-rest-framework.org/
DEPENDS:=+python +django
endef

View File

@ -1,40 +0,0 @@
#
# Copyright (C) 2007-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=django-simple-captcha
PKG_VERSION:=0.5.9
PKG_RELEASE:=2
PKG_LICENSE:=MIT
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).zip
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/${PKG_NAME}
PKG_HASH:=0c30a14f02502119fd1a4d308dd5d2b899d0f4284825a396bbb010afd904754a
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
define Package/django-simple-captcha
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
TITLE:=A very simple, yet powerful, Django captcha application
URL:=https://github.com/mbi/django-simple-captcha
DEPENDS:=+python +python-six +django +pillow +django-ranged-response
VARIANT:=python
endef
define Package/django-simple-captcha/description
Django Simple Captcha is an extremely simple, yet highly customizable Django
application to add captcha images to any Django form.
endef
$(eval $(call PyPackage,django-simple-captcha))
$(eval $(call BuildPackage,django-simple-captcha))
$(eval $(call BuildPackage,django-simple-captcha-src))

View File

@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=django-statici18n
PKG_VERSION:=1.8.2
PKG_VERSION:=1.6.1
PKG_RELEASE:=1
PKG_LICENSE:=BSD-3-Clause
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/django-statici18n
PKG_HASH:=ba9eeb3c4517027922645999359f8335fbb9fea04c457123cfbd6b4a36cbeda4
PKG_SOURCE_URL:=https://pypi.python.org/packages/0a/24/1bed254529fc492ee5daf4cba18cf188b059866049889ecf1f178f25a2c2/
PKG_HASH:=47d30939d52bcbbf1cbfe56b786bc2f2ea874266a8315cb027c061f320c4e2f6
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
@ -25,7 +25,7 @@ define Package/django-statici18n
CATEGORY:=Languages
MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
TITLE:=A Django app that provides helper for generating JavaScript catalog to static files.
URL:=https://django-statici18n.readthedocs.org/
URL:=http://django-statici18n.readthedocs.org/
DEPENDS:=+python +django
endef

View File

@ -1,39 +0,0 @@
#
# Copyright (C) 2007-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=django-webpack-loader
PKG_VERSION:=0.6.0
PKG_RELEASE:=2
PKG_LICENSE:=MIT
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/${PKG_NAME}
PKG_HASH:=60bab6b9a037a5346fad12d2a70a6bc046afb33154cf75ed640b93d3ebd5f520
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
define Package/django-webpack-loader
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
TITLE:=Transparently use webpack with django
URL:=https://github.com/owais/django-webpack-loader
DEPENDS:=+python +django
VARIANT:=python
endef
define Package/django-webpack-loader/description
Use webpack to generate your static bundles without djangos staticfiles or opaque wrappers.
endef
$(eval $(call PyPackage,django-webpack-loader))
$(eval $(call BuildPackage,django-webpack-loader))
$(eval $(call BuildPackage,django-webpack-loader-src))

View File

@ -8,18 +8,16 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=django
PKG_VERSION:=1.11.17
PKG_VERSION:=1.8.18
PKG_RELEASE=1
PKG_SOURCE:=Django-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/D/Django
PKG_HASH:=a787ee66f4b4cf8ed753661cabcec603989677fa3a107fcb7f15511a44bdb483
PKG_BUILD_DIR=$(BUILD_DIR)/Django-$(PKG_VERSION)
PKG_MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE LICENSE.python
PKG_CPE_ID:=cpe:/a:djangoproject:django
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/django/django.git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=2d4bc5a60aa8a076689667c550ded96b87bc463e
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=c82c2cc338ae46ba8572d9960fc98dca932edc43a00f011fed102810a86185ae
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
@ -29,6 +27,7 @@ define Package/django
SECTION:=lang
CATEGORY:=Languages
TITLE:=The web framework for perfectionists with deadlines.
MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
URL:=https://www.djangoproject.com/
DEPENDS:=+python
endef

View File

@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=flup
PKG_VERSION:=1.0.3
PKG_VERSION:=1.0.2
PKG_RELEASE:=1
PKG_LICENSE:=BSD-3-Clause
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/f/flup
PKG_HASH:=5eb09f26eb0751f8380d8ac43d1dfb20e1d42eca0fa45ea9289fa532a79cd159
PKG_SOURCE_URL:=http://pypi.python.org/packages/source/f/flup/
PKG_HASH:=4bad317a5fc1ce3d4fe5e9b6d846ec38a8023e16876785d4f88102f2c8097dd9
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
@ -25,7 +25,7 @@ define Package/flup
CATEGORY:=Languages
MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
TITLE:=Random assortment of WSGI servers
URL:=https://www.saddi.com/software/flup/
URL:=http://www.saddi.com/software/flup/
DEPENDS:=+python
endef

View File

@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=gunicorn
PKG_VERSION:=19.9.0
PKG_VERSION:=19.7.1
PKG_RELEASE=1
PKG_LICENSE:=MIT
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/g/gunicorn
PKG_HASH:=fa2662097c66f920f53f70621c6c58ca4a3c4d3434205e608e121b5b3b71f4f3
PKG_SOURCE_URL:=https://pypi.python.org/packages/30/3a/10bb213cede0cc4d13ac2263316c872a64bf4c819000c8ccd801f1d5f822/
PKG_HASH:=eee1169f0ca667be05db3351a0960765620dad53f53434262ff8901b68a1b622
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
@ -25,7 +25,7 @@ define Package/gunicorn
CATEGORY:=Languages
TITLE:=WSGI HTTP Server for UNIX
MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
URL:=https://gunicorn.org
URL:=http://gunicorn.org/
DEPENDS:=+python +python-setuptools
endef

View File

@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=itsdangerous
PKG_VERSION:=1.1.0
PKG_VERSION:=0.24
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/i/itsdangerous
PKG_HASH:=321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19
PKG_SOURCE_URL:=https://pypi.python.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/
PKG_HASH:=cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519
PKG_BUILD_DEPENDS:=python python3
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE

View File

@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=jdcal
PKG_VERSION:=1.4
PKG_VERSION:=1.3
PKG_RELEASE:=1
PKG_LICENSE:=BSD-3-Clause
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/j/jdcal
PKG_HASH:=ea0a5067c5f0f50ad4c7bdc80abad3d976604f6fb026b0b3a17a9d84bb9046c9
PKG_SOURCE_URL:=https://pypi.python.org/packages/9b/fa/40beb2aa43a13f740dd5be367a10a03270043787833409c61b79e69f1dfd/
PKG_HASH:=b760160f8dc8cc51d17875c6b663fafe64be699e10ce34b6a95184b5aa0fdc9e
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
@ -25,7 +25,7 @@ define Package/jdcal
CATEGORY:=Languages
MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
TITLE:=Julian dates from proleptic Gregorian and Julian calendars.
URL:=https://github.com/phn/jdcal
URL:=http://github.com/phn/jdcal
DEPENDS:=+python
endef

View File

@ -8,17 +8,21 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=micropython-lib
PKG_VERSION:=1.9.3
PKG_VERSION=1.9-$(PKG_SOURCE_VERSION)
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/micropython/micropython-lib/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=66e15380eb109613263beb6825b8eecb9191088270c1a59e8c7d922dd57183c7
PKG_MAINTAINER:=Roger D <rogerdammit@gmail.com>
PKG_LICENSE:=MIT, PSFL
PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/micropython/micropython-lib.git
PKG_SOURCE_VERSION:=f5fe55aaef1a39d3d56f07040c0ff9f7e841fdf7
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION)
PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.xz
PKG_MIRROR_HASH:=76565b5d44d47ccf61562f98dcf166d8103760eed7f3d84f5f7f31610140d780
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk

View File

@ -8,17 +8,21 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=micropython
PKG_VERSION:=1.9.4
PKG_VERSION=1.9.2-$(PKG_SOURCE_VERSION)
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/micropython/micropython/releases/download/v$(PKG_VERSION)
PKG_HASH:=0db042011bffcbd65362b67eb3cca87eaefa9f2a55b747fa75e922c706b8ce1a
PKG_MAINTAINER:=Roger D <rogerdammit@gmail.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/micropython/micropython.git
PKG_SOURCE_VERSION:=1f78e7a43130acfa4bedf16c1007a1b0f37c75c3
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.xz
PKG_MIRROR_HASH:=18234ffd1e91ac461080b4213399a6a18d4163fe314782b2e6ffbd1bfe48537b
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
@ -28,7 +32,7 @@ define Package/micropython
SECTION:=lang
CATEGORY:=Languages
TITLE:=Micro Python
URL:=https://micropython.org
URL:=http://micropython.org
DEPENDS:=+libffi
endef
@ -38,7 +42,7 @@ define Package/micropython/description
endef
MAKE_FLAGS += -C $(PKG_BUILD_DIR)/ports/unix FROZEN_MPY_DIR=
MAKE_FLAGS += -C $(PKG_BUILD_DIR)/unix FROZEN_MPY_DIR=
define Build/Compile
$(call Build/Compile/Default,axtls)
@ -48,7 +52,7 @@ endef
define Package/micropython/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ports/unix/micropython $(1)/usr/bin/micropython
$(INSTALL_BIN) $(PKG_BUILD_DIR)/unix/micropython $(1)/usr/bin/micropython
endef
$(eval $(call BuildPackage,micropython))

View File

@ -0,0 +1,13 @@
Index: micropython-1.5-20161117-e81a5353cb794b8d6c57317488e5db6a1c524755/unix/Makefile
===================================================================
--- micropython-1.5-20161117-e81a5353cb794b8d6c57317488e5db6a1c524755.orig/unix/Makefile 2016-11-17 02:43:13.000000000 +0100
+++ micropython-1.5-20161117-e81a5353cb794b8d6c57317488e5db6a1c524755/unix/Makefile 2016-11-17 16:49:02.937809018 +0100
@@ -21,7 +21,7 @@
INC += -I$(BUILD)
# compiler settings
-CWARN = -Wall -Werror
+CWARN = -Wall
CWARN += -Wpointer-arith -Wuninitialized
CFLAGS = $(INC) $(CWARN) -ansi -std=gnu99 -DUNIX $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA)

View File

@ -1,13 +0,0 @@
diff --git a/ports/unix/Makefile b/ports/unix/Makefile
index cbdd3f3..0ab157d 100644
--- a/ports/unix/Makefile
+++ b/ports/unix/Makefile
@@ -21,7 +21,7 @@ INC += -I$(TOP)
INC += -I$(BUILD)
# compiler settings
-CWARN = -Wall -Werror
+CWARN = -Wall
CWARN += -Wpointer-arith -Wuninitialized
CFLAGS = $(INC) $(CWARN) -std=gnu99 -DUNIX $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA)

View File

@ -0,0 +1,12 @@
--- a/py/persistentcode.c 2017-09-22 13:26:04.914339465 +0000
+++ b/py/persistentcode.c 2017-09-22 13:26:22.618319621 +0000
@@ -373,7 +373,7 @@
// here we define mp_raw_code_save_file depending on the port
// TODO abstract this away properly
-#if defined(__i386__) || defined(__x86_64__) || (defined(__arm__) && (defined(__unix__)))
+#if defined(__i386__) || defined(__x86_64__) || defined(__unix__)
#include <unistd.h>

View File

@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=openpyxl
PKG_VERSION:=2.5.9
PKG_VERSION:=2.5.0b1
PKG_RELEASE:=1
PKG_LICENSE:=MIT
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/o/openpyxl
PKG_HASH:=022c0f3fa1e873cc0ba20651c54dd5e6276fc4ff150b4060723add4fc448645e
PKG_SOURCE_URL:=https://pypi.python.org/packages/88/3c/34fbe561fc92e6a75f297478b123c2590ca986d9f2d2dbf340d879aa24dd/
PKG_HASH:=3b42ece7933b46b2128f8d4111c57c80fb5aa46f4d16e7f83281f169e7398ba7
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk

View File

@ -1,65 +0,0 @@
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
PKG_NAME:=passlib
PKG_VERSION:=1.7.1
PKG_RELEASE:=1
PKG_LICENSE:=BSD-3-Clause
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/passlib
PKG_HASH:=3d948f64138c25633613f303bcc471126eae67c04d5e3f6b7b8ce6242f8653e0
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-passlib-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
define Package/passlib/Default
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
MAINTAINER:=Daniel Dickinson <cshored@thecshore.com>
TITLE:=Comprehensive password hashing framework
URL:=https://bitbucket.org/ecollins/passlib
endef
define Package/python-passlib
$(call Package/passlib/Default)
DEPENDS:=+PACKAGE_python-passlib:python +PACKAGE_python-passlib:python-dateutil
VARIANT:=python
endef
define Package/python3-passlib
$(call Package/passlib/Default)
DEPENDS:=+PACKAGE_python3-passlib:python3 +PACKAGE_python3-passlib:python3-dateutil
VARIANT:=python3
endef
define Package/python-passlib/description
Passlib is a password hashing library for Python 2 & 3, which provides
cross-platform implementations of over 30 password hashing algorithms,
as well as a framework for managing existing password hashes. Its
designed to be useful for a wide range of tasks, from verifying a hash
found in /etc/shadow, to providing full-strength password hashing for
multi-user applications.
endef
define Package/python3-passlib/description
$(call Package/python-passlib/description)
.
(Variant for Python3)
endef
$(eval $(call PyPackage,python-passlib))
$(eval $(call Py3Package,python3-passlib))
$(eval $(call BuildPackage,python-passlib))
$(eval $(call BuildPackage,python-passlib-src))
$(eval $(call BuildPackage,python3-passlib))
$(eval $(call BuildPackage,python3-passlib-src))

View File

@ -7,17 +7,18 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=pillow
PKG_VERSION:=5.3.0
PKG_RELEASE:=1
PKG_SOURCE:=Pillow-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/P/Pillow
PKG_HASH:=2ea3517cd5779843de8a759c2349a3cd8d3893e03ab47053b66d5ec6f8bc4f93
PKG_BUILD_DIR:=$(BUILD_DIR)/Pillow-$(PKG_VERSION)
PKG_VERSION:=3.3.1
PKG_RELEASE=1
PKG_LICENSE:=CUSTOM
PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/python-pillow/Pillow.git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=aab33141f381d5577cdef9033b7fdff79122a10c
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=e7c36bcf89614337d9abc4d07780da0b346a745be7a9aa55b398fa427549273c
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
@ -41,9 +42,12 @@ endef
define Package/pillow/install
$(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
$(INSTALL_DIR) $(1)/usr/bin
$(CP) \
$(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
$(1)$(PYTHON_PKG_DIR)/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin
$(CP) $(PKG_BUILD_DIR)/LICENSE $(1)$(PYTHON_PKG_DIR)/PIL/
endef
$(eval $(call BuildPackage,pillow))

View File

@ -1,29 +1,27 @@
diff --git a/setup.py b/setup.py
index 15d81e4..ee6dba6 100755
--- a/setup.py
+++ b/setup.py
@@ -136,12 +136,12 @@ except (ImportError, OSError):
diff -rupN pillow-3.3.1.orig/setup.py pillow-3.3.1/setup.py
--- pillow-3.3.1.orig/setup.py 2016-08-22 17:45:05.000000000 +0200
+++ pillow-3.3.1/setup.py 2016-08-22 18:09:51.947745155 +0200
@@ -111,12 +111,12 @@ except (ImportError, OSError):
NAME = 'Pillow'
PILLOW_VERSION = get_version()
PILLOW_VERSION = '3.3.1'
-JPEG_ROOT = None
+JPEG_ROOT = os.path.join(os.environ['STAGING_DIR'], "/usr/lib")
+JPEG_ROOT = _lib_include(os.environ['STAGING_DIR'] + "/usr")
JPEG2K_ROOT = None
-ZLIB_ROOT = None
+ZLIB_ROOT = os.path.join(os.environ['STAGING_DIR'], "/usr/lib")
+ZLIB_ROOT = _lib_include(os.environ['STAGING_DIR'] + "/usr")
IMAGEQUANT_ROOT = None
-TIFF_ROOT = None
-FREETYPE_ROOT = None
+TIFF_ROOT = os.path.join(os.environ['STAGING_DIR'], "/usr/lib")
+FREETYPE_ROOT = os.path.join(os.environ['STAGING_DIR'], "/usr/lib")
+TIFF_ROOT = _lib_include(os.environ['STAGING_DIR'] + "/usr")
+FREETYPE_ROOT = _lib_include(os.environ['STAGING_DIR'] + "/usr")
LCMS_ROOT = None
@@ -289,159 +289,6 @@ class pil_build_ext(build_ext):
_add_directory(library_dirs, os.path.join(prefix, "lib"))
@@ -221,161 +221,6 @@ class pil_build_ext(build_ext):
_add_directory(include_dirs, os.path.join(prefix, "include"))
- #
#
- # add platform directories
-
- if self.disable_platform_guessing:
@ -50,7 +48,7 @@ index 15d81e4..ee6dba6 100755
- try:
- prefix = subprocess.check_output(['brew', '--prefix']).strip(
- ).decode('latin1')
- except Exception:
- except:
- # Homebrew not installed
- prefix = None
-
@ -75,59 +73,61 @@ index 15d81e4..ee6dba6 100755
-
- elif sys.platform.startswith("linux"):
- arch_tp = (plat.processor(), plat.architecture()[0])
- # This should be correct on debian derivatives.
- if os.path.exists('/etc/debian_version'):
- # If this doesn't work, don't just silently patch
- # downstream because it's going to break when people
- # try to build pillow from source instead of
- # installing from the system packages.
- self.add_multiarch_paths()
-
- elif arch_tp == ("x86_64", "32bit"):
- # Special Case: 32-bit build on 64-bit machine.
- if arch_tp == ("x86_64", "32bit"):
- # 32-bit build on 64-bit machine.
- _add_directory(library_dirs, "/usr/lib/i386-linux-gnu")
- else:
- libdirs = {
- 'x86_64': ["/lib64", "/usr/lib64",
- "/usr/lib/x86_64-linux-gnu"],
- '64bit': ["/lib64", "/usr/lib64",
- "/usr/lib/x86_64-linux-gnu"],
- 'i386': ["/usr/lib/i386-linux-gnu"],
- 'i686': ["/usr/lib/i386-linux-gnu"],
- '32bit': ["/usr/lib/i386-linux-gnu"],
- 'aarch64': ["/usr/lib64", "/usr/lib/aarch64-linux-gnu"],
- 'arm': ["/usr/lib/arm-linux-gnueabi"],
- 'armv71': ["/usr/lib/arm-linux-gnueabi"],
- 'armv7l': ["/usr/lib"],
- 'ppc64': ["/usr/lib64", "/usr/lib/ppc64-linux-gnu",
- "/usr/lib/powerpc64-linux-gnu"],
- 'ppc64le': ["/usr/lib64"],
- 'ppc': ["/usr/lib/ppc-linux-gnu",
- "/usr/lib/powerpc-linux-gnu"],
- 's390x': ["/usr/lib64", "/usr/lib/s390x-linux-gnu"],
- 's390': ["/usr/lib/s390-linux-gnu"],
- }
-
- for platform_ in arch_tp:
- dirs = libdirs.get(platform_, None)
- if not dirs:
- continue
- for path in dirs:
- _add_directory(library_dirs, path)
- break
-
- if not platform_:
- continue
-
- if platform_ in ["x86_64", "64bit"]:
- _add_directory(library_dirs, "/lib64")
- _add_directory(library_dirs, "/usr/lib64")
- _add_directory(library_dirs,
- "/usr/lib/x86_64-linux-gnu")
- break
- elif platform_ in ["i386", "i686", "32bit"]:
- _add_directory(library_dirs, "/usr/lib/i386-linux-gnu")
- break
- elif platform_ in ["aarch64"]:
- _add_directory(library_dirs, "/usr/lib64")
- _add_directory(library_dirs,
- "/usr/lib/aarch64-linux-gnu")
- break
- elif platform_ in ["arm", "armv7l"]:
- _add_directory(library_dirs,
- "/usr/lib/arm-linux-gnueabi")
- break
- elif platform_ in ["ppc64"]:
- _add_directory(library_dirs, "/usr/lib64")
- _add_directory(library_dirs,
- "/usr/lib/ppc64-linux-gnu")
- _add_directory(library_dirs,
- "/usr/lib/powerpc64-linux-gnu")
- break
- elif platform_ in ["ppc"]:
- _add_directory(library_dirs, "/usr/lib/ppc-linux-gnu")
- _add_directory(library_dirs,
- "/usr/lib/powerpc-linux-gnu")
- break
- elif platform_ in ["s390x"]:
- _add_directory(library_dirs, "/usr/lib64")
- _add_directory(library_dirs,
- "/usr/lib/s390x-linux-gnu")
- break
- elif platform_ in ["s390"]:
- _add_directory(library_dirs, "/usr/lib/s390-linux-gnu")
- break
- else:
- raise ValueError(
- "Unable to identify Linux platform: `%s`" % platform_)
-
- # termux support for android.
- # system libraries (zlib) are installed in /system/lib
- # headers are at $PREFIX/include
- # user libs are at $PREFIX/lib
- if os.environ.get('ANDROID_ROOT', None):
- _add_directory(library_dirs,
- os.path.join(os.environ['ANDROID_ROOT'],
- 'lib'))
- # XXX Kludge. Above /\ we brute force support multiarch. Here we
- # try Barry's more general approach. Afterward, something should
- # work ;-)
- self.add_multiarch_paths()
-
- elif sys.platform.startswith("gnu"):
- self.add_multiarch_paths()
@ -164,8 +164,8 @@ index 15d81e4..ee6dba6 100755
- best_path = None
- for name in os.listdir(program_files):
- if name.startswith('OpenJPEG '):
- version = tuple(int(x) for x in
- name[9:].strip().split('.'))
- version = tuple([int(x) for x in name[9:].strip().split(
- '.')])
- if version > best_version:
- best_version = version
- best_path = os.path.join(program_files, name)
@ -176,6 +176,7 @@ index 15d81e4..ee6dba6 100755
- _add_directory(include_dirs,
- os.path.join(best_path, 'include'))
-
#
- #
# insert new dirs *before* default libs, to avoid conflicts
# between Python PYD stub libs and real libraries

View File

@ -1,62 +0,0 @@
#
# Copyright (C) 2007-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=pyjwt
PKG_VERSION:=1.7.1
PKG_RELEASE:=1
PKG_LICENSE:=MIT
PKG_SOURCE:=PyJWT-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/P/PyJWT
PKG_HASH:=8d59a976fb773f3e6a39c85636357c4f0e242707394cadadd9814f5cbaa20e96
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-PyJWT-$(PKG_VERSION)
PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
define Package/python-pyjwt/Default
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
TITLE:=JSON Web Token implementation in Python
URL:=http://github.com/jpadilla/pyjwt
endef
define Package/python-pyjwt
$(call Package/python-pyjwt/Default)
DEPENDS:=+PACKAGE_python-pyjwt:python
VARIANT:=python
endef
define Package/python3-pyjwt
$(call Package/python-pyjwt/Default)
DEPENDS:=+PACKAGE_python3-pyjwt:python3
VARIANT:=python3
endef
define Package/python-pyjwt/description
A Python implementation of RFC 7519.
endef
define Package/python3-pyjwt/description
$(call Package/python-pyjwt/description)
.
(Variant for Python3)
endef
$(eval $(call PyPackage,python-pyjwt))
$(eval $(call BuildPackage,python-pyjwt))
$(eval $(call BuildPackage,python-pyjwt-src))
$(eval $(call Py3Package,python3-pyjwt))
$(eval $(call BuildPackage,python3-pyjwt))
$(eval $(call BuildPackage,python3-pyjwt-src))

View File

@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=pyodbc
PKG_VERSION:=4.0.26
PKG_RELEASE:=2
PKG_VERSION:=4.0.21
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pyodbc
PKG_HASH:=e52700b5d24a846483b5ab80acd9153f8e593999c9184ffea11596288fb33de3
PKG_SOURCE_URL:=https://pypi.python.org/packages/0f/04/c5638a4636fb8117fdc45685f489864459d193b1d892b61dce785ddf58f9
PKG_HASH:=9655f84ca9e5cb2dfffff705601017420c840d55271ba62dd44f05383eff0329
PKG_BUILD_DEPENDS:=python python3 unixodbc
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE.txt
@ -19,9 +19,6 @@ PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-$(PKG_NAME)-$(PKG_VERSION)
PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
PKG_BUILD_DEPENDS:=unixodbc/host
include $(INCLUDE_DIR)/uclibc++.mk
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
@ -31,7 +28,7 @@ define Package/python-pyodbc/Default
CATEGORY:=Languages
SUBMENU:=Python
URL:=https://github.com/mkleehammer/pyodbc
DEPENDS:=+unixodbc $(CXX_DEPENDS)
DEPENDS:=+unixodbc +libstdcpp
endef
define Package/python-pyodbc

View File

@ -0,0 +1,59 @@
--- a/src/connection.cpp
+++ b/src/connection.cpp
@@ -18,6 +18,14 @@
#include "cnxninfo.h"
#include "sqlwchar.h"
+#ifdef WORDS_BIGENDIAN
+# define OPTENC_UTF16NE OPTENC_UTF16BE
+# define ENCSTR_UTF16NE "utf-16be"
+#else
+# define OPTENC_UTF16NE OPTENC_UTF16LE
+# define ENCSTR_UTF16NE "utf-16le"
+#endif
+
#if PY_MAJOR_VERSION < 3
static bool IsStringType(PyObject* t) { return (void*)t == (void*)&PyString_Type; }
static bool IsUnicodeType(PyObject* t) { return (void*)t == (void*)&PyUnicode_Type; }
@@ -90,7 +98,7 @@ static bool Connect(PyObject* pConnectSt
// indication that we can handle Unicode. We are going to use the same unicode ending
// as we do for binding parameters.
- SQLWChar wchar(pConnectString, SQL_C_WCHAR, encoding, "utf-16le");
+ SQLWChar wchar(pConnectString, SQL_C_WCHAR, encoding, ENCSTR_UTF16NE);
if (!wchar)
return false;
@@ -216,24 +224,24 @@ PyObject* Connection_New(PyObject* pConn
// single-byte text we don't actually know what the encoding is. For example, with SQL
// Server the encoding is based on the database's collation. We ask the driver / DB to
// convert to SQL_C_WCHAR and use the ODBC default of UTF-16LE.
- cnxn->sqlchar_enc.optenc = OPTENC_UTF16LE;
- cnxn->sqlchar_enc.name = _strdup("utf-16le");
+ cnxn->sqlchar_enc.optenc = OPTENC_UTF16NE;
+ cnxn->sqlchar_enc.name = _strdup(ENCSTR_UTF16NE);
cnxn->sqlchar_enc.ctype = SQL_C_WCHAR;
- cnxn->sqlwchar_enc.optenc = OPTENC_UTF16LE;
- cnxn->sqlwchar_enc.name = _strdup("utf-16le");
+ cnxn->sqlwchar_enc.optenc = OPTENC_UTF16NE;
+ cnxn->sqlwchar_enc.name = _strdup(ENCSTR_UTF16NE);
cnxn->sqlwchar_enc.ctype = SQL_C_WCHAR;
- cnxn->metadata_enc.optenc = OPTENC_UTF16LE;
- cnxn->metadata_enc.name = _strdup("utf-16le");
+ cnxn->metadata_enc.optenc = OPTENC_UTF16NE;
+ cnxn->metadata_enc.name = _strdup(ENCSTR_UTF16NE);
cnxn->metadata_enc.ctype = SQL_C_WCHAR;
// Note: I attempted to use UTF-8 here too since it can hold any type, but SQL Server fails
// with a data truncation error if we send something encoded in 2 bytes to a column with 1
// character. I don't know if this is a bug in SQL Server's driver or if I'm missing
// something, so we'll stay with the default ODBC conversions.
- cnxn->unicode_enc.optenc = OPTENC_UTF16LE;
- cnxn->unicode_enc.name = _strdup("utf-16le");
+ cnxn->unicode_enc.optenc = OPTENC_UTF16NE;
+ cnxn->unicode_enc.name = _strdup(ENCSTR_UTF16NE);
cnxn->unicode_enc.ctype = SQL_C_WCHAR;
#if PY_MAJOR_VERSION < 3

View File

@ -1,52 +0,0 @@
#
# Copyright (C) 2019 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=aiohttp
PKG_VERSION:=3.5.4
PKG_RELEASE:=1
PKG_SOURCE:=aiohttp-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/a/aiohttp/
PKG_HASH:=9c4c83f4fa1938377da32bc2d59379025ceeee8e24b89f72fcbccd8ca22dc9bf
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_CPE_ID:=cpe:/a:aio-libs_project:aiohttp
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
define Package/python3-aiohttp
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Async http client/server framework (asyncio)
URL:=https://github.com/aio-libs/aiohttp
DEPENDS:= \
+python3-light \
+python3-attrs \
+python3-chardet \
+python3-multidict \
+python3-async-timeout \
+python3-yarl \
+python3-logging \
+python3-codecs \
+python3-cgi \
+python3-openssl
VARIANT:=python3
endef
define Package/python3-aiohttp/description
Asynchronous HTTP client/server framework for asyncio and Python3
endef
$(eval $(call Py3Package,python3-aiohttp))
$(eval $(call BuildPackage,python3-aiohttp))
$(eval $(call BuildPackage,python3-aiohttp-src))

View File

@ -1,37 +0,0 @@
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=python-appdirs
PKG_VERSION:=1.4.3
PKG_RELEASE:=1
PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
PKG_SOURCE_URL:=https://pypi.python.org/packages/source/a/appdirs/
PKG_SOURCE:=appdirs-$(PKG_VERSION).tar.gz
PKG_HASH:=9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92
PKG_LICENSE:=MIT
PKG_BUILD_DIR:=$(BUILD_DIR)/appdirs-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
define Package/python3-appdirs
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
URL:=https://github.com/ActiveState/appdirs
TITLE:=python3-appdirs
DEPENDS:=+python3-light
VARIANT:=python3
endef
define Package/python-appdirs/description
The Universal Character Encoding Detector
endef
$(eval $(call Py3Package,python3-appdirs))
$(eval $(call BuildPackage,python3-appdirs))
$(eval $(call BuildPackage,python3-appdirs-src))

View File

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-asn1crypto
PKG_VERSION:=0.24.0
PKG_VERSION:=0.23.0
PKG_RELEASE:=1
PKG_SOURCE:=asn1crypto-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://pypi.io/packages/source/a/asn1crypto
PKG_HASH:=9d5c20441baf0cb60a4ac34cc447c6c189024b6b4c6cd7877034f4965c464e49
PKG_SOURCE_URL:=https://pypi.python.org/packages/31/53/8bca924b30cb79d6d70dbab6a99e8731d1e4dd3b090b7f3d8412a8d8ffbc
PKG_HASH:=0874981329cfebb366d6584c3d16e913f2a0eb026c9463efcc4aaf42a9d94d70
PKG_LICENSE:=MIT
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>

View File

@ -1,70 +0,0 @@
#
# Copyright (C) 2019 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=python-astral
PKG_VERSION:=1.10.1
PKG_RELEASE:=1
PKG_SOURCE:=astral-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/a/astral/
PKG_HASH:=d2a67243c4503131c856cafb1b1276de52a86e5b8a1d507b7e08bee51cb67bf1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-astral-$(PKG_VERSION)
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
define Package/python-astral/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Calculations for the position of the sun and moon
URL:=https://github.com/sffjunkie/astral
endef
define Package/python-astral
$(call Package/python-astral/Default)
DEPENDS+= \
+PACKAGE_python-astral:python-light \
+PACKAGE_python-astral:python-pytz
VARIANT:=python
endef
define Package/python3-astral
$(call Package/python-astral/Default)
DEPENDS+= \
+PACKAGE_python3-astral:python3-light \
+PACKAGE_python3-astral:python3-pytz
VARIANT:=python3
endef
define Package/python-astral/description
Astral is a python module for calculating the times of various aspects of the sun and moon.
endef
define Package/python3-astral/description
$(call Package/python-astral/description)
.
(Variant for Python3)
endef
$(eval $(call PyPackage,python-astral))
$(eval $(call BuildPackage,python-astral))
$(eval $(call BuildPackage,python-astral-src))
$(eval $(call Py3Package,python3-astral))
$(eval $(call BuildPackage,python3-astral))
$(eval $(call BuildPackage,python3-astral-src))

View File

@ -1,43 +0,0 @@
#
# Copyright (C) 2019 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=async-timeout
PKG_VERSION:=3.0.1
PKG_RELEASE:=1
PKG_SOURCE:=async-timeout-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/a/async-timeout/
PKG_HASH:=0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
define Package/python3-async-timeout
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Timeout context manager for asyncio programs
URL:=https://github.com/aio-libs/async-timeout
DEPENDS:= \
+python3-light \
+python3-asyncio
VARIANT:=python3
endef
define Package/python3-async-timeout/description
Timeout context manager for asyncio programs
endef
$(eval $(call Py3Package,python3-async-timeout))
$(eval $(call BuildPackage,python3-async-timeout))
$(eval $(call BuildPackage,python3-async-timeout-src))

View File

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-attrs
PKG_VERSION:=19.1.0
PKG_VERSION:=18.1.0
PKG_RELEASE:=1
PKG_SOURCE:=attrs-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/a/attrs
PKG_HASH:=f0b870f674851ecbfbbbd364d6b5cbdff9dcedbc7f3f5e18a6891057f21fe399
PKG_HASH:=e0d0eb91441a3b53dab4d9b743eafc1ac44476296a2053b6ca3af0b139faf87b
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-attrs-$(PKG_VERSION)
@ -31,18 +31,19 @@ define Package/python-attrs/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Classes Without Boilerplate
URL:=https://www.attrs.org/
URL:=http://www.attrs.org/
endef
define Package/python-attrs
$(call Package/python-attrs/Default)
TITLE:=Classes Without Boilerplate
DEPENDS:=+PACKAGE_python-attrs:python-light
VARIANT:=python
endef
define Package/python3-attrs
$(call Package/python-attrs/Default)
TITLE:=Classes Without Boilerplate
DEPENDS:=+PACKAGE_python3-attrs:python3-light
VARIANT:=python3
endef

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-automat
PKG_VERSION:=0.7.0
PKG_RELEASE:=2
PKG_RELEASE:=1
PKG_SOURCE:=Automat-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/A/Automat
@ -27,21 +27,16 @@ include ../python3-package.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
PYTHON_PKG_SETUP_VARS:= \
PKG_VERSION="$(PKG_VERSION)"
PYTHON3_PKG_SETUP_VARS:= \
PKG_VERSION="$(PKG_VERSION)"
define Package/python-automat/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Concise, idiomatic finite-state automata
URL:=https://github.com/glyph/Automat
endef
define Package/python-automat
$(call Package/python-automat/Default)
TITLE:=Concise, idiomatic finite-state automata
DEPENDS:= \
+PACKAGE_python-automat:python-light \
+PACKAGE_python-automat:python-attrs \
@ -51,6 +46,7 @@ endef
define Package/python3-automat
$(call Package/python-automat/Default)
TITLE:=Concise, idiomatic finite-state automata
DEPENDS:= \
+PACKAGE_python3-automat:python3-light \
+PACKAGE_python3-automat:python3-attrs \
@ -80,6 +76,20 @@ define Py3Package/python3-automat/filespec
-|$(PYTHON3_PKG_DIR)/automat/_visualize.py
endef
define PyBuild/Compile
$(call Build/Compile/PyMod,, \
install --prefix="/usr" --root="$(PKG_INSTALL_DIR)", \
PKG_VERSION="$(PKG_VERSION)" \
)
endef
define Py3Build/Compile
$(call Build/Compile/Py3Mod,, \
install --prefix="/usr" --root="$(PKG_INSTALL_DIR)", \
PKG_VERSION="$(PKG_VERSION)" \
)
endef
$(eval $(call PyPackage,python-automat))
$(eval $(call BuildPackage,python-automat))
$(eval $(call BuildPackage,python-automat-src))

View File

@ -1,71 +0,0 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=awscli
PKG_VERSION:=1.16.75
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/a/awscli
PKG_HASH:=8d96ec0de325ea8271cc6aa95b7392bbf548ec4aabd3ffbcdc0619b64edd4a45
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-awscli-$(PKG_VERSION)
PKG_MAINTAINER:=Daniel Danzberger <daniel@dd-wrt.com>
PKG_LICENSE:=MIT
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
define Package/python-awscli/Default
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=awscli
URL:=https://github.com/aws/aws-cli
endef
define Package/python-awscli
$(call Package/python-awscli/Default)
DEPENDS:=+python \
+python-yaml \
+python-pyasn1 \
+python-botocore \
+python-rsa \
+python-colorama \
+python-docutils \
+python-s3transfer
VARIANT:=python
endef
define Package/python3-awscli
$(call Package/python-awscli/Default)
DEPENDS:=+python3 \
+python3-yaml \
+python3-pyasn1 \
+python3-botocore \
+python3-rsa \
+python3-colorama \
+python3-docutils \
+python3-s3transfer
VARIANT:=python3
endef
define Package/python-awscli/description
This package provides a unified command line interface to Amazon Web Services.
endef
define Package/python3-awscli/description
$(call Package/python-awscli/description)
.
(Variant for Python3)
endef
$(eval $(call PyPackage,python-awscli))
$(eval $(call BuildPackage,python-awscli))
$(eval $(call BuildPackage,python-awscli-src))
$(eval $(call Py3Package,python3-awscli))
$(eval $(call BuildPackage,python3-awscli))
$(eval $(call BuildPackage,python3-awscli-src))

View File

@ -1,68 +0,0 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=botocore
PKG_VERSION:=1.12.66
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/b/botocore
PKG_HASH:=25c39ecc71356287cf79d66981ec77deca374e28043b19b2f818d48aa34272a1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-botocore-$(PKG_VERSION)
PKG_MAINTAINER:=Daniel Danzberger <daniel@dd-wrt.com>
PKG_LICENSE:=MIT
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
define Package/python-botocore/Default
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=botocore
URL:=https://github.com/boto/botocore
endef
define Package/python-botocore
$(call Package/python-botocore/Default)
DEPENDS:=+python \
+python-urllib3 \
+python-docutils \
+python-dateutil \
+python-jmespath \
+python-requests
VARIANT:=python
endef
define Package/python3-botocore
$(call Package/python-botocore/Default)
DEPENDS:=+python3 \
+python3-urllib3 \
+python3-docutils \
+python3-dateutil \
+python3-jmespath \
+python3-requests
VARIANT:=python3
endef
define Package/python-botocore/description
A low-level interface to a growing number of Amazon Web Services.
The botocore package is the foundation for the AWS CLI as well as boto3.
endef
define Package/python3-botocore/description
$(call Package/python-botocore/description)
.
(Variant for Python3)
endef
$(eval $(call PyPackage,python-botocore))
$(eval $(call BuildPackage,python-botocore))
$(eval $(call BuildPackage,python-botocore-src))
$(eval $(call Py3Package,python3-botocore))
$(eval $(call BuildPackage,python3-botocore))
$(eval $(call BuildPackage,python3-botocore-src))

View File

@ -1,63 +0,0 @@
#
# Copyright (C) 2007-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=python-certifi
PKG_VERSION:=2019.3.9
PKG_RELEASE:=1
PKG_LICENSE:=MPL-2.0
PKG_SOURCE:=certifi-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/c/certifi
PKG_HASH:=b26104d6835d1f5e49452a26eb2ff87fe7090b89dfcaee5ea2212697e1e1d7ae
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-certifi-$(PKG_VERSION)
PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
define Package/python-certifi/Default
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
TITLE:=Python package for providing Mozilla's CA Bundle.
URL:=http://certifi.io/
endef
define Package/python-certifi
$(call Package/python-certifi/Default)
DEPENDS:=+PACKAGE_python-certifi:python-light
VARIANT:=python
endef
define Package/python3-certifi
$(call Package/python-certifi/Default)
DEPENDS:=+PACKAGE_python3-certifi:python3-light
VARIANT:=python3
endef
define Package/python-certifi/description
Certifi is a carefully curated collection of Root Certificates for validating the
trustworthiness of SSL certificates while verifying the identity of TLS hosts.
endef
define Package/python3-certifi/description
$(call Package/python-certifi/description)
.
(Variant for Python3)
endef
$(eval $(call PyPackage,python-certifi))
$(eval $(call BuildPackage,python-certifi))
$(eval $(call BuildPackage,python-certifi-src))
$(eval $(call Py3Package,python3-certifi))
$(eval $(call BuildPackage,python3-certifi))
$(eval $(call BuildPackage,python3-certifi-src))

View File

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-cffi
PKG_VERSION:=1.12.3
PKG_VERSION:=1.11.4
PKG_RELEASE:=1
PKG_SOURCE:=cffi-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/c/cffi
PKG_HASH:=041c81822e9f84b1d9c401182e174996f0bae9991f33725d059b771744290774
PKG_SOURCE_URL:=https://pypi.python.org/packages/10/f7/3b302ff34045f25065091d40e074479d6893882faef135c96f181a57ed06
PKG_HASH:=df9083a992b17a28cd4251a3f5c879e0198bb26c9e808c4647e0a18739f1d11d
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-cffi-$(PKG_VERSION)
@ -36,24 +36,21 @@ define Package/python-cffi/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=C Foreign Function Interface
URL:=https://cffi.readthedocs.org/
URL:=http://cffi.readthedocs.org/
DEPENDS:=+libffi
endef
define Package/python-cffi
$(call Package/python-cffi/Default)
DEPENDS+= \
+PACKAGE_python-cffi:python-light \
+PACKAGE_python-cffi:python-pycparser
TITLE:=python-cffi
DEPENDS+=+PACKAGE_python-cffi:python-light +PACKAGE_python-cffi:python-pycparser
VARIANT:=python
endef
define Package/python3-cffi
$(call Package/python-cffi/Default)
DEPENDS+= \
+PACKAGE_python3-cffi:python3-light \
+PACKAGE_python3-cffi:python3-pycparser
TITLE:=python3-cffi
DEPENDS+=+PACKAGE_python3-cffi:python3-light +PACKAGE_python3-cffi:python3-pycparser
VARIANT:=python3
endef

View File

@ -1,64 +0,0 @@
#
# Copyright (C) 2007-2017 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=python-chardet
PKG_VERSION:=3.0.4
PKG_RELEASE:=1
PKG_LICENSE:=LGPL-2.1
PKG_SOURCE:=chardet-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://pypi.python.org/packages/fc/bb/a5768c230f9ddb03acc9ef3f0d4a3cf93462473795d18e9535498c8f929d/
PKG_HASH:=84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-chardet-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
define Package/python-chardet/Default
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
URL:=https://github.com/chardet/chardet
endef
define Package/python-chardet
$(call Package/python-chardet/Default)
TITLE:=Universal encoding detector for Python 2
DEPENDS:=+PACKAGE_python-chardet:python
VARIANT:=python
endef
define Package/python3-chardet
$(call Package/python-chardet/Default)
TITLE:=Universal encoding detector for Python3
DEPENDS:=+PACKAGE_python3-chardet:python3-light
VARIANT:=python3
endef
define Package/python-chardet/description
Universal encoding detector for Python 2 and 3
endef
define Package/python3-chardet/description
$(call Package/python-chardet/description)
.
(Variant for Python3)
endef
$(eval $(call PyPackage,python-chardet))
$(eval $(call BuildPackage,python-chardet))
$(eval $(call BuildPackage,python-chardet-src))
$(eval $(call Py3Package,python3-chardet))
$(eval $(call BuildPackage,python3-chardet))
$(eval $(call BuildPackage,python3-chardet-src))

View File

@ -1,58 +0,0 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=colorama
PKG_VERSION:=0.4.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/c/colorama
PKG_HASH:=05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-colorama-$(PKG_VERSION)
PKG_MAINTAINER:=Daniel Danzberger <daniel@dd-wrt.com>
PKG_LICENSE:=MIT
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
define Package/python-colorama/Default
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=colorama
URL:=https://github.com/tartley/colorama
endef
define Package/python-colorama
$(call Package/python-colorama/Default)
DEPENDS:=+python
VARIANT:=python
endef
define Package/python3-colorama
$(call Package/python-colorama/Default)
DEPENDS:=+python3
VARIANT:=python3
endef
define Package/python-colorama/description
Makes ANSI escape character sequences
(for producing colored terminal text and cursor positioning) work under MS Windows.
endef
define Package/python3-colorama/description
$(call Package/python-colorama/description)
.
(Variant for Python3)
endef
$(eval $(call PyPackage,python-colorama))
$(eval $(call BuildPackage,python-colorama))
$(eval $(call BuildPackage,python-colorama-src))
$(eval $(call Py3Package,python3-colorama))
$(eval $(call BuildPackage,python3-colorama))
$(eval $(call BuildPackage,python3-colorama-src))

View File

@ -31,18 +31,19 @@ define Package/python-constantly/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Symbolic constants in Python
URL:=https://github.com/twisted/constantly
endef
define Package/python-constantly
$(call Package/python-constantly/Default)
TITLE:=Symbolic constants in Python
DEPENDS:=+PACKAGE_python-constantly:python-light
VARIANT:=python
endef
define Package/python3-constantly
$(call Package/python-constantly/Default)
TITLE:=Symbolic constants in Python
DEPENDS:=+PACKAGE_python3-constantly:python3-light
VARIANT:=python3
endef

View File

@ -1,36 +0,0 @@
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=python-contextlib2
PKG_VERSION:=0.5.5
PKG_RELEASE:=1
PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
PKG_SOURCE_URL:=https://pypi.python.org/packages/source/c/contextlib2/
PKG_SOURCE:=contextlib2-$(PKG_VERSION).tar.gz
PKG_HASH:=509f9419ee91cdd00ba34443217d5ca51f5a364a404e1dce9e8979cea969ca48
PKG_BUILD_DIR:=$(BUILD_DIR)/contextlib2-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
define Package/python3-contextlib2
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
URL:=http://contextlib2.readthedocs.org
TITLE:=python3-contextlib2
DEPENDS:=+python3-light
VARIANT:=python3
endef
define Package/python-contextlib2/description
contextlib2 is a backport of the standard librarys contextlib module to earlier Python versions.
endef
$(eval $(call Py3Package,python3-contextlib2))
$(eval $(call BuildPackage,python3-contextlib2))
$(eval $(call BuildPackage,python3-contextlib2-src))

View File

@ -9,17 +9,16 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-crypto
PKG_VERSION:=2.6.1
PKG_RELEASE:=4
PKG_RELEASE:=2
PKG_SOURCE:=pycrypto-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pycrypto
PKG_SOURCE_URL:=https://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/
PKG_HASH:=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-crypto-$(PKG_VERSION)
PKG_LICENSE:=Public Domain
PKG_LICENSE_FILES:=COPYRIGHT
PKG_CPE_ID:=cpe:/a:dlitz:pycrypto
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
include $(INCLUDE_DIR)/package.mk
@ -28,32 +27,24 @@ include ../python3-package.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
PYTHON_PKG_SETUP_ARGS:=
PYTHON_PKG_SETUP_VARS:= \
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)"
PYTHON3_PKG_SETUP_ARGS:=
PYTHON3_PKG_SETUP_VARS:= \
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)"
define Package/python-crypto/Default
SECTION:=lang-python
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Python Cryptography Toolkit
URL:=https://www.dlitz.net/software/pycrypto/
DEPENDS:=+libgmp
URL:=http://www.pycrypto.org/
endef
define Package/python-crypto
$(call Package/python-crypto/Default)
DEPENDS+=+PACKAGE_python-crypto:python
TITLE:=python-crypto
DEPENDS:=+libgmp +PACKAGE_python-crypto:python
VARIANT:=python
endef
define Package/python3-crypto
$(call Package/python-crypto/Default)
DEPENDS+=+PACKAGE_python3-crypto:python3
TITLE:=python3-crypto
DEPENDS:=+libgmp +PACKAGE_python3-crypto:python3
VARIANT:=python3
endef
@ -68,6 +59,20 @@ $(call Package/python-crypto/description)
(Variant for Python3)
endef
define PyBuild/Compile
$(call Build/Compile/PyMod,,\
install --prefix=/usr --root=$(PKG_INSTALL_DIR),\
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)" \
)
endef
define Py3Build/Compile
$(call Build/Compile/Py3Mod,,\
install --prefix=/usr --root=$(PKG_INSTALL_DIR),\
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)" \
)
endef
$(eval $(call PyPackage,python-crypto))
$(eval $(call BuildPackage,python-crypto))
$(eval $(call BuildPackage,python-crypto-src))

View File

@ -1,106 +0,0 @@
From 8dbe0dc3eea5c689d4f76b37b93fe216cf1f00d4 Mon Sep 17 00:00:00 2001
From: Legrandin <helderijs@gmail.com>
Date: Sun, 22 Dec 2013 22:24:46 +0100
Subject: [PATCH] Throw exception when IV is used with ECB or CTR
The IV parameter is currently ignored when initializing
a cipher in ECB or CTR mode.
For CTR mode, it is confusing: it takes some time to see
that a different parameter is needed (the counter).
For ECB mode, it is outright dangerous.
This patch forces an exception to be raised.
---
lib/Crypto/SelfTest/Cipher/common.py | 31 +++++++++++++++++++++++--------
src/block_template.c | 11 +++++++++++
2 files changed, 34 insertions(+), 8 deletions(-)
diff --git a/lib/Crypto/SelfTest/Cipher/common.py b/lib/Crypto/SelfTest/Cipher/common.py
index 420b6ff..a5f8a88 100644
--- a/lib/Crypto/SelfTest/Cipher/common.py
+++ b/lib/Crypto/SelfTest/Cipher/common.py
@@ -239,16 +239,30 @@ class RoundtripTest(unittest.TestCase):
return """%s .decrypt() output of .encrypt() should not be garbled""" % (self.module_name,)
def runTest(self):
- for mode in (self.module.MODE_ECB, self.module.MODE_CBC, self.module.MODE_CFB, self.module.MODE_OFB, self.module.MODE_OPENPGP):
+
+ ## ECB mode
+ mode = self.module.MODE_ECB
+ encryption_cipher = self.module.new(a2b_hex(self.key), mode)
+ ciphertext = encryption_cipher.encrypt(self.plaintext)
+ decryption_cipher = self.module.new(a2b_hex(self.key), mode)
+ decrypted_plaintext = decryption_cipher.decrypt(ciphertext)
+ self.assertEqual(self.plaintext, decrypted_plaintext)
+
+ ## OPENPGP mode
+ mode = self.module.MODE_OPENPGP
+ encryption_cipher = self.module.new(a2b_hex(self.key), mode, self.iv)
+ eiv_ciphertext = encryption_cipher.encrypt(self.plaintext)
+ eiv = eiv_ciphertext[:self.module.block_size+2]
+ ciphertext = eiv_ciphertext[self.module.block_size+2:]
+ decryption_cipher = self.module.new(a2b_hex(self.key), mode, eiv)
+ decrypted_plaintext = decryption_cipher.decrypt(ciphertext)
+ self.assertEqual(self.plaintext, decrypted_plaintext)
+
+ ## All other non-AEAD modes (but CTR)
+ for mode in (self.module.MODE_CBC, self.module.MODE_CFB, self.module.MODE_OFB):
encryption_cipher = self.module.new(a2b_hex(self.key), mode, self.iv)
ciphertext = encryption_cipher.encrypt(self.plaintext)
-
- if mode != self.module.MODE_OPENPGP:
- decryption_cipher = self.module.new(a2b_hex(self.key), mode, self.iv)
- else:
- eiv = ciphertext[:self.module.block_size+2]
- ciphertext = ciphertext[self.module.block_size+2:]
- decryption_cipher = self.module.new(a2b_hex(self.key), mode, eiv)
+ decryption_cipher = self.module.new(a2b_hex(self.key), mode, self.iv)
decrypted_plaintext = decryption_cipher.decrypt(ciphertext)
self.assertEqual(self.plaintext, decrypted_plaintext)
diff --git a/src/block_template.c b/src/block_template.c
index f940e0e..d555ceb 100644
--- a/src/block_template.c
+++ b/src/block_template.c
@@ -170,6 +170,17 @@ ALGnew(PyObject *self, PyObject *args, PyObject *kwdict)
"Key cannot be the null string");
return NULL;
}
+ if (IVlen != 0 && mode == MODE_ECB)
+ {
+ PyErr_Format(PyExc_ValueError, "ECB mode does not use IV");
+ return NULL;
+ }
+ if (IVlen != 0 && mode == MODE_CTR)
+ {
+ PyErr_Format(PyExc_ValueError,
+ "CTR mode needs counter parameter, not IV");
+ return NULL;
+ }
if (IVlen != BLOCK_SIZE && mode != MODE_ECB && mode != MODE_CTR)
{
PyErr_Format(PyExc_ValueError,
From 58de28a5d32bc10e15766e5a59f41b07397cc6cb Mon Sep 17 00:00:00 2001
From: Richard Mitchell <richard.j.mitchell@gmail.com>
Date: Mon, 28 Apr 2014 16:58:27 +0100
Subject: [PATCH] Fix speedtest run for ECB modes.
---
pct-speedtest.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/pct-speedtest.py b/pct-speedtest.py
index 4ce18be..c7b893a 100644
--- a/pct-speedtest.py
+++ b/pct-speedtest.py
@@ -121,6 +121,8 @@ class Benchmark:
blocks = self.random_blocks(16384, 1000)
if mode is None:
cipher = module.new(key)
+ elif mode==module.MODE_ECB:
+ cipher = module.new(key, module.MODE_ECB)
else:
cipher = module.new(key, mode, iv)

View File

@ -1,51 +0,0 @@
--- a/lib/Crypto/PublicKey/ElGamal.py
+++ b/lib/Crypto/PublicKey/ElGamal.py
@@ -153,33 +153,33 @@ def generate(bits, randfunc, progress_fu
if number.isPrime(obj.p, randfunc=randfunc):
break
# Generate generator g
- # See Algorithm 4.80 in Handbook of Applied Cryptography
- # Note that the order of the group is n=p-1=2q, where q is prime
if progress_func:
progress_func('g\n')
while 1:
+ # Choose a square residue; it will generate a cyclic group of order q.
+ obj.g = pow(number.getRandomRange(2, obj.p, randfunc), 2, obj.p)
+
# We must avoid g=2 because of Bleichenbacher's attack described
# in "Generating ElGamal signatures without knowning the secret key",
# 1996
- #
- obj.g = number.getRandomRange(3, obj.p, randfunc)
- safe = 1
- if pow(obj.g, 2, obj.p)==1:
- safe=0
- if safe and pow(obj.g, q, obj.p)==1:
- safe=0
+ if obj.g in (1, 2):
+ continue
+
# Discard g if it divides p-1 because of the attack described
# in Note 11.67 (iii) in HAC
- if safe and divmod(obj.p-1, obj.g)[1]==0:
- safe=0
+ if (obj.p - 1) % obj.g == 0:
+ continue
+
# g^{-1} must not divide p-1 because of Khadir's attack
# described in "Conditions of the generator for forging ElGamal
# signature", 2011
ginv = number.inverse(obj.g, obj.p)
- if safe and divmod(obj.p-1, ginv)[1]==0:
- safe=0
- if safe:
- break
+ if (obj.p - 1) % ginv == 0:
+ continue
+
+ # Found
+ break
+
# Generate private key x
if progress_func:
progress_func('x\n')

View File

@ -1,75 +0,0 @@
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=python-cryptodome
PKG_VERSION:=3.8.1
PKG_RELEASE:=1
PKG_SOURCE:=pycryptodome-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pycryptodome
PKG_HASH:=68ad0ce4a374577a26bb7f458575abe3c2a342818b5280de6e5738870b7761b3
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-cryptodome-$(PKG_VERSION)
PKG_LICENSE:=BSD-2-Clause
PKG_LICENSE_FILES:=LICENSE.rst
PKG_MAINTAINER:=Richard Yu <yurichard3839@gmail.com>
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
PYTHON_PKG_SETUP_ARGS:=
PYTHON_PKG_SETUP_VARS:= \
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)"
PYTHON3_PKG_SETUP_ARGS:=
PYTHON3_PKG_SETUP_VARS:= \
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)"
define Package/python-cryptodome/Default
SECTION:=lang-python
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=A self-contained cryptographic library for Python
URL:=https://www.pycryptodome.org/
DEPENDS:=+libgmp
endef
define Package/python-cryptodome
$(call Package/python-cryptodome/Default)
DEPENDS+=+PACKAGE_python-cryptodome:python
VARIANT:=python
CONFLICTS:=python-crypto
endef
define Package/python3-cryptodome
$(call Package/python-cryptodome/Default)
DEPENDS+=+PACKAGE_python3-cryptodome:python3
VARIANT:=python3
CONFLICTS:=python3-crypto
endef
define Package/python-cryptodome/description
PyCryptodome is a self-contained Python package of low-level
cryptographic primitives.
endef
define Package/python3-cryptodome/description
$(call Package/python-cryptodome/description)
.
(Variant for Python3)
endef
$(eval $(call PyPackage,python-cryptodome))
$(eval $(call BuildPackage,python-cryptodome))
$(eval $(call BuildPackage,python-cryptodome-src))
$(eval $(call Py3Package,python3-cryptodome))
$(eval $(call BuildPackage,python3-cryptodome))
$(eval $(call BuildPackage,python3-cryptodome-src))

View File

@ -1,11 +0,0 @@
--- a/lib/Crypto/Math/_IntegerGMP.py
+++ b/lib/Crypto/Math/_IntegerGMP.py
@@ -92,7 +92,7 @@ gmp_defs = """typedef unsigned long UNIX_ULONG;
int __gmpz_divisible_ui_p (const mpz_t n, UNIX_ULONG d);
"""
-lib = load_lib("gmp", gmp_defs)
+lib = load_lib("libgmp.so.10", gmp_defs)
implementation = {"library": "gmp", "api": backend}
if hasattr(lib, "__mpir_version"):

View File

@ -1,12 +0,0 @@
--- a/setup.py
+++ b/setup.py
@@ -293,6 +293,9 @@ package_data = {
],
}
+packages = [i for i in packages if not i.startswith('Crypto.SelfTest')]
+package_data = {k: v for k, v in package_data.items() if not k.startswith('Crypto.SelfTest')}
+
ext_modules = [
# Hash functions
Extension("Crypto.Hash._MD2",

View File

@ -1,73 +0,0 @@
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=python-cryptodomex
PKG_VERSION:=3.8.1
PKG_RELEASE:=1
PKG_SOURCE:=pycryptodomex-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pycryptodomex
PKG_HASH:=9251b3f6254d4274caa21b79bd432bf07afa3567c6f02f11861659fb6245139a
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-cryptodomex-$(PKG_VERSION)
PKG_LICENSE:=BSD-2-Clause
PKG_LICENSE_FILES:=LICENSE.rst
PKG_MAINTAINER:=Richard Yu <yurichard3839@gmail.com>
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
PYTHON_PKG_SETUP_ARGS:=
PYTHON_PKG_SETUP_VARS:= \
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)"
PYTHON3_PKG_SETUP_ARGS:=
PYTHON3_PKG_SETUP_VARS:= \
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)"
define Package/python-cryptodomex/Default
SECTION:=lang-python
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=A self-contained cryptographic library for Python
URL:=https://www.pycryptodome.org/
DEPENDS:=+libgmp
endef
define Package/python-cryptodomex
$(call Package/python-cryptodomex/Default)
DEPENDS+=+PACKAGE_python-cryptodomex:python
VARIANT:=python
endef
define Package/python3-cryptodomex
$(call Package/python-cryptodomex/Default)
DEPENDS+=+PACKAGE_python3-cryptodomex:python3
VARIANT:=python3
endef
define Package/python-cryptodomex/description
PyCryptodome is a self-contained Python package of low-level
cryptographic primitives.
endef
define Package/python3-cryptodomex/description
$(call Package/python-cryptodomex/description)
.
(Variant for Python3)
endef
$(eval $(call PyPackage,python-cryptodomex))
$(eval $(call BuildPackage,python-cryptodomex))
$(eval $(call BuildPackage,python-cryptodomex-src))
$(eval $(call Py3Package,python3-cryptodomex))
$(eval $(call BuildPackage,python3-cryptodomex))
$(eval $(call BuildPackage,python3-cryptodomex-src))

View File

@ -1,11 +0,0 @@
--- a/lib/Cryptodome/Math/_IntegerGMP.py
+++ b/lib/Cryptodome/Math/_IntegerGMP.py
@@ -92,7 +92,7 @@ gmp_defs = """typedef unsigned long UNIX_ULONG;
int __gmpz_divisible_ui_p (const mpz_t n, UNIX_ULONG d);
"""
-lib = load_lib("gmp", gmp_defs)
+lib = load_lib("libgmp.so.10", gmp_defs)
implementation = {"library": "gmp", "api": backend}
if hasattr(lib, "__mpir_version"):

View File

@ -1,12 +0,0 @@
--- a/setup.py
+++ b/setup.py
@@ -293,6 +293,9 @@ package_data = {
],
}
+packages = [i for i in packages if not i.startswith('Crypto.SelfTest')]
+package_data = {k: v for k, v in package_data.items() if not k.startswith('Crypto.SelfTest')}
+
ext_modules = [
# Hash functions
Extension("Crypto.Hash._MD2",

View File

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-cryptography
PKG_VERSION:=2.6.1
PKG_RELEASE:=1
PKG_VERSION:=2.1.4
PKG_RELEASE:=2
PKG_SOURCE:=cryptography-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/c/cryptography
PKG_HASH:=26c821cbeb683facb966045e2064303029d572a87ee69ca5a1bf54bf55f93ca6
PKG_SOURCE_URL:=https://pypi.python.org/packages/78/c5/7188f15a92413096c93053d5304718e1f6ba88b818357d05d19250ebff85
PKG_HASH:=e4d967371c5b6b2e67855066471d844c5d52d210c36c28d49a8507b96e2c5291
PKG_LICENSE:=Apache-2.0 BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE.APACHE LICENSE.BSD
@ -31,17 +31,18 @@ define Package/python-cryptography/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Cryptographic recipes and primitives
URL:=https://github.com/pyca/cryptography
DEPENDS:=+libopenssl
endef
define Package/python-cryptography
$(call Package/python-cryptography/Default)
TITLE:=python-cryptography
DEPENDS+= \
+PACKAGE_python-cryptography:python \
+PACKAGE_python-cryptography:python-cffi \
+PACKAGE_python-cryptography:python-enum34 \
+PACKAGE_python-cryptography:python-idna \
+PACKAGE_python-cryptography:python-ipaddress \
+PACKAGE_python-cryptography:python-asn1crypto \
+PACKAGE_python-cryptography:python-six
@ -50,9 +51,11 @@ endef
define Package/python3-cryptography
$(call Package/python-cryptography/Default)
TITLE:=python3-cryptography
DEPENDS+= \
+PACKAGE_python3-cryptography:python3 \
+PACKAGE_python3-cryptography:python3-cffi \
+PACKAGE_python3-cryptography:python3-idna \
+PACKAGE_python3-cryptography:python3-asn1crypto \
+PACKAGE_python3-cryptography:python3-six
VARIANT:=python3

View File

@ -1,6 +1,6 @@
--- a/setup.py
+++ b/setup.py
@@ -243,6 +243,7 @@ class DummyPyTest(test):
@@ -235,6 +235,7 @@ class DummyPyTest(test):
with open(os.path.join(base_dir, "README.rst")) as f:
long_description = f.read()

View File

@ -0,0 +1,12 @@
--- a/src/_cffi_src/openssl/ssl.py
+++ b/src/_cffi_src/openssl/ssl.py
@@ -597,9 +597,6 @@ static const long TLS_ST_OK = 0;
#if defined(OPENSSL_NO_DTLS) || CRYPTOGRAPHY_OPENSSL_LESS_THAN_102
static const long Cryptography_HAS_GENERIC_DTLS_METHOD = 0;
-const SSL_METHOD *(*DTLS_method)(void) = NULL;
-const SSL_METHOD *(*DTLS_server_method)(void) = NULL;
-const SSL_METHOD *(*DTLS_client_method)(void) = NULL;
#else
static const long Cryptography_HAS_GENERIC_DTLS_METHOD = 1;
#endif

View File

@ -5,63 +5,41 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=pycurl
PKG_VERSION:=7.43.0.2
PKG_RELEASE:=2
PKG_SOURCE:=pycurl-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pycurl
PKG_HASH:=0f0cdfc7a92d4f2a5c44226162434e34f7d6967d3af416a6f1448649c09a25a4
PKG_VERSION:=7.43.0.1
PKG_RELEASE:=1
PKG_MAINTAINER:=Waldemar Konik <informatyk74@interia.pl>
PKG_LICENSE:=LGPL-2.1
PKG_LICENSE_FILES:=COPYING-LGPL
PKG_LICENSE_FILE=COPYING-LGPL
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-curl-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://dl.bintray.com/pycurl/pycurl/
PKG_HASH:=43231bf2bafde923a6d9bb79e2407342a5f3382c1ef0a3b2e491c6a4e50b91aa
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
define Package/python-curl/Default
define Package/python-curl
CATEGORY:=Languages
SECTION:=lang
SUBMENU:=Python
TITLE:=Python module interface to the cURL library
URL:=http://pycurl.io/
DEPENDS:=+libcurl
endef
define Package/python-curl
$(call Package/python-curl/Default)
DEPENDS+=+PACKAGE_python-curl:python
VARIANT:=python
DEPENDS:=+python +libcurl
endef
define Package/python-curl/description
PycURL is a Python interface to libcurl, the multiprotocol file transfer library.
Python module interface to the cURL library.
endef
define Package/python3-curl
$(call Package/python-curl/Default)
DEPENDS+=+PACKAGE_python3-curl:python3
VARIANT:=python3
define Build/Compile
$(call Build/Compile/PyMod,,install --prefix=/usr --root=$(PKG_INSTALL_DIR))
endef
define Package/python3-curl/description
$(call Package/python-curl/description)
.
(Variant for Python3)
define Package/python-curl/install
$(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
$(CP) \
$(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
$(1)$(PYTHON_PKG_DIR)
endef
PYTHON_PKG_SETUP_ARGS:=--with-mbedtls
PYTHON3_PKG_SETUP_ARGS:=--with-mbedtls
$(eval $(call PyPackage,python-curl))
$(eval $(call BuildPackage,python-curl))
$(eval $(call BuildPackage,python-curl-src))
$(eval $(call Py3Package,python3-curl))
$(eval $(call BuildPackage,python3-curl))
$(eval $(call BuildPackage,python3-curl-src))

View File

@ -1,263 +0,0 @@
From bb7d7a803665005cc72ad68a388e9e937ff3d2f6 Mon Sep 17 00:00:00 2001
From: Josef Schlehofer <pepe.schlehofer@gmail.com>
Date: Sat, 23 Mar 2019 21:02:17 +0100
Subject: [PATCH] support for mbedTLS
---
INSTALL.rst | 4 ++--
doc/thread-safety.rst | 2 +-
setup.py | 28 +++++++++++++++++++++-------
src/module.c | 6 ++++--
src/pycurl.h | 7 ++++++-
src/threadsupport.c | 39 +++++++++++++++++++++++++++++++++++++++
6 files changed, 73 insertions(+), 13 deletions(-)
diff --git a/INSTALL.rst b/INSTALL.rst
index 8ad8b4f..da70d25 100644
--- a/INSTALL.rst
+++ b/INSTALL.rst
@@ -53,7 +53,7 @@ It will then fail at runtime as follows::
To fix this, you need to tell ``setup.py`` what SSL backend is used::
- python setup.py --with-[openssl|gnutls|nss] install
+ python setup.py --with-[openssl|gnutls|nss|mbedtls] install
Note: as of PycURL 7.21.5, setup.py accepts ``--with-openssl`` option to
indicate that libcurl is built against OpenSSL. ``--with-ssl`` is an alias
@@ -85,7 +85,7 @@ environment variable::
The same applies to the SSL backend, if you need to specify it (see the SSL
note above)::
- export PYCURL_SSL_LIBRARY=[openssl|gnutls|nss]
+ export PYCURL_SSL_LIBRARY=[openssl|gnutls|nss|mbedtls]
easy_install pycurl
diff --git a/doc/thread-safety.rst b/doc/thread-safety.rst
index 5ba3f3e..ae2b9e5 100644
--- a/doc/thread-safety.rst
+++ b/doc/thread-safety.rst
@@ -21,7 +21,7 @@ For Python programs using PycURL, this means:
Python code *outside of a libcurl callback for the PycURL object in question*
is unsafe.
-PycURL handles the necessary SSL locks for OpenSSL/LibreSSL, GnuTLS and NSS.
+PycURL handles the necessary SSL locks for OpenSSL/LibreSSL, GnuTLS, NSS and mbedTLS.
A special situation exists when libcurl uses the standard C library
name resolver (i.e., not threaded nor c-ares resolver). By default libcurl
diff --git a/setup.py b/setup.py
index e1e6925..5ab437f 100644
--- a/setup.py
+++ b/setup.py
@@ -143,6 +143,7 @@ class ExtensionConfiguration(object):
'--with-ssl': self.using_openssl,
'--with-gnutls': self.using_gnutls,
'--with-nss': self.using_nss,
+ '--with-mbedtls': self.using_mbedtls,
}
def detect_ssl_option(self):
@@ -152,20 +153,20 @@ class ExtensionConfiguration(object):
if option != other_option:
if scan_argv(self.argv, other_option) is not None:
raise ConfigurationError('Cannot give both %s and %s' % (option, other_option))
-
+
return option
def detect_ssl_backend(self):
ssl_lib_detected = False
-
+
if 'PYCURL_SSL_LIBRARY' in os.environ:
ssl_lib = os.environ['PYCURL_SSL_LIBRARY']
- if ssl_lib in ['openssl', 'gnutls', 'nss']:
+ if ssl_lib in ['openssl', 'gnutls', 'nss', 'mbedtls']:
ssl_lib_detected = True
getattr(self, 'using_%s' % ssl_lib)()
else:
raise ConfigurationError('Invalid value "%s" for PYCURL_SSL_LIBRARY' % ssl_lib)
-
+
option = self.detect_ssl_option()
if option:
ssl_lib_detected = True
@@ -194,6 +195,10 @@ class ExtensionConfiguration(object):
self.using_nss()
ssl_lib_detected = True
break
+ if arg[2:] == 'mbedtls':
+ self.using_nss()
+ ssl_lib_detected = True
+ break
if not ssl_lib_detected and len(self.argv) == len(self.original_argv) \
and not os.environ.get('PYCURL_CURL_CONFIG') \
@@ -201,7 +206,7 @@ class ExtensionConfiguration(object):
# this path should only be taken when no options or
# configuration environment variables are given to setup.py
ssl_lib_detected = self.detect_ssl_lib_on_centos6()
-
+
self.ssl_lib_detected = ssl_lib_detected
def curl_config(self):
@@ -301,7 +306,7 @@ class ExtensionConfiguration(object):
if errtext:
msg += ":\n" + errtext
raise ConfigurationError(msg)
-
+
# hack
self.sslhintbuf = sslhintbuf
@@ -327,7 +332,7 @@ specify the SSL backend manually.''')
self.library_dirs.append(arg[2:])
else:
self.extra_link_args.append(arg)
-
+
if not self.libraries:
self.libraries.append("curl")
@@ -354,6 +359,9 @@ specify the SSL backend manually.''')
elif ssl_version.startswith('NSS/'):
self.using_nss()
ssl_lib_detected = True
+ elif ssl_version.startswith('mbedTLS/'):
+ self.using_mbedtls()
+ ssl_lib_detected = 'mbedtls'
return ssl_lib_detected
def detect_ssl_lib_on_centos6(self):
@@ -505,6 +513,11 @@ specify the SSL backend manually.''')
self.libraries.append('ssl3')
self.define_macros.append(('HAVE_CURL_SSL', 1))
+ def using_mbedtls(self):
+ self.define_macros.append(('HAVE_CURL_MBEDTLS', 1))
+ self.libraries.append('mbedtls')
+ self.define_macros.append(('HAVE_CURL_SSL', 1))
+
def get_bdist_msi_version_hack():
# workaround for distutils/msi version requirement per
# epydoc.sourceforge.net/stdlib/distutils.version.StrictVersion-class.html -
@@ -871,6 +884,7 @@ PycURL Unix options:
--with-ssl legacy alias for --with-openssl
--with-gnutls libcurl is linked against GnuTLS
--with-nss libcurl is linked against NSS
+ --with-mbedtls libcurl is linked against mbedTLS
'''
windows_help = '''\
diff --git a/src/module.c b/src/module.c
index 2331ae8..7fdb25a 100644
--- a/src/module.c
+++ b/src/module.c
@@ -328,7 +328,7 @@ initpycurl(void)
PyObject *collections_module = NULL;
PyObject *named_tuple = NULL;
PyObject *arglist = NULL;
-
+
assert(Curl_Type.tp_weaklistoffset > 0);
assert(CurlMulti_Type.tp_weaklistoffset > 0);
assert(CurlShare_Type.tp_weaklistoffset > 0);
@@ -355,6 +355,8 @@ initpycurl(void)
runtime_ssl_lib = "gnutls";
} else if (!strncmp(vi->ssl_version, "NSS/", 4)) {
runtime_ssl_lib = "nss";
+ } else if (!strncmp(vi->ssl_version, "mbedTLS/", 2)) {
+ runtime_ssl_lib = "mbedtls";
} else {
runtime_ssl_lib = "none/other";
}
@@ -461,7 +463,7 @@ initpycurl(void)
/* constants for ioctl callback argument values */
insint_c(d, "IOCMD_NOP", CURLIOCMD_NOP);
insint_c(d, "IOCMD_RESTARTREAD", CURLIOCMD_RESTARTREAD);
-
+
/* opensocketfunction return value */
insint_c(d, "SOCKET_BAD", CURL_SOCKET_BAD);
diff --git a/src/pycurl.h b/src/pycurl.h
index 65290f7..2294cb8 100644
--- a/src/pycurl.h
+++ b/src/pycurl.h
@@ -174,6 +174,11 @@ pycurl_inet_ntop (int family, void *addr, char *string, size_t string_size);
# define COMPILE_SSL_LIB "gnutls"
# elif defined(HAVE_CURL_NSS)
# define COMPILE_SSL_LIB "nss"
+# elif defined(HAVE_CURL_MBEDTLS)
+# include <mbedtls/ssl.h>
+# define PYCURL_NEED_SSL_TSL
+# define PYCURL_NEED_MBEDTLS_TSL
+# define COMPILE_SSL_LIB "mbedtls"
# else
# ifdef _MSC_VER
/* sigh */
@@ -190,7 +195,7 @@ pycurl_inet_ntop (int family, void *addr, char *string, size_t string_size);
/* since we have no crypto callbacks for other ssl backends,
* no reason to require users match those */
# define COMPILE_SSL_LIB "none/other"
-# endif /* HAVE_CURL_OPENSSL || HAVE_CURL_GNUTLS || HAVE_CURL_NSS */
+# endif /* HAVE_CURL_OPENSSL || HAVE_CURL_GNUTLS || HAVE_CURL_NSS || HAVE_CURL_MBEDTLS */
#else
# define COMPILE_SSL_LIB "none/other"
#endif /* HAVE_CURL_SSL */
diff --git a/src/threadsupport.c b/src/threadsupport.c
index 6ca07f5..51abffd 100644
--- a/src/threadsupport.c
+++ b/src/threadsupport.c
@@ -232,6 +232,45 @@ pycurl_ssl_cleanup(void)
}
#endif
+/* mbedTLS */
+
+#ifdef PYCURL_NEED_MBEDTLS_TSL
+static int
+pycurl_ssl_mutex_create(void **m)
+{
+ if ((*((PyThread_type_lock *) m) = PyThread_allocate_lock()) == NULL) {
+ return -1;
+ } else {
+ return 0;
+ }
+}
+
+static int
+pycurl_ssl_mutex_destroy(void **m)
+{
+ PyThread_free_lock(*((PyThread_type_lock *) m));
+ return 0;
+}
+
+static int
+pycurl_ssl_mutex_lock(void **m)
+{
+ return !PyThread_acquire_lock(*((PyThread_type_lock *) m), 1);
+}
+
+PYCURL_INTERNAL int
+pycurl_ssl_init(void)
+{
+ return 0;
+}
+
+PYCURL_INTERNAL void
+pycurl_ssl_cleanup(void)
+{
+ return;
+}
+#endif
+
/*************************************************************************
// CurlShareObject
**************************************************************************/
--
2.17.0.windows.1

View File

@ -8,56 +8,40 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-dateutil
PKG_VERSION:=2.7.5
PKG_RELEASE:=2
PKG_VERSION:=2.6.1
PKG_RELEASE:=1
PKG_LICENSE:=BSD-2-Clause
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/python-dateutil
PKG_HASH:=88f9287c0174266bb0d8cedd395cfba9c58e87e5ad86b2ce58859bc11be3cf02
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-dateutil-$(PKG_VERSION)
PKG_SOURCE_URL:=https://pypi.python.org/packages/54/bb/f1db86504f7a49e1d9b9301531181b00a1c7325dc85a29160ee3eaa73a54/
PKG_HASH:=891c38b2a02f5bb1be3e4793866c8df49c7d19baabf9c1bad62547e0b4866aca
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
define Package/python-dateutil/Default
define Package/python-dateutil
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
TITLE:=Extensions to the standard Python datetime module
URL:=https://dateutil.readthedocs.org/
endef
define Package/python-dateutil
$(call Package/python-dateutil/Default)
DEPENDS:=+PACKAGE_python-dateutil:python +PACKAGE_python-dateutil:python-six
VARIANT:=python
DEPENDS:=+python +python-six
endef
define Package/python-dateutil/description
Extensions to the standard Python datetime module
endef
define Package/python3-dateutil
$(call Package/python-dateutil/Default)
DEPENDS:=+PACKAGE_python3-dateutil:python3 +PACKAGE_python3-dateutil:python3-six
VARIANT:=python3
define Build/Compile
$(call Build/Compile/PyMod,,install --prefix=/usr --root=$(PKG_INSTALL_DIR))
endef
define Package/python3-dateutil/description
$(call Package/python-dateutil/description)
.
(Variant for Python3)
define Package/python-dateutil/install
$(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
$(CP) \
$(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
$(1)$(PYTHON_PKG_DIR)
endef
$(eval $(call PyPackage,python-dateutil))
$(eval $(call BuildPackage,python-dateutil))
$(eval $(call BuildPackage,python-dateutil-src))
$(eval $(call Py3Package,python3-dateutil))
$(eval $(call BuildPackage,python3-dateutil))
$(eval $(call BuildPackage,python3-dateutil-src))

View File

@ -1,32 +0,0 @@
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=python-decorator
PKG_VERSION:=4.3.2
PKG_RELEASE:=1
PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
PKG_SOURCE_URL:=https://codeload.github.com/micheles/decorator/tar.gz/$(PKG_VERSION)?
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_HASH:=c053ec881270608a5aef624a45a7700ec76ceca9d96689506411e1f319085380
PKG_BUILD_DIR:=$(BUILD_DIR)/decorator-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
define Package/python3-decorator
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
URL:=https://github.com/micheles/decorator
TITLE:=python3-decodator
DEPENDS:=+python3-light
VARIANT:=python3
endef
$(eval $(call Py3Package,python3-decorator))
$(eval $(call BuildPackage,python3-decorator))
$(eval $(call BuildPackage,python3-decorator-src))

View File

@ -8,58 +8,37 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-dns
PKG_VERSION:=1.16.0
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_VERSION:=1.15.0
PKG_SOURCE_URL:=http://www.dnspython.org/kits/$(PKG_VERSION)
PKG_HASH:=11598ae5735746e63921f8eebdfdee4a2e7d0ba842ebd57ba02682d4aed8244b
PKG_SOURCE:=dnspython-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.dnspython.org/kits/1.16.0/
PKG_HASH:=4bf5c5c12a4478ee7860ab176659cf64c4899ee76752d826b082f8af723c5cf9
PKG_MAINTAINER:=Denis Shulyaka <Shulyaka@gmail.com>
PKG_LICENSE:=ISC
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-dnspython-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/dnspython-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
define Package/python-dns/Default
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=dnspython
URL:=http://www.dnspython.org/
endef
define Package/python-dns
$(call Package/python-dns/Default)
DEPENDS:=+PACKAGE_python-dns:python
VARIANT:=python
SECTION:=language-python
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=dnspython
URL:=http://www.dnspython.org/
DEPENDS:=+python
endef
define Package/python-dns/description
dnspython is a DNS toolkit for Python. It supports almost all record types. It can be used for queries, zone transfers, and dynamic updates. It supports TSIG authenticated messages and EDNS0.
endef
define Package/python3-dns
$(call Package/python-dns/Default)
DEPENDS:=+PACKAGE_python3-dns:python3
VARIANT:=python3
endef
define Package/python3-dns/description
$(call Package/python-dns/description)
.
(Variant for Python3)
define Build/Compile
$(call Build/Compile/PyMod,,\
install --prefix=/usr --root="$(PKG_INSTALL_DIR)" \
)
endef
$(eval $(call PyPackage,python-dns))
$(eval $(call BuildPackage,python-dns))
$(eval $(call BuildPackage,python-dns-src))
$(eval $(call Py3Package,python3-dns))
$(eval $(call BuildPackage,python3-dns))
$(eval $(call BuildPackage,python3-dns-src))

View File

@ -1,62 +0,0 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=docutils
PKG_VERSION:=0.14
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/docutils
PKG_HASH:=51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-docutils-$(PKG_VERSION)
PKG_MAINTAINER:=Daniel Danzberger <daniel@dd-wrt.com>
PKG_LICENSE:=MIT
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
define Package/python-docutils/Default
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=docutils
URL:=http://docutils.sourceforge.net
endef
define Package/python-docutils
$(call Package/python-docutils/Default)
DEPENDS:=+python
VARIANT:=python
endef
define Package/python3-docutils
$(call Package/python-docutils/Default)
DEPENDS:=+python3
VARIANT:=python3
endef
define Package/python-docutils/description
Docutils is a modular system for processing documentation into useful formats,
such as HTML, XML, and LaTeX. For input Docutils supports reStructuredText,
an easy-to-read, what-you-see-is-what-you-get plaintext markup syntax.
endef
define Package/python3-docutils/description
$(call Package/python-docutils/description)
.
(Variant for Python3)
endef
PYTHON_PKG_SETUP_ARGS:=
PYTHON3_PKG_SETUP_ARGS:=
$(eval $(call PyPackage,python-docutils))
$(eval $(call BuildPackage,python-docutils))
$(eval $(call BuildPackage,python-docutils-src))
$(eval $(call Py3Package,python3-docutils))
$(eval $(call BuildPackage,python3-docutils))
$(eval $(call BuildPackage,python3-docutils-src))

View File

@ -8,17 +8,17 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-dpkt
PKG_VERSION:=1.9.2
PKG_VERSION:=1.91
PKG_RELEASE:=1
PKG_SOURCE:=dpkt-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/dpkt
PKG_HASH:=52a92ecd5ca04d5bd852bb11cb2eac4bbe38b42a7c472e0d950eeb9f82a81e54
PKG_BUILD_DIR:=$(BUILD_DIR)/dpkt-$(PKG_VERSION)
PKG_MAINTAINER:=Andrew McConachie <andrew@depht.com>
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/kbandla/dpkt.git
PKG_SOURCE_VERSION:=6cd0909d613a66033ecdefaca6cc07cfa7d46d6b
PKG_MIRROR_HASH:=fe8657552b1dbaf8b9eba50168730e200567dc88a06932aa1cf60dc93211d16b
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk

View File

@ -8,15 +8,15 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-egenix-mx-base
PKG_VERSION:=3.2.9
PKG_RELEASE:=2
PKG_VERSION:=3.2.8
PKG_RELEASE:=1
PKG_MAINTAINER:=Dmitry Trefilov <the-alien@live.ru>
PKG_LICENSE:=eGenix.com Public License 1.1.0
PKG_LICENSE_FILES:=LICENSE COPYRIGHT
PKG_SOURCE:=egenix-mx-base-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://downloads.egenix.com/python
PKG_HASH:=1c6b67688e7a231c6c1da09b7a6a2210745c3f2507bdda70e2639faedbf68977
PKG_SOURCE_URL:=https://downloads.egenix.com/python/
PKG_HASH:=0da55233e45bc3f88870e62e60a79c2c86bad4098b8128343fd7be877f44a3c0
PKG_BUILD_DIR:=$(BUILD_DIR)/egenix-mx-base-$(PKG_VERSION)
PKG_BUILD_DEPENDS:=python
@ -30,7 +30,7 @@ define Package/python-egenix-mx-base
CATEGORY:=Languages
DEPENDS:=+USE_EGLIBC:librt +USE_UCLIBC:librt +python
TITLE:=Egenix mxBase
URL:=https://www.egenix.com/products/python/mxBase/
URL:=http://www.egenix.com/products/python/mxBase/
endef
define Package/python-egenix-mx-base/description

View File

@ -9,10 +9,10 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-enum34
PKG_VERSION:=1.1.6
PKG_RELEASE:=4
PKG_RELEASE:=3
PKG_SOURCE:=enum34-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/e/enum34
PKG_SOURCE_URL:=https://pypi.python.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876
PKG_HASH:=8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-enum34-$(PKG_VERSION)
@ -30,12 +30,12 @@ define Package/python-enum34/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Backported Python 3.4 enum
URL:=https://bitbucket.org/stoneleaf/enum34
URL:=https://pypi.python.org/pypi/enum34/
endef
define Package/python-enum34
$(call Package/python-enum34/Default)
TITLE:=python-enum34
DEPENDS:=+PACKAGE_python-enum34:python-light
VARIANT:=python
endef

View File

@ -9,15 +9,15 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=python-evdev
PKG_VERSION:=1.1.2
PKG_VERSION:=0.7.0
PKG_RELEASE:=1
PKG_LICENSE:=BSD-3-Clause
PKG_MAINTAINER:=Paulo Costa <me@paulo.costa.nom.br>, Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_SOURCE:=evdev-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/e/evdev
PKG_HASH:=2dd67291be20e70643e8ef6f2381efc10e0c6e44a32abb3c1db74996ea3b0351
PKG_SOURCE_URL:=https://pypi.python.org/packages/67/15/eac376f3e1fc1960a54439c21459b2582e68340001aff83b4ace9e5bd110
PKG_HASH:=57edafc469a414f58b51af1bfb9ee2babb9f626dd2df530d71c1176871850aa1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-evdev-$(PKG_VERSION)

View File

@ -1,38 +0,0 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=futures
PKG_VERSION:=3.2.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/f/futures
PKG_HASH:=9ec02aa7d674acb8618afb127e27fde7fc68994c0437ad759fa094a574adb265
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-futures-$(PKG_VERSION)
PKG_MAINTAINER:=Daniel Danzberger <daniel@dd-wrt.com>
PKG_LICENSE:=MIT
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
define Package/python-futures
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=futures
URL:=https://github.com/agronholm/pythonfutures
DEPENDS:=+python
VARIANT:=python
endef
define Package/python-futures/description
This is a backport of the concurrent.futures standard library module to Python 2.
It should not be installed on Python 3, although there should be no harm in doing so,
as the standard library takes precedence over third party libraries.
endef
$(eval $(call PyPackage,python-futures))
$(eval $(call BuildPackage,python-futures))
$(eval $(call BuildPackage,python-futures-src))

View File

@ -9,10 +9,10 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-gmpy2
PKG_VERSION:=2.0.8
PKG_RELEASE:=3
PKG_RELEASE:=2
PKG_SOURCE:=gmpy2-$(PKG_VERSION).zip
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/g/gmpy2
PKG_SOURCE_URL:=https://pypi.python.org/packages/90/f4/9a2e384b325b69bc5827b9a6510a8fb4a51698c915c06a3f25a86458892a
PKG_HASH:=dd233e3288b90f21b0bb384bcc7a7e73557bb112ccf0032ad52aa614eb373d3f
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-gmpy2-$(PKG_VERSION)
@ -27,27 +27,24 @@ include ../python3-package.mk
PKG_UNPACK:=unzip -q -d $(PKG_BUILD_DIR) $(DL_DIR)/$(PKG_SOURCE); mv -f $(PKG_BUILD_DIR)/gmpy2-$(PKG_VERSION)/* $(PKG_BUILD_DIR)
PYTHON_PKG_SETUP_ARGS:=--nompfr
PYTHON3_PKG_SETUP_ARGS:=--nompfr
define Package/python-gmpy2/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=GMP/MPIR, MPFR, and MPC interface
URL:=https://github.com/aleaxit/gmpy
DEPENDS:=+libgmp
URL:=http://code.google.com/p/gmpy/
endef
define Package/python-gmpy2
$(call Package/python-gmpy2/Default)
DEPENDS+=+PACKAGE_python-gmpy2:python-light
TITLE:=python-gmpy2
DEPENDS:=+libgmp +PACKAGE_python-gmpy2:python-light
VARIANT:=python
endef
define Package/python3-gmpy2
$(call Package/python-gmpy2/Default)
DEPENDS+=+PACKAGE_python3-gmpy2:python3-light
TITLE:=python3-gmpy2
DEPENDS:=+libgmp +PACKAGE_python3-gmpy2:python3-light
VARIANT:=python3
endef
@ -67,10 +64,16 @@ $(call Package/python-gmpy2/description)
(Variant for Python3)
endef
define PyBuild/Compile
$(call Build/Compile/PyMod,,install --prefix="/usr" --root="$(PKG_INSTALL_DIR)" --nompfr)
endef
define Py3Build/Compile
$(call Build/Compile/Py3Mod,,install --prefix="/usr" --root="$(PKG_INSTALL_DIR)" --nompfr)
endef
$(eval $(call PyPackage,python-gmpy2))
$(eval $(call BuildPackage,python-gmpy2))
$(eval $(call BuildPackage,python-gmpy2-src))
$(eval $(call Py3Package,python3-gmpy2))
$(eval $(call BuildPackage,python3-gmpy2))
$(eval $(call BuildPackage,python3-gmpy2-src))

View File

@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-gnupg
PKG_VERSION:=0.4.4
PKG_VERSION:=0.4.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/python-gnupg
PKG_HASH:=45daf020b370bda13a1429c859fcdff0b766c0576844211446f9266cae97fb0e
PKG_SOURCE_URL:=https://pypi.python.org/packages/fc/f1/df6c06da34939f67ea622e0b31dbc5bdb5121b271ab530d151df59974425/
PKG_HASH:=ef47b02eaf41dee3cf4b02ddf83130827318de9fe3eae89d01a3f05859e20e1a
PKG_LICENSE:=GPL-3.0+
PKG_LICENSE_FILES:=LICENSE
@ -27,7 +27,7 @@ define Package/python-gnupg/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
URL:=https://gnupg.readthedocs.io/en/latest/
URL:=https://github.com/isislovecruft/python-gnupg
DEPENDS:=+gnupg
endef

View File

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-hyperlink
PKG_VERSION:=19.0.0
PKG_VERSION:=18.0.0
PKG_RELEASE:=1
PKG_SOURCE:=hyperlink-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/h/hyperlink
PKG_HASH:=4288e34705da077fada1111a24a0aa08bb1e76699c9ce49876af722441845654
PKG_HASH:=f01b4ff744f14bc5d0a22a6b9f1525ab7d6312cb0ff967f59414bbac52f0a306
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-hyperlink-$(PKG_VERSION)
@ -31,12 +31,12 @@ define Package/python-hyperlink/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Pure-Python immutable URLs
URL:=https://github.com/python-hyper/hyperlink
endef
define Package/python-hyperlink
$(call Package/python-hyperlink/Default)
TITLE:=Pure-Python immutable URLs
DEPENDS:= \
+PACKAGE_python-hyperlink:python-light \
+PACKAGE_python-hyperlink:python-idna
@ -45,6 +45,7 @@ endef
define Package/python3-hyperlink
$(call Package/python-hyperlink/Default)
TITLE:=Pure-Python immutable URLs
DEPENDS:= \
+PACKAGE_python3-hyperlink:python3-light \
+PACKAGE_python3-hyperlink:python3-idna

View File

@ -1,5 +1,5 @@
#
# Copyright (C) 2015-2019 OpenWrt.org
# Copyright (C) 2015-2018 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@ -8,19 +8,19 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-idna
PKG_VERSION:=2.8
PKG_VERSION:=2.6
PKG_RELEASE:=2
PKG_SOURCE:=idna-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/i/idna
PKG_HASH:=c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-idna-$(PKG_VERSION)
PKG_SOURCE_URL:=https://pypi.python.org/packages/f4/bd/0467d62790828c23c47fc1dfa1b1f052b24efdf5290f071c7a91d0d82fd3
PKG_HASH:=2c6a5de3089009e3da7c5dde64a141dbc8551d5b7f6cf4ed7c2568d0cc520a8f
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE.rst
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>, Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-idna-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
@ -31,23 +31,20 @@ define Package/python-idna/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=IDNA library
URL:=https://github.com/kjd/idna
endef
define Package/python-idna
$(call Package/python-idna/Default)
DEPENDS:= \
+PACKAGE_python-idna:python-light \
+PACKAGE_python-idna:python-codecs
TITLE:=python-idna
DEPENDS:=+PACKAGE_python-idna:python-light
VARIANT:=python
endef
define Package/python3-idna
$(call Package/python-idna/Default)
DEPENDS:= \
+PACKAGE_python3-idna:python3-light \
+PACKAGE_python3-idna:python3-codecs
TITLE:=python3-idna
DEPENDS:=+PACKAGE_python3-idna:python3-light
VARIANT:=python3
endef

View File

@ -1,45 +0,0 @@
#
# Copyright (C) 2019 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=python-ifaddr
PKG_VERSION:=0.1.6
PKG_RELEASE:=1
PKG_SOURCE:=ifaddr-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/i/ifaddr/
PKG_HASH:=c19c64882a7ad51a394451dabcbbed72e98b5625ec1e79789924d5ea3e3ecb93
PKG_BUILD_DIR:=$(BUILD_DIR)/ifaddr-$(PKG_VERSION)
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE.txt
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
define Package/python3-ifaddr
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Enumerate IP addresses on network adapters
URL:=https://github.com/pydron/ifaddr
DEPENDS:= \
+python3-light \
+python3-ctypes
VARIANT:=python3
endef
define Package/python3-ifaddr/description
ifaddr is a small Python library that allows you to find all the IPv4 and IPv6 addresses of the computer.
endef
$(eval $(call Py3Package,python3-ifaddr))
$(eval $(call BuildPackage,python3-ifaddr))
$(eval $(call BuildPackage,python3-ifaddr-src))

View File

@ -31,18 +31,19 @@ define Package/python-incremental/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Versions your Python projects
URL:=https://github.com/twisted/incremental
endef
define Package/python-incremental
$(call Package/python-incremental/Default)
TITLE:=Versions your Python projects
DEPENDS:=+PACKAGE_python-incremental:python-light
VARIANT:=python
endef
define Package/python3-incremental
$(call Package/python-incremental/Default)
TITLE:=Versions your Python projects
DEPENDS:=+PACKAGE_python3-incremental:python3-light
VARIANT:=python3
endef

View File

@ -1,37 +0,0 @@
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=python-influxdb
PKG_VERSION:=5.2.2
PKG_RELEASE:=1
PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
PKG_SOURCE_URL:=https://pypi.python.org/packages/source/i/influxdb/
PKG_SOURCE:=influxdb-$(PKG_VERSION).tar.gz
PKG_HASH:=afeff28953a91b4ea1aebf9b5b8258a4488d0e49e2471db15ea43fd2c8533143
PKG_LICENSE:=MIT
PKG_BUILD_DIR:=$(BUILD_DIR)/influxdb-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
define Package/python3-influxdb
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
URL:=https://github.com/influxdb/influxdb-python
TITLE:=python3-influxdb
DEPENDS:=+python3-requests +python3-pytz +python3-six +python3-dateutil
VARIANT:=python3
endef
define Package/python3-influxdb/description
Python client for InfluxDB
endef
$(eval $(call Py3Package,python3-influxdb))
$(eval $(call BuildPackage,python3-influxdb))
$(eval $(call BuildPackage,python3-influxdb-src))

View File

@ -29,12 +29,12 @@ define Package/python-ipaddress/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Python 3.3+'s ipaddress
URL:=https://github.com/phihag/ipaddress
endef
define Package/python-ipaddress
$(call Package/python-ipaddress/Default)
TITLE:=Python 3.3+'s ipaddress
DEPENDS:=+PACKAGE_python-ipaddress:python-light
VARIANT:=python
endef

View File

@ -1,58 +0,0 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=jmespath
PKG_VERSION:=0.9.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/j/jmespath
PKG_HASH:=6a81d4c9aa62caf061cb517b4d9ad1dd300374cd4706997aff9cd6aedd61fc64
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-jmespath-$(PKG_VERSION)
PKG_MAINTAINER:=Daniel Danzberger <daniel@dd-wrt.com>
PKG_LICENSE:=MIT
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
define Package/python-jmespath/Default
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=jmespath
URL:=https://github.com/jmespath/jmespath.py
endef
define Package/python-jmespath
$(call Package/python-jmespath/Default)
DEPENDS:=+python
VARIANT:=python
endef
define Package/python3-jmespath
$(call Package/python-jmespath/Default)
DEPENDS:=+python3
VARIANT:=python3
endef
define Package/python-jmespath/description
JMESPath (pronounced “james path”) allows you to declaratively specify how to extract
elements from a JSON document.
endef
define Package/python3-jmespath/description
$(call Package/python-jmespath/description)
.
(Variant for Python3)
endef
$(eval $(call PyPackage,python-jmespath))
$(eval $(call BuildPackage,python-jmespath))
$(eval $(call BuildPackage,python-jmespath-src))
$(eval $(call Py3Package,python3-jmespath))
$(eval $(call BuildPackage,python3-jmespath))
$(eval $(call BuildPackage,python3-jmespath-src))

View File

@ -1,32 +0,0 @@
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=python-jsonpath-ng
PKG_VERSION:=1.4.3
PKG_RELEASE:=1
PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
PKG_SOURCE_URL:=https://pypi.python.org/packages/source/j/jsonpath-ng/
PKG_SOURCE:=jsonpath-ng-$(PKG_VERSION).tar.gz
PKG_HASH:=b1fc75b877e9b2f46845a455fbdcfb0f0d9c727c45c19a745d02db620a9ef0be
PKG_BUILD_DIR:=$(BUILD_DIR)/jsonpath-ng-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
define Package/python3-jsonpath-ng
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
URL:=https://github.com/h2non/jsonpath-ng
TITLE:=python3-jsonpath-ng
DEPENDS:=+python3-ply +python3-six +python3-decorator
VARIANT:=python3
endef
$(eval $(call Py3Package,python3-jsonpath-ng))
$(eval $(call BuildPackage,python3-jsonpath-ng))
$(eval $(call BuildPackage,python3-jsonpath-ng-src))

View File

@ -8,15 +8,15 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-ldap
PKG_VERSION:=3.1.0
PKG_VERSION:=2.4.32
PKG_RELEASE:=1
PKG_MAINTAINER:=Dmitry Trefilov <the-alien@live.ru>
PKG_LICENSE:=Python-style
PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/python-ldap
PKG_HASH:=41975e79406502c092732c57ef0c2c2eb318d91e8e765f81f5d4ab6c1db727c5
PKG_SOURCE_URL:=https://pypi.python.org/packages/67/d9/fa0ea70d1792875745116ad62ac8d4bcb07550b15cded591bb57df6a6d9a
PKG_HASH:=5810f1b5a9ae9255df99fb9c2dcab7352fed325687efda56c0faae1a82c5e3cb
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
@ -27,7 +27,7 @@ define Package/python-ldap
CATEGORY:=Languages
DEPENDS:=+libopenldap +python
TITLE:=Python modules for implementing LDAP clients
URL:=https://python-ldap.org/
URL:=http://python-ldap.org/
endef
define Package/python-ldap/description

View File

@ -0,0 +1,16 @@
From: Dmitrij Trefilov <the-alien@live.ru>
Subject: [PATCH] lang: removed hardcoded include and library directories from setup.cfg
Signed-off-by: Dmitrij Trefilov <the-alien@live.ru>
---
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,6 +1,6 @@
[_ldap]
-library_dirs = /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64
-include_dirs = /usr/include /usr/include/sasl /usr/local/include /usr/local/include/sasl
+library_dirs =
+include_dirs =
defines = HAVE_SASL HAVE_TLS HAVE_LIBLDAP_R
extra_compile_args =
extra_objects =

View File

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-lxml
PKG_VERSION:=4.3.1
PKG_VERSION:=4.1.1
PKG_RELEASE:=1
PKG_SOURCE:=lxml-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/l/lxml
PKG_HASH:=da5e7e941d6e71c9c9a717c93725cda0708c2474f532e3680ac5e39ec57d224d
PKG_SOURCE:=lxml-$(PKG_VERSION).tgz
PKG_SOURCE_URL:=http://lxml.de/files/
PKG_HASH:=940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-lxml-$(PKG_VERSION)
PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
@ -30,7 +30,7 @@ define Package/python-lxml/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
URL:=https://lxml.de
URL:=http://lxml.de
DEPENDS:=+libxml2 +libxslt +libexslt
endef

View File

@ -1,43 +0,0 @@
#
# Copyright (C) 2019 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=multidict
PKG_VERSION:=4.5.2
PKG_RELEASE:=1
PKG_SOURCE:=multidict-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/m/multidict/
PKG_HASH:=024b8129695a952ebd93373e45b5d341dbb87c17ce49637b34000093f243dd4f
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
define Package/python3-multidict
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=multidict implementation
URL:=https://github.com/aio-libs/multidict
DEPENDS:= \
+python3-light \
+python3-attrs
VARIANT:=python3
endef
define Package/python3-multidict/description
Multidict is dict-like collection of key-value pairs where key might be occurred more than once in the container.
endef
$(eval $(call Py3Package,python3-multidict))
$(eval $(call BuildPackage,python3-multidict))
$(eval $(call BuildPackage,python3-multidict-src))

View File

@ -1,5 +1,5 @@
#
# Copyright (C) 2007-2018 OpenWrt.org
# Copyright (C) 2007-2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@ -7,44 +7,26 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-mysql
PKG_VERSION:=1.3.14
PKG_NAME:=MySQL-python
PKG_VERSION:=1.2.5
PKG_RELEASE:=1
PKG_LICENSE:=GPL-2.0
PKG_SOURCE:=mysqlclient-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/m/mysqlclient
PKG_HASH:=3981ae9ce545901a36a8b7aed76ed02960a429f75dc53b7ad77fb2f9ab7cd56b
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-mysql-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).zip
PKG_SOURCE_URL:=https://pypi.python.org/packages/source/M/MySQL-python/
PKG_HASH:=811040b647e5d5686f84db415efd697e6250008b112b6909ba77ac059e140c74
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
# python-mysql needs iconv
include $(INCLUDE_DIR)/nls.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
define Package/python-mysql/Default
define Package/python-mysql
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
URL:=https://pypi.python.org/project/mysqlclient
MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
endef
define Package/python-mysql
$(call Package/python-mysql/Default)
TITLE:=MySQL database adapter for Python
DEPENDS:=+PACKAGE_python-mysql:python +libmysqlclient
VARIANT:=python
endef
define Package/python3-mysql
$(call Package/python-mysql/Default)
TITLE:=MySQL database adapter for Python3
DEPENDS:=+PACKAGE_python3-mysql:python3 +libmysqlclient
VARIANT:=python3
URL:=https://pypi.python.org/pypi/MySQL-python
MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
DEPENDS:=+python +libmysqlclient
endef
define Package/python-mysql/description
@ -52,14 +34,15 @@ define Package/python-mysql/description
server that provides the Python database API.
endef
define Package/python3-mysql/description
$(call Package/python-mysql/description)
.
(Variant for Python3)
define Build/Compile
$(call Build/Compile/PyMod,,install --prefix=/usr --root=$(PKG_INSTALL_DIR))
endef
$(eval $(call PyPackage,python-mysql))
$(eval $(call BuildPackage,python-mysql))
define Package/python-mysql/install
$(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
$(CP) \
$(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
$(1)$(PYTHON_PKG_DIR)
endef
$(eval $(call Py3Package,python3-mysql))
$(eval $(call BuildPackage,python3-mysql))
$(eval $(call BuildPackage,python-mysql))

View File

@ -0,0 +1,11 @@
--- MySQL-python-1.2.2/site_orig.cfg 2007-08-15 12:58:40.000000000 +0200
+++ MySQL-python-1.2.2/site.cfg 2007-08-15 12:58:49.000000000 +0200
@@ -4,7 +4,7 @@
# static: link against a static library (probably required for embedded)
embedded = False
-threadsafe = True
+threadsafe = False
static = False
# The path to mysql_config.

View File

@ -1,47 +0,0 @@
#
# Copyright (C) 2019 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=python-netdisco
PKG_VERSION:=2.6.0
PKG_RELEASE:=1
PKG_SOURCE:=netdisco-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/n/netdisco
PKG_HASH:=2b3aca14a1807712a053f11fd80dc251dd821ee4899aefece515287981817762
PKG_BUILD_DIR:=$(BUILD_DIR)/netdisco-$(PKG_VERSION)
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE.md
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
define Package/python3-netdisco
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Discover devices on your local network
URL:=https://github.com/home-assistant/netdisco
DEPENDS:= \
+python3-light \
+python3-requests \
+python3-zeroconf
VARIANT:=python3
endef
define Package/python3-netdisco/description
NetDisco is a Python 3 library to discover local devices and services.
It allows to scan on demand or offer a service that will scan the network in the background in a set interval.
endef
$(eval $(call Py3Package,python3-netdisco))
$(eval $(call BuildPackage,python3-netdisco))
$(eval $(call BuildPackage,python3-netdisco-src))

View File

@ -1,62 +0,0 @@
#
# Copyright (C) 2007-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=python-oauthlib
PKG_VERSION:=3.0.1
PKG_RELEASE:=1
PKG_LICENSE:=BSD-3-Clause
PKG_SOURCE:=oauthlib-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/o/oauthlib
PKG_HASH:=0ce32c5d989a1827e3f1148f98b9085ed2370fc939bf524c9c851d8714797298
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-oauthlib-$(PKG_VERSION)
PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
define Package/python-oauthlib/Default
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
TITLE:=A generic, spec-compliant, thorough implementation of the OAuth request-signing logic
URL:=https://github.com/oauthlib/oauthlib
endef
define Package/python-oauthlib
$(call Package/python-oauthlib/Default)
DEPENDS:=+PACKAGE_python-oauthlib:python-light
VARIANT:=python
endef
define Package/python3-oauthlib
$(call Package/python-oauthlib/Default)
DEPENDS:=+PACKAGE_python3-oauthlib:python3-light
VARIANT:=python3
endef
define Package/python-oauthlib/description
A generic, spec-compliant, thorough implementation of the OAuth request-signing logic for Python
endef
define Package/python3-oauthlib/description
$(call Package/python-oauthlib/description)
.
(Variant for Python3)
endef
$(eval $(call PyPackage,python-oauthlib))
$(eval $(call BuildPackage,python-oauthlib))
$(eval $(call BuildPackage,python-oauthlib-src))
$(eval $(call Py3Package,python3-oauthlib))
$(eval $(call BuildPackage,python3-oauthlib))
$(eval $(call BuildPackage,python3-oauthlib-src))

View File

@ -40,13 +40,6 @@ process_filespec() {
)
}
delete_empty_dirs() {
local dst_dir="$1"
if [ -d "$dst_dir/usr" ] ; then
find "$dst_dir/usr" -empty -type d -delete
fi
}
ver="$1"
src_dir="$2"
dst_dir="$3"
@ -54,33 +47,25 @@ python="$4"
mode="$5"
filespec="$6"
SED="${SED:-sed -e}"
find "$src_dir" -name "*.exe" -delete
process_filespec "$src_dir" "$dst_dir" "$filespec" || {
echo "process filespec error-ed"
exit 1
}
usr_bin_dir="$dst_dir/usr/bin"
if [ -d "$usr_bin_dir" ] ; then
$SED "1"'!'"b;s,^#"'!'".*python.*,#"'!'"/usr/bin/python${ver}," -i --follow-symlinks $usr_bin_dir/*
fi
if [ "$mode" == "sources" ] ; then
# Copy only python source files
find "$dst_dir" -not -type d -not -name "*.py" -delete
find $dst_dir -not -type d -not -name "*\.py" | xargs rm -f
delete_empty_dirs "$dst_dir"
# Delete empty folders (if the case)
if [ -d "$dst_dir/usr" ] ; then
find $dst_dir/usr -type d | xargs rmdir --ignore-fail-on-non-empty
rmdir --ignore-fail-on-non-empty $dst_dir/usr
fi
exit 0
fi
legacy=
[ "$ver" == "3" ] && legacy="-b"
# default max recursion is 10
max_recursion_level=20
# XXX [So that you won't goof as I did]
# Note: Yes, I tried to use the -O & -OO flags here.
@ -88,15 +73,19 @@ max_recursion_level=20
# So, we just stuck to un-optimized byte-codes,
# which is still way better/faster than running
# Python sources all the time.
$python -m compileall -r "$max_recursion_level" $legacy -d '/' "$dst_dir" || {
$python -m compileall $legacy -d '/' $dst_dir || {
echo "python -m compileall err-ed"
exit 1
}
# Delete source files and pyc [ un-optimized bytecode files ]
# We may want to make this optimization thing configurable later, but not sure atm
find "$dst_dir" -type f -name "*.py" -delete
find $dst_dir -type f -name "*\.py" | xargs rm -f
delete_empty_dirs "$dst_dir"
# Delete empty folders (if the case)
if [ -d "$dst_dir/usr" ] ; then
find $dst_dir/usr -type d | xargs rmdir --ignore-fail-on-non-empty
rmdir --ignore-fail-on-non-empty $dst_dir/usr
fi
exit 0

View File

@ -68,8 +68,8 @@ define PyPackage
$(call shexport,PyPackage/$(1)/filespec)
define Package/$(1)/install
$$(call PyPackage/$(1)/install,$$(1))
SED="$(SED)" \
$(call PyPackage/$(1)/install,$$(1))
find $(PKG_INSTALL_DIR) -name "*\.exe" | xargs rm -f
$(SHELL) $(python_mk_path)python-package-install.sh "2" \
"$(PKG_INSTALL_DIR)" "$$(1)" \
"$(HOST_PYTHON_BIN)" "$$(2)" \
@ -113,20 +113,17 @@ define Build/Compile/PyMod
cd $(PKG_BUILD_DIR)/$(strip $(1)), \
./setup.py $(2), \
$(3))
find $(PKG_INSTALL_DIR) -name "*\.exe" | xargs rm -f
endef
PYTHON_PKG_SETUP_DIR ?=
PYTHON_PKG_SETUP_GLOBAL_ARGS ?=
PYTHON_PKG_SETUP_ARGS ?= --single-version-externally-managed
PYTHON_PKG_SETUP_VARS ?=
PYTHON_PKG_SETUP_ARGS:=--single-version-externally-managed
PYTHON_PKG_SETUP_VARS:=
define PyBuild/Compile/Default
$(foreach pkg,$(HOST_PYTHON_PACKAGE_BUILD_DEPENDS),
$(call host_python_pip_install_host,$(pkg))
)
$(call Build/Compile/PyMod, \
$(PYTHON_PKG_SETUP_DIR), \
$(PYTHON_PKG_SETUP_GLOBAL_ARGS) \
$(call Build/Compile/PyMod,, \
install --prefix="/usr" --root="$(PKG_INSTALL_DIR)" \
$(PYTHON_PKG_SETUP_ARGS), \
$(PYTHON_PKG_SETUP_VARS) \

View File

@ -1,37 +0,0 @@
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=python-paho-mqtt
PKG_VERSION:=1.4.0
PKG_RELEASE:=1
PKG_LICENSE:=Eclipse Public License v1.0 / Eclipse Distribution License v1.0
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>, Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_SOURCE:=paho-mqtt-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/25/63/db25e62979c2a716a74950c9ed658dce431b5cb01fde29eb6cba9489a904
PKG_HASH:=e440a052b46d222e184be3be38676378722072fcd4dfd2c8f509fb861a7b0b79
PKG_BUILD_DIR:=$(BUILD_DIR)/paho-mqtt-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
define Package/python3-paho-mqtt
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=python3-paho-mqtt
URL:=http://eclipse.org/paho
DEPENDS:=+python3-light
VARIANT:=python3
endef
define Package/python3-paho-mqtt/description
MQTT version 3.1/3.1.1 client class
endef
$(eval $(call Py3Package,python3-paho-mqtt))
$(eval $(call BuildPackage,python3-paho-mqtt))
$(eval $(call BuildPackage,python3-paho-mqtt-src))

View File

@ -9,10 +9,10 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-parsley
PKG_VERSION:=1.3
PKG_RELEASE:=4
PKG_RELEASE:=3
PKG_SOURCE:=Parsley-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/P/Parsley
PKG_SOURCE_URL:=https://pypi.python.org/packages/source/P/Parsley
PKG_HASH:=9444278d47161d5f2be76a767809a3cbe6db4db822f46a4fd7481d4057208d41
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-parsley-$(PKG_VERSION)
@ -27,25 +27,23 @@ include ../python3-package.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
PYTHON_PKG_SETUP_ARGS:=
PYTHON3_PKG_SETUP_ARGS:=
define Package/python-parsley/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Parsing and pattern matching
URL:=http://launchpad.net/parsley
endef
define Package/python-parsley
$(call Package/python-parsley/Default)
TITLE:=python-parsley
DEPENDS:=+PACKAGE_python-parsley:python-light
VARIANT:=python
endef
define Package/python3-parsley
$(call Package/python-parsley/Default)
TITLE:=python3-parsley
DEPENDS:=+PACKAGE_python3-parsley:python3-light
VARIANT:=python3
endef
@ -60,6 +58,14 @@ $(call Package/python-parsley/description)
(Variant for Python3)
endef
define PyBuild/Compile
$(call Build/Compile/PyMod,,install --prefix="/usr" --root="$(PKG_INSTALL_DIR)")
endef
define Py3Build/Compile
$(call Build/Compile/Py3Mod,,install --prefix="/usr" --root="$(PKG_INSTALL_DIR)")
endef
$(eval $(call PyPackage,python-parsley))
$(eval $(call BuildPackage,python-parsley))
$(eval $(call BuildPackage,python-parsley-src))

View File

@ -8,18 +8,18 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-pcapy
PKG_VERSION:=0.11.4
PKG_RELEASE:=2
PKG_SOURCE:=pcapy-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pcapy
PKG_HASH:=aa239913678d7ba116e66057a37f914de7726aecd11d00db470127df115c4e78
PKG_BUILD_DIR:=$(BUILD_DIR)/pcapy-$(PKG_VERSION)
PKG_VERSION:=0.11.1
PKG_RELEASE:=1
PKG_MAINTAINER:=Andrew McConachie <andrew@depht.com>
PKG_LICENSE:=Apache-1.1
include $(INCLUDE_DIR)/uclibc++.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_MIRROR_HASH:=05c8d6978baa3512070ff4c041e5931384e702bbc2ac2c8063760176035958f1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/CoreSecurity/pcapy.git
PKG_SOURCE_VERSION:=b91a418374d1636408c435f11799ef725ef70097
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
@ -29,7 +29,7 @@ define Package/python-pcapy
SUBMENU:=Python
TITLE:=python-pcapy
URL:=https://www.coresecurity.com/corelabs-research/open-source-tools/pcapy
DEPENDS:=+python +libpcap $(CXX_DEPENDS)
DEPENDS:=+python +libpcap +libstdcpp
endef
define Package/python-pcapy/description

View File

@ -1,13 +0,0 @@
diff --git a/setup.py b/setup.py
index 4da69bc..165059b 100644
--- a/setup.py
+++ b/setup.py
@@ -28,7 +28,7 @@ if sys.platform == 'win32':
library_dirs.append(r'c:\wpdpack\Lib')
libraries = ['wpcap', 'packet', 'ws2_32']
else:
- libraries = ['pcap', 'stdc++']
+ libraries = ['pcap']
# end of user configurable parameters

View File

@ -32,19 +32,20 @@ define Package/python-ply/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=lex and yacc for Python
URL:=http://www.dabeaz.com/ply/
endef
define Package/python-ply
$(call Package/python-ply/Default)
TITLE:=lex and yacc for Python
DEPENDS:=+PACKAGE_python-ply:python-light
VARIANT:=python
endef
define Package/python3-ply
$(call Package/python-ply/Default)
DEPENDS:=+python3-light
TITLE:=lex and yacc for Python
DEPENDS:=+PACKAGE_python3-ply:python3-light
VARIANT:=python3
endef

View File

@ -8,18 +8,17 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-psycopg2
PKG_VERSION:=2.7.6.1
PKG_VERSION:=2.6.2
PKG_RELEASE:=1
PKG_SOURCE:=psycopg2-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/psycopg2
PKG_HASH:=27959abe64ca1fc6d8cd11a71a1f421d8287831a3262bd4cacd43bbf43cc3c82
PKG_BUILD_DIR:=$(BUILD_DIR)/psycopg2-$(PKG_VERSION)
PKG_MAINTAINER:=Dmitry Trefilov <the-alien@live.ru>
PKG_LICENSE:=LGPL-3.0+
PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE:=psycopg2-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://initd.org/psycopg/tarballs/PSYCOPG-2-6/
PKG_HASH:=70490e12ed9c5c818ecd85d185d363335cc8a8cbf7212e3c185431c79ff8c05c
PKG_BUILD_DIR:=$(BUILD_DIR)/psycopg2-$(PKG_VERSION)
PKG_BUILD_DEPENDS:=python/host
include $(INCLUDE_DIR)/package.mk
@ -30,7 +29,7 @@ define Package/python-psycopg2
SECTION:=lang
CATEGORY:=Languages
TITLE:=PostgreSQL database adapter for Python
URL:=http://initd.org/psycopg/
URL:=http://www.initd.org/
DEPENDS:=+python +libpq +python-egenix-mx-base
endef

View File

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-pyasn1-modules
PKG_VERSION:=0.2.4
PKG_VERSION:=0.2.1
PKG_RELEASE:=2
PKG_SOURCE:=pyasn1-modules-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pyasn1-modules
PKG_HASH:=a52090e8c5841ebbf08ae455146792d9ef3e8445b21055d3a3b7ed9c712b7c7c
PKG_SOURCE_URL:=https://pypi.python.org/packages/ab/76/36ab0e099e6bd27ed95b70c2c86c326d3affa59b9b535c63a2f892ac9f45
PKG_HASH:=af00ea8f2022b6287dc375b2c70f31ab5af83989fc6fe9eacd4976ce26cd7ccc
PKG_LICENSE:=BSD-2-Clause
PKG_LICENSE_FILES:=LICENSE.txt
@ -31,24 +31,25 @@ define Package/python-pyasn1-modules/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Collection of ASN.1 modules
URL:=https://github.com/etingof/pyasn1-modules
URL:=http://sourceforge.net/projects/pyasn1/
endef
define Package/python-pyasn1-modules
$(call Package/python-pyasn1-modules/Default)
TITLE:=python-pyasn1-modules
VARIANT:=python
DEPENDS:= \
+PACKAGE_python-pyasn1-modules:python-light \
+PACKAGE_python-pyasn1-modules:python-pyasn1
VARIANT:=python
endef
define Package/python3-pyasn1-modules
$(call Package/python-pyasn1-modules/Default)
TITLE:=python3-pyasn1-modules
VARIANT:=python3
DEPENDS:= \
+PACKAGE_python3-pyasn1-modules:python3-light \
+PACKAGE_python3-pyasn1-modules:python3-pyasn1
VARIANT:=python3
endef
define Package/python-pyasn1-modules/description

View File

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-pyasn1
PKG_VERSION:=0.4.5
PKG_VERSION:=0.4.3
PKG_RELEASE:=1
PKG_SOURCE:=pyasn1-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pyasn1
PKG_HASH:=da2420fe13a9452d8ae97a0e478adde1dee153b11ba832a95b223a2ba01c10f7
PKG_HASH:=fb81622d8f3509f0026b0683fe90fea27be7284d3826a5f2edf97f69151ab0fc
PKG_LICENSE:=BSD-2-Clause
PKG_LICENSE_FILES:=LICENSE.txt
@ -31,18 +31,19 @@ define Package/python-pyasn1/Default
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=ASN.1 library for Python
URL:=https://github.com/etingof/pyasn1
endef
define Package/python-pyasn1
$(call Package/python-pyasn1/Default)
TITLE:=ASN.1 library for Python
DEPENDS:=+PACKAGE_python-pyasn1:python-light
VARIANT:=python
endef
define Package/python3-pyasn1
$(call Package/python-pyasn1/Default)
TITLE:=ASN.1 library for Python
DEPENDS:=+PACKAGE_python3-pyasn1:python3-light
VARIANT:=python3
endef

Some files were not shown because too many files have changed in this diff Show More