ASR_BASE
Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/external/subpack/lang/python/python-cffi/Makefile b/external/subpack/lang/python/python-cffi/Makefile
new file mode 100644
index 0000000..74020d1
--- /dev/null
+++ b/external/subpack/lang/python/python-cffi/Makefile
@@ -0,0 +1,54 @@
+#
+# 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-cffi
+PKG_VERSION:=1.16.0
+PKG_RELEASE:=1
+
+PYPI_NAME:=cffi
+PKG_HASH:=bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0
+
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
+
+HOST_BUILD_DEPENDS:= \
+ python3/host \
+ python-build/host \
+ python-installer/host \
+ python-wheel/host \
+ python-pycparser/host
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
+include ../python3-package.mk
+include ../python3-host-build.mk
+
+define Package/python3-cffi
+ SECTION:=lang
+ CATEGORY:=Languages
+ SUBMENU:=Python
+ TITLE:=C Foreign Function Interface
+ URL:=https://cffi.readthedocs.org/
+ DEPENDS:= \
+ +libffi \
+ +python3-light \
+ +python3-ctypes \
+ +python3-pycparser
+endef
+
+define Package/python3-cffi/description
+Foreign Function Interface for Python calling C code.
+endef
+
+$(eval $(call Py3Package,python3-cffi))
+$(eval $(call BuildPackage,python3-cffi))
+$(eval $(call BuildPackage,python3-cffi-src))
+$(eval $(call HostBuild))
diff --git a/external/subpack/lang/python/python-cffi/patches/001-unpin-setuptools.patch b/external/subpack/lang/python/python-cffi/patches/001-unpin-setuptools.patch
new file mode 100644
index 0000000..bf2774f
--- /dev/null
+++ b/external/subpack/lang/python/python-cffi/patches/001-unpin-setuptools.patch
@@ -0,0 +1,10 @@
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -2,6 +2,6 @@
+ requires = [
+ # first version that supports Python 3.12; older versions may work
+ # with previous Python versions, but are not tested
+- "setuptools >= 66.1"
++ "setuptools"
+ ]
+ build-backend = "setuptools.build_meta"
diff --git a/external/subpack/lang/python/python-cffi/test.sh b/external/subpack/lang/python/python-cffi/test.sh
new file mode 100644
index 0000000..48ea3ad
--- /dev/null
+++ b/external/subpack/lang/python/python-cffi/test.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+[ "$1" = python3-cffi ] || exit 0
+
+python3 - << EOF
+from cffi import FFI
+ffibuilder = FFI()
+EOF