[1/2] package/pocketpy: new package

Message ID 20250529103129.2349689-1-dario.binacchi@amarulasolutions.com
State New
Headers show
Series
  • [1/2] package/pocketpy: new package
Related show

Commit Message

Dario Binacchi May 29, 2025, 10:31 a.m. UTC
It is a portable Python 3.x interpreter, written in C11. It has no
dependencies other than the C standard library, which can be easily
integrated into your C/C++ project

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
 DEVELOPERS                     |  1 +
 package/Config.in              |  1 +
 package/pocketpy/Config.in     |  8 ++++++++
 package/pocketpy/pocketpy.hash |  3 +++
 package/pocketpy/pocketpy.mk   | 21 +++++++++++++++++++++
 5 files changed, 34 insertions(+)
 create mode 100644 package/pocketpy/Config.in
 create mode 100644 package/pocketpy/pocketpy.hash
 create mode 100644 package/pocketpy/pocketpy.mk

Comments

'Arnout Vandecappelle' via Amarula Linux May 29, 2025, 12:18 p.m. UTC | #1
Hi Dario,

On Thu, May 29 2025, Dario Binacchi wrote:
> diff --git a/package/pocketpy/pocketpy.mk b/package/pocketpy/pocketpy.mk
> new file mode 100644
> index 000000000000..d81086859890
> --- /dev/null
> +++ b/package/pocketpy/pocketpy.mk
> @@ -0,0 +1,21 @@
> +################################################################################
> +#
> +# pocketpy
> +#
> +################################################################################
> +
> +POCKETPY_VERSION = 2.0.8
> +POCKETPY_SITE = $(call github,pocketpy,pocketpy,v$(POCKETPY_VERSION))
> +POCKETPY_LICENSE = MIT
> +POCKETPY_LICENSE_FILES = LICENSE
> +
> +POCKETPY_CONF_OPTS = -DPK_BUILD_SHARED_LIB=ON
> +
> +define POCKETPY_INSTALL_TARGET_CMDS
> +	$(INSTALL) -D -m 0755 $(@D)/libpocketpy.so* $(TARGET_DIR)/usr/lib
> +	$(INSTALL) -D -m 0755 $(@D)/libpocketpy.so* $(STAGING_DIR)/usr/lib
> +	$(INSTALL) -m 755 -d $(STAGING_DIR)/usr/include/pocketpy
> +	cp -r $(@D)/include/* $(STAGING_DIR)/usr/include/pocketpy

Why install to STAGING_DIR in target install command? This should be in
INSTALL_STAGING_CMDS.

baruch

> +endef
> +
> +$(eval $(cmake-package))

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index d471b9ab6f90..771c5cf31322 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -811,6 +811,7 @@  F:	package/armadillo/
 F:	package/babeld/
 F:	package/iana-assignments/
 F:	package/inih/
+F:	package/pocketpy/
 F:	package/sscep/
 F:	package/tinyinit/
 F:	package/ufs-utils/
diff --git a/package/Config.in b/package/Config.in
index 579b5ffc87d5..9aad65488a6c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -968,6 +968,7 @@  if BR2_STATIC_LIBS
 comment "External PHP extensions need a toolchain w/ dynamic library"
 endif
 endif
+	source "package/pocketpy/Config.in"
 	source "package/python3/Config.in"
 if BR2_PACKAGE_PYTHON3
 menu "External python modules"
diff --git a/package/pocketpy/Config.in b/package/pocketpy/Config.in
new file mode 100644
index 000000000000..70ebf79ba1f3
--- /dev/null
+++ b/package/pocketpy/Config.in
@@ -0,0 +1,8 @@ 
+config BR2_PACKAGE_POCKETPY
+	bool "pocketpy"
+	depends on BR2_INSTALL_LIBSTDCPP
+	help
+	  pocketpy is a portable Python 3.x interpreter,
+	  written in C11.
+
+	  https://github.com/pocketpy/pocketpy
diff --git a/package/pocketpy/pocketpy.hash b/package/pocketpy/pocketpy.hash
new file mode 100644
index 000000000000..aabd5f077a2b
--- /dev/null
+++ b/package/pocketpy/pocketpy.hash
@@ -0,0 +1,3 @@ 
+# locally computed
+sha256  5e07994d66311a6b5ac032cc5243aaabe3ab318946971e7fa1cd0614934efc81  pocketpy-2.0.8.tar.gz
+sha256  d3a2bf8ca609a75941e980e62c13cf5a21aeaa4a2502822934d282fe7de5d319  LICENSE
diff --git a/package/pocketpy/pocketpy.mk b/package/pocketpy/pocketpy.mk
new file mode 100644
index 000000000000..d81086859890
--- /dev/null
+++ b/package/pocketpy/pocketpy.mk
@@ -0,0 +1,21 @@ 
+################################################################################
+#
+# pocketpy
+#
+################################################################################
+
+POCKETPY_VERSION = 2.0.8
+POCKETPY_SITE = $(call github,pocketpy,pocketpy,v$(POCKETPY_VERSION))
+POCKETPY_LICENSE = MIT
+POCKETPY_LICENSE_FILES = LICENSE
+
+POCKETPY_CONF_OPTS = -DPK_BUILD_SHARED_LIB=ON
+
+define POCKETPY_INSTALL_TARGET_CMDS
+	$(INSTALL) -D -m 0755 $(@D)/libpocketpy.so* $(TARGET_DIR)/usr/lib
+	$(INSTALL) -D -m 0755 $(@D)/libpocketpy.so* $(STAGING_DIR)/usr/lib
+	$(INSTALL) -m 755 -d $(STAGING_DIR)/usr/include/pocketpy
+	cp -r $(@D)/include/* $(STAGING_DIR)/usr/include/pocketpy
+endef
+
+$(eval $(cmake-package))