ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/external/subpack/lang/python/python-charset-normalizer/Makefile b/external/subpack/lang/python/python-charset-normalizer/Makefile
new file mode 100644
index 0000000..4ba811e
--- /dev/null
+++ b/external/subpack/lang/python/python-charset-normalizer/Makefile
@@ -0,0 +1,43 @@
+#
+# Copyright (C) 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-charset-normalizer
+PKG_VERSION:=3.3.2
+PKG_RELEASE:=1
+
+PYPI_NAME:=charset-normalizer
+PKG_HASH:=f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5
+
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-charset-normalizer
+  SECTION:=lang
+  CATEGORY:=Languages
+  SUBMENU:=Python
+  TITLE:=Real First Universal Charset Detector
+  URL:=https://github.com/Ousret/charset_normalizer
+  DEPENDS:=+python3-light +python3-codecs +python3-logging
+endef
+
+define Package/python3-charset-normalizer/description
+A library that helps you read text from an unknown charset encoding.
+Motivated by chardet, I'm trying to resolve the issue by taking a new
+approach. All IANA character set names for which the Python core library
+provides codecs are supported.
+endef
+
+$(eval $(call Py3Package,python3-charset-normalizer))
+$(eval $(call BuildPackage,python3-charset-normalizer))
+$(eval $(call BuildPackage,python3-charset-normalizer-src))
diff --git a/external/subpack/lang/python/python-charset-normalizer/test.sh b/external/subpack/lang/python/python-charset-normalizer/test.sh
new file mode 100644
index 0000000..398b017
--- /dev/null
+++ b/external/subpack/lang/python/python-charset-normalizer/test.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+[ "$1" = python3-charset-normalizer ] || exit 0
+
+python3 - << 'EOF'
+
+from charset_normalizer import from_bytes
+s = 'Bсеки човек има право на образование.'
+byte_str = s.encode('cp1251')
+result = from_bytes(byte_str).best()
+assert str(result) == s
+
+EOF