ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/external/subpack/lang/python/python-zope-interface/Makefile b/external/subpack/lang/python/python-zope-interface/Makefile
new file mode 100644
index 0000000..81eac63
--- /dev/null
+++ b/external/subpack/lang/python/python-zope-interface/Makefile
@@ -0,0 +1,44 @@
+#
+# Copyright (C) 2006-2011 OpenWrt.org
+# Copyright (C) 2015-2016, 2018-2021, 2023 Jeffery To
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-zope-interface
+PKG_VERSION:=6.1
+PKG_RELEASE:=1
+
+PYPI_NAME:=zope.interface
+PKG_HASH:=2fdc7ccbd6eb6b7df5353012fbed6c3c5d04ceaca0038f75e601060e95345309
+
+PKG_LICENSE:=ZPL-2.1
+PKG_LICENSE_FILES:=LICENSE.txt
+PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-zope-interface
+  SECTION:=lang
+  CATEGORY:=Languages
+  SUBMENU:=Python
+  TITLE:=Interfaces for Python
+  URL:=https://github.com/zopefoundation/zope.interface
+  DEPENDS:=+python3-light +python3-logging
+endef
+
+define Package/python3-zope-interface/description
+This package provides an implementation of "object interfaces" for
+Python. Interfaces are a mechanism for labeling objects as conforming to
+a given API or contract. So, this package can be considered as
+implementation of the Design By Contract methodology support in Python.
+endef
+
+$(eval $(call Py3Package,python3-zope-interface))
+$(eval $(call BuildPackage,python3-zope-interface))
+$(eval $(call BuildPackage,python3-zope-interface-src))
diff --git a/external/subpack/lang/python/python-zope-interface/patches/001-omit-tests.patch b/external/subpack/lang/python/python-zope-interface/patches/001-omit-tests.patch
new file mode 100644
index 0000000..40aed6e
--- /dev/null
+++ b/external/subpack/lang/python/python-zope-interface/patches/001-omit-tests.patch
@@ -0,0 +1,19 @@
+--- a/setup.py
++++ b/setup.py
+@@ -125,7 +125,7 @@ setup(name='zope.interface',
+           "Framework :: Zope :: 3",
+           "Topic :: Software Development :: Libraries :: Python Modules",
+       ],
+-      packages=find_packages('src'),
++      packages=find_packages('src', exclude=["*.tests", "*.tests.*"]),
+       package_dir={'': 'src'},
+       namespace_packages=["zope"],
+       cmdclass={
+@@ -133,6 +133,7 @@ setup(name='zope.interface',
+       },
+       test_suite='zope.interface.tests',
+       include_package_data=True,
++      exclude_package_data={'':['tests/*']},
+       zip_safe=False,
+       tests_require=tests_require,
+       install_requires=['setuptools'],
diff --git a/external/subpack/lang/python/python-zope-interface/test.sh b/external/subpack/lang/python/python-zope-interface/test.sh
new file mode 100644
index 0000000..4812377
--- /dev/null
+++ b/external/subpack/lang/python/python-zope-interface/test.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+[ "$1" = python3-zope-interface ] || exit 0
+
+python3 -c 'import zope.interface'