From 5fcf0b0d0bc7481d5443b9d24312f649beff2404 Mon Sep 17 00:00:00 2001 From: coolsnowwolf Date: Sat, 27 Apr 2019 15:15:40 +0800 Subject: [PATCH] Revert "python: bump to latest version" This reverts commit 8be6cbdcc231cea401045b219f5e3cefce265193. --- lang/python/Flask/Makefile | 11 +- lang/python/Jinja2/Makefile | 18 +- lang/python/MarkupSafe/Makefile | 8 +- lang/python/README.md | 291 ------------------ lang/python/Werkzeug/Makefile | 13 +- lang/python/bcrypt/Makefile | 68 ---- lang/python/chardet/Makefile | 52 ++++ lang/python/click-log/Makefile | 36 --- lang/python/django-constance/Makefile | 6 +- lang/python/django-formtools/Makefile | 40 --- lang/python/django-picklefield/Makefile | 8 +- lang/python/django-postoffice/Makefile | 8 +- lang/python/django-ranged-response/Makefile | 39 --- lang/python/django-restframework/Makefile | 8 +- lang/python/django-simple-captcha/Makefile | 40 --- lang/python/django-statici18n/Makefile | 8 +- lang/python/django-webpack-loader/Makefile | 39 --- lang/python/django/Makefile | 19 +- lang/python/flup/Makefile | 8 +- lang/python/gunicorn/Makefile | 8 +- lang/python/itsdangerous/Makefile | 6 +- lang/python/jdcal/Makefile | 8 +- lang/python/micropython-lib/Makefile | 14 +- lang/python/micropython/Makefile | 24 +- .../patches/000-Makefile-no-errors | 13 + .../patches/000-Makefile-no-errors.patch | 13 - lang/python/micropython/patches/001-all-unix | 12 + lang/python/openpyxl/Makefile | 6 +- lang/python/passlib/Makefile | 65 ---- lang/python/pillow/Makefile | 20 +- .../python/pillow/patches/010-fix-paths.patch | 127 ++++---- lang/python/pyjwt/Makefile | 62 ---- lang/python/pyodbc/Makefile | 13 +- ...-assume-SQL_C_WCHAR-is-native-endian.patch | 59 ++++ lang/python/python-aiohttp/Makefile | 52 ---- lang/python/python-appdirs/Makefile | 37 --- lang/python/python-asn1crypto/Makefile | 6 +- lang/python/python-astral/Makefile | 70 ----- lang/python/python-async-timeout/Makefile | 43 --- lang/python/python-attrs/Makefile | 9 +- lang/python/python-automat/Makefile | 24 +- lang/python/python-awscli/Makefile | 71 ----- lang/python/python-botocore/Makefile | 68 ---- lang/python/python-certifi/Makefile | 63 ---- lang/python/python-cffi/Makefile | 19 +- lang/python/python-chardet/Makefile | 64 ---- lang/python/python-colorama/Makefile | 58 ---- lang/python/python-constantly/Makefile | 3 +- lang/python/python-contextlib2/Makefile | 36 --- lang/python/python-crypto/Makefile | 37 ++- .../patches/100-CVE-2013-7459.patch | 106 ------- .../patches/101-CVE-2018-6594.patch | 51 --- lang/python/python-cryptodome/Makefile | 75 ----- .../patches/001-fix-libgmp-loading.patch | 11 - .../patches/002-omit-tests.patch | 12 - lang/python/python-cryptodomex/Makefile | 73 ----- .../patches/001-fix-libgmp-loading.patch | 11 - .../patches/002-omit-tests.patch | 12 - lang/python/python-cryptography/Makefile | 13 +- .../001-disable-setup-requirements.patch | 2 +- .../002-remove-undefined-dtls-methods.patch | 12 + lang/python/python-curl/Makefile | 54 +--- .../patches/0001-support-for-mbedTLS.patch | 263 ---------------- lang/python/python-dateutil/Makefile | 42 +-- lang/python/python-decorator/Makefile | 32 -- lang/python/python-dns/Makefile | 53 +--- lang/python/python-docutils/Makefile | 62 ---- lang/python/python-dpkt/Makefile | 16 +- lang/python/python-egenix-mx-base/Makefile | 10 +- lang/python/python-enum34/Makefile | 8 +- lang/python/python-evdev/Makefile | 6 +- lang/python/python-futures/Makefile | 38 --- lang/python/python-gmpy2/Makefile | 27 +- lang/python/python-gnupg/Makefile | 8 +- lang/python/python-hyperlink/Makefile | 7 +- lang/python/python-idna/Makefile | 23 +- lang/python/python-ifaddr/Makefile | 45 --- lang/python/python-incremental/Makefile | 3 +- lang/python/python-influxdb/Makefile | 37 --- lang/python/python-ipaddress/Makefile | 2 +- lang/python/python-jmespath/Makefile | 58 ---- lang/python/python-jsonpath-ng/Makefile | 32 -- lang/python/python-ldap/Makefile | 8 +- .../python-ldap/patches/010-setup_cfg.patch | 16 + lang/python/python-lxml/Makefile | 10 +- lang/python/python-multidict/Makefile | 43 --- lang/python/python-mysql/Makefile | 55 ++-- .../python-mysql/patches/010-threadsafe.patch | 11 + lang/python/python-netdisco/Makefile | 47 --- lang/python/python-oauthlib/Makefile | 62 ---- lang/python/python-package-install.sh | 37 +-- lang/python/python-package.mk | 15 +- lang/python/python-paho-mqtt/Makefile | 37 --- lang/python/python-parsley/Makefile | 18 +- lang/python/python-pcapy/Makefile | 20 +- .../python-pcapy/patches/010-libcxx.patch | 13 - lang/python/python-ply/Makefile | 5 +- lang/python/python-psycopg2/Makefile | 15 +- lang/python/python-pyasn1-modules/Makefile | 15 +- lang/python/python-pyasn1/Makefile | 7 +- lang/python/python-pycparser/Makefile | 17 +- .../patches/001-use-external-ply.patch | 14 +- lang/python/python-pyopenssl/Makefile | 15 +- lang/python/python-pyotp/Makefile | 43 --- lang/python/python-pyptlib/Makefile | 8 +- lang/python/python-pyserial/Makefile | 61 ++-- lang/python/python-pytz/Makefile | 79 ----- lang/python/python-qrcode/Makefile | 41 --- lang/python/python-requests-oauthlib/Makefile | 40 --- lang/python/python-requests/Makefile | 76 ----- lang/python/python-rsa/Makefile | 59 ---- lang/python/python-s3transfer/Makefile | 57 ---- lang/python/python-schema/Makefile | 36 --- lang/python/python-service-identity/Makefile | 22 +- lang/python/python-simplejson/Makefile | 64 ---- lang/python/python-six/Makefile | 15 +- lang/python/python-slugify/Makefile | 45 --- lang/python/python-twisted/Makefile | 103 ------- lang/python/python-txsocksx/Makefile | 18 +- lang/python/python-urllib3/Makefile | 48 +-- lang/python/python-version.mk | 10 +- .../python-voluptuous-serialize/Makefile | 43 --- lang/python/python-voluptuous/Makefile | 69 ----- lang/python/python-yaml/Makefile | 47 ++- lang/python/python-yarl/Makefile | 45 --- lang/python/python-zeroconf/Makefile | 46 --- lang/python/python-zope-interface/Makefile | 7 +- .../patches/001-omit-tests.patch | 8 +- lang/python/python/Makefile | 39 +-- lang/python/python/files/python-config.in | 81 ----- .../python/python/files/python-package-pip.mk | 5 +- .../python/files/python-package-setuptools.mk | 5 +- .../python/patches/001-enable-zlib.patch | 2 +- .../patches/005-fix-bluetooth-support.patch | 6 +- .../011-fix-ssl-build-use-have-npn.patch | 20 -- .../patches/017_lib2to3_fix_pyc_search.patch | 15 - ...hat-normalize-to-separators-GH-12216.patch | 155 ---------- ...-test-messages-when-verbose-GH-12291.patch | 23 -- .../021-compileall-add-recursion-option.patch | 33 -- lang/python/python3-bottle/Makefile | 32 +- lang/python/python3-netifaces/Makefile | 43 --- lang/python/python3-package.mk | 15 +- lang/python/python3-pyroute2/Makefile | 53 ---- lang/python/python3-unidecode/Makefile | 43 --- lang/python/python3-version.mk | 12 +- lang/python/python3/Makefile | 33 +- lang/python/python3/files/config.site | 1 - .../python3/files/python3-package-pip.mk | 12 +- .../files/python3-package-setuptools.mk | 10 +- .../python3/files/python3-package-urllib.mk | 16 - .../python3/patches/001-enable-zlib.patch | 4 +- .../003-do-not-run-distutils-tests.patch | 6 +- .../004-do-not-write-bytes-codes.patch | 10 +- ...06-remove-multi-arch-and-local-paths.patch | 4 +- ...add-rt-lib-dirs-when-cross-compiling.patch | 2 +- ...12-add-support-source-date-epoch-pyc.patch | 13 + ...uildinfo-date-time-source-date-epoch.patch | 4 +- .../014-remove-platform-so-suffix.patch | 4 +- .../patches/015-abort-on-failed-modules.patch | 2 +- .../patches/016-adjust-config-paths.patch | 10 +- .../patches/017_lib2to3_fix_pyc_search.patch | 17 - ...gfault-in-ssl-s-cert-parser-GH-11569.patch | 120 -------- ...hat-normalize-to-separators-GH-12213.patch | 150 --------- lang/python/pytz/Makefile | 47 +++ lang/python/rcssmin/Makefile | 11 +- lang/python/ruamel-yaml/Makefile | 68 ---- lang/python/simplejson/Makefile | 47 +++ lang/python/text-unidecode/Makefile | 68 ---- lang/python/twisted/Makefile | 64 ++++ .../patches/001-omit-tkconch.patch | 2 +- .../patches/002-omit-tests.patch | 18 +- lang/python/vobject/Makefile | 59 ---- 172 files changed, 1022 insertions(+), 4966 deletions(-) delete mode 100644 lang/python/README.md delete mode 100644 lang/python/bcrypt/Makefile create mode 100644 lang/python/chardet/Makefile delete mode 100644 lang/python/click-log/Makefile delete mode 100644 lang/python/django-formtools/Makefile delete mode 100644 lang/python/django-ranged-response/Makefile delete mode 100644 lang/python/django-simple-captcha/Makefile delete mode 100644 lang/python/django-webpack-loader/Makefile create mode 100644 lang/python/micropython/patches/000-Makefile-no-errors delete mode 100644 lang/python/micropython/patches/000-Makefile-no-errors.patch create mode 100644 lang/python/micropython/patches/001-all-unix delete mode 100644 lang/python/passlib/Makefile delete mode 100644 lang/python/pyjwt/Makefile create mode 100644 lang/python/pyodbc/patches/100-connection-assume-SQL_C_WCHAR-is-native-endian.patch delete mode 100644 lang/python/python-aiohttp/Makefile delete mode 100644 lang/python/python-appdirs/Makefile delete mode 100644 lang/python/python-astral/Makefile delete mode 100644 lang/python/python-async-timeout/Makefile delete mode 100644 lang/python/python-awscli/Makefile delete mode 100644 lang/python/python-botocore/Makefile delete mode 100644 lang/python/python-certifi/Makefile delete mode 100644 lang/python/python-chardet/Makefile delete mode 100644 lang/python/python-colorama/Makefile delete mode 100644 lang/python/python-contextlib2/Makefile delete mode 100644 lang/python/python-crypto/patches/100-CVE-2013-7459.patch delete mode 100644 lang/python/python-crypto/patches/101-CVE-2018-6594.patch delete mode 100644 lang/python/python-cryptodome/Makefile delete mode 100644 lang/python/python-cryptodome/patches/001-fix-libgmp-loading.patch delete mode 100644 lang/python/python-cryptodome/patches/002-omit-tests.patch delete mode 100644 lang/python/python-cryptodomex/Makefile delete mode 100644 lang/python/python-cryptodomex/patches/001-fix-libgmp-loading.patch delete mode 100644 lang/python/python-cryptodomex/patches/002-omit-tests.patch create mode 100644 lang/python/python-cryptography/patches/002-remove-undefined-dtls-methods.patch delete mode 100644 lang/python/python-curl/patches/0001-support-for-mbedTLS.patch delete mode 100644 lang/python/python-decorator/Makefile delete mode 100644 lang/python/python-docutils/Makefile delete mode 100644 lang/python/python-futures/Makefile delete mode 100644 lang/python/python-ifaddr/Makefile delete mode 100644 lang/python/python-influxdb/Makefile delete mode 100644 lang/python/python-jmespath/Makefile delete mode 100644 lang/python/python-jsonpath-ng/Makefile create mode 100644 lang/python/python-ldap/patches/010-setup_cfg.patch delete mode 100644 lang/python/python-multidict/Makefile create mode 100644 lang/python/python-mysql/patches/010-threadsafe.patch delete mode 100644 lang/python/python-netdisco/Makefile delete mode 100644 lang/python/python-oauthlib/Makefile delete mode 100644 lang/python/python-paho-mqtt/Makefile delete mode 100644 lang/python/python-pcapy/patches/010-libcxx.patch delete mode 100644 lang/python/python-pyotp/Makefile delete mode 100644 lang/python/python-pytz/Makefile delete mode 100644 lang/python/python-qrcode/Makefile delete mode 100644 lang/python/python-requests-oauthlib/Makefile delete mode 100644 lang/python/python-requests/Makefile delete mode 100644 lang/python/python-rsa/Makefile delete mode 100644 lang/python/python-s3transfer/Makefile delete mode 100644 lang/python/python-schema/Makefile delete mode 100644 lang/python/python-simplejson/Makefile delete mode 100644 lang/python/python-slugify/Makefile delete mode 100644 lang/python/python-twisted/Makefile delete mode 100644 lang/python/python-voluptuous-serialize/Makefile delete mode 100644 lang/python/python-voluptuous/Makefile delete mode 100644 lang/python/python-yarl/Makefile delete mode 100644 lang/python/python-zeroconf/Makefile delete mode 100644 lang/python/python/files/python-config.in delete mode 100644 lang/python/python/patches/011-fix-ssl-build-use-have-npn.patch delete mode 100644 lang/python/python/patches/017_lib2to3_fix_pyc_search.patch delete mode 100644 lang/python/python/patches/019-bpo-36216-Add-check-for-characters-in-netloc-that-normalize-to-separators-GH-12216.patch delete mode 100644 lang/python/python/patches/020-bpo-36216-Only-print-test-messages-when-verbose-GH-12291.patch delete mode 100644 lang/python/python/patches/021-compileall-add-recursion-option.patch delete mode 100644 lang/python/python3-netifaces/Makefile delete mode 100644 lang/python/python3-pyroute2/Makefile delete mode 100644 lang/python/python3-unidecode/Makefile delete mode 100644 lang/python/python3/files/python3-package-urllib.mk create mode 100644 lang/python/python3/patches/012-add-support-source-date-epoch-pyc.patch delete mode 100644 lang/python/python3/patches/017_lib2to3_fix_pyc_search.patch delete mode 100644 lang/python/python3/patches/018-bpo-35746-Fix-segfault-in-ssl-s-cert-parser-GH-11569.patch delete mode 100644 lang/python/python3/patches/019-bpo-36216-Add-check-for-characters-in-netloc-that-normalize-to-separators-GH-12213.patch create mode 100644 lang/python/pytz/Makefile delete mode 100644 lang/python/ruamel-yaml/Makefile create mode 100644 lang/python/simplejson/Makefile delete mode 100644 lang/python/text-unidecode/Makefile create mode 100644 lang/python/twisted/Makefile rename lang/python/{python-twisted => twisted}/patches/001-omit-tkconch.patch (95%) rename lang/python/{python-twisted => twisted}/patches/002-omit-tests.patch (62%) delete mode 100644 lang/python/vobject/Makefile diff --git a/lang/python/Flask/Makefile b/lang/python/Flask/Makefile index 650005ad..5e9dcd51 100644 --- a/lang/python/Flask/Makefile +++ b/lang/python/Flask/Makefile @@ -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 diff --git a/lang/python/Jinja2/Makefile b/lang/python/Jinja2/Makefile index 4151c2b2..7ef9e0b8 100644 --- a/lang/python/Jinja2/Makefile +++ b/lang/python/Jinja2/Makefile @@ -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 +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 + +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)) diff --git a/lang/python/MarkupSafe/Makefile b/lang/python/MarkupSafe/Makefile index d3e119a0..84cd1842 100644 --- a/lang/python/MarkupSafe/Makefile +++ b/lang/python/MarkupSafe/Makefile @@ -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 diff --git a/lang/python/README.md b/lang/python/README.md deleted file mode 100644 index fee9ee31..00000000 --- a/lang/python/README.md +++ /dev/null @@ -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/ 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/ OpenWrt definitions - -This part is similar to default OpenWrt packages. -It's usually recommended to have a `Package//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:` 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-` & `Package/python3-` ; 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//filespec` & `Py3Package//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//install` & `Py3Package//install` is similar to `Package//install` ; these allow binary (or other files) to be installed on the target - -Both the 2 above rules generate a `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//filespec` & `Py3Package//filespec` rules contain one or more lines of the following format (whitespace added for clarity): - -``` - | | -``` - -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//filespec` & `Py3Package//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`. diff --git a/lang/python/Werkzeug/Makefile b/lang/python/Werkzeug/Makefile index 0ed2d976..0f4a51a1 100644 --- a/lang/python/Werkzeug/Makefile +++ b/lang/python/Werkzeug/Makefile @@ -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 +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 -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 diff --git a/lang/python/bcrypt/Makefile b/lang/python/bcrypt/Makefile deleted file mode 100644 index 0912aa2c..00000000 --- a/lang/python/bcrypt/Makefile +++ /dev/null @@ -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 - -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)) diff --git a/lang/python/chardet/Makefile b/lang/python/chardet/Makefile new file mode 100644 index 00000000..27020c75 --- /dev/null +++ b/lang/python/chardet/Makefile @@ -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 + 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)) diff --git a/lang/python/click-log/Makefile b/lang/python/click-log/Makefile deleted file mode 100644 index 3da043a5..00000000 --- a/lang/python/click-log/Makefile +++ /dev/null @@ -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čí - -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)) diff --git a/lang/python/django-constance/Makefile b/lang/python/django-constance/Makefile index 22888200..359ae8ba 100644 --- a/lang/python/django-constance/Makefile +++ b/lang/python/django-constance/Makefile @@ -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 diff --git a/lang/python/django-formtools/Makefile b/lang/python/django-formtools/Makefile deleted file mode 100644 index 7e219b74..00000000 --- a/lang/python/django-formtools/Makefile +++ /dev/null @@ -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 - 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)) diff --git a/lang/python/django-picklefield/Makefile b/lang/python/django-picklefield/Makefile index 5cd813d6..4566cc6a 100644 --- a/lang/python/django-picklefield/Makefile +++ b/lang/python/django-picklefield/Makefile @@ -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 TITLE:=Pickled object field for Django - URL:=https://github.com/gintas/django-picklefield + URL:=http://github.com/gintas/django-picklefield/ DEPENDS:=+python +django endef diff --git a/lang/python/django-postoffice/Makefile b/lang/python/django-postoffice/Makefile index d97f22d7..f3519f41 100644 --- a/lang/python/django-postoffice/Makefile +++ b/lang/python/django-postoffice/Makefile @@ -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 diff --git a/lang/python/django-ranged-response/Makefile b/lang/python/django-ranged-response/Makefile deleted file mode 100644 index f15901dc..00000000 --- a/lang/python/django-ranged-response/Makefile +++ /dev/null @@ -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 - 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)) diff --git a/lang/python/django-restframework/Makefile b/lang/python/django-restframework/Makefile index 223158ad..fb37b0e9 100644 --- a/lang/python/django-restframework/Makefile +++ b/lang/python/django-restframework/Makefile @@ -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 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 diff --git a/lang/python/django-simple-captcha/Makefile b/lang/python/django-simple-captcha/Makefile deleted file mode 100644 index 014f9ca1..00000000 --- a/lang/python/django-simple-captcha/Makefile +++ /dev/null @@ -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 - 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)) diff --git a/lang/python/django-statici18n/Makefile b/lang/python/django-statici18n/Makefile index ee006469..bc24f13f 100644 --- a/lang/python/django-statici18n/Makefile +++ b/lang/python/django-statici18n/Makefile @@ -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 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 diff --git a/lang/python/django-webpack-loader/Makefile b/lang/python/django-webpack-loader/Makefile deleted file mode 100644 index bae46805..00000000 --- a/lang/python/django-webpack-loader/Makefile +++ /dev/null @@ -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 - 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 django’s staticfiles or opaque wrappers. -endef - -$(eval $(call PyPackage,django-webpack-loader)) -$(eval $(call BuildPackage,django-webpack-loader)) -$(eval $(call BuildPackage,django-webpack-loader-src)) diff --git a/lang/python/django/Makefile b/lang/python/django/Makefile index 180d5e13..6d59cdd7 100644 --- a/lang/python/django/Makefile +++ b/lang/python/django/Makefile @@ -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 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 URL:=https://www.djangoproject.com/ DEPENDS:=+python endef diff --git a/lang/python/flup/Makefile b/lang/python/flup/Makefile index aefb6ffe..4a0142f3 100644 --- a/lang/python/flup/Makefile +++ b/lang/python/flup/Makefile @@ -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 TITLE:=Random assortment of WSGI servers - URL:=https://www.saddi.com/software/flup/ + URL:=http://www.saddi.com/software/flup/ DEPENDS:=+python endef diff --git a/lang/python/gunicorn/Makefile b/lang/python/gunicorn/Makefile index 779615d4..4ba2fc61 100644 --- a/lang/python/gunicorn/Makefile +++ b/lang/python/gunicorn/Makefile @@ -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 - URL:=https://gunicorn.org + URL:=http://gunicorn.org/ DEPENDS:=+python +python-setuptools endef diff --git a/lang/python/itsdangerous/Makefile b/lang/python/itsdangerous/Makefile index 56c1a208..e1e432ef 100644 --- a/lang/python/itsdangerous/Makefile +++ b/lang/python/itsdangerous/Makefile @@ -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 diff --git a/lang/python/jdcal/Makefile b/lang/python/jdcal/Makefile index e6c5e5f0..2fba8a64 100644 --- a/lang/python/jdcal/Makefile +++ b/lang/python/jdcal/Makefile @@ -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 TITLE:=Julian dates from proleptic Gregorian and Julian calendars. - URL:=https://github.com/phn/jdcal + URL:=http://github.com/phn/jdcal DEPENDS:=+python endef diff --git a/lang/python/micropython-lib/Makefile b/lang/python/micropython-lib/Makefile index 4e02a73e..3f337c91 100644 --- a/lang/python/micropython-lib/Makefile +++ b/lang/python/micropython-lib/Makefile @@ -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 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 diff --git a/lang/python/micropython/Makefile b/lang/python/micropython/Makefile index 932ab947..f6e3f715 100644 --- a/lang/python/micropython/Makefile +++ b/lang/python/micropython/Makefile @@ -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 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,17 +42,17 @@ 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) - $(call Build/Compile/Default) + $(call Build/Compile/Default,axtls) + $(call Build/Compile/Default) 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)) diff --git a/lang/python/micropython/patches/000-Makefile-no-errors b/lang/python/micropython/patches/000-Makefile-no-errors new file mode 100644 index 00000000..765f3e70 --- /dev/null +++ b/lang/python/micropython/patches/000-Makefile-no-errors @@ -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) + diff --git a/lang/python/micropython/patches/000-Makefile-no-errors.patch b/lang/python/micropython/patches/000-Makefile-no-errors.patch deleted file mode 100644 index 1ebfa430..00000000 --- a/lang/python/micropython/patches/000-Makefile-no-errors.patch +++ /dev/null @@ -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) - diff --git a/lang/python/micropython/patches/001-all-unix b/lang/python/micropython/patches/001-all-unix new file mode 100644 index 00000000..3497affb --- /dev/null +++ b/lang/python/micropython/patches/001-all-unix @@ -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 + diff --git a/lang/python/openpyxl/Makefile b/lang/python/openpyxl/Makefile index 4d947934..93a3f063 100644 --- a/lang/python/openpyxl/Makefile +++ b/lang/python/openpyxl/Makefile @@ -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 diff --git a/lang/python/passlib/Makefile b/lang/python/passlib/Makefile deleted file mode 100644 index b8254fc5..00000000 --- a/lang/python/passlib/Makefile +++ /dev/null @@ -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 - 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. It’s -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)) diff --git a/lang/python/pillow/Makefile b/lang/python/pillow/Makefile index 831ba8b5..c1618e2f 100644 --- a/lang/python/pillow/Makefile +++ b/lang/python/pillow/Makefile @@ -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)) diff --git a/lang/python/pillow/patches/010-fix-paths.patch b/lang/python/pillow/patches/010-fix-paths.patch index ca5b2e57..a6b86bfe 100644 --- a/lang/python/pillow/patches/010-fix-paths.patch +++ b/lang/python/pillow/patches/010-fix-paths.patch @@ -1,34 +1,32 @@ -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: - pass -- +- - elif sys.platform == "cygwin": - # pythonX.Y.dll.a is in the /usr/lib/pythonX.Y/config directory - _add_directory(library_dirs, @@ -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 + diff --git a/lang/python/pyjwt/Makefile b/lang/python/pyjwt/Makefile deleted file mode 100644 index a4153dcc..00000000 --- a/lang/python/pyjwt/Makefile +++ /dev/null @@ -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 - 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)) diff --git a/lang/python/pyodbc/Makefile b/lang/python/pyodbc/Makefile index d3f1f055..aec3e7e6 100644 --- a/lang/python/pyodbc/Makefile +++ b/lang/python/pyodbc/Makefile @@ -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 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 diff --git a/lang/python/pyodbc/patches/100-connection-assume-SQL_C_WCHAR-is-native-endian.patch b/lang/python/pyodbc/patches/100-connection-assume-SQL_C_WCHAR-is-native-endian.patch new file mode 100644 index 00000000..0819a6dd --- /dev/null +++ b/lang/python/pyodbc/patches/100-connection-assume-SQL_C_WCHAR-is-native-endian.patch @@ -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 diff --git a/lang/python/python-aiohttp/Makefile b/lang/python/python-aiohttp/Makefile deleted file mode 100644 index f1de0b55..00000000 --- a/lang/python/python-aiohttp/Makefile +++ /dev/null @@ -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 -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)) diff --git a/lang/python/python-appdirs/Makefile b/lang/python/python-appdirs/Makefile deleted file mode 100644 index 79662e16..00000000 --- a/lang/python/python-appdirs/Makefile +++ /dev/null @@ -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čí - -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)) diff --git a/lang/python/python-asn1crypto/Makefile b/lang/python/python-asn1crypto/Makefile index 21d443e9..73e2f630 100644 --- a/lang/python/python-asn1crypto/Makefile +++ b/lang/python/python-asn1crypto/Makefile @@ -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 diff --git a/lang/python/python-astral/Makefile b/lang/python/python-astral/Makefile deleted file mode 100644 index 7243eb00..00000000 --- a/lang/python/python-astral/Makefile +++ /dev/null @@ -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 - -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)) diff --git a/lang/python/python-async-timeout/Makefile b/lang/python/python-async-timeout/Makefile deleted file mode 100644 index a8c76c12..00000000 --- a/lang/python/python-async-timeout/Makefile +++ /dev/null @@ -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 -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)) diff --git a/lang/python/python-attrs/Makefile b/lang/python/python-attrs/Makefile index 251f7638..d76a7834 100644 --- a/lang/python/python-attrs/Makefile +++ b/lang/python/python-attrs/Makefile @@ -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 diff --git a/lang/python/python-automat/Makefile b/lang/python/python-automat/Makefile index b2b3a660..0c0ae594 100644 --- a/lang/python/python-automat/Makefile +++ b/lang/python/python-automat/Makefile @@ -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)) diff --git a/lang/python/python-awscli/Makefile b/lang/python/python-awscli/Makefile deleted file mode 100644 index d52faac5..00000000 --- a/lang/python/python-awscli/Makefile +++ /dev/null @@ -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 -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)) diff --git a/lang/python/python-botocore/Makefile b/lang/python/python-botocore/Makefile deleted file mode 100644 index 6ebc616c..00000000 --- a/lang/python/python-botocore/Makefile +++ /dev/null @@ -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 -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)) diff --git a/lang/python/python-certifi/Makefile b/lang/python/python-certifi/Makefile deleted file mode 100644 index 00f7e323..00000000 --- a/lang/python/python-certifi/Makefile +++ /dev/null @@ -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 - 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)) diff --git a/lang/python/python-cffi/Makefile b/lang/python/python-cffi/Makefile index b450d17a..5e27adb1 100644 --- a/lang/python/python-cffi/Makefile +++ b/lang/python/python-cffi/Makefile @@ -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 diff --git a/lang/python/python-chardet/Makefile b/lang/python/python-chardet/Makefile deleted file mode 100644 index bce37b3c..00000000 --- a/lang/python/python-chardet/Makefile +++ /dev/null @@ -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 - 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)) diff --git a/lang/python/python-colorama/Makefile b/lang/python/python-colorama/Makefile deleted file mode 100644 index 815708cf..00000000 --- a/lang/python/python-colorama/Makefile +++ /dev/null @@ -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 -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)) diff --git a/lang/python/python-constantly/Makefile b/lang/python/python-constantly/Makefile index db502e2e..e1fa855f 100644 --- a/lang/python/python-constantly/Makefile +++ b/lang/python/python-constantly/Makefile @@ -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 diff --git a/lang/python/python-contextlib2/Makefile b/lang/python/python-contextlib2/Makefile deleted file mode 100644 index c1c0ba9e..00000000 --- a/lang/python/python-contextlib2/Makefile +++ /dev/null @@ -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čí - -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 library’s contextlib module to earlier Python versions. -endef - -$(eval $(call Py3Package,python3-contextlib2)) -$(eval $(call BuildPackage,python3-contextlib2)) -$(eval $(call BuildPackage,python3-contextlib2-src)) diff --git a/lang/python/python-crypto/Makefile b/lang/python/python-crypto/Makefile index f0f8d659..551fd94f 100644 --- a/lang/python/python-crypto/Makefile +++ b/lang/python/python-crypto/Makefile @@ -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 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)) diff --git a/lang/python/python-crypto/patches/100-CVE-2013-7459.patch b/lang/python/python-crypto/patches/100-CVE-2013-7459.patch deleted file mode 100644 index db1f740b..00000000 --- a/lang/python/python-crypto/patches/100-CVE-2013-7459.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 8dbe0dc3eea5c689d4f76b37b93fe216cf1f00d4 Mon Sep 17 00:00:00 2001 -From: Legrandin -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 -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) - diff --git a/lang/python/python-crypto/patches/101-CVE-2018-6594.patch b/lang/python/python-crypto/patches/101-CVE-2018-6594.patch deleted file mode 100644 index 8e8c5582..00000000 --- a/lang/python/python-crypto/patches/101-CVE-2018-6594.patch +++ /dev/null @@ -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') diff --git a/lang/python/python-cryptodome/Makefile b/lang/python/python-cryptodome/Makefile deleted file mode 100644 index 02e89666..00000000 --- a/lang/python/python-cryptodome/Makefile +++ /dev/null @@ -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 - -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)) diff --git a/lang/python/python-cryptodome/patches/001-fix-libgmp-loading.patch b/lang/python/python-cryptodome/patches/001-fix-libgmp-loading.patch deleted file mode 100644 index ea860fae..00000000 --- a/lang/python/python-cryptodome/patches/001-fix-libgmp-loading.patch +++ /dev/null @@ -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"): diff --git a/lang/python/python-cryptodome/patches/002-omit-tests.patch b/lang/python/python-cryptodome/patches/002-omit-tests.patch deleted file mode 100644 index cbaf70f2..00000000 --- a/lang/python/python-cryptodome/patches/002-omit-tests.patch +++ /dev/null @@ -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", diff --git a/lang/python/python-cryptodomex/Makefile b/lang/python/python-cryptodomex/Makefile deleted file mode 100644 index ec748204..00000000 --- a/lang/python/python-cryptodomex/Makefile +++ /dev/null @@ -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 - -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)) diff --git a/lang/python/python-cryptodomex/patches/001-fix-libgmp-loading.patch b/lang/python/python-cryptodomex/patches/001-fix-libgmp-loading.patch deleted file mode 100644 index e562df0d..00000000 --- a/lang/python/python-cryptodomex/patches/001-fix-libgmp-loading.patch +++ /dev/null @@ -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"): diff --git a/lang/python/python-cryptodomex/patches/002-omit-tests.patch b/lang/python/python-cryptodomex/patches/002-omit-tests.patch deleted file mode 100644 index cbaf70f2..00000000 --- a/lang/python/python-cryptodomex/patches/002-omit-tests.patch +++ /dev/null @@ -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", diff --git a/lang/python/python-cryptography/Makefile b/lang/python/python-cryptography/Makefile index 0fe610af..02e95dab 100644 --- a/lang/python/python-cryptography/Makefile +++ b/lang/python/python-cryptography/Makefile @@ -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 diff --git a/lang/python/python-cryptography/patches/001-disable-setup-requirements.patch b/lang/python/python-cryptography/patches/001-disable-setup-requirements.patch index ea257adb..65781af5 100644 --- a/lang/python/python-cryptography/patches/001-disable-setup-requirements.patch +++ b/lang/python/python-cryptography/patches/001-disable-setup-requirements.patch @@ -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() diff --git a/lang/python/python-cryptography/patches/002-remove-undefined-dtls-methods.patch b/lang/python/python-cryptography/patches/002-remove-undefined-dtls-methods.patch new file mode 100644 index 00000000..25ad27d7 --- /dev/null +++ b/lang/python/python-cryptography/patches/002-remove-undefined-dtls-methods.patch @@ -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 diff --git a/lang/python/python-curl/Makefile b/lang/python/python-curl/Makefile index a5b4f54d..12bff8fd 100644 --- a/lang/python/python-curl/Makefile +++ b/lang/python/python-curl/Makefile @@ -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 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)) diff --git a/lang/python/python-curl/patches/0001-support-for-mbedTLS.patch b/lang/python/python-curl/patches/0001-support-for-mbedTLS.patch deleted file mode 100644 index 58112eea..00000000 --- a/lang/python/python-curl/patches/0001-support-for-mbedTLS.patch +++ /dev/null @@ -1,263 +0,0 @@ -From bb7d7a803665005cc72ad68a388e9e937ff3d2f6 Mon Sep 17 00:00:00 2001 -From: Josef Schlehofer -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 -+# 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 - diff --git a/lang/python/python-dateutil/Makefile b/lang/python/python-dateutil/Makefile index aa90a5c1..421758a5 100644 --- a/lang/python/python-dateutil/Makefile +++ b/lang/python/python-dateutil/Makefile @@ -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 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)) diff --git a/lang/python/python-decorator/Makefile b/lang/python/python-decorator/Makefile deleted file mode 100644 index 2d4416e7..00000000 --- a/lang/python/python-decorator/Makefile +++ /dev/null @@ -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čí - -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)) diff --git a/lang/python/python-dns/Makefile b/lang/python/python-dns/Makefile index 659f0d62..545a170e 100644 --- a/lang/python/python-dns/Makefile +++ b/lang/python/python-dns/Makefile @@ -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 PKG_LICENSE:=ISC PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:=Josef Schlehofer - -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)) diff --git a/lang/python/python-docutils/Makefile b/lang/python/python-docutils/Makefile deleted file mode 100644 index f7bbe329..00000000 --- a/lang/python/python-docutils/Makefile +++ /dev/null @@ -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 -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)) diff --git a/lang/python/python-dpkt/Makefile b/lang/python/python-dpkt/Makefile index f9f20184..e6b04179 100644 --- a/lang/python/python-dpkt/Makefile +++ b/lang/python/python-dpkt/Makefile @@ -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 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 diff --git a/lang/python/python-egenix-mx-base/Makefile b/lang/python/python-egenix-mx-base/Makefile index d93035a0..374258cd 100644 --- a/lang/python/python-egenix-mx-base/Makefile +++ b/lang/python/python-egenix-mx-base/Makefile @@ -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 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 diff --git a/lang/python/python-enum34/Makefile b/lang/python/python-enum34/Makefile index 16e55fc1..90b54c4c 100644 --- a/lang/python/python-enum34/Makefile +++ b/lang/python/python-enum34/Makefile @@ -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 diff --git a/lang/python/python-evdev/Makefile b/lang/python/python-evdev/Makefile index b9d14e88..4bdf5212 100644 --- a/lang/python/python-evdev/Makefile +++ b/lang/python/python-evdev/Makefile @@ -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 , Alexandru Ardelean 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) diff --git a/lang/python/python-futures/Makefile b/lang/python/python-futures/Makefile deleted file mode 100644 index b8b19f5d..00000000 --- a/lang/python/python-futures/Makefile +++ /dev/null @@ -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 -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)) diff --git a/lang/python/python-gmpy2/Makefile b/lang/python/python-gmpy2/Makefile index df6a30fc..99174136 100644 --- a/lang/python/python-gmpy2/Makefile +++ b/lang/python/python-gmpy2/Makefile @@ -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)) diff --git a/lang/python/python-gnupg/Makefile b/lang/python/python-gnupg/Makefile index 4aa835a2..0c209a75 100644 --- a/lang/python/python-gnupg/Makefile +++ b/lang/python/python-gnupg/Makefile @@ -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 diff --git a/lang/python/python-hyperlink/Makefile b/lang/python/python-hyperlink/Makefile index fafe5b0f..36613abc 100644 --- a/lang/python/python-hyperlink/Makefile +++ b/lang/python/python-hyperlink/Makefile @@ -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 diff --git a/lang/python/python-idna/Makefile b/lang/python/python-idna/Makefile index d54b91d2..47f4b966 100644 --- a/lang/python/python-idna/Makefile +++ b/lang/python/python-idna/Makefile @@ -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 , Alexandru Ardelean +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 diff --git a/lang/python/python-ifaddr/Makefile b/lang/python/python-ifaddr/Makefile deleted file mode 100644 index 14fb960b..00000000 --- a/lang/python/python-ifaddr/Makefile +++ /dev/null @@ -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 -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)) diff --git a/lang/python/python-incremental/Makefile b/lang/python/python-incremental/Makefile index db0ce103..107cfaf3 100644 --- a/lang/python/python-incremental/Makefile +++ b/lang/python/python-incremental/Makefile @@ -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 diff --git a/lang/python/python-influxdb/Makefile b/lang/python/python-influxdb/Makefile deleted file mode 100644 index 221db928..00000000 --- a/lang/python/python-influxdb/Makefile +++ /dev/null @@ -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čí - -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)) diff --git a/lang/python/python-ipaddress/Makefile b/lang/python/python-ipaddress/Makefile index ad9d9ce1..333ea3ee 100644 --- a/lang/python/python-ipaddress/Makefile +++ b/lang/python/python-ipaddress/Makefile @@ -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 diff --git a/lang/python/python-jmespath/Makefile b/lang/python/python-jmespath/Makefile deleted file mode 100644 index 0e4c3090..00000000 --- a/lang/python/python-jmespath/Makefile +++ /dev/null @@ -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 -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)) diff --git a/lang/python/python-jsonpath-ng/Makefile b/lang/python/python-jsonpath-ng/Makefile deleted file mode 100644 index 468fce3a..00000000 --- a/lang/python/python-jsonpath-ng/Makefile +++ /dev/null @@ -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čí - -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)) diff --git a/lang/python/python-ldap/Makefile b/lang/python/python-ldap/Makefile index 958c82cf..a8d983de 100644 --- a/lang/python/python-ldap/Makefile +++ b/lang/python/python-ldap/Makefile @@ -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 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 diff --git a/lang/python/python-ldap/patches/010-setup_cfg.patch b/lang/python/python-ldap/patches/010-setup_cfg.patch new file mode 100644 index 00000000..372e9d23 --- /dev/null +++ b/lang/python/python-ldap/patches/010-setup_cfg.patch @@ -0,0 +1,16 @@ +From: Dmitrij Trefilov + +Subject: [PATCH] lang: removed hardcoded include and library directories from setup.cfg +Signed-off-by: Dmitrij Trefilov +--- +--- 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 = diff --git a/lang/python/python-lxml/Makefile b/lang/python/python-lxml/Makefile index 1d8b54c7..0c543fce 100644 --- a/lang/python/python-lxml/Makefile +++ b/lang/python/python-lxml/Makefile @@ -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 diff --git a/lang/python/python-multidict/Makefile b/lang/python/python-multidict/Makefile deleted file mode 100644 index 971c382d..00000000 --- a/lang/python/python-multidict/Makefile +++ /dev/null @@ -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 -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)) diff --git a/lang/python/python-mysql/Makefile b/lang/python/python-mysql/Makefile index a56bfc30..f776b74b 100644 --- a/lang/python/python-mysql/Makefile +++ b/lang/python/python-mysql/Makefile @@ -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 -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 + 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)) diff --git a/lang/python/python-mysql/patches/010-threadsafe.patch b/lang/python/python-mysql/patches/010-threadsafe.patch new file mode 100644 index 00000000..bcd9af8d --- /dev/null +++ b/lang/python/python-mysql/patches/010-threadsafe.patch @@ -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. diff --git a/lang/python/python-netdisco/Makefile b/lang/python/python-netdisco/Makefile deleted file mode 100644 index fdcee517..00000000 --- a/lang/python/python-netdisco/Makefile +++ /dev/null @@ -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 -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)) diff --git a/lang/python/python-oauthlib/Makefile b/lang/python/python-oauthlib/Makefile deleted file mode 100644 index 7b413d90..00000000 --- a/lang/python/python-oauthlib/Makefile +++ /dev/null @@ -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 - 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)) diff --git a/lang/python/python-package-install.sh b/lang/python/python-package-install.sh index 2ca2abc1..e5f6ec89 100644 --- a/lang/python/python-package-install.sh +++ b/lang/python/python-package-install.sh @@ -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 diff --git a/lang/python/python-package.mk b/lang/python/python-package.mk index c594f614..66a49298 100644 --- a/lang/python/python-package.mk +++ b/lang/python/python-package.mk @@ -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) \ diff --git a/lang/python/python-paho-mqtt/Makefile b/lang/python/python-paho-mqtt/Makefile deleted file mode 100644 index 1988f9b1..00000000 --- a/lang/python/python-paho-mqtt/Makefile +++ /dev/null @@ -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 , Alexandru Ardelean - -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)) diff --git a/lang/python/python-parsley/Makefile b/lang/python/python-parsley/Makefile index 83df1138..53b50954 100644 --- a/lang/python/python-parsley/Makefile +++ b/lang/python/python-parsley/Makefile @@ -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)) diff --git a/lang/python/python-pcapy/Makefile b/lang/python/python-pcapy/Makefile index 24c2f7c1..c1dc932c 100644 --- a/lang/python/python-pcapy/Makefile +++ b/lang/python/python-pcapy/Makefile @@ -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 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 diff --git a/lang/python/python-pcapy/patches/010-libcxx.patch b/lang/python/python-pcapy/patches/010-libcxx.patch deleted file mode 100644 index d27dbdd0..00000000 --- a/lang/python/python-pcapy/patches/010-libcxx.patch +++ /dev/null @@ -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 diff --git a/lang/python/python-ply/Makefile b/lang/python/python-ply/Makefile index aacaf15d..85aa740a 100644 --- a/lang/python/python-ply/Makefile +++ b/lang/python/python-ply/Makefile @@ -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 diff --git a/lang/python/python-psycopg2/Makefile b/lang/python/python-psycopg2/Makefile index 5a16e08a..4feaf39b 100644 --- a/lang/python/python-psycopg2/Makefile +++ b/lang/python/python-psycopg2/Makefile @@ -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 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 diff --git a/lang/python/python-pyasn1-modules/Makefile b/lang/python/python-pyasn1-modules/Makefile index 300c7b8b..7ad1e1f3 100644 --- a/lang/python/python-pyasn1-modules/Makefile +++ b/lang/python/python-pyasn1-modules/Makefile @@ -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 diff --git a/lang/python/python-pyasn1/Makefile b/lang/python/python-pyasn1/Makefile index 4a7c5451..cb97aabf 100644 --- a/lang/python/python-pyasn1/Makefile +++ b/lang/python/python-pyasn1/Makefile @@ -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 diff --git a/lang/python/python-pycparser/Makefile b/lang/python/python-pycparser/Makefile index 77932a04..9a8b65ca 100644 --- a/lang/python/python-pycparser/Makefile +++ b/lang/python/python-pycparser/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pycparser -PKG_VERSION:=2.19 +PKG_VERSION:=2.18 PKG_RELEASE:=2 PKG_SOURCE:=pycparser-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pycparser -PKG_HASH:=a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3 +PKG_SOURCE_URL:=https://pypi.python.org/packages/8c/2d/aad7f16146f4197a11f8e91fb81df177adcc2073d36a17b1491fd09df6ed +PKG_HASH:=99a8ca03e29851d96616ad0404b4aad7d9ee16f25c9f9708a11faf2810f7b226 PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-pycparser-$(PKG_VERSION) @@ -34,23 +34,20 @@ define Package/python-pycparser/Default SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - TITLE:=C parser in Python URL:=https://github.com/eliben/pycparser endef define Package/python-pycparser $(call Package/python-pycparser/Default) - DEPENDS:= \ - +PACKAGE_python-pycparser:python-light \ - +PACKAGE_python-pycparser:python-ply + TITLE:=python-pycparser + DEPENDS:=+PACKAGE_python-pycparser:python-light +PACKAGE_python-pycparser:python-ply VARIANT:=python endef define Package/python3-pycparser $(call Package/python-pycparser/Default) - DEPENDS:= \ - +PACKAGE_python3-pycparser:python3-light \ - +PACKAGE_python3-pycparser:python3-ply + TITLE:=python3-pycparser + DEPENDS:=+PACKAGE_python3-pycparser:python3-light +PACKAGE_python3-pycparser:python3-ply VARIANT:=python3 endef diff --git a/lang/python/python-pycparser/patches/001-use-external-ply.patch b/lang/python/python-pycparser/patches/001-use-external-ply.patch index 23c43d28..96b1d034 100644 --- a/lang/python/python-pycparser/patches/001-use-external-ply.patch +++ b/lang/python/python-pycparser/patches/001-use-external-ply.patch @@ -1,3 +1,5 @@ +diff --git a/pycparser/c_lexer.py b/pycparser/c_lexer.py +index cbb9d26..cbd7742 100644 --- a/pycparser/c_lexer.py +++ b/pycparser/c_lexer.py @@ -9,8 +9,8 @@ @@ -11,6 +13,8 @@ class CLexer(object): +diff --git a/pycparser/c_parser.py b/pycparser/c_parser.py +index f4f7453..5c0ca88 100644 --- a/pycparser/c_parser.py +++ b/pycparser/c_parser.py @@ -8,7 +8,7 @@ @@ -22,12 +26,14 @@ from . import c_ast from .c_lexer import CLexer +diff --git a/setup.py b/setup.py +index fdccbb3..036a10b 100644 --- a/setup.py +++ b/setup.py -@@ -60,7 +60,7 @@ setup( - 'Programming Language :: Python :: 3.6', - ], - python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", +@@ -49,7 +49,7 @@ setup( + classifiers = [ + 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 3',], - packages=['pycparser', 'pycparser.ply'], + packages=['pycparser'], package_data={'pycparser': ['*.cfg']}, diff --git a/lang/python/python-pyopenssl/Makefile b/lang/python/python-pyopenssl/Makefile index fcd1f2f4..3f8fc905 100644 --- a/lang/python/python-pyopenssl/Makefile +++ b/lang/python/python-pyopenssl/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pyopenssl -PKG_VERSION:=19.0.0 +PKG_VERSION:=17.5.0 PKG_RELEASE:=2 PKG_SOURCE:=pyOpenSSL-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pyOpenSSL -PKG_HASH:=aeca66338f6de19d1aa46ed634c3b9ae519a64b458f8468aec688e7e3c20f200 +PKG_SOURCE_URL:=https://pypi.python.org/packages/3b/15/a5d90ab1a41075e8f0fae334f13452549528f82142b3b9d0c9d86ab7178c +PKG_HASH:=2c10cfba46a52c0b0950118981d61e72c1e5b1aac451ca1bc77de1a679456773 PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE @@ -31,26 +31,27 @@ define Package/python-pyopenssl/Default SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - TITLE:=OpenSSL wrapper - URL:=https://pyopenssl.org/ + URL:=https://github.com/pyca/pyopenssl endef define Package/python-pyopenssl $(call Package/python-pyopenssl/Default) + TITLE:=python-pyopenssl + VARIANT:=python DEPENDS:= \ +PACKAGE_python-pyopenssl:python-light \ +PACKAGE_python-pyopenssl:python-cryptography \ +PACKAGE_python-pyopenssl:python-six - VARIANT:=python endef define Package/python3-pyopenssl $(call Package/python-pyopenssl/Default) + TITLE:=python3-pyopenssl + VARIANT:=python3 DEPENDS:= \ +PACKAGE_python3-pyopenssl:python3-light \ +PACKAGE_python3-pyopenssl:python3-cryptography \ +PACKAGE_python3-pyopenssl:python3-six - VARIANT:=python3 endef define Package/python-pyopenssl/description diff --git a/lang/python/python-pyotp/Makefile b/lang/python/python-pyotp/Makefile deleted file mode 100644 index b41ce93c..00000000 --- a/lang/python/python-pyotp/Makefile +++ /dev/null @@ -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:=pyotp -PKG_VERSION:=2.2.7 -PKG_RELEASE:=1 - -PKG_SOURCE:=pyotp-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pyotp -PKG_HASH:=be0ffeabddaa5ee53e7204e7740da842d070cf69168247a3d0c08541b84de602 - -PKG_MAINTAINER:=Josef Schlehofer -PKG_LICENSE:=MIT -PKG_LICENSE_FILES:=LICENSE - -include $(INCLUDE_DIR)/package.mk -include ../python3-package.mk - -define Package/python3-pyotp - SUBMENU:=Python - SECTION:=lang - CATEGORY:=Languages - TITLE:=Python One-Time Password Library - URL:=https://github.com/pyauth/pyotp - DEPENDS:=+python3-light - VARIANT:=python3 -endef - -define Package/python3-pyotp/description - PyOTP is a Python library for generating and verifying one-time passwords. - It can be used to implement two-factor (2FA) or multi-factor (MFA) authentication methods - in web applications and in other systems that require users to log in. -endef - -$(eval $(call Py3Package,python3-pyotp)) -$(eval $(call BuildPackage,python3-pyotp)) -$(eval $(call BuildPackage,python3-pyotp-src)) diff --git a/lang/python/python-pyptlib/Makefile b/lang/python/python-pyptlib/Makefile index d2e7f574..b003976a 100644 --- a/lang/python/python-pyptlib/Makefile +++ b/lang/python/python-pyptlib/Makefile @@ -9,10 +9,10 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pyptlib PKG_VERSION:=0.0.6 -PKG_RELEASE:=3 +PKG_RELEASE:=2 PKG_SOURCE:=pyptlib-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pyptlib +PKG_SOURCE_URL:=https://pypi.python.org/packages/source/p/pyptlib PKG_HASH:=b98472e3d9e8f4689d3913ca8f89afa5e6cc5383dcd8686987606166f9dac607 PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-pyptlib-$(PKG_VERSION) @@ -30,12 +30,12 @@ define Package/python-pyptlib/Default SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - TITLE:=Pluggable Transports for Tor - URL:=https://pypi.org/project/pyptlib/ + URL:=https://pypi.python.org/pypi/pyptlib endef define Package/python-pyptlib $(call Package/python-pyptlib/Default) + TITLE:=python-pyptlib DEPENDS:=+PACKAGE_python-pyptlib:python-light VARIANT:=python endef diff --git a/lang/python/python-pyserial/Makefile b/lang/python/python-pyserial/Makefile index 00b6410f..2342b024 100644 --- a/lang/python/python-pyserial/Makefile +++ b/lang/python/python-pyserial/Makefile @@ -8,62 +8,43 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pyserial -PKG_VERSION:=3.4 +PKG_VERSION:=3.1.1 PKG_RELEASE:=1 +PKG_MAINTAINER:=Micke Prag +PKG_LICENSE:=Python-2.0 PKG_SOURCE:=pyserial-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://pypi.python.org/packages/cc/74/11b04703ec416717b247d789103277269d567db575d2fd88f25d9767fe3d/ -PKG_HASH:=6e2d401fdee0eab996cf734e67773a0143b932772ca8b42451440cfed942c627 +PKG_SOURCE_URL:=http://pypi.python.org/packages/3c/d8/a9fa247ca60b02b3bebbd61766b4f321393b57b13c53b18f6f62cf172c08/ +PKG_HASH:=d657051249ce3cbd0446bcfb2be07a435e1029da4d63f53ed9b4cdde7373364c -PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-pyserial-$(PKG_VERSION) - -PKG_LICENSE:=BSD -PKG_MAINTAINER:=Micke Prag +PKG_BUILD_DIR:=$(BUILD_DIR)/pyserial-$(PKG_VERSION) +PKG_BUILD_DEPENDS:=python 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-pyserial/Default - SECTION:=lang-python - CATEGORY:=Languages - SUBMENU:=Python - URL:=https://github.com/pyserial/pyserial -endef define Package/python-pyserial -$(call Package/python-pyserial/Default) + SUBMENU:=Python + SECTION:=lang + CATEGORY:=Languages TITLE:=python-pyserial + URL:=http://pyserial.sourceforge.net DEPENDS:=+python-light - VARIANT:=python -endef - -define Package/python3-pyserial -$(call Package/python-pyserial/Default) - TITLE:=python3-pyserial - DEPENDS:=+python3-light - VARIANT:=python3 endef define Package/python-pyserial/description -This module encapsulates the access for the serial port. It provides backends -for Python running on Windows, OSX, Linux, BSD (possibly any POSIX compliant -system) and IronPython. The module named "serial" automatically selects the -appropriate backend. + serial port python bindings endef -define Package/python3-pyserial/description -$(call Package/python-pyserial/description) -. -(Variant for Python3) +define Build/Compile + $(call Build/Compile/PyMod,,install --prefix=/usr --root="$(PKG_INSTALL_DIR)") +endef + +define Package/python-pyserial/install + $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR) + $(CP) \ + $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \ + $(1)$(PYTHON_PKG_DIR) endef -$(eval $(call PyPackage,python-pyserial)) $(eval $(call BuildPackage,python-pyserial)) -$(eval $(call BuildPackage,python-pyserial-src)) - -$(eval $(call Py3Package,python3-pyserial)) -$(eval $(call BuildPackage,python3-pyserial)) -$(eval $(call BuildPackage,python3-pyserial-src)) diff --git a/lang/python/python-pytz/Makefile b/lang/python/python-pytz/Makefile deleted file mode 100644 index 1fec0d54..00000000 --- a/lang/python/python-pytz/Makefile +++ /dev/null @@ -1,79 +0,0 @@ -# -# Copyright (C) 2007-2019 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-pytz -PKG_VERSION:=2019.1 -PKG_RELEASE:=1 - -PKG_SOURCE:=pytz-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pytz -PKG_HASH:=d747dd3d23d77ef44c6a3526e274af6efeb0a6f1afd5a69ba4d5be4098c8e141 - -PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-pytz-$(PKG_VERSION) - -PKG_MAINTAINER:=Alexandru Ardelean -PKG_LICENSE:=MIT -PKG_LICENSE_FILES:=LICENSE.txt - -HOST_BUILD_DEPENDS:=python/host - -include $(INCLUDE_DIR)/host-build.mk -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) -HOST_UNPACK:=$(HOST_TAR) -C $(HOST_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE) - -define Package/python-pytz/Default - SUBMENU:=Python - SECTION:=lang - CATEGORY:=Languages - URL:=https://pythonhosted.org/pytz/ -endef - -define Package/python-pytz -$(call Package/python-pytz/Default) - TITLE:=World timezone definitions, modern and historical - DEPENDS:=+PACKAGE_python-pytz:python-light - VARIANT:=python -endef - -define Package/python3-pytz -$(call Package/python-pytz/Default) - TITLE:=World timezone definitions, modern and historical for Python3 - DEPENDS:=+PACKAGE_python3-pytz:python3-light - VARIANT:=python3 -endef - -define Package/python-pytz/description - World timezone definitions, modern and historical -endef - -define Package/python3-pytz/description -$(call Package/python-pytz/description) -. -(Variant for Python3) -endef - -define Host/Compile - $(call Build/Compile/HostPyMod,,install --prefix="" --root="$(STAGING_DIR_HOSTPKG)") -endef - -Host/Install:= - -$(eval $(call HostBuild)) - -$(eval $(call PyPackage,python-pytz)) -$(eval $(call BuildPackage,python-pytz)) -$(eval $(call BuildPackage,python-pytz-src)) - -$(eval $(call Py3Package,python3-pytz)) -$(eval $(call BuildPackage,python3-pytz)) -$(eval $(call BuildPackage,python3-pytz-src)) diff --git a/lang/python/python-qrcode/Makefile b/lang/python/python-qrcode/Makefile deleted file mode 100644 index a39febfb..00000000 --- a/lang/python/python-qrcode/Makefile +++ /dev/null @@ -1,41 +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-qrcode -PKG_VERSION:=6.1 -PKG_RELEASE:=1 -PKG_LICENSE:=BSD-3-Clause - -PKG_SOURCE:=qrcode-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/q/qrcode/ -PKG_HASH:=505253854f607f2abf4d16092c61d4e9d511a3b4392e60bff957a68592b04369 -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 - -define Package/python-qrcode - SUBMENU:=Python - SECTION:=lang - CATEGORY:=Languages - MAINTAINER:=Eneas U de Queiroz - TITLE:=QR Code image generator - URL:=https://github.com/lincolnloop/python-qrcode - DEPENDS:=+python +python-six +python-setuptools +pillow - VARIANT:=python -endef - -define Package/python-qrcode/description - Pure python QR Code generator -endef - -$(eval $(call PyPackage,python-qrcode)) -$(eval $(call BuildPackage,python-qrcode)) -$(eval $(call BuildPackage,python-qrcode-src)) diff --git a/lang/python/python-requests-oauthlib/Makefile b/lang/python/python-requests-oauthlib/Makefile deleted file mode 100644 index f4d34c9f..00000000 --- a/lang/python/python-requests-oauthlib/Makefile +++ /dev/null @@ -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:=python-requests-oauthlib -PKG_VERSION:=1.2.0 -PKG_RELEASE:=1 -PKG_LICENSE:=ISC - -PKG_SOURCE:=requests-oauthlib-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/r/requests-oauthlib -PKG_HASH:=bd6533330e8748e94bf0b214775fed487d309b8b8fe823dc45641ebcd9a32f57 -PKG_BUILD_DIR:=$(BUILD_DIR)/requests-oauthlib-$(PKG_VERSION) - -include $(INCLUDE_DIR)/package.mk -include ../python-package.mk - -define Package/python-requests-oauthlib - SUBMENU:=Python - SECTION:=lang - CATEGORY:=Languages - MAINTAINER:=Eneas U de Queiroz - TITLE:=OAuthlib authentication support for Requests. - URL:=https://github.com/requests/requests-oauthlib - DEPENDS:=+python +python-requests +python-oauthlib +python-cryptography +python-pyjwt - VARIANT:=python -endef - -define Package/python-requests-oauthlib/description - This project provides first-class OAuth library support for Requests. -endef - -$(eval $(call PyPackage,python-requests-oauthlib)) -$(eval $(call BuildPackage,python-requests-oauthlib)) -$(eval $(call BuildPackage,python-requests-oauthlib-src)) diff --git a/lang/python/python-requests/Makefile b/lang/python/python-requests/Makefile deleted file mode 100644 index 36b7302d..00000000 --- a/lang/python/python-requests/Makefile +++ /dev/null @@ -1,76 +0,0 @@ -# -# Copyright (C) 2007-2019 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-requests -PKG_VERSION:=2.21.0 -PKG_RELEASE:=2 -PKG_LICENSE:=Apache-2.0 - -PKG_SOURCE:=requests-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/r/requests -PKG_HASH:=502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e -PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-requests-$(PKG_VERSION) - -PKG_CPE_ID:=cpe:/a:python-requests:requests - -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-requests/Default - SUBMENU:=Python - SECTION:=lang - CATEGORY:=Languages - MAINTAINER:=Josef Schlehofer , Alexandru Ardelean - URL:=http://python-requests.org/ -endef - -define Package/python-requests -$(call Package/python-requests/Default) - TITLE:=HTTP library for Python - DEPENDS:= \ - +PACKAGE_python-requests:python \ - +PACKAGE_python-requests:python-chardet \ - +PACKAGE_python-requests:python-idna \ - +PACKAGE_python-requests:python-urllib3 \ - +PACKAGE_python-requests:python-certifi - VARIANT:=python -endef - -define Package/python3-requests -$(call Package/python-requests/Default) - TITLE:=HTTP library for Python3 - DEPENDS:= \ - +python3-light \ - +python3-chardet \ - +python3-idna \ - +python3-urllib3 \ - +python3-certifi - VARIANT:=python3 -endef - -define Package/python-requests/description - Requests is the only Non-GMO HTTP library for Python, safe for human consumption. -endef - -define Package/python3-requests/description -$(call Package/python-requests/description) -. -(Variant for Python3) -endef - -$(eval $(call PyPackage,python-requests)) -$(eval $(call BuildPackage,python-requests)) -$(eval $(call BuildPackage,python-requests-src)) - -$(eval $(call Py3Package,python3-requests)) -$(eval $(call BuildPackage,python3-requests)) -$(eval $(call BuildPackage,python3-requests-src)) diff --git a/lang/python/python-rsa/Makefile b/lang/python/python-rsa/Makefile deleted file mode 100644 index cb84dfd0..00000000 --- a/lang/python/python-rsa/Makefile +++ /dev/null @@ -1,59 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=rsa -PKG_VERSION:=4.0 -PKG_RELEASE:=1 - -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/r/rsa -PKG_HASH:=1a836406405730121ae9823e19c6e806c62bbad73f890574fff50efa4122c487 -PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-rsa-$(PKG_VERSION) - -PKG_MAINTAINER:=Daniel Danzberger -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-rsa/Default - SUBMENU:=Python - SECTION:=lang - CATEGORY:=Languages - TITLE:=rsa - URL:=https://stuvel.eu/rsa -endef - -define Package/python-rsa -$(call Package/python-rsa/Default) - DEPENDS:=+python +python-pyasn1 - VARIANT:=python -endef - -define Package/python3-rsa -$(call Package/python-rsa/Default) - DEPENDS:=+python3 +python3-pyasn1 - VARIANT:=python3 -endef - -define Package/python-rsa/description - Is a pure-Python RSA implementation. It supports encryption and decryption, - signing and verifying signatures, and key generation according to PKCS#1 version 1.5. - It can be used as a Python library as well as on the commandline. -endef - -define Package/python3-rsa/description -$(call Package/python-rsa/description) -. -(Variant for Python3) -endef - -$(eval $(call PyPackage,python-rsa)) -$(eval $(call BuildPackage,python-rsa)) -$(eval $(call BuildPackage,python-rsa-src)) - -$(eval $(call Py3Package,python3-rsa)) -$(eval $(call BuildPackage,python3-rsa)) -$(eval $(call BuildPackage,python3-rsa-src)) diff --git a/lang/python/python-s3transfer/Makefile b/lang/python/python-s3transfer/Makefile deleted file mode 100644 index a50f1b41..00000000 --- a/lang/python/python-s3transfer/Makefile +++ /dev/null @@ -1,57 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=s3transfer -PKG_VERSION:=0.2.0 -PKG_RELEASE:=1 - -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/s/s3transfer -PKG_HASH:=f23d5cb7d862b104401d9021fc82e5fa0e0cf57b7660a1331425aab0c691d021 -PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-s3transfer-$(PKG_VERSION) - -PKG_MAINTAINER:=Daniel Danzberger -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-s3transfer/Default - SECTION:=lang - CATEGORY:=Languages - SUBMENU:=Python - TITLE:=s3transfer - URL:=https://github.com/boto/s3transfer -endef - -define Package/python-s3transfer -$(call Package/python-s3transfer/Default) - DEPENDS:=+python +python-botocore +python-futures - VARIANT:=python -endef - -define Package/python3-s3transfer -$(call Package/python-s3transfer/Default) - DEPENDS:=+python3 +python3-botocore - VARIANT:=python3 -endef - -define Package/python-s3transfer/description -S3transfer is a Python library for managing Amazon S3 transfers. -endef - -define Package/python3-s3transfer/description -$(call Package/python-s3transfer/description) -. -(Variant for Python3) -endef - -$(eval $(call PyPackage,python-s3transfer)) -$(eval $(call BuildPackage,python-s3transfer)) -$(eval $(call BuildPackage,python-s3transfer-src)) - -$(eval $(call Py3Package,python3-s3transfer)) -$(eval $(call BuildPackage,python3-s3transfer)) -$(eval $(call BuildPackage,python3-s3transfer-src)) diff --git a/lang/python/python-schema/Makefile b/lang/python/python-schema/Makefile deleted file mode 100644 index 65ba4fd0..00000000 --- a/lang/python/python-schema/Makefile +++ /dev/null @@ -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-schema -PKG_VERSION:=0.7.0 -PKG_RELEASE:=1 -PKG_MAINTAINER:=Karel Kočí - -PKG_SOURCE_URL:=https://codeload.github.com/keleshev/schema/tar.gz/v$(PKG_VERSION)? -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_HASH:=6c6da2154c0f63025127a1ecb3b2f07b95ec8dd029663fc74ab2e972bf770c72 -PKG_BUILD_DIR:=$(BUILD_DIR)/schema-$(PKG_VERSION) - -include $(INCLUDE_DIR)/package.mk -include ../python3-package.mk - -define Package/python3-schema - SECTION:=lang - CATEGORY:=Languages - SUBMENU:=Python - URL:=https://github.com/keleshev/schema - TITLE:=python3-schema - DEPENDS:=+python3-light +python3-contextlib2 - VARIANT:=python3 -endef - -define Package/python3-schema/description - Schema validation just got Pythonic -endef - -$(eval $(call Py3Package,python3-schema)) -$(eval $(call BuildPackage,python3-schema)) -$(eval $(call BuildPackage,python3-schema-src)) diff --git a/lang/python/python-service-identity/Makefile b/lang/python/python-service-identity/Makefile index 4015827c..552ba3d3 100644 --- a/lang/python/python-service-identity/Makefile +++ b/lang/python/python-service-identity/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-service-identity -PKG_VERSION:=18.1.0 -PKG_RELEASE:=1 +PKG_VERSION:=17.0.0 +PKG_RELEASE:=2 PKG_SOURCE:=service_identity-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/s/service_identity -PKG_HASH:=0858a54aabc5b459d1aafa8a518ed2081a285087f349fe3e55197989232e2e2d +PKG_SOURCE_URL:=https://pypi.python.org/packages/de/2a/cab6e30be82c8fcd2339ef618036720eda954cf05daef514e386661c9221 +PKG_HASH:=4001fbb3da19e0df22c47a06d29681a398473af4aa9d745eca525b3b2c2302ab PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-service-identity-$(PKG_VERSION) @@ -31,30 +31,30 @@ define Package/python-service-identity/Default SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - TITLE:=Service identity verification - URL:=https://service-identity.readthedocs.io/ + URL:=https://github.com/pyca/service_identity endef define Package/python-service-identity $(call Package/python-service-identity/Default) + TITLE:=python-service-identity DEPENDS:= \ +PACKAGE_python-service-identity:python-light \ +PACKAGE_python-service-identity:python-attrs \ - +PACKAGE_python-service-identity:python-cryptography \ - +PACKAGE_python-service-identity:python-ipaddress \ +PACKAGE_python-service-identity:python-pyasn1 \ - +PACKAGE_python-service-identity:python-pyasn1-modules + +PACKAGE_python-service-identity:python-pyasn1-modules \ + +PACKAGE_python-service-identity:python-pyopenssl VARIANT:=python endef define Package/python3-service-identity $(call Package/python-service-identity/Default) + TITLE:=python3-service-identity DEPENDS:= \ +PACKAGE_python3-service-identity:python3-light \ +PACKAGE_python3-service-identity:python3-attrs \ - +PACKAGE_python3-service-identity:python3-cryptography \ +PACKAGE_python3-service-identity:python3-pyasn1 \ - +PACKAGE_python3-service-identity:python3-pyasn1-modules + +PACKAGE_python3-service-identity:python3-pyasn1-modules \ + +PACKAGE_python3-service-identity:python3-pyopenssl VARIANT:=python3 endef diff --git a/lang/python/python-simplejson/Makefile b/lang/python/python-simplejson/Makefile deleted file mode 100644 index 11a66a11..00000000 --- a/lang/python/python-simplejson/Makefile +++ /dev/null @@ -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-simplejson -PKG_VERSION:=3.16.0 -PKG_RELEASE:=1 -PKG_LICENSE:=MIT - -PKG_SOURCE:=simplejson-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/s/simplejson -PKG_HASH:=b1f329139ba647a9548aa05fb95d046b4a677643070dc2afc05fa2e975d09ca5 -PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-simplejson-$(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-simplejson/Default - SUBMENU:=Python - SECTION:=lang - CATEGORY:=Languages - MAINTAINER:=Alexandru Ardelean - URL:=https://simplejson.readthedocs.org/ -endef - -define Package/python-simplejson -$(call Package/python-simplejson/Default) - TITLE:=Simple, fast, extensible JSON encoder/decoder for Python 2 - DEPENDS:=+python-light - VARIANT:=python -endef - -define Package/python3-simplejson -$(call Package/python-simplejson/Default) - TITLE:=Simple, fast, extensible JSON encoder/decoder for Python3 - DEPENDS:=+PACKAGE_python3-simplejson:python3-light - VARIANT:=python3 -endef - -define Package/python-simplejson/description - Simple, fast, extensible JSON encoder/decoder for Python -endef - -define Package/python3-simplejson/description -$(call Package/python-simplejson/description) -. -(Variant for Python3) -endef - -$(eval $(call PyPackage,python-simplejson)) -$(eval $(call BuildPackage,python-simplejson)) -$(eval $(call BuildPackage,python-simplejson-src)) - -$(eval $(call Py3Package,python3-simplejson)) -$(eval $(call BuildPackage,python3-simplejson)) -$(eval $(call BuildPackage,python3-simplejson-src)) diff --git a/lang/python/python-six/Makefile b/lang/python/python-six/Makefile index 354f7209..2e7e4fa5 100644 --- a/lang/python/python-six/Makefile +++ b/lang/python/python-six/Makefile @@ -8,12 +8,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-six -PKG_VERSION:=1.12.0 +PKG_VERSION:=1.11.0 PKG_RELEASE:=2 PKG_SOURCE:=six-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/s/six -PKG_HASH:=d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73 +PKG_SOURCE_URL:=https://pypi.python.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe +PKG_HASH:=70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9 + +HOST_BUILD_DEPENDS:=python/host PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-six-$(PKG_VERSION) @@ -21,8 +23,6 @@ PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=Jeffery To , Alexandru Ardelean -HOST_BUILD_DEPENDS:=python/host - include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/package.mk include ../python-package.mk @@ -35,18 +35,19 @@ define Package/python-six/Default SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - TITLE:=Python 2 and 3 compatibility library - URL:=https://github.com/benjaminp/six + URL:=https://pypi.python.org/pypi/six endef define Package/python-six $(call Package/python-six/Default) + TITLE:=python-six DEPENDS:=+PACKAGE_python-six:python-light VARIANT:=python endef define Package/python3-six $(call Package/python-six/Default) + TITLE:=python3-six DEPENDS:=+PACKAGE_python3-six:python3-light VARIANT:=python3 endef diff --git a/lang/python/python-slugify/Makefile b/lang/python/python-slugify/Makefile deleted file mode 100644 index 4ec4baeb..00000000 --- a/lang/python/python-slugify/Makefile +++ /dev/null @@ -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-slugify -PKG_VERSION:=3.0.2 -PKG_RELEASE:=1 - -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/python-slugify/ -PKG_HASH:=57163ffb345c7e26063435a27add1feae67fa821f1ef4b2f292c25847575d758 - -PKG_MAINTAINER:=Josef Schlehofer -PKG_LICENSE:=MIT -PKG_LICENSE_FILES:=LICENSE - -include $(INCLUDE_DIR)/package.mk -include ../python3-package.mk - -define Package/python3-slugify - SECTION:=lang - CATEGORY:=Languages - SUBMENU:=Python - TITLE:=Slugify application that handles Unicode - URL:=https://github.com/un33k/python-slugify - DEPENDS+= \ - +python3-light \ - +python3-codecs \ - +python3-setuptools \ - +python3-text-unidecode - VARIANT:=python3 -endef - -define Package/python3-slugify/description -A Python slugify application that handles unicode. -endef - -$(eval $(call Py3Package,python3-slugify)) -$(eval $(call BuildPackage,python3-slugify)) -$(eval $(call BuildPackage,python3-slugify-src)) diff --git a/lang/python/python-twisted/Makefile b/lang/python/python-twisted/Makefile deleted file mode 100644 index d9f81091..00000000 --- a/lang/python/python-twisted/Makefile +++ /dev/null @@ -1,103 +0,0 @@ -# -# Copyright (C) 2006-2011, 2015-2018 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-twisted -PKG_VERSION:=19.2.0 -PKG_RELEASE:=1 - -PKG_SOURCE:=Twisted-$(PKG_VERSION).tar.bz2 -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/T/Twisted -PKG_HASH:=1708e1928ae84ec9d3ebab0d427e20e1e38ff721b15bbced476d047d4a43abbe - -PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-twisted-$(PKG_VERSION) -PKG_BUILD_DEPENDS:=libtirpc - -PKG_LICENSE:=MIT -PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:=Jeffery To - -include $(INCLUDE_DIR)/package.mk -include ../python-package.mk -include ../python3-package.mk - -PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xjf $(DL_DIR)/$(PKG_SOURCE) - -define Package/python-twisted/Default - SECTION:=lang - CATEGORY:=Languages - SUBMENU:=Python - TITLE:=Asynchronous networking framework - URL:=https://twistedmatrix.com/ -endef - -define Package/python-twisted -$(call Package/python-twisted/Default) - DEPENDS:= \ - +PACKAGE_python-twisted:python-light \ - +PACKAGE_python-twisted:python-attrs \ - +PACKAGE_python-twisted:python-automat \ - +PACKAGE_python-twisted:python-constantly \ - +PACKAGE_python-twisted:python-incremental \ - +PACKAGE_python-twisted:python-hyperlink \ - +PACKAGE_python-twisted:python-setuptools \ - +PACKAGE_python-twisted:python-zope-interface - VARIANT:=python -endef - -define Package/python3-twisted -$(call Package/python-twisted/Default) - DEPENDS:= \ - +PACKAGE_python3-twisted:python3-light \ - +PACKAGE_python3-twisted:python3-attrs \ - +PACKAGE_python3-twisted:python3-automat \ - +PACKAGE_python3-twisted:python3-constantly \ - +PACKAGE_python3-twisted:python3-incremental \ - +PACKAGE_python3-twisted:python3-hyperlink \ - +PACKAGE_python3-twisted:python3-setuptools \ - +PACKAGE_python3-twisted:python3-zope-interface - VARIANT:=python3 -endef - -define Package/python-twisted/description -Twisted is a networking engine written in Python, supporting numerous -protocols. It contains a web server, numerous chat clients, chat servers, -mail servers, and more. -endef - -define Package/python3-twisted/description -$(call Package/python-twisted/description) -. -(Variant for Python3) -endef - -define PyPackage/python-twisted/filespec -+|$(PYTHON_PKG_DIR) --|$(PYTHON_PKG_DIR)/twisted/conch/scripts/tkconch.py -endef - -define Py3Package/python3-twisted/filespec -+|$(PYTHON3_PKG_DIR) --|$(PYTHON3_PKG_DIR)/twisted/conch/scripts/tkconch.py -endef - -define Py3Package/python3-twisted/install - $(INSTALL_DIR) $(1)/usr/bin - $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/ - for bin in $(1)/usr/bin/*; do \ - mv $$$$bin $$$${bin}3 ; \ - done -endef - -$(eval $(call PyPackage,python-twisted)) -$(eval $(call BuildPackage,python-twisted)) -$(eval $(call BuildPackage,python-twisted-src)) - -$(eval $(call Py3Package,python3-twisted)) -$(eval $(call BuildPackage,python3-twisted)) -$(eval $(call BuildPackage,python3-twisted-src)) diff --git a/lang/python/python-txsocksx/Makefile b/lang/python/python-txsocksx/Makefile index 2bc606ea..e8a7605b 100644 --- a/lang/python/python-txsocksx/Makefile +++ b/lang/python/python-txsocksx/Makefile @@ -9,10 +9,10 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-txsocksx PKG_VERSION:=1.15.0.2 -PKG_RELEASE:=4 +PKG_RELEASE:=2 PKG_SOURCE:=txsocksx-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/t/txsocksx +PKG_SOURCE_URL:=https://pypi.python.org/packages/source/t/txsocksx PKG_HASH:=4f79b5225ce29709bfcee45e6f726e65b70fd6f1399d1898e54303dbd6f8065f PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-txsocksx-$(PKG_VERSION) @@ -26,23 +26,20 @@ include ../python-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)" - define Package/python-txsocksx/Default SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - TITLE:=SOCKS client endpoints for Twisted URL:=https://github.com/habnabit/txsocksx endef define Package/python-txsocksx $(call Package/python-txsocksx/Default) + TITLE:=python-txsocksx DEPENDS:= \ +PACKAGE_python-txsocksx:python-light \ +PACKAGE_python-txsocksx:python-parsley \ - +PACKAGE_python-txsocksx:python-twisted + +PACKAGE_python-txsocksx:twisted VARIANT:=python endef @@ -51,6 +48,13 @@ txsocksx is SOCKS4/4a and SOCKS5 client endpoints for Twisted 10.1 or greater. endef +define PyBuild/Compile + $(call Build/Compile/PyMod,, \ + install --prefix="/usr" --root="$(PKG_INSTALL_DIR)", \ + PKG_VERSION="$(PKG_VERSION)" \ + ) +endef + $(eval $(call PyPackage,python-txsocksx)) $(eval $(call BuildPackage,python-txsocksx)) $(eval $(call BuildPackage,python-txsocksx-src)) diff --git a/lang/python/python-urllib3/Makefile b/lang/python/python-urllib3/Makefile index 97fb21d8..e014fca0 100644 --- a/lang/python/python-urllib3/Makefile +++ b/lang/python/python-urllib3/Makefile @@ -8,59 +8,41 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-urllib3 -PKG_VERSION:=1.25 +PKG_VERSION:=1.22 PKG_RELEASE:=1 - PKG_LICENSE:=MIT -PKG_LICENSE_FILES:=LICENSE.txt -PKG_CPE_ID:=cpe:/a:urllib3_project:urllib3 PKG_SOURCE:=urllib3-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/u/urllib3 -PKG_HASH:=f03eeb431c77b88cf8747d47e94233a91d0e0fdae1cf09e0b21405a885700266 - -PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-urllib3-$(PKG_VERSION) +PKG_BUILD_DIR:=$(BUILD_DIR)/urllib3-$(PKG_VERSION)/ +PKG_SOURCE_URL:=https://pypi.python.org/packages/ee/11/7c59620aceedcc1ef65e156cc5ce5a24ef87be4107c2b74458464e437a5d/ +PKG_HASH:=cc44da8e1145637334317feebd728bd869a35285b93cbb4cca2577da7e62db4f 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-urllib3/Default +define Package/python-urllib3 SUBMENU:=Python SECTION:=lang CATEGORY:=Languages - TITLE:=Sanity-friendly HTTP client + MAINTAINER:=Gergely Kiss + TITLE:=HTTP library with thread-safe connection pooling, file post, and more. URL:=https://urllib3.readthedocs.io/ -endef - -define Package/python-urllib3 -$(call Package/python-urllib3/Default) - DEPENDS:=+PACKAGE_python-urllib3:python - VARIANT:=python + DEPENDS:=+python endef define Package/python-urllib3/description HTTP library with thread-safe connection pooling, file post, and more. endef -define Package/python3-urllib3 -$(call Package/python-urllib3/Default) - DEPENDS:=+PACKAGE_python3-urllib3:python3 - VARIANT:=python3 +define Build/Compile + $(call Build/Compile/PyMod,,install --prefix=/usr --root=$(PKG_INSTALL_DIR)) endef -define Package/python3-urllib3/description -$(call Package/python-urllib3/description) -. -(Variant for Python3) +define Package/python-urllib3/install + $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR) + $(CP) \ + $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \ + $(1)$(PYTHON_PKG_DIR) endef -$(eval $(call PyPackage,python-urllib3)) $(eval $(call BuildPackage,python-urllib3)) -$(eval $(call BuildPackage,python-urllib3-src)) - -$(eval $(call Py3Package,python3-urllib3)) -$(eval $(call BuildPackage,python3-urllib3)) -$(eval $(call BuildPackage,python3-urllib3-src)) diff --git a/lang/python/python-version.mk b/lang/python/python-version.mk index cba9255f..f4132151 100644 --- a/lang/python/python-version.mk +++ b/lang/python/python-version.mk @@ -6,10 +6,14 @@ # PYTHON_VERSION:=2.7 -PYTHON_VERSION_MICRO:=16 +PYTHON_VERSION_MICRO:=15 PYTHON_SETUPTOOLS_PKG_RELEASE:=1 PYTHON_PIP_PKG_RELEASE:=1 -PYTHON_SETUPTOOLS_VERSION:=40.6.2 -PYTHON_PIP_VERSION:=18.1 +PYTHON_SETUPTOOLS_VERSION:=39.0.1 +PYTHON_PIP_VERSION:=9.0.3 + +PYTHON_SETUPTOOLS_VERSION:=$(PYTHON_SETUPTOOLS_VERSION)-$(PYTHON_SETUPTOOLS_PKG_RELEASE) +PYTHON_PIP_VERSION:=$(PYTHON_PIP_VERSION)-$(PYTHON_PIP_PKG_RELEASE) + diff --git a/lang/python/python-voluptuous-serialize/Makefile b/lang/python/python-voluptuous-serialize/Makefile deleted file mode 100644 index d29db7e6..00000000 --- a/lang/python/python-voluptuous-serialize/Makefile +++ /dev/null @@ -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:=voluptuous-serialize -PKG_VERSION:=2.1.0 -PKG_RELEASE:=2 - -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/v/voluptuous-serialize/ -PKG_HASH:=d30fef4f1aba251414ec0b315df81a06da7bf35201dcfb1f6db5253d738a154f - -PKG_MAINTAINER:=Josef Schlehofer -PKG_LICENSE:=Apache-2.0 -PKG_LICENSE_FILES:=COPYING - -include $(INCLUDE_DIR)/package.mk -include ../python3-package.mk - -define Package/python3-voluptuous-serialize - SECTION:=lang - CATEGORY:=Languages - SUBMENU:=Python - TITLE:=Python Voluptuous Serialize - URL:=https://github.com/balloob/voluptuous-serialize - DEPENDS:= \ - +python3-light \ - +python3-voluptuous - VARIANT:=python3 -endef - -define Package/python3-voluptuous-serialize/description -Convert Voluptuous schemas to dictionaries so they can be serialized. -endef - -$(eval $(call Py3Package,python3-voluptuous-serialize)) -$(eval $(call BuildPackage,python3-voluptuous-serialize)) -$(eval $(call BuildPackage,python3-voluptuous-serialize-src)) diff --git a/lang/python/python-voluptuous/Makefile b/lang/python/python-voluptuous/Makefile deleted file mode 100644 index c5ccca14..00000000 --- a/lang/python/python-voluptuous/Makefile +++ /dev/null @@ -1,69 +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-voluptuous -PKG_VERSION:=0.11.5 -PKG_RELEASE:=1 - -PKG_SOURCE:=voluptuous-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/v/voluptuous/ -PKG_HASH:=567a56286ef82a9d7ae0628c5842f65f516abcb496e74f3f59f1d7b28df314ef - -PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-voluptuous-$(PKG_VERSION) - -PKG_LICENSE:=BSD-3-Clause -PKG_LICENSE_FILES:=COPYING -PKG_MAINTAINER:=Josef Schlehofer - -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-voluptuous/Default - SECTION:=lang - CATEGORY:=Languages - SUBMENU:=Python - TITLE:=Data validation library - URL:=https://github.com/alecthomas/voluptuous -endef - -define Package/python-voluptuous -$(call Package/python-voluptuous/Default) - DEPENDS:= \ - +PACKAGE_python-voluptuous:python-light - VARIANT:=python -endef - -define Package/python3-voluptuous -$(call Package/python-voluptuous/Default) - DEPENDS:= \ - +PACKAGE_python3-voluptuous:python3-light - VARIANT:=python3 -endef - -define Package/python-voluptuous/description -It is primarily intended for validating data coming into Python as JSON, YAML, etc. -endef - -define Package/python3-voluptuous/description -$(call Package/python-voluptuous/description) -. -(Variant for Python3) -endef - -$(eval $(call PyPackage,python-voluptuous)) -$(eval $(call BuildPackage,python-voluptuous)) -$(eval $(call BuildPackage,python-voluptuous-src)) - -$(eval $(call Py3Package,python3-voluptuous)) -$(eval $(call BuildPackage,python3-voluptuous)) -$(eval $(call BuildPackage,python3-voluptuous-src)) - diff --git a/lang/python/python-yaml/Makefile b/lang/python/python-yaml/Makefile index ed568ca9..7846ce26 100644 --- a/lang/python/python-yaml/Makefile +++ b/lang/python/python-yaml/Makefile @@ -8,68 +8,59 @@ include $(TOPDIR)/rules.mk PKG_NAME:=PyYAML -PKG_VERSION:=5.1 +PKG_VERSION:=3.12 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/P/PyYAML -PKG_HASH:=436bc774ecf7c103814098159fbb84c2715d25980175292c648f2da143909f95 +PKG_SOURCE_URL:=http://pyyaml.org/download/pyyaml/ +PKG_HASH:=592766c6303207a20efc445587778322d7f73b161bd994f227adaa341ba212ab -PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT -PKG_LICENSE_FILES:=LICENSE -PKG_CPE_ID:=cpe:/a:pyyaml_project:pyyaml +PKG_LICENSE_FILES:=COPYING +PKG_MAINTAINER:=Nicolas Thill 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 ../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-yaml/Default - SECTION:=lang SUBMENU:=Python + SECTION:=lang CATEGORY:=Languages - TITLE:=YAML parser and emitter for Python - URL:=https://github.com/yaml/pyyaml + URL:=http://pyyaml.org/wiki/PyYAML DEPENDS:=+libyaml endef define Package/python-yaml $(call Package/python-yaml/Default) - DEPENDS+= \ - +PACKAGE_python-yaml:python-light \ - +PACKAGE_python-yaml:python-codecs + TITLE:=YAML parser and emitter for Python + DEPENDS+=+PACKAGE_python-yaml:python-light +PACKAGE_python-yaml:python-codecs VARIANT:=python endef define Package/python3-yaml $(call Package/python-yaml/Default) + TITLE:=YAML parser and emitter for Python3 DEPENDS+=+PACKAGE_python3-yaml:python3-light VARIANT:=python3 endef -define Package/python-yaml/description -PyYAML is a YAML parser and emitter for the Python programming language. +define PyBuild/Compile + $(call Build/Compile/PyMod,,\ + --with-libyaml install --prefix="$(PKG_INSTALL_DIR)/usr" \ + ) endef -define Package/python3-yaml/description -$(call Package/python-yaml/description) -. -(Variant for Python3) +define Py3Build/Compile + $(call Build/Compile/Py3Mod,,\ + --with-libyaml install --prefix="$(PKG_INSTALL_DIR)/usr" \ + ) endef -PYTHON_PKG_SETUP_GLOBAL_ARGS:=--with-libyaml -PYTHON_PKG_SETUP_ARGS:= -PYTHON3_PKG_SETUP_GLOBAL_ARGS:=--with-libyaml -PYTHON3_PKG_SETUP_ARGS:= - $(eval $(call PyPackage,python-yaml)) $(eval $(call BuildPackage,python-yaml)) -$(eval $(call BuildPackage,python-yaml-src)) - $(eval $(call Py3Package,python3-yaml)) $(eval $(call BuildPackage,python3-yaml)) -$(eval $(call BuildPackage,python3-yaml-src)) diff --git a/lang/python/python-yarl/Makefile b/lang/python/python-yarl/Makefile deleted file mode 100644 index d0aed33f..00000000 --- a/lang/python/python-yarl/Makefile +++ /dev/null @@ -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:=yarl -PKG_VERSION:=1.3.0 -PKG_RELEASE:=1 - -PKG_SOURCE:=yarl-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/y/yarl/ -PKG_HASH:=024ecdc12bc02b321bc66b41327f930d1c2c543fa9a561b39861da9388ba7aa9 - -PKG_MAINTAINER:=Josef Schlehofer -PKG_LICENSE:=Apache-2.0 -PKG_LICENSE_FILES:=LICENSE - -include $(INCLUDE_DIR)/package.mk -include ../python3-package.mk - -define Package/python3-yarl - SECTION:=lang - CATEGORY:=Languages - SUBMENU:=Python - TITLE:=Yet another URL library - URL:=https://github.com/aio-libs/yarl - DEPENDS:= \ - +python3-light \ - +python3-multidict \ - +python3-urllib \ - +python3-idna - VARIANT:=python3 -endef - -define Package/python3-yarl/description -Yet another URL library -endef - -$(eval $(call Py3Package,python3-yarl)) -$(eval $(call BuildPackage,python3-yarl)) -$(eval $(call BuildPackage,python3-yarl-src)) diff --git a/lang/python/python-zeroconf/Makefile b/lang/python/python-zeroconf/Makefile deleted file mode 100644 index a29d4a6e..00000000 --- a/lang/python/python-zeroconf/Makefile +++ /dev/null @@ -1,46 +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-zeroconf -PKG_VERSION:=0.21.3 -PKG_RELEASE:=1 - -PKG_SOURCE:=zeroconf-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://pypi.python.org/packages/source/z/zeroconf/ -PKG_HASH:=5b52dfdf4e665d98a17bf9aa50dea7a8c98e25f972d9c1d7660e2b978a1f5713 - -PKG_BUILD_DIR:=$(BUILD_DIR)/zeroconf-$(PKG_VERSION) - -PKG_MAINTAINER:=Josef Schlehofer -PKG_LICENSE:=Apache-2.0 -PKG_LICENSE_FILES:=COPYING - -include $(INCLUDE_DIR)/package.mk -include ../python3-package.mk - -define Package/python3-zeroconf - SUBMENU:=Python - SECTION:=lang - CATEGORY:=Languages - TITLE:=Multicast DNS Service Discovery Library - URL:=https://github.com/jstasiak/python-zeroconf - DEPENDS:= \ - +python3-light \ - +python3-logging \ - +python3-ifaddr - VARIANT:=python3 -endef - -define Package/python3-zeroconf/description - Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible) -endef - -$(eval $(call Py3Package,python3-zeroconf)) -$(eval $(call BuildPackage,python3-zeroconf)) -$(eval $(call BuildPackage,python3-zeroconf-src)) diff --git a/lang/python/python-zope-interface/Makefile b/lang/python/python-zope-interface/Makefile index 6912398f..178f5780 100644 --- a/lang/python/python-zope-interface/Makefile +++ b/lang/python/python-zope-interface/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-zope-interface -PKG_VERSION:=4.6.0 +PKG_VERSION:=4.5.0 PKG_RELEASE:=1 PKG_SOURCE:=zope.interface-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/z/zope.interface -PKG_HASH:=1b3d0dcabc7c90b470e59e38a9acaa361be43b3a6ea644c0063951964717f0e5 +PKG_HASH:=57c38470d9f57e37afb460c399eb254e7193ac7fb8042bd09bdc001981a9c74c PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-zope-interface-$(PKG_VERSION) @@ -31,18 +31,19 @@ define Package/python-zope-interface/Default SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - TITLE:=Interfaces for Python URL:=https://github.com/zopefoundation/zope.interface endef define Package/python-zope-interface $(call Package/python-zope-interface/Default) + TITLE:=Interfaces for Python DEPENDS:=+PACKAGE_python-zope-interface:python-light VARIANT:=python endef define Package/python3-zope-interface $(call Package/python-zope-interface/Default) + TITLE:=Interfaces for Python DEPENDS:=+PACKAGE_python3-zope-interface:python3-light VARIANT:=python3 endef diff --git a/lang/python/python-zope-interface/patches/001-omit-tests.patch b/lang/python/python-zope-interface/patches/001-omit-tests.patch index 256d39b9..95ff7be1 100644 --- a/lang/python/python-zope-interface/patches/001-omit-tests.patch +++ b/lang/python/python-zope-interface/patches/001-omit-tests.patch @@ -1,7 +1,9 @@ +diff --git a/setup.py b/setup.py +index 0eb36ea..2e64aae 100644 --- a/setup.py +++ b/setup.py -@@ -122,7 +122,7 @@ setup(name='zope.interface', - "Framework :: Zope :: 3", +@@ -121,7 +121,7 @@ setup(name='zope.interface', + "Framework :: Zope3", "Topic :: Software Development :: Libraries :: Python Modules", ], - packages=find_packages('src'), @@ -9,7 +11,7 @@ package_dir={'': 'src'}, namespace_packages=["zope"], cmdclass={ -@@ -130,6 +130,7 @@ setup(name='zope.interface', +@@ -129,6 +129,7 @@ setup(name='zope.interface', }, test_suite='zope.interface.tests', include_package_data=True, diff --git a/lang/python/python/Makefile b/lang/python/python/Makefile index 6eec6bd3..5febe512 100644 --- a/lang/python/python/Makefile +++ b/lang/python/python/Makefile @@ -12,17 +12,14 @@ include ../python-version.mk PKG_NAME:=python PKG_VERSION:=$(PYTHON_VERSION).$(PYTHON_VERSION_MICRO) -PKG_RELEASE:=4 +PKG_RELEASE:=1 PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://www.python.org/ftp/python/$(PKG_VERSION) -PKG_HASH:=f222ef602647eecb6853681156d32de4450a2c39f4de93bd5b20235f2e660ed7 +PKG_HASH:=22d9b1ac5b26135ad2b8c2901a9413537e08749a753356ee913c84dbd2df5574 PKG_LICENSE:=PSF PKG_LICENSE_FILES:=LICENSE Modules/_ctypes/libffi_msvc/LICENSE Modules/_ctypes/darwin/LICENSE Modules/_ctypes/libffi/LICENSE Modules/_ctypes/libffi_osx/LICENSE Tools/pybench/LICENSE -PKG_CPE_ID:=cpe:/a:python:python - -PKG_MAINTAINER:=Alexandru Ardelean , Jeffery To # This file provides the necsessary host build variables include ../python-host.mk @@ -54,6 +51,7 @@ define Package/python/Default CATEGORY:=Languages TITLE:=Python $(PYTHON_VERSION) programming language URL:=https://www.python.org/ + MAINTAINER:=Alexandru Ardelean endef define Package/python/Default/description @@ -108,7 +106,6 @@ define PyBasePackage -|/usr/lib/python$(PYTHON_VERSION)/*/tests endif endef - PyPackage/$(1)/install?=: endef include ./files/python-package-*.mk @@ -173,7 +170,7 @@ define Build/Compile/python-setuptools $(STAGING_DIR_HOSTPKG)/bin/pip install \ --ignore-installed \ --root=$(PKG_BUILD_DIR)/install-setuptools --prefix=. \ - $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/setuptools-$(PYTHON_SETUPTOOLS_VERSION)-py2.py3-none-any.whl + $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/setuptools-*.whl endef endif # CONFIG_PACKAGE_python-setuptools @@ -182,7 +179,7 @@ define Build/Compile/python-pip $(STAGING_DIR_HOSTPKG)/bin/pip install \ --ignore-installed \ --root=$(PKG_BUILD_DIR)/install-pip --prefix=. \ - $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/pip-$(PYTHON_PIP_VERSION)-py2.py3-none-any.whl + $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/pip-*.whl endef endif # CONFIG_PACKAGE_python-pip @@ -194,28 +191,23 @@ define Build/Compile endef define Build/InstallDev - $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib $(1)/usr/lib/pkgconfig - $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON_VERSION)-openwrt + $(INSTALL_DIR) $(1)/usr/include/ $(1)/usr/lib/ $(1)/usr/lib/pkgconfig + $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON_VERSION)/ $(CP) \ $(PKG_INSTALL_DIR)/usr/include/python$(PYTHON_VERSION) \ $(1)/usr/include/ $(CP) \ - $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON_VERSION) \ + $(HOST_PYTHON_LIB_DIR) \ $(PKG_INSTALL_DIR)/usr/lib/libpython$(PYTHON_VERSION).so* \ $(1)/usr/lib/ $(CP) \ - $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/python*.pc \ + $(HOST_PYTHON_DIR)/lib/pkgconfig/python.pc \ + $(HOST_PYTHON_DIR)/lib/pkgconfig/python2.pc \ + $(HOST_PYTHON_DIR)/lib/pkgconfig/python-$(PYTHON_VERSION).pc \ $(1)/usr/lib/pkgconfig - $(INSTALL_BIN) \ - ./files/python-config.in \ - $(1)/usr/bin/python$(PYTHON_VERSION)-config - $(SED) \ - 's|@EXENAME@|$(HOST_PYTHON_DIR)/bin/python$(PYTHON_VERSION)|' \ - $(1)/usr/bin/python$(PYTHON_VERSION)-config $(CP) \ - $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON_VERSION)/_sysconfigdata.py \ - $(1)/usr/lib/python$(PYTHON_VERSION)-openwrt/_sysconfigdatatarget.py + $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON_VERSION)/config \ + $(1)/usr/lib/python$(PYTHON_VERSION)/ endef PYTHON_BASE_LIB_FILES:= \ @@ -271,15 +263,12 @@ define PyPackage/python-base/install $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpython$(PYTHON_VERSION).so* $(1)/usr/lib/ endef -PyPackage/python-light/install:=: -PyPackage/python/install:=: - define PyPackage/python/filespec -|$(PYTHON_PKG_DIR) endef HOST_LDFLAGS += \ - $$$$(pkg-config --static --libs libcrypto libssl) -Wl$(comma)-rpath=$(STAGING_DIR_HOSTPKG)/lib + $$$$(pkg-config --static --libs libcrypto libssl) ifeq ($(HOST_OS),Linux) HOST_LDFLAGS += \ diff --git a/lang/python/python/files/python-config.in b/lang/python/python/files/python-config.in deleted file mode 100644 index 46f6c9cd..00000000 --- a/lang/python/python/files/python-config.in +++ /dev/null @@ -1,81 +0,0 @@ -#!@EXENAME@ - -import sys -import os -import getopt -from distutils import sysconfig - -# start changes -host_prefix = sysconfig.PREFIX - -target_bin_dir = os.path.dirname(os.path.abspath(__file__)) -target_prefix = os.path.normpath(os.path.join(target_bin_dir, '..')) - -target_data_dir = os.path.join(target_prefix, 'lib', 'python' + sysconfig.get_config_var('VERSION') + '-openwrt') -sys.path.append(target_data_dir) - -try: - from _sysconfigdatatarget import build_time_vars - sysconfig._config_vars = {} - sysconfig._config_vars.update(build_time_vars) -except ImportError: - print >>sys.stderr, "Could not import target data from %s" % (target_data_dir) - sys.exit(1) -# end changes -# plus .replace(host_prefix, target_prefix) below - -valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags', - 'ldflags', 'help'] - -def exit_with_usage(code=1): - print >>sys.stderr, "Usage: %s [%s]" % (sys.argv[0], - '|'.join('--'+opt for opt in valid_opts)) - sys.exit(code) - -try: - opts, args = getopt.getopt(sys.argv[1:], '', valid_opts) -except getopt.error: - exit_with_usage() - -if not opts: - exit_with_usage() - -pyver = sysconfig.get_config_var('VERSION') -getvar = sysconfig.get_config_var - -opt_flags = [flag for (flag, val) in opts] - -if '--help' in opt_flags: - exit_with_usage(code=0) - -for opt in opt_flags: - if opt == '--prefix': - #print sysconfig.PREFIX - print target_prefix - - elif opt == '--exec-prefix': - #print sysconfig.EXEC_PREFIX - print target_prefix - - elif opt in ('--includes', '--cflags'): - flags = ['-I' + sysconfig.get_python_inc(), - '-I' + sysconfig.get_python_inc(plat_specific=True)] - if opt == '--cflags': - flags.extend(getvar('CFLAGS').split()) - #print ' '.join(flags) - print ' '.join(flags).replace(host_prefix, target_prefix) - - elif opt in ('--libs', '--ldflags'): - libs = ['-lpython' + pyver] - libs += getvar('LIBS').split() - libs += getvar('SYSLIBS').split() - # add the prefix/lib/pythonX.Y/config dir, but only if there is no - # shared library in prefix/lib/. - if opt == '--ldflags': - if not getvar('Py_ENABLE_SHARED'): - libs.insert(0, '-L' + getvar('LIBPL')) - if not getvar('PYTHONFRAMEWORK'): - libs.extend(getvar('LINKFORSHARED').split()) - #print ' '.join(libs) - print ' '.join(libs).replace(host_prefix, target_prefix) - diff --git a/lang/python/python/files/python-package-pip.mk b/lang/python/python/files/python-package-pip.mk index e0c6de97..a3934cc1 100644 --- a/lang/python/python/files/python-package-pip.mk +++ b/lang/python/python/files/python-package-pip.mk @@ -8,16 +8,17 @@ define Package/python-pip $(call Package/python/Default) TITLE:=Python $(PYTHON_VERSION) pip module - VERSION:=$(PYTHON_PIP_VERSION)-$(PYTHON_PIP_PKG_RELEASE) + VERSION:=$(PYTHON_PIP_VERSION) DEPENDS:=+python +python-setuptools +python-pip-conf endef define PyPackage/python-pip/install $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/python$(PYTHON_VERSION)/site-packages + # Adjust shebang to proper python location on target + sed "1s@.*@#\!/usr/bin/python$(PYTHON_VERSION)@" -i $(PKG_BUILD_DIR)/install-pip/bin/* $(CP) $(PKG_BUILD_DIR)/install-pip/bin/* $(1)/usr/bin $(CP) \ $(PKG_BUILD_DIR)/install-pip/lib/python$(PYTHON_VERSION)/site-packages/pip \ - $(PKG_BUILD_DIR)/install-pip/lib/python$(PYTHON_VERSION)/site-packages/pip-$(PYTHON_PIP_VERSION).dist-info \ $(1)/usr/lib/python$(PYTHON_VERSION)/site-packages/ endef diff --git a/lang/python/python/files/python-package-setuptools.mk b/lang/python/python/files/python-package-setuptools.mk index f90b0186..c35fad8c 100644 --- a/lang/python/python/files/python-package-setuptools.mk +++ b/lang/python/python/files/python-package-setuptools.mk @@ -8,17 +8,18 @@ define Package/python-setuptools $(call Package/python/Default) TITLE:=Python $(PYTHON_VERSION) setuptools module - VERSION:=$(PYTHON_SETUPTOOLS_VERSION)-$(PYTHON_SETUPTOOLS_PKG_RELEASE) + VERSION:=$(PYTHON_SETUPTOOLS_VERSION) DEPENDS:=+python endef define PyPackage/python-setuptools/install $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/python$(PYTHON_VERSION)/site-packages + # Adjust shebang to proper python location on target + sed "1s@.*@#\!/usr/bin/python$(PYTHON_VERSION)@" -i $(PKG_BUILD_DIR)/install-setuptools/bin/* $(CP) $(PKG_BUILD_DIR)/install-setuptools/bin/* $(1)/usr/bin $(CP) \ $(PKG_BUILD_DIR)/install-setuptools/lib/python$(PYTHON_VERSION)/site-packages/pkg_resources \ $(PKG_BUILD_DIR)/install-setuptools/lib/python$(PYTHON_VERSION)/site-packages/setuptools \ - $(PKG_BUILD_DIR)/install-setuptools/lib/python$(PYTHON_VERSION)/site-packages/setuptools-$(PYTHON_SETUPTOOLS_VERSION).dist-info \ $(PKG_BUILD_DIR)/install-setuptools/lib/python$(PYTHON_VERSION)/site-packages/easy_install.py \ $(1)/usr/lib/python$(PYTHON_VERSION)/site-packages endef diff --git a/lang/python/python/patches/001-enable-zlib.patch b/lang/python/python/patches/001-enable-zlib.patch index 5802e99f..e85b53c8 100644 --- a/lang/python/python/patches/001-enable-zlib.patch +++ b/lang/python/python/patches/001-enable-zlib.patch @@ -17,4 +17,4 @@ Subject: [PATCH] enable zlib +zlib zlibmodule.c -lz # Interface to the Expat XML parser - # More information on Expat can be found at www.libexpat.org. + # diff --git a/lang/python/python/patches/005-fix-bluetooth-support.patch b/lang/python/python/patches/005-fix-bluetooth-support.patch index 6448f63f..5e6e34b3 100644 --- a/lang/python/python/patches/005-fix-bluetooth-support.patch +++ b/lang/python/python/patches/005-fix-bluetooth-support.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -7084,7 +7084,7 @@ sys/param.h sys/poll.h sys/random.h sys/ +@@ -7077,7 +7077,7 @@ sys/param.h sys/poll.h sys/random.h sys/ sys/termio.h sys/time.h \ sys/times.h sys/types.h sys/un.h sys/utsname.h sys/wait.h pty.h libutil.h \ sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \ @@ -9,7 +9,7 @@ do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -@@ -7306,6 +7306,24 @@ fi +@@ -7299,6 +7299,24 @@ fi fi @@ -36,7 +36,7 @@ do : --- a/configure.ac +++ b/configure.ac -@@ -1739,10 +1739,17 @@ sys/param.h sys/poll.h sys/random.h sys/ +@@ -1732,10 +1732,17 @@ sys/param.h sys/poll.h sys/random.h sys/ sys/termio.h sys/time.h \ sys/times.h sys/types.h sys/un.h sys/utsname.h sys/wait.h pty.h libutil.h \ sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \ diff --git a/lang/python/python/patches/011-fix-ssl-build-use-have-npn.patch b/lang/python/python/patches/011-fix-ssl-build-use-have-npn.patch deleted file mode 100644 index 8a694a71..00000000 --- a/lang/python/python/patches/011-fix-ssl-build-use-have-npn.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/Modules/_ssl.c -+++ b/Modules/_ssl.c -@@ -1590,7 +1590,7 @@ static PyObject *PySSL_version(PySSLSocket *self) - return PyUnicode_FromString(version); - } - --#if defined(OPENSSL_NPN_NEGOTIATED) && !defined(OPENSSL_NO_NEXTPROTONEG) -+#if HAVE_NPN - static PyObject *PySSL_selected_npn_protocol(PySSLSocket *self) { - const unsigned char *out; - unsigned int outlen; -@@ -2118,7 +2118,7 @@ static PyMethodDef PySSLMethods[] = { - PySSL_peercert_doc}, - {"cipher", (PyCFunction)PySSL_cipher, METH_NOARGS}, - {"version", (PyCFunction)PySSL_version, METH_NOARGS}, --#ifdef OPENSSL_NPN_NEGOTIATED -+#if HAVE_NPN - {"selected_npn_protocol", (PyCFunction)PySSL_selected_npn_protocol, METH_NOARGS}, - #endif - #if HAVE_ALPN diff --git a/lang/python/python/patches/017_lib2to3_fix_pyc_search.patch b/lang/python/python/patches/017_lib2to3_fix_pyc_search.patch deleted file mode 100644 index 6a1ef587..00000000 --- a/lang/python/python/patches/017_lib2to3_fix_pyc_search.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/Lib/lib2to3/refactor.py -+++ b/Lib/lib2to3/refactor.py -@@ -40,6 +40,12 @@ def get_all_fix_names(fixer_pkg, remove_prefix=True): - if remove_prefix: - name = name[4:] - fix_names.append(name[:-3]) -+ if name.startswith("fix_") and name.endswith(".pyc"): -+ if remove_prefix: -+ name = name[4:] -+ name = name[:-4] -+ if name not in fix_names: -+ fix_names.append(name) - return fix_names - - diff --git a/lang/python/python/patches/019-bpo-36216-Add-check-for-characters-in-netloc-that-normalize-to-separators-GH-12216.patch b/lang/python/python/patches/019-bpo-36216-Add-check-for-characters-in-netloc-that-normalize-to-separators-GH-12216.patch deleted file mode 100644 index 3ad61436..00000000 --- a/lang/python/python/patches/019-bpo-36216-Add-check-for-characters-in-netloc-that-normalize-to-separators-GH-12216.patch +++ /dev/null @@ -1,155 +0,0 @@ -From 3e3669c9c41a27e1466e2c28b3906e3dd0ce3e7e Mon Sep 17 00:00:00 2001 -From: Steve Dower -Date: Thu, 7 Mar 2019 08:25:22 -0800 -Subject: [PATCH] bpo-36216: Add check for characters in netloc that normalize - to separators (GH-12201) - ---- - Doc/library/urlparse.rst | 20 ++++++++++++++++ - Lib/test/test_urlparse.py | 24 +++++++++++++++++++ - Lib/urlparse.py | 17 +++++++++++++ - .../2019-03-06-09-38-40.bpo-36216.6q1m4a.rst | 3 +++ - 4 files changed, 64 insertions(+) - create mode 100644 Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst - -diff --git a/Doc/library/urlparse.rst b/Doc/library/urlparse.rst -index 22249da54fbb..0989c88c3022 100644 ---- a/Doc/library/urlparse.rst -+++ b/Doc/library/urlparse.rst -@@ -119,12 +119,22 @@ The :mod:`urlparse` module defines the following functions: - See section :ref:`urlparse-result-object` for more information on the result - object. - -+ Characters in the :attr:`netloc` attribute that decompose under NFKC -+ normalization (as used by the IDNA encoding) into any of ``/``, ``?``, -+ ``#``, ``@``, or ``:`` will raise a :exc:`ValueError`. If the URL is -+ decomposed before parsing, or is not a Unicode string, no error will be -+ raised. -+ - .. versionchanged:: 2.5 - Added attributes to return value. - - .. versionchanged:: 2.7 - Added IPv6 URL parsing capabilities. - -+ .. versionchanged:: 2.7.17 -+ Characters that affect netloc parsing under NFKC normalization will -+ now raise :exc:`ValueError`. -+ - - .. function:: parse_qs(qs[, keep_blank_values[, strict_parsing[, max_num_fields]]]) - -@@ -232,11 +242,21 @@ The :mod:`urlparse` module defines the following functions: - See section :ref:`urlparse-result-object` for more information on the result - object. - -+ Characters in the :attr:`netloc` attribute that decompose under NFKC -+ normalization (as used by the IDNA encoding) into any of ``/``, ``?``, -+ ``#``, ``@``, or ``:`` will raise a :exc:`ValueError`. If the URL is -+ decomposed before parsing, or is not a Unicode string, no error will be -+ raised. -+ - .. versionadded:: 2.2 - - .. versionchanged:: 2.5 - Added attributes to return value. - -+ .. versionchanged:: 2.7.17 -+ Characters that affect netloc parsing under NFKC normalization will -+ now raise :exc:`ValueError`. -+ - - .. function:: urlunsplit(parts) - -diff --git a/Lib/test/test_urlparse.py b/Lib/test/test_urlparse.py -index 4e1ded73c266..73b0228ea8e3 100644 ---- a/Lib/test/test_urlparse.py -+++ b/Lib/test/test_urlparse.py -@@ -1,4 +1,6 @@ - from test import test_support -+import sys -+import unicodedata - import unittest - import urlparse - -@@ -624,6 +626,28 @@ def test_portseparator(self): - self.assertEqual(urlparse.urlparse("http://www.python.org:80"), - ('http','www.python.org:80','','','','')) - -+ def test_urlsplit_normalization(self): -+ # Certain characters should never occur in the netloc, -+ # including under normalization. -+ # Ensure that ALL of them are detected and cause an error -+ illegal_chars = u'/:#?@' -+ hex_chars = {'{:04X}'.format(ord(c)) for c in illegal_chars} -+ denorm_chars = [ -+ c for c in map(unichr, range(128, sys.maxunicode)) -+ if (hex_chars & set(unicodedata.decomposition(c).split())) -+ and c not in illegal_chars -+ ] -+ # Sanity check that we found at least one such character -+ self.assertIn(u'\u2100', denorm_chars) -+ self.assertIn(u'\uFF03', denorm_chars) -+ -+ for scheme in [u"http", u"https", u"ftp"]: -+ for c in denorm_chars: -+ url = u"{}://netloc{}false.netloc/path".format(scheme, c) -+ print "Checking %r" % url -+ with self.assertRaises(ValueError): -+ urlparse.urlsplit(url) -+ - def test_main(): - test_support.run_unittest(UrlParseTestCase) - -diff --git a/Lib/urlparse.py b/Lib/urlparse.py -index f7c2b032b097..54eda08651ab 100644 ---- a/Lib/urlparse.py -+++ b/Lib/urlparse.py -@@ -165,6 +165,21 @@ def _splitnetloc(url, start=0): - delim = min(delim, wdelim) # use earliest delim position - return url[start:delim], url[delim:] # return (domain, rest) - -+def _checknetloc(netloc): -+ if not netloc or not isinstance(netloc, unicode): -+ return -+ # looking for characters like \u2100 that expand to 'a/c' -+ # IDNA uses NFKC equivalence, so normalize for this check -+ import unicodedata -+ netloc2 = unicodedata.normalize('NFKC', netloc) -+ if netloc == netloc2: -+ return -+ _, _, netloc = netloc.rpartition('@') # anything to the left of '@' is okay -+ for c in '/?#@:': -+ if c in netloc2: -+ raise ValueError("netloc '" + netloc2 + "' contains invalid " + -+ "characters under NFKC normalization") -+ - def urlsplit(url, scheme='', allow_fragments=True): - """Parse a URL into 5 components: - :///?# -@@ -193,6 +208,7 @@ def urlsplit(url, scheme='', allow_fragments=True): - url, fragment = url.split('#', 1) - if '?' in url: - url, query = url.split('?', 1) -+ _checknetloc(netloc) - v = SplitResult(scheme, netloc, url, query, fragment) - _parse_cache[key] = v - return v -@@ -216,6 +232,7 @@ def urlsplit(url, scheme='', allow_fragments=True): - url, fragment = url.split('#', 1) - if '?' in url: - url, query = url.split('?', 1) -+ _checknetloc(netloc) - v = SplitResult(scheme, netloc, url, query, fragment) - _parse_cache[key] = v - return v -diff --git a/Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst b/Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst -new file mode 100644 -index 000000000000..1e1ad92c6feb ---- /dev/null -+++ b/Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst -@@ -0,0 +1,3 @@ -+Changes urlsplit() to raise ValueError when the URL contains characters that -+decompose under IDNA encoding (NFKC-normalization) into characters that -+affect how the URL is parsed. -\ No newline at end of file diff --git a/lang/python/python/patches/020-bpo-36216-Only-print-test-messages-when-verbose-GH-12291.patch b/lang/python/python/patches/020-bpo-36216-Only-print-test-messages-when-verbose-GH-12291.patch deleted file mode 100644 index 0ca88b5d..00000000 --- a/lang/python/python/patches/020-bpo-36216-Only-print-test-messages-when-verbose-GH-12291.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 06b5ee585d6e76bdbb4002f642d864d860cbbd2b Mon Sep 17 00:00:00 2001 -From: Steve Dower -Date: Tue, 12 Mar 2019 08:23:33 -0700 -Subject: [PATCH] bpo-36216: Only print test messages when verbose - ---- - Lib/test/test_urlparse.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/Lib/test/test_urlparse.py b/Lib/test/test_urlparse.py -index 73b0228ea8e3..1830d0b28688 100644 ---- a/Lib/test/test_urlparse.py -+++ b/Lib/test/test_urlparse.py -@@ -644,7 +644,8 @@ def test_urlsplit_normalization(self): - for scheme in [u"http", u"https", u"ftp"]: - for c in denorm_chars: - url = u"{}://netloc{}false.netloc/path".format(scheme, c) -- print "Checking %r" % url -+ if test_support.verbose: -+ print "Checking %r" % url - with self.assertRaises(ValueError): - urlparse.urlsplit(url) - diff --git a/lang/python/python/patches/021-compileall-add-recursion-option.patch b/lang/python/python/patches/021-compileall-add-recursion-option.patch deleted file mode 100644 index fa75a428..00000000 --- a/lang/python/python/patches/021-compileall-add-recursion-option.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/Lib/compileall.py b/Lib/compileall.py -index 5cfa8bed3f..8716c9c0ca 100644 ---- a/Lib/compileall.py -+++ b/Lib/compileall.py -@@ -152,10 +152,10 @@ def main(): - """Script main program.""" - import getopt - try: -- opts, args = getopt.getopt(sys.argv[1:], 'lfqd:x:i:') -+ opts, args = getopt.getopt(sys.argv[1:], 'lr:fqd:x:i:') - except getopt.error, msg: - print msg -- print "usage: python compileall.py [-l] [-f] [-q] [-d destdir] " \ -+ print "usage: python compileall.py [-l] [-r recursion] [-f] [-q] [-d destdir] " \ - "[-x regexp] [-i list] [directory|file ...]" - print - print "arguments: zero or more file and directory names to compile; " \ -@@ -164,6 +164,7 @@ def main(): - print - print "options:" - print "-l: don't recurse into subdirectories" -+ print "-r recursion: control the maximum recursion level" - print "-f: force rebuild even if timestamps are up-to-date" - print "-q: output only error messages" - print "-d destdir: directory to prepend to file paths for use in " \ -@@ -187,6 +188,7 @@ def main(): - flist = None - for o, a in opts: - if o == '-l': maxlevels = 0 -+ if o == '-r': maxlevels = int(a) - if o == '-d': ddir = a - if o == '-f': force = 1 - if o == '-q': quiet = 1 diff --git a/lang/python/python3-bottle/Makefile b/lang/python/python3-bottle/Makefile index 09cd6ee5..f35913cb 100644 --- a/lang/python/python3-bottle/Makefile +++ b/lang/python/python3-bottle/Makefile @@ -8,33 +8,28 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python3-bottle -PKG_VERSION:=0.12.16 +PKG_VERSION:=0.12.12 PKG_RELEASE:=1 PKG_LICENSE:=MIT -PKG_LICENSE_FILES:=LICENSE -PKG_CPE_ID:=cpe:/a:bottlepy:bottle - -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Luka Perkov PKG_SOURCE:=bottle-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/b/bottle -PKG_HASH:=9c310da61e7df2b6ac257d8a90811899ccb3a9743e77e947101072a2e3186726 -PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-bottle-$(PKG_VERSION) +PKG_SOURCE_URL:=https://pypi.python.org/packages/f7/dd/8ceaa148eeed5371a83fa1fb5a54b01dfc95000799c649924ece23f9f0e1/ +PKG_HASH:=3d4b6b0e22f67b421c273105b30d9a21fd147eaf0c1576172378ee034fbf5313 +PKG_BUILD_DIR:=$(BUILD_DIR)/bottle-$(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 -PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE) - define Package/python3-bottle SECTION:=lang CATEGORY:=Languages SUBMENU:=Python TITLE:=Bottle is a fast, simple and lightweight WSGI micro web-framework for Python - URL:=https://bottlepy.org + URL:=http://bottlepy.org DEPENDS:=+python3 - VARIANT:=python3 endef define Package/python3-bottle/description @@ -43,6 +38,15 @@ define Package/python3-bottle/description Python Standard Library. endef -$(eval $(call Py3Package,python3-bottle)) +define Build/Configure +endef + +define Build/Compile +endef + +define Package/python3-bottle/install + $(INSTALL_DIR) $(1)$(PYTHON3_PKG_DIR) + $(CP) $(PKG_BUILD_DIR)/bottle.py $(1)$(PYTHON3_PKG_DIR) +endef + $(eval $(call BuildPackage,python3-bottle)) -$(eval $(call BuildPackage,python3-bottle-src)) diff --git a/lang/python/python3-netifaces/Makefile b/lang/python/python3-netifaces/Makefile deleted file mode 100644 index eac04cc0..00000000 --- a/lang/python/python3-netifaces/Makefile +++ /dev/null @@ -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:=python3-netifaces -PKG_VERSION:=0.10.9 -PKG_RELEASE:=1 - -PKG_SOURCE:=netifaces-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/n/netifaces/ -PKG_HASH:=2dee9ffdd16292878336a58d04a20f0ffe95555465fee7c9bd23b3490ef2abf3 - -PKG_BUILD_DIR:=$(BUILD_DIR)/netifaces-$(PKG_VERSION) - -PKG_MAINTAINER:=Josef Schlehofer -PKG_LICENSE:=MIT -PKG_LICENSE_FILES:=LICENSE - -include $(INCLUDE_DIR)/package.mk -include ../python3-package.mk - -define Package/python3-netifaces - SECTION:=lang - CATEGORY:=Languages - SUBMENU:=Python - TITLE:=Portable network interface information - URL:=https://github.com/al45tair/netifaces - DEPENDS:=+python3-light - VARIANT:=python3 -endef - -define Package/python3-netifaces/description - Portable network interface information. -endef - -$(eval $(call Py3Package,$(PKG_NAME))) -$(eval $(call BuildPackage,$(PKG_NAME))) -$(eval $(call BuildPackage,$(PKG_NAME)-src)) diff --git a/lang/python/python3-package.mk b/lang/python/python3-package.mk index 4a3dddd6..9e473b5c 100644 --- a/lang/python/python3-package.mk +++ b/lang/python/python3-package.mk @@ -67,8 +67,8 @@ define Py3Package $(call shexport,Py3Package/$(1)/filespec) define Package/$(1)/install - $$(call Py3Package/$(1)/install,$$(1)) - SED="$(SED)" \ + $(call Py3Package/$(1)/install,$$(1)) + find $(PKG_INSTALL_DIR) -name "*\.exe" | xargs rm -f $(SHELL) $(python3_mk_path)python-package-install.sh "3" \ "$(PKG_INSTALL_DIR)" "$$(1)" \ "$(HOST_PYTHON3_BIN)" "$$(2)" \ @@ -112,20 +112,17 @@ define Build/Compile/Py3Mod cd $(PKG_BUILD_DIR)/$(strip $(1)), \ ./setup.py $(2), \ $(3)) + find $(PKG_INSTALL_DIR) -name "*\.exe" | xargs rm -f endef -PYTHON3_PKG_SETUP_DIR ?= -PYTHON3_PKG_SETUP_GLOABL_ARGS ?= -PYTHON3_PKG_SETUP_ARGS ?= --single-version-externally-managed -PYTHON3_PKG_SETUP_VARS ?= +PYTHON3_PKG_SETUP_ARGS:=--single-version-externally-managed +PYTHON3_PKG_SETUP_VARS:= define Py3Build/Compile/Default $(foreach pkg,$(HOST_PYTHON3_PACKAGE_BUILD_DEPENDS), $(call host_python3_pip_install_host,$(pkg)) ) - $(call Build/Compile/Py3Mod, \ - $(PYTHON3_PKG_SETUP_DIR), \ - $(PYTHON3_PKG_SETUP_GLOBAL_ARGS) \ + $(call Build/Compile/Py3Mod,, \ install --prefix="/usr" --root="$(PKG_INSTALL_DIR)" \ $(PYTHON3_PKG_SETUP_ARGS), \ $(PYTHON3_PKG_SETUP_VARS) \ diff --git a/lang/python/python3-pyroute2/Makefile b/lang/python/python3-pyroute2/Makefile deleted file mode 100644 index 83c28b00..00000000 --- a/lang/python/python3-pyroute2/Makefile +++ /dev/null @@ -1,53 +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:=python3-pyroute2 -PKG_VERSION:=0.5.5 -PKG_RELEASE:=1 - -PKG_SOURCE:=pyroute2-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pyroute2 -PKG_HASH:=ad679a91d453fe8426c4076d0da3a67265e5ccfe641879d75c9bc7660d075dfa - -PKG_BUILD_DIR:=$(BUILD_DIR)/pyroute2-$(PKG_VERSION) - -PKG_MAINTAINER:=Martin Matějek -PKG_LICENSE:=GPL-2.0-or-later Apache-2.0 -PKG_LICENSE_FILES:=LICENSE.GPL.v2 LICENSE.Apache.v2 - -include $(INCLUDE_DIR)/package.mk -include ../python3-package.mk - -define Package/python3-pyroute2 - SUBMENU:=Python - SECTION:=lang - CATEGORY:=Languages - TITLE:=Python netlink library - URL:=http://github.com/svinota/pyroute2 - DEPENDS:= \ - +python3-light \ - +python3-distutils \ - +python3-logging \ - +python3-multiprocessing \ - +python3-sqlite3 \ - +python3-ctypes - VARIANT:=python3 -endef - -define Package/python3-pyroute2/description - Pyroute2 is a pure Python netlink library. - The library was started as an RTNL protocol implementation, - but now it supports many netlink protocols. -endef - -PYTHON3_PKG_SETUP_ARGS:= - -$(eval $(call Py3Package,$(PKG_NAME))) -$(eval $(call BuildPackage,$(PKG_NAME))) -$(eval $(call BuildPackage,$(PKG_NAME)-src)) diff --git a/lang/python/python3-unidecode/Makefile b/lang/python/python3-unidecode/Makefile deleted file mode 100644 index caac0165..00000000 --- a/lang/python/python3-unidecode/Makefile +++ /dev/null @@ -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:=python3-unidecode -PKG_VERSION:=1.0.23 -PKG_RELEASE:=1 - -PKG_SOURCE:=Unidecode-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/u/unidecode/ -PKG_HASH:=8b85354be8fd0c0e10adbf0675f6dc2310e56fda43fa8fe049123b6c475e52fb - -PKG_BUILD_DIR:=$(BUILD_DIR)/Unidecode-$(PKG_VERSION) - -PKG_MAINTAINER:=Josef Schlehofer -PKG_LICENSE:=GPL-2.0-or-later -PKG_LICENSE_FILES:=LICENSE - -include $(INCLUDE_DIR)/package.mk -include ../python3-package.mk - -define Package/python3-unidecode - SECTION:=lang - CATEGORY:=Languages - SUBMENU:=Python - TITLE:=ASCII transliterations of Unicode text - URL:=https://github.com/avian2/unidecode - DEPENDS:=+python3-light - VARIANT:=python3 -endef - -define Package/python-unidecode/description -Unidecode, lossy ASCII transliterations of Unicode text -endef - -$(eval $(call Py3Package,$(PKG_NAME))) -$(eval $(call BuildPackage,$(PKG_NAME))) -$(eval $(call BuildPackage,$(PKG_NAME)-src)) diff --git a/lang/python/python3-version.mk b/lang/python/python3-version.mk index abef3f2c..dd6c947a 100644 --- a/lang/python/python3-version.mk +++ b/lang/python/python3-version.mk @@ -7,13 +7,17 @@ # Note: keep in sync with setuptools & pip PYTHON3_VERSION_MAJOR:=3 -PYTHON3_VERSION_MINOR:=7 -PYTHON3_VERSION_MICRO:=2 +PYTHON3_VERSION_MINOR:=6 +PYTHON3_VERSION_MICRO:=5 PYTHON3_VERSION:=$(PYTHON3_VERSION_MAJOR).$(PYTHON3_VERSION_MINOR) PYTHON3_SETUPTOOLS_PKG_RELEASE:=1 PYTHON3_PIP_PKG_RELEASE:=1 -PYTHON3_SETUPTOOLS_VERSION:=40.6.2 -PYTHON3_PIP_VERSION:=18.1 +PYTHON3_SETUPTOOLS_VERSION:=39.0.1 +PYTHON3_PIP_VERSION:=9.0.3 + +PYTHON3_SETUPTOOLS_VERSION:=$(PYTHON3_SETUPTOOLS_VERSION)-$(PYTHON3_SETUPTOOLS_PKG_RELEASE) +PYTHON3_PIP_VERSION:=$(PYTHON3_PIP_VERSION)-$(PYTHON3_PIP_PKG_RELEASE) + diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile index 60fe7c69..9f188609 100644 --- a/lang/python/python3/Makefile +++ b/lang/python/python3/Makefile @@ -14,18 +14,15 @@ PYTHON_VERSION:=$(PYTHON3_VERSION) PYTHON_VERSION_MICRO:=$(PYTHON3_VERSION_MICRO) PKG_NAME:=python3 -PKG_RELEASE:=10 +PKG_RELEASE:=1 PKG_VERSION:=$(PYTHON_VERSION).$(PYTHON_VERSION_MICRO) PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://www.python.org/ftp/python/$(PKG_VERSION) -PKG_HASH:=d83fe8ce51b1bb48bbcf0550fd265b9a75cdfdfa93f916f9e700aef8444bf1bb +PKG_HASH:=f434053ba1b5c8a5cc597e966ead3c5143012af827fd3f0697d21450bb8d87a6 PKG_LICENSE:=PSF PKG_LICENSE_FILES:=LICENSE Modules/_ctypes/libffi_msvc/LICENSE Modules/_ctypes/darwin/LICENSE Modules/_ctypes/libffi/LICENSE Modules/_ctypes/libffi_osx/LICENSE Tools/pybench/LICENSE -PKG_CPE_ID:=cpe:/a:python:python - -PKG_MAINTAINER:=Alexandru Ardelean , Jeffery To # This file provides the necsessary host build variables include ../python3-host.mk @@ -57,6 +54,7 @@ define Package/python3/Default CATEGORY:=Languages TITLE:=Python $(PYTHON_VERSION) programming language URL:=https://www.python.org/ + MAINTAINER:=Alexandru Ardelean endef define Package/python3/Default/description @@ -82,7 +80,7 @@ endef define Package/python3-light $(call Package/python3/Default) TITLE:=Python $(PYTHON_VERSION) light installation - DEPENDS:=+python3-base +libffi +libbz2 +PYTHON3_BLUETOOTH_SUPPORT:bluez-libs +libuuid + DEPENDS:=+python3-base +libffi +libbz2 +PYTHON3_BLUETOOTH_SUPPORT:bluez-libs endef define Package/python3-light/config @@ -112,7 +110,6 @@ define Py3BasePackage -|/usr/lib/python$(PYTHON_VERSION)/*/tests endif endef - Py3Package/$(1)/install?=: endef include ./files/python3-package-*.mk @@ -177,7 +174,7 @@ define Build/Compile/python3-setuptools $(STAGING_DIR_HOSTPKG)/bin/pip3 install \ --ignore-installed \ --root=$(PKG_BUILD_DIR)/install-setuptools --prefix=. \ - $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/setuptools-$(PYTHON3_SETUPTOOLS_VERSION)-py2.py3-none-any.whl + $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/setuptools-*.whl endef endif # CONFIG_PACKAGE_python3-setuptools @@ -186,7 +183,7 @@ define Build/Compile/python3-pip $(STAGING_DIR_HOSTPKG)/bin/pip3 install \ --ignore-installed \ --root=$(PKG_BUILD_DIR)/install-pip --prefix=. \ - $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/pip-$(PYTHON3_PIP_VERSION)-py2.py3-none-any.whl + $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/pip-*.whl endef endif # CONFIG_PACKAGE_python3-pip @@ -198,21 +195,18 @@ define Build/Compile endef define Build/InstallDev - $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib $(1)/usr/lib/pkgconfig - $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_DIR) $(1)/usr/include/ $(1)/usr/lib/ + $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON_VERSION)/ $(CP) \ $(PKG_INSTALL_DIR)/usr/include/python$(PYTHON_VERSION) \ $(1)/usr/include/ $(CP) \ - $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON_VERSION) \ + $(HOST_PYTHON3_LIB_DIR) \ $(PKG_INSTALL_DIR)/usr/lib/libpython$(PYTHON_VERSION).so* \ $(1)/usr/lib/ $(CP) \ - $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/python*.pc \ - $(1)/usr/lib/pkgconfig - $(INSTALL_BIN) \ - $(PKG_INSTALL_DIR)/usr/bin/python$(PYTHON_VERSION)-config \ - $(1)/usr/bin/ + $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON_VERSION)/config-$(PYTHON_VERSION) \ + $(1)/usr/lib/python$(PYTHON_VERSION)/ endef PYTHON3_BASE_LIB_FILES:= \ @@ -265,15 +259,12 @@ define Py3Package/python3-base/install $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpython$(PYTHON_VERSION).so* $(1)/usr/lib/ endef -Py3Package/python3-light/install:=: -Py3Package/python3/install:=: - define Py3Package/python3/filespec -|$(PYTHON3_PKG_DIR) endef HOST_LDFLAGS += \ - $$$$(pkg-config --static --libs libcrypto libssl) -Wl$(comma)-rpath=$(STAGING_DIR_HOSTPKG)/lib + $$$$(pkg-config --static --libs libcrypto libssl) ifeq ($(HOST_OS),Linux) HOST_LDFLAGS += \ diff --git a/lang/python/python3/files/config.site b/lang/python/python3/files/config.site index 65c2d958..cfa56b89 100644 --- a/lang/python/python3/files/config.site +++ b/lang/python/python3/files/config.site @@ -9,5 +9,4 @@ ac_cv_file__dev_ptmx=yes ac_cv_file__dev_ptc=no ac_cv_buggy_getaddrinfo=no -ac_cv_header_uuid_h=yes diff --git a/lang/python/python3/files/python3-package-pip.mk b/lang/python/python3/files/python3-package-pip.mk index 677f61ef..ff9b5ac7 100644 --- a/lang/python/python3/files/python3-package-pip.mk +++ b/lang/python/python3/files/python3-package-pip.mk @@ -8,21 +8,19 @@ define Package/python3-pip $(call Package/python3/Default) TITLE:=Python $(PYTHON3_VERSION) pip module - VERSION:=$(PYTHON3_PIP_VERSION)-$(PYTHON3_PIP_PKG_RELEASE) + VERSION:=$(PYTHON3_PIP_VERSION) DEPENDS:=+python3 +python3-setuptools +python-pip-conf endef -define Py3Package/python3-pip/install +define Package/python3-pip/install $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages + # Adjust shebang to proper python location on target + sed "1s@.*@#\!/usr/bin/python$(PYTHON3_VERSION)@" -i $(PKG_BUILD_DIR)/install-pip/bin/* $(CP) $(PKG_BUILD_DIR)/install-pip/bin/pip3* $(1)/usr/bin $(CP) \ $(PKG_BUILD_DIR)/install-pip/lib/python$(PYTHON3_VERSION)/site-packages/pip \ - $(PKG_BUILD_DIR)/install-pip/lib/python$(PYTHON3_VERSION)/site-packages/pip-$(PYTHON3_PIP_VERSION).dist-info \ $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/ - for _ in \$(seq 1 10) ; do \ - find $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/ -name __pycache__ -exec rm -rf {} \; || continue ; \ - break ; \ - done + find $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/ -name __pycache__ | xargs rm -rf endef $(eval $(call Py3BasePackage,python3-pip, \ diff --git a/lang/python/python3/files/python3-package-setuptools.mk b/lang/python/python3/files/python3-package-setuptools.mk index 5cb5f58d..684d3e64 100644 --- a/lang/python/python3/files/python3-package-setuptools.mk +++ b/lang/python/python3/files/python3-package-setuptools.mk @@ -8,24 +8,22 @@ define Package/python3-setuptools $(call Package/python3/Default) TITLE:=Python $(PYTHON3_VERSION) setuptools module - VERSION:=$(PYTHON3_SETUPTOOLS_VERSION)-$(PYTHON3_SETUPTOOLS_PKG_RELEASE) + VERSION:=$(PYTHON3_SETUPTOOLS_VERSION) DEPENDS:=+python3 endef define Py3Package/python3-setuptools/install $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages + # Adjust shebang to proper python location on target + sed "1s@.*@#\!/usr/bin/python$(PYTHON3_VERSION)@" -i $(PKG_BUILD_DIR)/install-setuptools/bin/* $(CP) $(PKG_BUILD_DIR)/install-setuptools/bin/easy_install-* $(1)/usr/bin $(LN) easy_install-$(PYTHON3_VERSION) $(1)/usr/bin/easy_install-3 $(CP) \ $(PKG_BUILD_DIR)/install-setuptools/lib/python$(PYTHON3_VERSION)/site-packages/pkg_resources \ $(PKG_BUILD_DIR)/install-setuptools/lib/python$(PYTHON3_VERSION)/site-packages/setuptools \ - $(PKG_BUILD_DIR)/install-setuptools/lib/python$(PYTHON3_VERSION)/site-packages/setuptools-$(PYTHON3_SETUPTOOLS_VERSION).dist-info \ $(PKG_BUILD_DIR)/install-setuptools/lib/python$(PYTHON3_VERSION)/site-packages/easy_install.py \ $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages - for _ in \$(seq 1 10) ; do \ - find $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/ -name __pycache__ -exec rm -rf {} \; || continue ; \ - break ; \ - done + find $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/ -name __pycache__ | xargs rm -rf endef $(eval $(call Py3BasePackage,python3-setuptools, \ diff --git a/lang/python/python3/files/python3-package-urllib.mk b/lang/python/python3/files/python3-package-urllib.mk deleted file mode 100644 index ddd7b1db..00000000 --- a/lang/python/python3/files/python3-package-urllib.mk +++ /dev/null @@ -1,16 +0,0 @@ -# -# Copyright (C) 2019 Alexandru Ardelean -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -define Package/python3-urllib -$(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) URL library module - DEPENDS:=+python3-light +python3-email -endef - -$(eval $(call Py3BasePackage,python3-urllib, \ - /usr/lib/python$(PYTHON3_VERSION)/urllib \ -)) diff --git a/lang/python/python3/patches/001-enable-zlib.patch b/lang/python/python3/patches/001-enable-zlib.patch index 287b147d..1a2a68eb 100644 --- a/lang/python/python3/patches/001-enable-zlib.patch +++ b/lang/python/python3/patches/001-enable-zlib.patch @@ -9,7 +9,7 @@ Subject: [PATCH] enable zlib --- a/Modules/Setup.dist +++ b/Modules/Setup.dist -@@ -335,7 +335,7 @@ _symtable symtablemodule.c +@@ -363,7 +363,7 @@ _symtable symtablemodule.c # Andrew Kuchling's zlib module. # This require zlib 1.1.3 (or later). # See http://www.gzip.org/zlib/ @@ -17,4 +17,4 @@ Subject: [PATCH] enable zlib +zlib zlibmodule.c -lz # Interface to the Expat XML parser - # More information on Expat can be found at www.libexpat.org. + # diff --git a/lang/python/python3/patches/003-do-not-run-distutils-tests.patch b/lang/python/python3/patches/003-do-not-run-distutils-tests.patch index e4fabd43..59938598 100644 --- a/lang/python/python3/patches/003-do-not-run-distutils-tests.patch +++ b/lang/python/python3/patches/003-do-not-run-distutils-tests.patch @@ -1,6 +1,6 @@ --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1389,6 +1389,7 @@ libinstall: build_all $(srcdir)/Modules/ +@@ -1341,6 +1341,7 @@ libinstall: build_all $(srcdir)/Modules/ $(INSTALL_DATA) `cat pybuilddir.txt`/_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH).py \ $(DESTDIR)$(LIBDEST); \ $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt @@ -8,11 +8,11 @@ if test -d $(DESTDIR)$(LIBDEST)/distutils/tests; then \ $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ $(DESTDIR)$(LIBDEST)/distutils/tests ; \ -@@ -1424,6 +1425,7 @@ libinstall: build_all $(srcdir)/Modules/ +@@ -1376,6 +1377,7 @@ libinstall: build_all $(srcdir)/Modules/ $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt +endif python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh - @ # Substitution happens here, as the completely-expanded BINDIR + # Substitution happens here, as the completely-expanded BINDIR diff --git a/lang/python/python3/patches/004-do-not-write-bytes-codes.patch b/lang/python/python3/patches/004-do-not-write-bytes-codes.patch index eb66443a..46326322 100644 --- a/lang/python/python3/patches/004-do-not-write-bytes-codes.patch +++ b/lang/python/python3/patches/004-do-not-write-bytes-codes.patch @@ -1,10 +1,10 @@ --- a/Python/pylifecycle.c +++ b/Python/pylifecycle.c -@@ -120,7 +120,7 @@ int Py_NoSiteFlag = 0; /* Suppress 'impo - int Py_BytesWarningFlag = 0; /* Warn on str(bytes) and str(buffer) */ - int Py_FrozenFlag = 0; /* Needed by getpath.c */ - int Py_IgnoreEnvironmentFlag = 0; /* e.g. PYTHONPATH, PYTHONHOME */ --int Py_DontWriteBytecodeFlag = 0; /* Suppress writing bytecode files (*.pyc) */ +@@ -88,7 +88,7 @@ int Py_BytesWarningFlag; /* Warn on str( + int Py_UseClassExceptionsFlag = 1; /* Needed by bltinmodule.c: deprecated */ + int Py_FrozenFlag; /* Needed by getpath.c */ + int Py_IgnoreEnvironmentFlag; /* e.g. PYTHONPATH, PYTHONHOME */ +-int Py_DontWriteBytecodeFlag; /* Suppress writing bytecode files (*.pyc) */ +int Py_DontWriteBytecodeFlag = 1; /* Suppress writing bytecode files (*.pyc) */ int Py_NoUserSiteDirectory = 0; /* for -s and site.py */ int Py_UnbufferedStdioFlag = 0; /* Unbuffered binary std{in,out,err} */ diff --git a/lang/python/python3/patches/006-remove-multi-arch-and-local-paths.patch b/lang/python/python3/patches/006-remove-multi-arch-and-local-paths.patch index 72d31be9..cad73edc 100644 --- a/lang/python/python3/patches/006-remove-multi-arch-and-local-paths.patch +++ b/lang/python/python3/patches/006-remove-multi-arch-and-local-paths.patch @@ -1,7 +1,7 @@ --- a/setup.py +++ b/setup.py -@@ -542,16 +542,9 @@ class PyBuildExt(build_ext): - os.unlink(tmpfile) +@@ -512,16 +512,9 @@ class PyBuildExt(build_ext): + return ['m'] def detect_modules(self): - # Ensure that /usr/local is always used, but the local build diff --git a/lang/python/python3/patches/010-do-not-add-rt-lib-dirs-when-cross-compiling.patch b/lang/python/python3/patches/010-do-not-add-rt-lib-dirs-when-cross-compiling.patch index c5d11d23..3211f738 100644 --- a/lang/python/python3/patches/010-do-not-add-rt-lib-dirs-when-cross-compiling.patch +++ b/lang/python/python3/patches/010-do-not-add-rt-lib-dirs-when-cross-compiling.patch @@ -1,6 +1,6 @@ --- a/setup.py +++ b/setup.py -@@ -552,8 +552,9 @@ class PyBuildExt(build_ext): +@@ -522,8 +522,9 @@ class PyBuildExt(build_ext): # directly since an inconsistently reproducible issue comes up where # the environment variable is not set even though the value were passed # into configure and stored in the Makefile (issue found on OS X 10.3). diff --git a/lang/python/python3/patches/012-add-support-source-date-epoch-pyc.patch b/lang/python/python3/patches/012-add-support-source-date-epoch-pyc.patch new file mode 100644 index 00000000..4c2c2f7c --- /dev/null +++ b/lang/python/python3/patches/012-add-support-source-date-epoch-pyc.patch @@ -0,0 +1,13 @@ +--- a/Lib/py_compile.py ++++ b/Lib/py_compile.py +@@ -137,8 +137,9 @@ def compile(file, cfile=None, dfile=None + except FileExistsError: + pass + source_stats = loader.path_stats(file) ++ mtime = int(os.getenv('SOURCE_DATE_EPOCH', source_stats['mtime'])) + bytecode = importlib._bootstrap_external._code_to_bytecode( +- code, source_stats['mtime'], source_stats['size']) ++ code, mtime, source_stats['size']) + mode = importlib._bootstrap_external._calc_mode(file) + importlib._bootstrap_external._write_atomic(cfile, bytecode, mode) + return cfile diff --git a/lang/python/python3/patches/013-getbuildinfo-date-time-source-date-epoch.patch b/lang/python/python3/patches/013-getbuildinfo-date-time-source-date-epoch.patch index a31f4c7d..340e302d 100644 --- a/lang/python/python3/patches/013-getbuildinfo-date-time-source-date-epoch.patch +++ b/lang/python/python3/patches/013-getbuildinfo-date-time-source-date-epoch.patch @@ -1,6 +1,6 @@ --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -751,6 +751,16 @@ regen-all: regen-opcode regen-opcode-tar +@@ -725,6 +725,16 @@ regen-all: regen-opcode regen-opcode-tar ############################################################################ # Special rules for object files @@ -17,7 +17,7 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \ $(OBJECT_OBJS) \ $(PYTHON_OBJS) \ -@@ -758,6 +768,8 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \ +@@ -732,6 +742,8 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \ $(MODOBJS) \ $(srcdir)/Modules/getbuildinfo.c $(CC) -c $(PY_CORE_CFLAGS) \ diff --git a/lang/python/python3/patches/014-remove-platform-so-suffix.patch b/lang/python/python3/patches/014-remove-platform-so-suffix.patch index b9d3cd16..c209fa74 100644 --- a/lang/python/python3/patches/014-remove-platform-so-suffix.patch +++ b/lang/python/python3/patches/014-remove-platform-so-suffix.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -15129,7 +15129,7 @@ $as_echo_n "checking ABIFLAGS... " >&6; +@@ -14995,7 +14995,7 @@ $as_echo_n "checking ABIFLAGS... " >&6; $as_echo "$ABIFLAGS" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking SOABI" >&5 $as_echo_n "checking SOABI... " >&6; } @@ -11,7 +11,7 @@ --- a/configure.ac +++ b/configure.ac -@@ -4719,7 +4719,7 @@ AC_SUBST(SOABI) +@@ -4647,7 +4647,7 @@ AC_SUBST(SOABI) AC_MSG_CHECKING(ABIFLAGS) AC_MSG_RESULT($ABIFLAGS) AC_MSG_CHECKING(SOABI) diff --git a/lang/python/python3/patches/015-abort-on-failed-modules.patch b/lang/python/python3/patches/015-abort-on-failed-modules.patch index 5150b77e..09a48af6 100644 --- a/lang/python/python3/patches/015-abort-on-failed-modules.patch +++ b/lang/python/python3/patches/015-abort-on-failed-modules.patch @@ -1,6 +1,6 @@ --- a/setup.py +++ b/setup.py -@@ -359,6 +359,7 @@ class PyBuildExt(build_ext): +@@ -333,6 +333,7 @@ class PyBuildExt(build_ext): print("Failed to build these modules:") print_three_column(failed) print() diff --git a/lang/python/python3/patches/016-adjust-config-paths.patch b/lang/python/python3/patches/016-adjust-config-paths.patch index 3749a159..c0838872 100644 --- a/lang/python/python3/patches/016-adjust-config-paths.patch +++ b/lang/python/python3/patches/016-adjust-config-paths.patch @@ -10,7 +10,7 @@ global _config_vars --- a/Lib/sysconfig.py +++ b/Lib/sysconfig.py -@@ -337,6 +337,7 @@ def get_makefile_filename(): +@@ -343,6 +343,7 @@ def get_makefile_filename(): def _get_sysconfigdata_name(): @@ -20,7 +20,7 @@ abi=sys.abiflags, --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1398,7 +1398,7 @@ libinstall: build_all $(srcdir)/Modules/ +@@ -1350,7 +1350,7 @@ libinstall: build_all $(srcdir)/Modules/ esac; \ done; \ done @@ -29,7 +29,7 @@ $(DESTDIR)$(LIBDEST); \ $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt ifeq (@COMPILE_ALL_TESTS@,yes) -@@ -1543,7 +1543,7 @@ sharedinstall: sharedmods +@@ -1487,7 +1487,7 @@ sharedinstall: sharedmods --install-scripts=$(BINDIR) \ --install-platlib=$(DESTSHARED) \ --root=$(DESTDIR)/ @@ -40,7 +40,7 @@ # Here are a couple of targets for MacOSX again, to install a full --- a/configure +++ b/configure -@@ -15148,7 +15148,7 @@ LDVERSION='$(VERSION)$(ABIFLAGS)' +@@ -15014,7 +15014,7 @@ LDVERSION='$(VERSION)$(ABIFLAGS)' $as_echo "$LDVERSION" >&6; } @@ -51,7 +51,7 @@ LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" --- a/configure.ac +++ b/configure.ac -@@ -4736,7 +4736,7 @@ AC_MSG_RESULT($LDVERSION) +@@ -4664,7 +4664,7 @@ AC_MSG_RESULT($LDVERSION) dnl define LIBPL after ABIFLAGS and LDVERSION is defined. AC_SUBST(PY_ENABLE_SHARED) diff --git a/lang/python/python3/patches/017_lib2to3_fix_pyc_search.patch b/lang/python/python3/patches/017_lib2to3_fix_pyc_search.patch deleted file mode 100644 index 5972914b..00000000 --- a/lang/python/python3/patches/017_lib2to3_fix_pyc_search.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/Lib/lib2to3/refactor.py b/Lib/lib2to3/refactor.py -index 7841b99..1e0d3b3 100644 ---- a/Lib/lib2to3/refactor.py -+++ b/Lib/lib2to3/refactor.py -@@ -37,6 +37,12 @@ def get_all_fix_names(fixer_pkg, remove_prefix=True): - if remove_prefix: - name = name[4:] - fix_names.append(name[:-3]) -+ if name.startswith("fix_") and name.endswith(".pyc"): -+ if remove_prefix: -+ name = name[4:] -+ name = name[:-4] -+ if name not in fix_names: -+ fix_names.append(name) - return fix_names - - diff --git a/lang/python/python3/patches/018-bpo-35746-Fix-segfault-in-ssl-s-cert-parser-GH-11569.patch b/lang/python/python3/patches/018-bpo-35746-Fix-segfault-in-ssl-s-cert-parser-GH-11569.patch deleted file mode 100644 index f2cc065e..00000000 --- a/lang/python/python3/patches/018-bpo-35746-Fix-segfault-in-ssl-s-cert-parser-GH-11569.patch +++ /dev/null @@ -1,120 +0,0 @@ -From be5de958e9052e322b0087c6dba81cdad0c3e031 Mon Sep 17 00:00:00 2001 -From: "Miss Islington (bot)" - <31488909+miss-islington@users.noreply.github.com> -Date: Tue, 15 Jan 2019 15:03:36 -0800 -Subject: [PATCH] bpo-35746: Fix segfault in ssl's cert parser (GH-11569) - -Fix a NULL pointer deref in ssl module. The cert parser did not handle CRL -distribution points with empty DP or URI correctly. A malicious or buggy -certificate can result into segfault. - -Signed-off-by: Christian Heimes - -https://bugs.python.org/issue35746 -(cherry picked from commit a37f52436f9aa4b9292878b72f3ff1480e2606c3) - -Co-authored-by: Christian Heimes ---- - Lib/test/talos-2019-0758.pem | 22 +++++++++++++++++++ - Lib/test/test_ssl.py | 22 +++++++++++++++++++ - .../2019-01-15-18-16-05.bpo-35746.nMSd0j.rst | 3 +++ - Modules/_ssl.c | 4 ++++ - 4 files changed, 51 insertions(+) - create mode 100644 Lib/test/talos-2019-0758.pem - create mode 100644 Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst - -diff --git a/Lib/test/talos-2019-0758.pem b/Lib/test/talos-2019-0758.pem -new file mode 100644 -index 0000000000..13b95a77fd ---- /dev/null -+++ b/Lib/test/talos-2019-0758.pem -@@ -0,0 +1,22 @@ -+-----BEGIN CERTIFICATE----- -+MIIDqDCCApKgAwIBAgIBAjALBgkqhkiG9w0BAQswHzELMAkGA1UEBhMCVUsxEDAO -+BgNVBAMTB2NvZHktY2EwHhcNMTgwNjE4MTgwMDU4WhcNMjgwNjE0MTgwMDU4WjA7 -+MQswCQYDVQQGEwJVSzEsMCoGA1UEAxMjY29kZW5vbWljb24tdm0tMi50ZXN0Lmxh -+bC5jaXNjby5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC63fGB -+J80A9Av1GB0bptslKRIUtJm8EeEu34HkDWbL6AJY0P8WfDtlXjlPaLqFa6sqH6ES -+V48prSm1ZUbDSVL8R6BYVYpOlK8/48xk4pGTgRzv69gf5SGtQLwHy8UPBKgjSZoD -+5a5k5wJXGswhKFFNqyyxqCvWmMnJWxXTt2XDCiWc4g4YAWi4O4+6SeeHVAV9rV7C -+1wxqjzKovVe2uZOHjKEzJbbIU6JBPb6TRfMdRdYOw98n1VXDcKVgdX2DuuqjCzHP -+WhU4Tw050M9NaK3eXp4Mh69VuiKoBGOLSOcS8reqHIU46Reg0hqeL8LIL6OhFHIF -+j7HR6V1X6F+BfRS/AgMBAAGjgdYwgdMwCQYDVR0TBAIwADAdBgNVHQ4EFgQUOktp -+HQjxDXXUg8prleY9jeLKeQ4wTwYDVR0jBEgwRoAUx6zgPygZ0ZErF9sPC4+5e2Io -+UU+hI6QhMB8xCzAJBgNVBAYTAlVLMRAwDgYDVQQDEwdjb2R5LWNhggkA1QEAuwb7 -+2s0wCQYDVR0SBAIwADAuBgNVHREEJzAlgiNjb2Rlbm9taWNvbi12bS0yLnRlc3Qu -+bGFsLmNpc2NvLmNvbTAOBgNVHQ8BAf8EBAMCBaAwCwYDVR0fBAQwAjAAMAsGCSqG -+SIb3DQEBCwOCAQEAvqantx2yBlM11RoFiCfi+AfSblXPdrIrHvccepV4pYc/yO6p -+t1f2dxHQb8rWH3i6cWag/EgIZx+HJQvo0rgPY1BFJsX1WnYf1/znZpkUBGbVmlJr -+t/dW1gSkNS6sPsM0Q+7HPgEv8CPDNK5eo7vU2seE0iWOkxSyVUuiCEY9ZVGaLVit -+p0C78nZ35Pdv4I+1cosmHl28+es1WI22rrnmdBpH8J1eY6WvUw2xuZHLeNVN0TzV -+Q3qq53AaCWuLOD1AjESWuUCxMZTK9DPS4JKXTK8RLyDeqOvJGjsSWp3kL0y3GaQ+ -+10T1rfkKJub2+m9A9duin1fn6tHc2wSvB7m3DA== -+-----END CERTIFICATE----- -diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py -index f1b9565c8d..b6794ce3a8 100644 ---- a/Lib/test/test_ssl.py -+++ b/Lib/test/test_ssl.py -@@ -116,6 +116,7 @@ NONEXISTINGCERT = data_file("XXXnonexisting.pem") - BADKEY = data_file("badkey.pem") - NOKIACERT = data_file("nokia.pem") - NULLBYTECERT = data_file("nullbytecert.pem") -+TALOS_INVALID_CRLDP = data_file("talos-2019-0758.pem") - - DHFILE = data_file("ffdh3072.pem") - BYTES_DHFILE = os.fsencode(DHFILE) -@@ -365,6 +366,27 @@ class BasicSocketTests(unittest.TestCase): - self.assertEqual(p['crlDistributionPoints'], - ('http://SVRIntl-G3-crl.verisign.com/SVRIntlG3.crl',)) - -+ def test_parse_cert_CVE_2019_5010(self): -+ p = ssl._ssl._test_decode_cert(TALOS_INVALID_CRLDP) -+ if support.verbose: -+ sys.stdout.write("\n" + pprint.pformat(p) + "\n") -+ self.assertEqual( -+ p, -+ { -+ 'issuer': ( -+ (('countryName', 'UK'),), (('commonName', 'cody-ca'),)), -+ 'notAfter': 'Jun 14 18:00:58 2028 GMT', -+ 'notBefore': 'Jun 18 18:00:58 2018 GMT', -+ 'serialNumber': '02', -+ 'subject': ((('countryName', 'UK'),), -+ (('commonName', -+ 'codenomicon-vm-2.test.lal.cisco.com'),)), -+ 'subjectAltName': ( -+ ('DNS', 'codenomicon-vm-2.test.lal.cisco.com'),), -+ 'version': 3 -+ } -+ ) -+ - def test_parse_cert_CVE_2013_4238(self): - p = ssl._ssl._test_decode_cert(NULLBYTECERT) - if support.verbose: -diff --git a/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst b/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst -new file mode 100644 -index 0000000000..dffe347eec ---- /dev/null -+++ b/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst -@@ -0,0 +1,3 @@ -+[CVE-2019-5010] Fix a NULL pointer deref in ssl module. The cert parser did -+not handle CRL distribution points with empty DP or URI correctly. A -+malicious or buggy certificate can result into segfault. -diff --git a/Modules/_ssl.c b/Modules/_ssl.c -index 9894ad821d..9baec8a9bc 100644 ---- a/Modules/_ssl.c -+++ b/Modules/_ssl.c -@@ -1516,6 +1516,10 @@ _get_crl_dp(X509 *certificate) { - STACK_OF(GENERAL_NAME) *gns; - - dp = sk_DIST_POINT_value(dps, i); -+ if (dp->distpoint == NULL) { -+ /* Ignore empty DP value, CVE-2019-5010 */ -+ continue; -+ } - gns = dp->distpoint->name.fullname; - - for (j=0; j < sk_GENERAL_NAME_num(gns); j++) { --- -2.17.1 - diff --git a/lang/python/python3/patches/019-bpo-36216-Add-check-for-characters-in-netloc-that-normalize-to-separators-GH-12213.patch b/lang/python/python3/patches/019-bpo-36216-Add-check-for-characters-in-netloc-that-normalize-to-separators-GH-12213.patch deleted file mode 100644 index 828c17f5..00000000 --- a/lang/python/python3/patches/019-bpo-36216-Add-check-for-characters-in-netloc-that-normalize-to-separators-GH-12213.patch +++ /dev/null @@ -1,150 +0,0 @@ -From 30a779770fe690584456970b602ea16ec3f74ce7 Mon Sep 17 00:00:00 2001 -From: Steve Dower -Date: Thu, 7 Mar 2019 08:05:31 -0800 -Subject: [PATCH] bpo-36216: Add check for characters in netloc that normalize - to separators (GH-12201) - ---- - Doc/library/urllib.parse.rst | 18 +++++++++++++++ - Lib/test/test_urlparse.py | 23 +++++++++++++++++++ - Lib/urllib/parse.py | 17 ++++++++++++++ - .../2019-03-06-09-38-40.bpo-36216.6q1m4a.rst | 3 +++ - 4 files changed, 61 insertions(+) - create mode 100644 Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst - -diff --git a/Doc/library/urllib.parse.rst b/Doc/library/urllib.parse.rst -index 0c8f0f607314..b565e1edd321 100644 ---- a/Doc/library/urllib.parse.rst -+++ b/Doc/library/urllib.parse.rst -@@ -124,6 +124,11 @@ or on combining URL components into a URL string. - Unmatched square brackets in the :attr:`netloc` attribute will raise a - :exc:`ValueError`. - -+ Characters in the :attr:`netloc` attribute that decompose under NFKC -+ normalization (as used by the IDNA encoding) into any of ``/``, ``?``, -+ ``#``, ``@``, or ``:`` will raise a :exc:`ValueError`. If the URL is -+ decomposed before parsing, no error will be raised. -+ - .. versionchanged:: 3.2 - Added IPv6 URL parsing capabilities. - -@@ -136,6 +141,10 @@ or on combining URL components into a URL string. - Out-of-range port numbers now raise :exc:`ValueError`, instead of - returning :const:`None`. - -+ .. versionchanged:: 3.7.3 -+ Characters that affect netloc parsing under NFKC normalization will -+ now raise :exc:`ValueError`. -+ - - .. function:: parse_qs(qs, keep_blank_values=False, strict_parsing=False, encoding='utf-8', errors='replace', max_num_fields=None) - -@@ -257,10 +266,19 @@ or on combining URL components into a URL string. - Unmatched square brackets in the :attr:`netloc` attribute will raise a - :exc:`ValueError`. - -+ Characters in the :attr:`netloc` attribute that decompose under NFKC -+ normalization (as used by the IDNA encoding) into any of ``/``, ``?``, -+ ``#``, ``@``, or ``:`` will raise a :exc:`ValueError`. If the URL is -+ decomposed before parsing, no error will be raised. -+ - .. versionchanged:: 3.6 - Out-of-range port numbers now raise :exc:`ValueError`, instead of - returning :const:`None`. - -+ .. versionchanged:: 3.7.3 -+ Characters that affect netloc parsing under NFKC normalization will -+ now raise :exc:`ValueError`. -+ - - .. function:: urlunsplit(parts) - -diff --git a/Lib/test/test_urlparse.py b/Lib/test/test_urlparse.py -index be50b47603aa..e6638aee2244 100644 ---- a/Lib/test/test_urlparse.py -+++ b/Lib/test/test_urlparse.py -@@ -1,3 +1,5 @@ -+import sys -+import unicodedata - import unittest - import urllib.parse - -@@ -984,6 +986,27 @@ def test_all(self): - expected.append(name) - self.assertCountEqual(urllib.parse.__all__, expected) - -+ def test_urlsplit_normalization(self): -+ # Certain characters should never occur in the netloc, -+ # including under normalization. -+ # Ensure that ALL of them are detected and cause an error -+ illegal_chars = '/:#?@' -+ hex_chars = {'{:04X}'.format(ord(c)) for c in illegal_chars} -+ denorm_chars = [ -+ c for c in map(chr, range(128, sys.maxunicode)) -+ if (hex_chars & set(unicodedata.decomposition(c).split())) -+ and c not in illegal_chars -+ ] -+ # Sanity check that we found at least one such character -+ self.assertIn('\u2100', denorm_chars) -+ self.assertIn('\uFF03', denorm_chars) -+ -+ for scheme in ["http", "https", "ftp"]: -+ for c in denorm_chars: -+ url = "{}://netloc{}false.netloc/path".format(scheme, c) -+ with self.subTest(url=url, char='{:04X}'.format(ord(c))): -+ with self.assertRaises(ValueError): -+ urllib.parse.urlsplit(url) - - class Utility_Tests(unittest.TestCase): - """Testcase to test the various utility functions in the urllib.""" -diff --git a/Lib/urllib/parse.py b/Lib/urllib/parse.py -index f691ab74f87f..39c5d6a80824 100644 ---- a/Lib/urllib/parse.py -+++ b/Lib/urllib/parse.py -@@ -391,6 +391,21 @@ def _splitnetloc(url, start=0): - delim = min(delim, wdelim) # use earliest delim position - return url[start:delim], url[delim:] # return (domain, rest) - -+def _checknetloc(netloc): -+ if not netloc or netloc.isascii(): -+ return -+ # looking for characters like \u2100 that expand to 'a/c' -+ # IDNA uses NFKC equivalence, so normalize for this check -+ import unicodedata -+ netloc2 = unicodedata.normalize('NFKC', netloc) -+ if netloc == netloc2: -+ return -+ _, _, netloc = netloc.rpartition('@') # anything to the left of '@' is okay -+ for c in '/?#@:': -+ if c in netloc2: -+ raise ValueError("netloc '" + netloc2 + "' contains invalid " + -+ "characters under NFKC normalization") -+ - def urlsplit(url, scheme='', allow_fragments=True): - """Parse a URL into 5 components: - :///?# -@@ -419,6 +434,7 @@ def urlsplit(url, scheme='', allow_fragments=True): - url, fragment = url.split('#', 1) - if '?' in url: - url, query = url.split('?', 1) -+ _checknetloc(netloc) - v = SplitResult('http', netloc, url, query, fragment) - _parse_cache[key] = v - return _coerce_result(v) -@@ -442,6 +458,7 @@ def urlsplit(url, scheme='', allow_fragments=True): - url, fragment = url.split('#', 1) - if '?' in url: - url, query = url.split('?', 1) -+ _checknetloc(netloc) - v = SplitResult(scheme, netloc, url, query, fragment) - _parse_cache[key] = v - return _coerce_result(v) -diff --git a/Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst b/Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst -new file mode 100644 -index 000000000000..5546394157f9 ---- /dev/null -+++ b/Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst -@@ -0,0 +1,3 @@ -+Changes urlsplit() to raise ValueError when the URL contains characters that -+decompose under IDNA encoding (NFKC-normalization) into characters that -+affect how the URL is parsed. diff --git a/lang/python/pytz/Makefile b/lang/python/pytz/Makefile new file mode 100644 index 00000000..464ed781 --- /dev/null +++ b/lang/python/pytz/Makefile @@ -0,0 +1,47 @@ +# +# Copyright (C) 2007-2018 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:=pytz +PKG_VERSION:=2018.3 +PKG_RELEASE:=1 +PKG_LICENSE:=MIT + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://pypi.python.org/packages/1b/50/4cdc62fc0753595fc16c8f722a89740f487c6e5670c644eb8983946777be/ +PKG_HASH:=410bcd1d6409026fbaa65d9ed33bf6dd8b1e94a499e32168acfc7b332e4095c0 + +include $(INCLUDE_DIR)/package.mk +include ../python-package.mk + +define Package/pytz + SUBMENU:=Python + SECTION:=lang + CATEGORY:=Languages + MAINTAINER:=Gergely Kiss + TITLE:=World timezone definitions, modern and historical + URL:=https://sourceforge.net/projects/pytz/ + DEPENDS:=+python +endef + +define Package/pytz/description + World timezone definitions, modern and historical +endef + +define Build/Compile + $(call Build/Compile/PyMod,,install --prefix=/usr --root=$(PKG_INSTALL_DIR)) +endef + +define Package/pytz/install + $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR) + $(CP) \ + $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \ + $(1)$(PYTHON_PKG_DIR) +endef + +$(eval $(call BuildPackage,pytz)) diff --git a/lang/python/rcssmin/Makefile b/lang/python/rcssmin/Makefile index 9b0242b9..804b5857 100644 --- a/lang/python/rcssmin/Makefile +++ b/lang/python/rcssmin/Makefile @@ -9,12 +9,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=rcssmin PKG_VERSION:=1.0.6 -PKG_RELEASE=2 +PKG_RELEASE=1 PKG_LICENSE:=Apache-2.0 -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/r/rcssmin -PKG_HASH:=ca87b695d3d7864157773a61263e5abb96006e9ff0e021eff90cbe0e1ba18270 +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/ndparker/rcssmin.git +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) +PKG_SOURCE_VERSION:=4764e3bc47ca8d44be3198892e73c51d8a0a9970 +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz +PKG_MIRROR_HASH:=a52728cc5653bf3c2a2f92954c6001338442a6e589bd364c497ba615c4365211 include $(INCLUDE_DIR)/package.mk include ../python-package.mk diff --git a/lang/python/ruamel-yaml/Makefile b/lang/python/ruamel-yaml/Makefile deleted file mode 100644 index 5fd44305..00000000 --- a/lang/python/ruamel-yaml/Makefile +++ /dev/null @@ -1,68 +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:=ruamel-yaml -PKG_VERSION:=0.15.91 -PKG_RELEASE:=1 - -PKG_SOURCE:=ruamel.yaml-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/r/ruamel.yaml/ -PKG_HASH:=692f03ed24c8c1d9fa9fd4c045f7ba1c26f1e96edb8bfb4d54854ba26bc02319 - -PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-ruamel.yaml-$(PKG_VERSION) - -PKG_MAINTAINER:=Josef Schlehofer -PKG_LICENSE:=MIT -PKG_LICENSE_FILES:=LICENSE - -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/ruamel-yaml/Default - SECTION:=lang - CATEGORY:=Languages - SUBMENU:=Python - TITLE:=YAML 1.2 loader/dumper package for Python - URL:=https://bitbucket.org/ruamel/yaml -endef - -define Package/python-ruamel-yaml -$(call Package/ruamel-yaml/Default) - DEPENDS:= \ - +PACKAGE_python-ruamel-yaml:python-light - VARIANT:=python -endef - -define Package/python3-ruamel-yaml -$(call Package/ruamel-yaml/Default) - DEPENDS:= \ - +PACKAGE_python3-ruamel-yaml:python3-light - VARIANT:=python3 -endef - -define Package/ruamel-yaml/description -ruamel-yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order -endef - -define Package/python3-ruamel-yaml/description -$(call Package/ruamel-yaml/description) -. -(Variant for Python3) -endef - -$(eval $(call PyPackage,python-ruamel-yaml)) -$(eval $(call BuildPackage,python-ruamel-yaml)) -$(eval $(call BuildPackage,python-ruamel-yaml-src)) - -$(eval $(call Py3Package,python3-ruamel-yaml)) -$(eval $(call BuildPackage,python3-ruamel-yaml)) -$(eval $(call BuildPackage,python3-ruamel-yaml-src)) diff --git a/lang/python/simplejson/Makefile b/lang/python/simplejson/Makefile new file mode 100644 index 00000000..aa4c6621 --- /dev/null +++ b/lang/python/simplejson/Makefile @@ -0,0 +1,47 @@ +# +# 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:=simplejson +PKG_VERSION:=3.11.1 +PKG_RELEASE:=1 +PKG_LICENSE:=MIT + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://pypi.python.org/packages/08/48/c97b668d6da7d7bebe7ea1817a6f76394b0ec959cb04214ca833c34359df/ +PKG_HASH:=01a22d49ddd9a168b136f26cac87d9a335660ce07aa5c630b8e3607d6f4325e7 + +include $(INCLUDE_DIR)/package.mk +include ../python-package.mk + +define Package/simplejson + SUBMENU:=Python + SECTION:=lang + CATEGORY:=Languages + MAINTAINER:=Gergely Kiss + TITLE:=Simple, fast, extensible JSON encoder/decoder for Python + URL:=http://simplejson.readthedocs.org/ + DEPENDS:=+python +endef + +define Package/simplejson/description + Simple, fast, extensible JSON encoder/decoder for Python +endef + +define Build/Compile + $(call Build/Compile/PyMod,,install --prefix=/usr --root=$(PKG_INSTALL_DIR)) +endef + +define Package/simplejson/install + $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR) + $(CP) \ + $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \ + $(1)$(PYTHON_PKG_DIR) +endef + +$(eval $(call BuildPackage,simplejson)) diff --git a/lang/python/text-unidecode/Makefile b/lang/python/text-unidecode/Makefile deleted file mode 100644 index 86be7583..00000000 --- a/lang/python/text-unidecode/Makefile +++ /dev/null @@ -1,68 +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-text-unidecode -PKG_VERSION:=1.2 -PKG_RELEASE:=1 - -PKG_SOURCE:=text-unidecode-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/t/text-unidecode/ -PKG_HASH:=5a1375bb2ba7968740508ae38d92e1f889a0832913cb1c447d5e2046061a396d - -PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-text-unidecode-$(PKG_VERSION) - -PKG_LICENSE:=Artistic-1.0-cl8 -PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:=Josef Schlehofer - -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-text-unidecode/Default - SECTION:=lang - CATEGORY:=Languages - SUBMENU:=Python - TITLE:=The most basic Text::Unidecode port - URL:=https://github.com/kmike/text-unidecode/ -endef - -define Package/python-text-unidecode -$(call Package/python-text-unidecode/Default) - DEPENDS:= \ - +PACKAGE_python-text-unidecode:python-light - VARIANT:=python -endef - -define Package/python3-text-unidecode -$(call Package/python-text-unidecode/Default) - DEPENDS:= \ - +PACKAGE_python3-text-unidecode:python3-light - VARIANT:=python3 -endef - -define Package/python-text-unidecode/description -text-unidecode is the most basic port of the Text::Unidecode Perl library. -endef - -define Package/python3-text-unidecode/description -$(call Package/python-text-unidecode/description) -. -(Variant for Python3) -endef - -$(eval $(call PyPackage,python-text-unidecode)) -$(eval $(call BuildPackage,python-text-unidecode)) -$(eval $(call BuildPackage,python-text-unidecode-src)) - -$(eval $(call Py3Package,python3-text-unidecode)) -$(eval $(call BuildPackage,python3-text-unidecode)) -$(eval $(call BuildPackage,python3-text-unidecode-src)) diff --git a/lang/python/twisted/Makefile b/lang/python/twisted/Makefile new file mode 100644 index 00000000..35b78172 --- /dev/null +++ b/lang/python/twisted/Makefile @@ -0,0 +1,64 @@ +# +# Copyright (C) 2006-2011, 2015-2018 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:=twisted +PKG_VERSION:=18.4.0 +PKG_RELEASE:=1 + +PKG_SOURCE:=Twisted-$(PKG_VERSION).tar.bz2 +PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/T/Twisted +PKG_HASH:=a4cc164a781859c74de47f17f0e85f4bce8a3321a9d0892c015c8f80c4158ad9 + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-twisted-$(PKG_VERSION) +PKG_BUILD_DEPENDS:=USE_MUSL:librpc + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +include $(INCLUDE_DIR)/package.mk +include ../python-package.mk + +PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xjf $(DL_DIR)/$(PKG_SOURCE) + +define Package/twisted/Default + SUBMENU:=Python + SECTION:=lang + CATEGORY:=Languages + URL:=http://twistedmatrix.com/ +endef + +define Package/twisted +$(call Package/twisted/Default) + TITLE:=Python networking engine + DEPENDS:= \ + +PACKAGE_twisted:python-light \ + +PACKAGE_twisted:python-automat \ + +PACKAGE_twisted:python-constantly \ + +PACKAGE_twisted:python-incremental \ + +PACKAGE_twisted:python-hyperlink \ + +PACKAGE_twisted:python-zope-interface + VARIANT:=python +endef + +define Package/twisted/description +Twisted is a networking engine written in Python, supporting numerous +protocols. It contains a web server, numerous chat clients, chat servers, +mail servers, and more. +endef + +define PyPackage/twisted/filespec ++|/usr/bin ++|$(PYTHON_PKG_DIR) +-|$(PYTHON_PKG_DIR)/twisted/conch/scripts/tkconch.py +endef + +$(eval $(call PyPackage,twisted)) +$(eval $(call BuildPackage,twisted)) +$(eval $(call BuildPackage,twisted-src)) diff --git a/lang/python/python-twisted/patches/001-omit-tkconch.patch b/lang/python/twisted/patches/001-omit-tkconch.patch similarity index 95% rename from lang/python/python-twisted/patches/001-omit-tkconch.patch rename to lang/python/twisted/patches/001-omit-tkconch.patch index a5bddaae..2e5e401a 100644 --- a/lang/python/python-twisted/patches/001-omit-tkconch.patch +++ b/lang/python/twisted/patches/001-omit-tkconch.patch @@ -1,6 +1,6 @@ --- a/src/twisted/python/_setup.py +++ b/src/twisted/python/_setup.py -@@ -147,7 +147,6 @@ _CONSOLE_SCRIPTS = [ +@@ -143,7 +143,6 @@ _CONSOLE_SCRIPTS = [ "conch = twisted.conch.scripts.conch:run", "mailmail = twisted.mail.scripts.mailmail:run", "pyhtmlizer = twisted.scripts.htmlizer:run", diff --git a/lang/python/python-twisted/patches/002-omit-tests.patch b/lang/python/twisted/patches/002-omit-tests.patch similarity index 62% rename from lang/python/python-twisted/patches/002-omit-tests.patch rename to lang/python/twisted/patches/002-omit-tests.patch index 83ca2cd7..7e810980 100644 --- a/lang/python/python-twisted/patches/002-omit-tests.patch +++ b/lang/python/twisted/patches/002-omit-tests.patch @@ -1,6 +1,6 @@ --- a/src/twisted/python/_setup.py +++ b/src/twisted/python/_setup.py -@@ -173,11 +173,6 @@ class ConditionalExtension(Extension, ob +@@ -169,11 +169,6 @@ class ConditionalExtension(Extension, ob # The C extensions used for Twisted. _EXTENSIONS = [ ConditionalExtension( @@ -12,12 +12,7 @@ "twisted.internet.iocpreactor.iocpsupport", sources=[ "src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c", -@@ -241,12 +236,11 @@ def getSetupArgs(extensions=_EXTENSIONS) - "incremental >= 16.10.1", - "Automat >= 0.3.0", - "hyperlink >= 17.1.1", -- "PyHamcrest >= 1.9.0", - "attrs >= 17.4.0", +@@ -240,7 +235,7 @@ def getSetupArgs(extensions=_EXTENSIONS) ] arguments.update(dict( @@ -26,12 +21,11 @@ use_incremental=True, setup_requires=["incremental >= 16.10.1"], install_requires=requirements, -@@ -256,7 +250,7 @@ def getSetupArgs(extensions=_EXTENSIONS) +@@ -249,6 +244,7 @@ def getSetupArgs(extensions=_EXTENSIONS) + }, cmdclass=command_classes, include_package_data=True, - exclude_package_data={ -- "": ["*.c", "*.h", "*.pxi", "*.pyx", "build.bat"], -+ "": ["*.c", "*.h", "*.pxi", "*.pyx", "build.bat", "test/*"], - }, ++ exclude_package_data={'':['test/*']}, zip_safe=False, extras_require=_EXTRAS_REQUIRE, + package_dir={"": "src"}, diff --git a/lang/python/vobject/Makefile b/lang/python/vobject/Makefile deleted file mode 100644 index 3aa345b0..00000000 --- a/lang/python/vobject/Makefile +++ /dev/null @@ -1,59 +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:=vobject -PKG_VERSION:=0.9.6.1 -PKG_RELEASE:=1 -PKG_LICENSE:=Apache-2.0 - -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/v/vobject -PKG_HASH:=96512aec74b90abb71f6b53898dd7fe47300cc940104c4f79148f0671f790101 -PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-vobject-$(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-vobject/Default - SUBMENU:=Python - SECTION:=lang - CATEGORY:=Languages - MAINTAINER:=Daniel Dickinson - TITLE:=VObject - URL:=http://eventable.github.io/vobject/ -endef - -define Package/python-vobject -$(call Package/python-vobject/Default) - DEPENDS:=+PACKAGE_python-vobject:python +PACKAGE_python-vobject:python-dateutil - VARIANT:=python -endef - -define Package/python3-vobject -$(call Package/python-vobject/Default) - DEPENDS:=+PACKAGE_python3-vobject:python3 +PACKAGE_python3-vobject:python3-dateutil - VARIANT:=python3 -endef - -define Package/python-vobject/description - vCard and vCalendar support for Python -endef - -define Package/python3-vobject/description -$(call Package/python-vobject/description) -. -(Variant for Python3) -endef - -$(eval $(call PyPackage,python-vobject)) -$(eval $(call BuildPackage,python-vobject)) -$(eval $(call BuildPackage,python-vobject-src)) -$(eval $(call Py3Package,python3-vobject)) -$(eval $(call BuildPackage,python3-vobject)) -$(eval $(call BuildPackage,python3-vobject-src))