ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/external/subpack/lang/python/python-automat/Makefile b/external/subpack/lang/python/python-automat/Makefile
new file mode 100644
index 0000000..83fc3ce
--- /dev/null
+++ b/external/subpack/lang/python/python-automat/Makefile
@@ -0,0 +1,52 @@
+#
+# Copyright (C) 2018-2020, 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-automat
+PKG_VERSION:=22.10.0
+PKG_RELEASE:=1
+
+PYPI_NAME:=Automat
+PKG_HASH:=e56beb84edad19dcc11d30e8d9b895f75deeb5ef5e96b84a467066b3b84bb04e
+
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
+
+PKG_BUILD_DEPENDS:=python-setuptools-scm/host
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-automat
+  SECTION:=lang
+  CATEGORY:=Languages
+  SUBMENU:=Python
+  TITLE:=Concise, idiomatic finite-state automata
+  URL:=https://github.com/glyph/Automat
+  DEPENDS:= \
+      +python3-light \
+      +python3-attrs \
+      +python3-six
+endef
+
+define Package/python3-automat/description
+Automat is a library for concise, idiomatic Python expression of
+finite-state automata (particularly deterministic finite-state
+transducers).
+endef
+
+define Py3Package/python3-automat/filespec
++|$(PYTHON3_PKG_DIR)
+-|$(PYTHON3_PKG_DIR)/automat/_visualize.py
+endef
+
+$(eval $(call Py3Package,python3-automat))
+$(eval $(call BuildPackage,python3-automat))
+$(eval $(call BuildPackage,python3-automat-src))
diff --git a/external/subpack/lang/python/python-automat/patches/002-omit-visualize.patch b/external/subpack/lang/python/python-automat/patches/002-omit-visualize.patch
new file mode 100644
index 0000000..977f961
--- /dev/null
+++ b/external/subpack/lang/python/python-automat/patches/002-omit-visualize.patch
@@ -0,0 +1,18 @@
+--- a/setup.py
++++ b/setup.py
+@@ -22,15 +22,6 @@ setup(
+         "attrs>=19.2.0",
+         "six",
+     ],
+-    extras_require={
+-        "visualize": ["graphviz>0.5.1",
+-                      "Twisted>=16.1.1"],
+-    },
+-    entry_points={
+-        "console_scripts": [
+-            "automat-visualize = automat._visualize:tool"
+-        ],
+-    },
+     author='Glyph',
+     author_email='glyph@twistedmatrix.com',
+     include_package_data=True,
diff --git a/external/subpack/lang/python/python-automat/patches/003-omit-tests.patch b/external/subpack/lang/python/python-automat/patches/003-omit-tests.patch
new file mode 100644
index 0000000..58eccf0
--- /dev/null
+++ b/external/subpack/lang/python/python-automat/patches/003-omit-tests.patch
@@ -0,0 +1,19 @@
+--- a/setup.py
++++ b/setup.py
+@@ -12,7 +12,7 @@ setup(
+     Self-service finite-state machines for the programmer on the go.
+     """.strip(),
+     readme='README.md',
+-    packages=find_packages(exclude=[]),
++    packages=find_packages(exclude=["*._test", "*._test.*"]),
+     package_dir={'automat': 'automat'},
+     setup_requires=[
+         'wheel',
+@@ -25,6 +25,7 @@ setup(
+     author='Glyph',
+     author_email='glyph@twistedmatrix.com',
+     include_package_data=True,
++    exclude_package_data={'':['_test/*']},
+     license="MIT",
+     keywords='fsm finite state machine automata',
+     classifiers=[