summaryrefslogtreecommitdiffstats
path: root/master/python-shite
diff options
context:
space:
mode:
authorJames <>2021-10-27 15:17:29 +0100
committerJames <>2021-10-27 15:21:02 +0100
commit499d76a43c8accc286bb06b47a4d7031afaed8bd (patch)
treec8a1232ce543009597bc34674ad1d2b4616d29c1 /master/python-shite
downloadmaster-52a5d0d2-pq-499d76a43c8accc286bb06b47a4d7031afaed8bd.tar.gz
master-52a5d0d2-pq-499d76a43c8accc286bb06b47a4d7031afaed8bd.tar.bz2
master-52a5d0d2-pq-499d76a43c8accc286bb06b47a4d7031afaed8bd.zip
fish
Diffstat (limited to 'master/python-shite')
-rw-r--r--master/python-shite1548
1 files changed, 1548 insertions, 0 deletions
diff --git a/master/python-shite b/master/python-shite
new file mode 100644
index 0000000..df86bfe
--- /dev/null
+++ b/master/python-shite
@@ -0,0 +1,1548 @@
+diff --git a/feeds/packages/lang/python/python/Makefile b/feeds/packages/lang/python/python/Makefile
+index c90617fc506..843d328e3f8 100644
+--- a/feeds/packages/lang/python/python/Makefile
++++ b/feeds/packages/lang/python/python/Makefile
+@@ -132,7 +132,9 @@ MAKE_FLAGS+=\
+ EXTRA_CFLAGS+= \
+ -DNDEBUG -fno-inline
+ EXTRA_LDFLAGS+= \
+- -L$(PKG_BUILD_DIR)
++ -L$(PKG_BUILD_DIR) \
++ -L${STAGING_DIR}/lib \
++ -L${STAGING_DIR}/usr/lib
+
+ ENABLE_IPV6:=
+ ifeq ($(CONFIG_IPV6),y)
+diff --git a/feeds/packages/lang/python/python3/Makefile b/feeds/packages/lang/python/python3/Makefile
+index b47530bf622..f438f57ccd8 100644
+--- a/feeds/packages/lang/python/python3/Makefile
++++ b/feeds/packages/lang/python/python3/Makefile
+@@ -134,7 +134,9 @@ MAKE_FLAGS+=\
+ EXTRA_CFLAGS+= \
+ -DNDEBUG -fno-inline
+ EXTRA_LDFLAGS+= \
+- -L$(PKG_BUILD_DIR)
++ -L$(PKG_BUILD_DIR) \
++ -L$(STAGING_DIR)/lib \
++ -L$(STAGING_DIR)/usr/lib
+
+ ENABLE_IPV6:=
+ ifeq ($(CONFIG_IPV6),y)
+diff --git a/feeds/packages/libs/libxslt/Makefile b/feeds/packages/libs/libxslt/Makefile
+index 6361bcb4788..bb38b4ea818 100644
+--- a/feeds/packages/libs/libxslt/Makefile
++++ b/feeds/packages/libs/libxslt/Makefile
+@@ -73,7 +73,7 @@ CONFIGURE_ARGS += \
+ --without-debug \
+ --without-mem-debug \
+ --without-debugger \
+- --without-profiler \
++ --with-profiler \
+ --without-plugins
+
+ HOST_CONFIGURE_ARGS += \
+diff --git a/package/feeds/packages/python-cryptography b/package/feeds/packages/python-cryptography
+deleted file mode 120000
+index 9d0083701a0..00000000000
+--- a/package/feeds/packages/python-cryptography
++++ /dev/null
+@@ -1 +0,0 @@
+-../../../feeds/packages/lang/python/python-cryptography
+\ No newline at end of file
+diff --git a/package/jmm/python-pyusb/Makefile b/package/jmm/python-pyusb/Makefile
+new file mode 100644
+index 00000000000..9e68910d13f
+--- /dev/null
++++ b/package/jmm/python-pyusb/Makefile
+@@ -0,0 +1,66 @@
++#
++# Copyright (C) 2015 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-pyusb
++PKG_VERSION:=1.1.1
++PKG_RELEASE:=1
++
++PKG_SOURCE:=pyusb-$(PKG_VERSION).tar.gz
++PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/b9/8d/25c4e446a07e918eb39b5af25c4a83a89db95ae44e4ed5a46c3c53b0a4d6/
++PKG_HASH:=7d449ad916ce58aff60b89aae0b65ac130f289c24d6a5b7b317742eccffafc38
++
++PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-pyusb-$(PKG_VERSION)
++
++PKG_LICENSE:=BSD
++PKG_MAINTAINER:=Micke Prag <micke.prag@telldus.se>
++
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python/../python-package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
++
++define Package/python-pyusb/Default
++ SECTION:=lang-python
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ URL:=https://pyusb.github.io/pyusb/
++endef
++
++define Package/python-pyusb
++$(call Package/python-pyusb/Default)
++ TITLE:=python-pyusb
++ DEPENDS:=+python-light +libusb-1.0
++ VARIANT:=python
++endef
++
++define Package/python3-pyusb
++$(call Package/python-pyusb/Default)
++ TITLE:=python3-pyusb
++ DEPENDS:=+python3-light +libusb-1.0
++ VARIANT:=python3
++endef
++
++define Package/python-pyusb/description
++meh
++endef
++
++define Package/python3-pyusb/description
++$(call Package/python-pyusb/description)
++.
++(Variant for Python3)
++endef
++
++$(eval $(call PyPackage,python-pyusb))
++$(eval $(call BuildPackage,python-pyusb))
++$(eval $(call BuildPackage,python-pyusb-src))
++
++$(eval $(call Py3Package,python3-pyusb))
++$(eval $(call BuildPackage,python3-pyusb))
++$(eval $(call BuildPackage,python3-pyusb-src))
+diff --git a/package/jmm/python-pyusb/patches/i-hate-python.patch b/package/jmm/python-pyusb/patches/i-hate-python.patch
+new file mode 100644
+index 00000000000..b977f065567
+--- /dev/null
++++ b/package/jmm/python-pyusb/patches/i-hate-python.patch
+@@ -0,0 +1,22 @@
++--- python-pyusb-1.1.1/setup.cfg 2021-03-18 20:22:22.566592361 +0000
+++++ python-pyusb-1.1.1/setup.cfg 2021-03-18 20:22:22.566592361 +0000
++@@ -2,7 +2,7 @@
++ description-file = README.rst
++
++ [options]
++-setup_requires = setuptools_scm
+++setup_requires = setuptools_scm<5.0.2
++
++ [tool:pytest]
++ addopts = -v
++--- python-pyusb-1.1.1/setup.py 2021-01-20 06:19:29.000000000 +0000
+++++ python-pyusb-1.1.1/setup.py 2021-01-20 06:19:29.000000000 +0000
++@@ -37,6 +37,8 @@
++ setuptools_scm = 'setuptools_scm'
++ if LooseVersion(setuptools_version).version[0] < 12:
++ setuptools_scm += '<2.0'
+++else:
+++ setuptools_scm += '<5.0.2'
++
++
++ def pyusb_scm_version():
+diff --git a/package/python/python-beautifulsoup4/Makefile b/package/python/python-beautifulsoup4/Makefile
+new file mode 100644
+index 00000000000..6b31f1a4ff5
+--- /dev/null
++++ b/package/python/python-beautifulsoup4/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-beautifulsoup4
++PKG_VERSION:=4.6.3
++PKG_RELEASE:=1
++
++PYPI_NAME:=beautifulsoup4
++PKG_HASH:=90f8e61121d6ae58362ce3bed8cd997efb00c914eae0ff3d363c32f9a9822d10
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-beautifulsoup4
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=beautifulsoup4
++ DEPENDS:=+python3-light +python3-lxml
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-beautifulsoup4/description
++ beautifulsoup4
++endef
++
++$(eval $(call Py3Package,python3-beautifulsoup4))
++$(eval $(call BuildPackage,python3-beautifulsoup4))
++$(eval $(call BuildPackage,python3-beautifulsoup4-src))
+diff --git a/package/python/python-blinker/Makefile b/package/python/python-blinker/Makefile
+new file mode 100644
+index 00000000000..df9a7f15aa2
+--- /dev/null
++++ b/package/python/python-blinker/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-blinker
++PKG_VERSION:=1.4
++PKG_RELEASE:=1
++
++PYPI_NAME:=blinker
++PKG_HASH:=471aee25f3992bd325afa3772f1063dbdbbca947a041b8b89466dc00d606f8b6
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-blinker
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=blinker
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-blinker/description
++ blinker
++endef
++
++$(eval $(call Py3Package,python3-blinker))
++$(eval $(call BuildPackage,python3-blinker))
++$(eval $(call BuildPackage,python3-blinker-src))
+diff --git a/package/python/python-brotli/Makefile b/package/python/python-brotli/Makefile
+new file mode 100644
+index 00000000000..07f60cdbe69
+--- /dev/null
++++ b/package/python/python-brotli/Makefile
+@@ -0,0 +1,37 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-brotli
++PKG_VERSION:=1.0.7
++PKG_RELEASE:=1
++
++PKG_SOURCE_URL:=https://github.com/google/brotli/archive/
++PKG_SOURCE:=v$(PKG_VERSION).tar.gz
++PKG_HASH:=4c61bfb0faca87219ea587326c467b95acb25555b53d1a421ffa3c8a9296ee2c
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++PKG_BUILD_DIR:=$(BUILD_DIR)/brotli-${PKG_VERSION}
++
++#include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-brotli
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=Brotli
++ DEPENDS:=+python3-light +libstdcpp
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-brotli/description
++ Brotli
++endef
++
++$(eval $(call Py3Package,python3-brotli))
++$(eval $(call BuildPackage,python3-brotli))
++$(eval $(call BuildPackage,python3-brotli-src))
+diff --git a/package/python/python-cryptography/Makefile b/package/python/python-cryptography/Makefile
+new file mode 100644
+index 00000000000..4eeb8d4fab5
+--- /dev/null
++++ b/package/python/python-cryptography/Makefile
+@@ -0,0 +1,78 @@
++#
++# Copyright (C) 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-cryptography
++PKG_VERSION:=2.9
++PKG_RELEASE:=1
++
++PYPI_NAME:=cryptography
++PKG_HASH:=0cacd3ef5c604b8e5f59bf2582c076c98a37fe206b31430d0cd08138aff0986e
++
++PKG_LICENSE:=Apache-2.0 BSD-3-Clause
++PKG_LICENSE_FILES:=LICENSE.APACHE LICENSE.BSD
++PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>, Alexandru Ardelean <ardeleanalex@gmail.com>
++
++PKG_BUILD_DEPENDS:=libffi/host
++
++HOST_PYTHON_PACKAGE_BUILD_DEPENDS:="cffi>=1.8,!=1.11.3"
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="cffi>=1.8,!=1.11.3"
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python-package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++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)
++ DEPENDS+= \
++ +PACKAGE_python-cryptography:python \
++ +PACKAGE_python-cryptography:python-cffi \
++ +PACKAGE_python-cryptography:python-enum34 \
++ +PACKAGE_python-cryptography:python-ipaddress \
++ +PACKAGE_python-cryptography:python-six
++ VARIANT:=python
++endef
++
++define Package/python3-cryptography
++$(call Package/python-cryptography/Default)
++ DEPENDS+= \
++ +PACKAGE_python3-cryptography:python3 \
++ +PACKAGE_python3-cryptography:python3-cffi \
++ +PACKAGE_python3-cryptography:python3-six
++ VARIANT:=python3
++endef
++
++define Package/python-cryptography/description
++cryptography is a package which provides cryptographic recipes and
++primitives to Python developers. Our goal is for it to be your "cryptographic
++standard library". It supports Python 2.6-2.7, Python 3.3+, and PyPy 2.6+.
++endef
++
++define Package/python3-cryptography/description
++$(call Package/python-cryptography/description)
++.
++(Variant for Python3)
++endef
++
++$(eval $(call PyPackage,python-cryptography))
++$(eval $(call BuildPackage,python-cryptography))
++$(eval $(call BuildPackage,python-cryptography-src))
++
++$(eval $(call Py3Package,python3-cryptography))
++$(eval $(call BuildPackage,python3-cryptography))
++$(eval $(call BuildPackage,python3-cryptography-src))
+diff --git a/package/python/python-cryptography/patches/001-disable-setup-requirements.patch b/package/python/python-cryptography/patches/001-disable-setup-requirements.patch
+new file mode 100644
+index 00000000000..ea257adb2e6
+--- /dev/null
++++ b/package/python/python-cryptography/patches/001-disable-setup-requirements.patch
+@@ -0,0 +1,10 @@
++--- a/setup.py
+++++ b/setup.py
++@@ -243,6 +243,7 @@ class DummyPyTest(test):
++ with open(os.path.join(base_dir, "README.rst")) as f:
++ long_description = f.read()
++
+++setup_requirements=[]
++
++ setup(
++ name=about["__title__"],
+diff --git a/package/python/python-cryptography/patches/010-remove-npn.patch b/package/python/python-cryptography/patches/010-remove-npn.patch
+new file mode 100644
+index 00000000000..00104b23c83
+--- /dev/null
++++ b/package/python/python-cryptography/patches/010-remove-npn.patch
+@@ -0,0 +1,41 @@
++From eec1f066476eccf7135af0a4cfef9e1c883795b3 Mon Sep 17 00:00:00 2001
++From: Paul Kehrer <paul.l.kehrer@gmail.com>
++Date: Mon, 25 Feb 2019 10:55:16 +0800
++Subject: [PATCH] remove NPN bindings -- you should be using ALPN!
++
++pyOpenSSL consumed these, but we've marked it as deprecated and it
++already handles the case where the bindings are not available.
++---
++ src/_cffi_src/openssl/ssl.py | 16 ----------------
++ 1 file changed, 16 deletions(-)
++
++diff --git a/src/_cffi_src/openssl/ssl.py b/src/_cffi_src/openssl/ssl.py
++index da21f3ce90..0e8610f988 100644
++--- a/src/_cffi_src/openssl/ssl.py
+++++ b/src/_cffi_src/openssl/ssl.py
++@@ -431,25 +431,9 @@
++
++ long SSL_session_reused(SSL *);
++
++-void SSL_CTX_set_next_protos_advertised_cb(SSL_CTX *,
++- int (*)(SSL *,
++- const unsigned char **,
++- unsigned int *,
++- void *),
++- void *);
++-void SSL_CTX_set_next_proto_select_cb(SSL_CTX *,
++- int (*)(SSL *,
++- unsigned char **,
++- unsigned char *,
++- const unsigned char *,
++- unsigned int,
++- void *),
++- void *);
++ int SSL_select_next_proto(unsigned char **, unsigned char *,
++ const unsigned char *, unsigned int,
++ const unsigned char *, unsigned int);
++-void SSL_get0_next_proto_negotiated(const SSL *,
++- const unsigned char **, unsigned *);
++
++ int sk_SSL_CIPHER_num(Cryptography_STACK_OF_SSL_CIPHER *);
++ const SSL_CIPHER *sk_SSL_CIPHER_value(Cryptography_STACK_OF_SSL_CIPHER *, int);
+diff --git a/package/python/python-cryptography/patches/020-disable-npn.patch b/package/python/python-cryptography/patches/020-disable-npn.patch
+new file mode 100644
+index 00000000000..1e12922e264
+--- /dev/null
++++ b/package/python/python-cryptography/patches/020-disable-npn.patch
+@@ -0,0 +1,23 @@
++From d7293d64d503fcbde442d69a3e11c55bf6f1374a Mon Sep 17 00:00:00 2001
++From: Paul Kehrer <paul.l.kehrer@gmail.com>
++Date: Mon, 25 Feb 2019 11:05:46 +0800
++Subject: [PATCH] set Cryptography_HAS_NEXTPROTONEG to 0 for pyOpenSSL
++
++we can remove this symbol in like...5 years.
++---
++ src/_cffi_src/openssl/ssl.py | 2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++diff --git a/src/_cffi_src/openssl/ssl.py b/src/_cffi_src/openssl/ssl.py
++index 0e8610f988..e3a7790ee1 100644
++--- a/src/_cffi_src/openssl/ssl.py
+++++ b/src/_cffi_src/openssl/ssl.py
++@@ -623,7 +623,7 @@
++ static const long Cryptography_HAS_SSL_OP_MSIE_SSLV2_RSA_PADDING = 1;
++ static const long Cryptography_HAS_SSL_OP_NO_TICKET = 1;
++ static const long Cryptography_HAS_SSL_SET_SSL_CTX = 1;
++-static const long Cryptography_HAS_NEXTPROTONEG = 1;
+++static const long Cryptography_HAS_NEXTPROTONEG = 0;
++
++ /* SSL_get0_param was added in OpenSSL 1.0.2. */
++ #if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102 && !CRYPTOGRAPHY_LIBRESSL_27_OR_GREATER
+diff --git a/package/python/python-cryptography/patches/030-remove-npn.patch b/package/python/python-cryptography/patches/030-remove-npn.patch
+new file mode 100644
+index 00000000000..69aeb436ea3
+--- /dev/null
++++ b/package/python/python-cryptography/patches/030-remove-npn.patch
+@@ -0,0 +1,22 @@
++From b0b50b6bbbdf3abadc70b64c56e25b872721a7f3 Mon Sep 17 00:00:00 2001
++From: Paul Kehrer <paul.l.kehrer@gmail.com>
++Date: Mon, 25 Feb 2019 11:12:10 +0800
++Subject: [PATCH] remove another NPN related definition
++
++---
++ src/_cffi_src/openssl/ssl.py | 2 --
++ 1 file changed, 2 deletions(-)
++
++diff --git a/src/_cffi_src/openssl/ssl.py b/src/_cffi_src/openssl/ssl.py
++index e3a7790ee1..f98f576838 100644
++--- a/src/_cffi_src/openssl/ssl.py
+++++ b/src/_cffi_src/openssl/ssl.py
++@@ -139,8 +139,6 @@
++ static const long TLS_ST_BEFORE;
++ static const long TLS_ST_OK;
++
++-static const long OPENSSL_NPN_NEGOTIATED;
++-
++ typedef ... SSL_METHOD;
++ typedef ... SSL_CTX;
++
+diff --git a/package/python/python-cryptography/patches/999-fix-engine.patch b/package/python/python-cryptography/patches/999-fix-engine.patch
+new file mode 100755
+index 00000000000..04dca45f5f1
+--- /dev/null
++++ b/package/python/python-cryptography/patches/999-fix-engine.patch
+@@ -0,0 +1,44 @@
++diff --git a/src/_cffi_src/openssl/engine.py b/src/_cffi_src/openssl/engine.py
++index fa503a26..1cc61e92 100644
++--- a/src/_cffi_src/openssl/engine.py
+++++ b/src/_cffi_src/openssl/engine.py
++@@ -10,6 +10,7 @@ INCLUDES = """
++
++ TYPES = """
++ typedef ... ENGINE;
+++typedef ... UI_METHOD;
++
++ static const long Cryptography_HAS_ENGINE;
++ """
++@@ -24,6 +25,8 @@ void ENGINE_unregister_RAND(ENGINE *);
++ int ENGINE_ctrl_cmd(ENGINE *, const char *, long, void *, void (*)(void), int);
++ int ENGINE_free(ENGINE *);
++ const char *ENGINE_get_name(const ENGINE *);
+++EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id,
+++ UI_METHOD *ui_method, void *callback_data);
++
++ """
++
++@@ -44,6 +47,10 @@ int (*ENGINE_free)(ENGINE *) = NULL;
++ const char *(*ENGINE_get_id)(const ENGINE *) = NULL;
++ const char *(*ENGINE_get_name)(const ENGINE *) = NULL;
++
+++EVP_PKEY *(*ENGINE_load_private_key(ENGINE *e, const char *key_id,
+++ UI_METHOD *ui_method, void *callback_data)) = NULL;
+++
+++
++ #else
++ static const long Cryptography_HAS_ENGINE = 1;
++ #endif
++diff --git a/src/cryptography/hazmat/bindings/openssl/_conditional.py b/src/cryptography/hazmat/bindings/openssl/_conditional.py
++index a293fb09..38efdb26 100644
++--- a/src/cryptography/hazmat/bindings/openssl/_conditional.py
+++++ b/src/cryptography/hazmat/bindings/openssl/_conditional.py
++@@ -355,6 +355,7 @@ def cryptography_has_engine():
++ "ENGINE_ctrl_cmd",
++ "ENGINE_free",
++ "ENGINE_get_name",
+++ "ENGINE_load_private_key",
++ "Cryptography_add_osrandom_engine",
++ ]
++
+diff --git a/package/python/python-dnspython/Makefile b/package/python/python-dnspython/Makefile
+new file mode 100644
+index 00000000000..34c96ec9c6d
+--- /dev/null
++++ b/package/python/python-dnspython/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-dnspython
++PKG_VERSION:=1.16.0
++PKG_RELEASE:=1
++
++PYPI_NAME:=dnspython
++PKG_HASH:=4bf5c5c12a4478ee7860ab176659cf64c4899ee76752d826b082f8af723c5cf9
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-dnspython
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=dnspython
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-dnspython/description
++ dnspython
++endef
++
++$(eval $(call Py3Package,python3-dnspython))
++$(eval $(call BuildPackage,python3-dnspython))
++$(eval $(call BuildPackage,python3-dnspython-src))
+diff --git a/package/python/python-eventlet/Makefile b/package/python/python-eventlet/Makefile
+new file mode 100644
+index 00000000000..e74da6378db
+--- /dev/null
++++ b/package/python/python-eventlet/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-eventlet
++PKG_VERSION:=0.25.2
++PKG_RELEASE:=1
++
++PYPI_NAME:=eventlet
++PKG_HASH:=4c8ab42c51bff55204fef43cff32616558bedbc7538d876bb6a96ce820c7f9ed
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-eventlet
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=eventlet
++ DEPENDS:=+python3-light +python3-monotonic +python3-greenlet +python3-dnspython
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-eventlet/description
++ eventlet
++endef
++
++$(eval $(call Py3Package,python3-eventlet))
++$(eval $(call BuildPackage,python3-eventlet))
++$(eval $(call BuildPackage,python3-eventlet-src))
+diff --git a/package/python/python-greenlet/Makefile b/package/python/python-greenlet/Makefile
+new file mode 100644
+index 00000000000..e977d201730
+--- /dev/null
++++ b/package/python/python-greenlet/Makefile
+@@ -0,0 +1,37 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-greenlet
++PKG_VERSION:=0.4.16
++PKG_RELEASE:=1
++
++PYPI_NAME:=greenlet
++PKG_HASH:=6e06eac722676797e8fce4adb8ad3dc57a1bb3adfb0dd3fdf8306c055a38456c
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++PYTHON3_PKG_SETUP_ARGS:=
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-greenlet
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=greenlet
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-greenlet/description
++ greenlet
++endef
++
++$(eval $(call Py3Package,python3-greenlet))
++$(eval $(call BuildPackage,python3-greenlet))
++$(eval $(call BuildPackage,python3-greenlet-src))
+diff --git a/package/python/python-h11/Makefile b/package/python/python-h11/Makefile
+new file mode 100644
+index 00000000000..039a342a55d
+--- /dev/null
++++ b/package/python/python-h11/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-h11
++PKG_VERSION:=0.9.0
++PKG_RELEASE:=1
++
++PYPI_NAME:=h11
++PKG_HASH:=33d4bca7be0fa039f4e84d50ab00531047e53d6ee8ffbc83501ea602c169cae1
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-h11
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=h11
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-h11/description
++ h11
++endef
++
++$(eval $(call Py3Package,python3-h11))
++$(eval $(call BuildPackage,python3-h11))
++$(eval $(call BuildPackage,python3-h11-src))
+diff --git a/package/python/python-h2/Makefile b/package/python/python-h2/Makefile
+new file mode 100644
+index 00000000000..3cf4e90eacd
+--- /dev/null
++++ b/package/python/python-h2/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-h2
++PKG_VERSION:=3.2.0
++PKG_RELEASE:=1
++
++PYPI_NAME:=h2
++PKG_HASH:=875f41ebd6f2c44781259005b157faed1a5031df3ae5aa7bcb4628a6c0782f14
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-h2
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=h2
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-h2/description
++ h2
++endef
++
++$(eval $(call Py3Package,python3-h2))
++$(eval $(call BuildPackage,python3-h2))
++$(eval $(call BuildPackage,python3-h2-src))
+diff --git a/package/python/python-hpack/Makefile b/package/python/python-hpack/Makefile
+new file mode 100644
+index 00000000000..8b0b05962db
+--- /dev/null
++++ b/package/python/python-hpack/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-hpack
++PKG_VERSION:=3.0.0
++PKG_RELEASE:=1
++
++PYPI_NAME:=hpack
++PKG_HASH:=8eec9c1f4bfae3408a3f30500261f7e6a65912dc138526ea054f9ad98892e9d2
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-hpack
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=hpack
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-hpack/description
++ hpack
++endef
++
++$(eval $(call Py3Package,python3-hpack))
++$(eval $(call BuildPackage,python3-hpack))
++$(eval $(call BuildPackage,python3-hpack-src))
+diff --git a/package/python/python-hyperframe/Makefile b/package/python/python-hyperframe/Makefile
+new file mode 100644
+index 00000000000..9e2ccbe7e38
+--- /dev/null
++++ b/package/python/python-hyperframe/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-hyperframe
++PKG_VERSION:=5.2.0
++PKG_RELEASE:=1
++
++PYPI_NAME:=hyperframe
++PKG_HASH:=a9f5c17f2cc3c719b917c4f33ed1c61bd1f8dfac4b1bd23b7c80b3400971b41f
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-hyperframe
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=hyperframe
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-hyperframe/description
++ hyperframe
++endef
++
++$(eval $(call Py3Package,python3-hyperframe))
++$(eval $(call BuildPackage,python3-hyperframe))
++$(eval $(call BuildPackage,python3-hyperframe-src))
+diff --git a/package/python/python-kaitaistruct/Makefile b/package/python/python-kaitaistruct/Makefile
+new file mode 100644
+index 00000000000..2a3dcc18006
+--- /dev/null
++++ b/package/python/python-kaitaistruct/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-kaitaistruct
++PKG_VERSION:=0.8
++PKG_RELEASE:=1
++
++PYPI_NAME:=kaitaistruct
++PKG_HASH:=d1d17c7f6839b3d28fc22b21295f787974786c2201e8788975e72e2a1d109ff5
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-kaitaistruct
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=kaitaistruct
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-kaitaistruct/description
++ kaitaistruct
++endef
++
++$(eval $(call Py3Package,python3-kaitaistruct))
++$(eval $(call BuildPackage,python3-kaitaistruct))
++$(eval $(call BuildPackage,python3-kaitaistruct-src))
+diff --git a/package/python/python-ldap3/Makefile b/package/python/python-ldap3/Makefile
+new file mode 100644
+index 00000000000..93aae957c7c
+--- /dev/null
++++ b/package/python/python-ldap3/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-ldap3
++PKG_VERSION:=2.7
++PKG_RELEASE:=1
++
++PYPI_NAME:=ldap3
++PKG_HASH:=17f04298b70bf7ecaa5db8a7d8622b5a962ef7fc2b245b2eea705ac1c24338c0
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-ldap3
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=ldap3
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-ldap3/description
++ ldap3
++endef
++
++$(eval $(call Py3Package,python3-ldap3))
++$(eval $(call BuildPackage,python3-ldap3))
++$(eval $(call BuildPackage,python3-ldap3-src))
+diff --git a/package/python/python-monotonic/Makefile b/package/python/python-monotonic/Makefile
+new file mode 100644
+index 00000000000..03a53f1312c
+--- /dev/null
++++ b/package/python/python-monotonic/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-monotonic
++PKG_VERSION:=1.5
++PKG_RELEASE:=1
++
++PYPI_NAME:=monotonic
++PKG_HASH:=23953d55076df038541e648a53676fb24980f7a1be290cdda21300b3bc21dfb0
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-monotonic
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=monotonic
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-monotonic/description
++ monotonic
++endef
++
++$(eval $(call Py3Package,python3-monotonic))
++$(eval $(call BuildPackage,python3-monotonic))
++$(eval $(call BuildPackage,python3-monotonic-src))
+diff --git a/package/python/python-protobuf/Makefile b/package/python/python-protobuf/Makefile
+new file mode 100644
+index 00000000000..61e4f88ce74
+--- /dev/null
++++ b/package/python/python-protobuf/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-protobuf
++PKG_VERSION:=3.11.3
++PKG_RELEASE:=1
++
++PYPI_NAME:=protobuf
++PKG_HASH:=c77c974d1dadf246d789f6dad1c24426137c9091e930dbf50e0a29c1fcf00b1f
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-protobuf
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=protobuf
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-protobuf/description
++ protobuf
++endef
++
++$(eval $(call Py3Package,python3-protobuf))
++$(eval $(call BuildPackage,python3-protobuf))
++$(eval $(call BuildPackage,python3-protobuf-src))
+diff --git a/package/python/python-publicsuffix2/Makefile b/package/python/python-publicsuffix2/Makefile
+new file mode 100644
+index 00000000000..0ad23a6531d
+--- /dev/null
++++ b/package/python/python-publicsuffix2/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-publicsuffix2
++PKG_VERSION:=2.20191221
++PKG_RELEASE:=1
++
++PYPI_NAME:=publicsuffix2
++PKG_HASH:=00f8cc31aa8d0d5592a5ced19cccba7de428ebca985db26ac852d920ddd6fe7b
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-publicsuffix2
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=publicsuffix2
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-publicsuffix2/description
++ publicsuffix2
++endef
++
++$(eval $(call Py3Package,python3-publicsuffix2))
++$(eval $(call BuildPackage,python3-publicsuffix2))
++$(eval $(call BuildPackage,python3-publicsuffix2-src))
+diff --git a/package/python/python-pyperclip/Makefile b/package/python/python-pyperclip/Makefile
+new file mode 100644
+index 00000000000..7a221d30385
+--- /dev/null
++++ b/package/python/python-pyperclip/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-pyperclip
++PKG_VERSION:=1.8.0
++PKG_RELEASE:=1
++
++PYPI_NAME:=pyperclip
++PKG_HASH:=b75b975160428d84608c26edba2dec146e7799566aea42c1fe1b32e72b6028f2
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-pyperclip
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=pyperclip
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-pyperclip/description
++ pyperclip
++endef
++
++$(eval $(call Py3Package,python3-pyperclip))
++$(eval $(call BuildPackage,python3-pyperclip))
++$(eval $(call BuildPackage,python3-pyperclip-src))
+diff --git a/package/python/python-pysocks/Makefile b/package/python/python-pysocks/Makefile
+new file mode 100644
+index 00000000000..bca566e2877
+--- /dev/null
++++ b/package/python/python-pysocks/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-pysocks
++PKG_VERSION:=1.7.1
++PKG_RELEASE:=1
++
++PYPI_NAME:=PySocks
++PKG_HASH:=3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-pysocks
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=pysocks
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-pysocks/description
++ pysocks
++endef
++
++$(eval $(call Py3Package,python3-pysocks))
++$(eval $(call BuildPackage,python3-pysocks))
++$(eval $(call BuildPackage,python3-pysocks-src))
+diff --git a/package/python/python-rsocks/Makefile b/package/python/python-rsocks/Makefile
+new file mode 100644
+index 00000000000..8db4da7e9e7
+--- /dev/null
++++ b/package/python/python-rsocks/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-rsocks
++PKG_VERSION:=0.3.3
++PKG_RELEASE:=1
++
++PYPI_NAME:=rsocks
++PKG_HASH:=2a32cb1fb10946297877011cf10f26918b3f8c1545b724a2e8fab335d8ed2c77
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-rsocks
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=rsocks
++ DEPENDS:=+python3-light +python3-toml.py +python3-eventlet +python3-pysocks +python3-click
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-rsocks/description
++ rsocks
++endef
++
++$(eval $(call Py3Package,python3-rsocks))
++$(eval $(call BuildPackage,python3-rsocks))
++$(eval $(call BuildPackage,python3-rsocks-src))
+diff --git a/package/python/python-ruamel.yaml.clib/Makefile b/package/python/python-ruamel.yaml.clib/Makefile
+new file mode 100644
+index 00000000000..5b5175bd475
+--- /dev/null
++++ b/package/python/python-ruamel.yaml.clib/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-ruamel.yaml.clib
++PKG_VERSION:=0.2.0
++PKG_RELEASE:=1
++
++PYPI_NAME:=ruamel.yaml.clib
++PKG_HASH:=b66832ea8077d9b3f6e311c4a53d06273db5dc2db6e8a908550f3c14d67e718c
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-ruamel.yaml.clib
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=ruamel.yaml.clib
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-ruamel.yaml.clib/description
++ ruamel.yaml.clib
++endef
++
++$(eval $(call Py3Package,python3-ruamel.yaml.clib))
++$(eval $(call BuildPackage,python3-ruamel.yaml.clib))
++$(eval $(call BuildPackage,python3-ruamel.yaml.clib-src))
+diff --git a/package/python/python-ruamel.yaml.clib/patches/001-fix-various.patch b/package/python/python-ruamel.yaml.clib/patches/001-fix-various.patch
+new file mode 100644
+index 00000000000..82dfb7af1a8
+--- /dev/null
++++ b/package/python/python-ruamel.yaml.clib/patches/001-fix-various.patch
+@@ -0,0 +1,65 @@
++Index: ruamel.yaml.clib-0.2.0/_ruamel_yaml.c
++===================================================================
++--- ruamel.yaml.clib-0.2.0.orig/_ruamel_yaml.c
+++++ ruamel.yaml.clib-0.2.0/_ruamel_yaml.c
++@@ -1388,8 +1388,8 @@ static int __pyx_f_12_ruamel_yaml_8CEmit
++ static PyTypeObject *__pyx_ptype_12_ruamel_yaml_Mark = 0;
++ static PyTypeObject *__pyx_ptype_12_ruamel_yaml_CParser = 0;
++ static PyTypeObject *__pyx_ptype_12_ruamel_yaml_CEmitter = 0;
++-static int __pyx_f_12_ruamel_yaml_input_handler(void *, char *, int, int *); /*proto*/
++-static int __pyx_f_12_ruamel_yaml_output_handler(void *, char *, int); /*proto*/
+++static int __pyx_f_12_ruamel_yaml_input_handler(void *, unsigned char *, unsigned int, unsigned int *); /*proto*/
+++static int __pyx_f_12_ruamel_yaml_output_handler(void *, unsigned char *, unsigned int); /*proto*/
++ static PyObject *__pyx_f_12_ruamel_yaml___pyx_unpickle_Mark__set_state(struct __pyx_obj_12_ruamel_yaml_Mark *, PyObject *); /*proto*/
++ #define __Pyx_MODULE_NAME "_ruamel_yaml"
++ extern int __pyx_module_is_main__ruamel_yaml;
++@@ -1872,7 +1872,7 @@ static PyObject *__pyx_pw_12_ruamel_yaml
++ }
++
++ static PyObject *__pyx_pf_12_ruamel_yaml_get_version_string(CYTHON_UNUSED PyObject *__pyx_self) {
++- char *__pyx_v_value;
+++ const char *__pyx_v_value;
++ PyObject *__pyx_r = NULL;
++ __Pyx_RefNannyDeclarations
++ int __pyx_t_1;
++@@ -14278,7 +14278,7 @@ static PyObject *__pyx_pf_12_ruamel_yaml
++ * parser = <CParser>data
++ */
++
++-static int __pyx_f_12_ruamel_yaml_input_handler(void *__pyx_v_data, char *__pyx_v_buffer, int __pyx_v_size, int *__pyx_v_read) {
+++static int __pyx_f_12_ruamel_yaml_input_handler(void *__pyx_v_data, unsigned char *__pyx_v_buffer, unsigned int __pyx_v_size, unsigned int *__pyx_v_read) {
++ struct __pyx_obj_12_ruamel_yaml_CParser *__pyx_v_parser = 0;
++ PyObject *__pyx_v_value = NULL;
++ int __pyx_r;
++@@ -14497,7 +14497,7 @@ static int __pyx_f_12_ruamel_yaml_input_
++ * size = parser.stream_cache_len - parser.stream_cache_pos
++ * if size > 0:
++ */
++- __pyx_t_3 = (((__pyx_v_parser->stream_cache_len - __pyx_v_parser->stream_cache_pos) < __pyx_v_size) != 0);
+++ __pyx_t_3 = (((__pyx_v_parser->stream_cache_len - __pyx_v_parser->stream_cache_pos) < (int) __pyx_v_size) != 0);
++ if (__pyx_t_3) {
++
++ /* "_ruamel_yaml.pyx":924
++@@ -23118,7 +23118,7 @@ static PyObject *__pyx_pf_12_ruamel_yaml
++ * emitter = <CEmitter>data
++ */
++
++-static int __pyx_f_12_ruamel_yaml_output_handler(void *__pyx_v_data, char *__pyx_v_buffer, int __pyx_v_size) {
+++static int __pyx_f_12_ruamel_yaml_output_handler(void *__pyx_v_data, unsigned char *__pyx_v_buffer, unsigned int __pyx_v_size) {
++ struct __pyx_obj_12_ruamel_yaml_CEmitter *__pyx_v_emitter = 0;
++ PyObject *__pyx_v_value = NULL;
++ int __pyx_r;
++Index: ruamel.yaml.clib-0.2.0/_ruamel_yaml.h
++===================================================================
++--- ruamel.yaml.clib-0.2.0.orig/_ruamel_yaml.h
+++++ ruamel.yaml.clib-0.2.0/_ruamel_yaml.h
++@@ -7,7 +7,8 @@
++
++ #else
++
++-#define PyString_CheckExact PyBytes_CheckExact
+++//#define PyString_CheckExact PyBytes_CheckExact
+++#define PyString_CheckExact PyUnicode_CheckExact
++ #define PyString_AS_STRING PyBytes_AS_STRING
++ #define PyString_GET_SIZE PyBytes_GET_SIZE
++ #define PyString_FromStringAndSize PyBytes_FromStringAndSize
+diff --git a/package/python/python-ruamel.yaml/Makefile b/package/python/python-ruamel.yaml/Makefile
+new file mode 100644
+index 00000000000..907b6bbef61
+--- /dev/null
++++ b/package/python/python-ruamel.yaml/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-ruamel.yaml
++PKG_VERSION:=0.16.10
++PKG_RELEASE:=1
++
++PYPI_NAME:=ruamel.yaml
++PKG_HASH:=099c644a778bf72ffa00524f78dd0b6476bca94a1da344130f4bf3381ce5b954
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-ruamel.yaml
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=ruamel.yaml
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-ruamel.yaml/description
++ ruamel.yaml
++endef
++
++$(eval $(call Py3Package,python3-ruamel.yaml))
++$(eval $(call BuildPackage,python3-ruamel.yaml))
++$(eval $(call BuildPackage,python3-ruamel.yaml-src))
+diff --git a/package/python/python-sortedcontainers/Makefile b/package/python/python-sortedcontainers/Makefile
+new file mode 100644
+index 00000000000..bb593324092
+--- /dev/null
++++ b/package/python/python-sortedcontainers/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-sortedcontainers
++PKG_VERSION:=2.1.0
++PKG_RELEASE:=1
++
++PYPI_NAME:=sortedcontainers
++PKG_HASH:=974e9a32f56b17c1bac2aebd9dcf197f3eb9cd30553c5852a3187ad162e1a03a
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-sortedcontainers
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=sortedcontainers
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-sortedcontainers/description
++ sortedcontainers
++endef
++
++$(eval $(call Py3Package,python3-sortedcontainers))
++$(eval $(call BuildPackage,python3-sortedcontainers))
++$(eval $(call BuildPackage,python3-sortedcontainers-src))
+diff --git a/package/python/python-toml.py/Makefile b/package/python/python-toml.py/Makefile
+new file mode 100644
+index 00000000000..e862ab4aa90
+--- /dev/null
++++ b/package/python/python-toml.py/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-toml.py
++PKG_VERSION:=0.1.7
++PKG_RELEASE:=1
++
++PYPI_NAME:=toml.py
++PKG_HASH:=5d1d32a420bdb9df686a2876f73cdb3e07f9730a957bfa377f98c8985b824518
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-toml.py
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=toml.py
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-toml.py/description
++ toml.py
++endef
++
++$(eval $(call Py3Package,python3-toml.py))
++$(eval $(call BuildPackage,python3-toml.py))
++$(eval $(call BuildPackage,python3-toml.py-src))
+diff --git a/package/python/python-tornado/Makefile b/package/python/python-tornado/Makefile
+new file mode 100644
+index 00000000000..b1ead37f6e0
+--- /dev/null
++++ b/package/python/python-tornado/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-tornado
++PKG_VERSION:=6.0.4
++PKG_RELEASE:=1
++
++PYPI_NAME:=tornado
++PKG_HASH:=0fe2d45ba43b00a41cd73f8be321a44936dc1aba233dee979f17a042b83eb6dc
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-tornado
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=tornado
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-tornado/description
++ tornado
++endef
++
++$(eval $(call Py3Package,python3-tornado))
++$(eval $(call BuildPackage,python3-tornado))
++$(eval $(call BuildPackage,python3-tornado-src))
+diff --git a/package/python/python-urwid/Makefile b/package/python/python-urwid/Makefile
+new file mode 100644
+index 00000000000..0c21be5300d
+--- /dev/null
++++ b/package/python/python-urwid/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-urwid
++PKG_VERSION:=2.1.0
++PKG_RELEASE:=1
++
++PYPI_NAME:=urwid
++PKG_HASH:=0896f36060beb6bf3801cb554303fef336a79661401797551ba106d23ab4cd86
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-urwid
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=urwid
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-urwid/description
++ urwid
++endef
++
++$(eval $(call Py3Package,python3-urwid))
++$(eval $(call BuildPackage,python3-urwid))
++$(eval $(call BuildPackage,python3-urwid-src))
+diff --git a/package/python/python-wsproto/Makefile b/package/python/python-wsproto/Makefile
+new file mode 100644
+index 00000000000..fcf458602e7
+--- /dev/null
++++ b/package/python/python-wsproto/Makefile
+@@ -0,0 +1,35 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-wsproto
++PKG_VERSION:=0.15.0
++PKG_RELEASE:=1
++
++PYPI_NAME:=wsproto
++PKG_HASH:=614798c30e5dc2b3f65acc03d2d50842b97621487350ce79a80a711229edfa9d
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-wsproto
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=wsproto
++ DEPENDS:=+python3-light
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-wsproto/description
++ wsproto
++endef
++
++$(eval $(call Py3Package,python3-wsproto))
++$(eval $(call BuildPackage,python3-wsproto))
++$(eval $(call BuildPackage,python3-wsproto-src))
+diff --git a/package/python/python-zstandard/Makefile b/package/python/python-zstandard/Makefile
+new file mode 100644
+index 00000000000..42a7177f0da
+--- /dev/null
++++ b/package/python/python-zstandard/Makefile
+@@ -0,0 +1,37 @@
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=python-zstandard
++PKG_VERSION:=0.13.0
++PKG_RELEASE:=1
++
++PYPI_NAME:=zstandard
++#PKG_SOURCE_URL=https://github.com/indygreg/python-zstandard/releases/download/0.13.0/
++#PKG_SOURCE:=zstandard-0.13.0.tar.gz
++PKG_HASH:=e5cbd8b751bd498f275b0582f449f92f14e64f4e03b5bf51c571240d40d43561
++
++PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
++PKG_LICENSE:=MIT
++PKG_LICENSE_FILES:=LICENSE
++
++include ../../feeds/packages/python3/../pypi.mk
++include $(INCLUDE_DIR)/package.mk
++include ../../feeds/packages/python3/../python3-package.mk
++
++define Package/python3-zstandard
++ SECTION:=lang
++ CATEGORY:=Languages
++ SUBMENU:=Python
++ TITLE:=zstandard
++ DEPENDS:=+python3-light +libzstd
++ VARIANT:=python3
++endef
++
++HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
++
++define Package/python3-zstandard/description
++ zstandard
++endef
++
++$(eval $(call Py3Package,python3-zstandard))
++$(eval $(call BuildPackage,python3-zstandard))
++$(eval $(call BuildPackage,python3-zstandard-src))