Переглянути джерело

package/libucontext: new package

This package provides a ucontext.h C API on musl libc.

Architecture support table based on:
https://github.com/kaniini/libucontext/tree/libucontext-1.2#supported-features

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
James Hilliard 3 роки тому
батько
коміт
3a6e9d2f3f

+ 1 - 0
DEVELOPERS

@@ -1413,6 +1413,7 @@ F:	package/fxdiv/
 F:	package/gensio/
 F:	package/lua-std-debug/
 F:	package/lua-std-normalize/
+F:	package/libucontext/
 F:	package/lilv/
 F:	package/lv2/
 F:	package/neon-2-sse/

+ 1 - 0
package/Config.in

@@ -2142,6 +2142,7 @@ menu "Other"
 	source "package/libtpl/Config.in"
 	source "package/libubox/Config.in"
 	source "package/libuci/Config.in"
+	source "package/libucontext/Config.in"
 	source "package/libunwind/Config.in"
 	source "package/liburcu/Config.in"
 	source "package/liburing/Config.in"

+ 33 - 0
package/libucontext/Config.in

@@ -0,0 +1,33 @@
+config BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS
+	bool
+	default y if BR2_aarch64
+	default y if BR2_aarch64_be
+	default y if BR2_arm
+	default y if BR2_armeb
+	default y if BR2_m68k
+	default y if BR2_mips
+	default y if BR2_mipsel
+	default y if BR2_mips64
+	default y if BR2_mips64el
+	default y if BR2_or1k
+	default y if BR2_powerpc
+	default y if BR2_powerpc64
+	default y if BR2_powerpc64le
+	default y if BR2_riscv && BR2_RISCV_32
+	default y if BR2_riscv && BR2_RISCV_64
+	default y if BR2_s390x
+	default y if BR2_sh4
+	default y if BR2_sh4eb
+	default y if BR2_sh4a
+	default y if BR2_sh4aeb
+	default y if BR2_i386
+	default y if BR2_x86_64
+	depends on BR2_TOOLCHAIN_USES_MUSL
+
+config BR2_PACKAGE_LIBUCONTEXT
+	bool "libucontext"
+	depends on BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS
+	help
+	  Ucontext implementation featuring glibc-compatible ABI.
+
+	  https://github.com/kaniini/libucontext

+ 4 - 0
package/libucontext/libucontext.hash

@@ -0,0 +1,4 @@
+# Locally calculated
+sha256  937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3  libucontext-1.2.tar.gz
+# License files, locally calculated
+sha256  ecf4be354bbb6ccebdf150d1a8f2b3caeb10cf7c8a580f278a30799372f9e037  LICENSE

+ 17 - 0
package/libucontext/libucontext.mk

@@ -0,0 +1,17 @@
+################################################################################
+#
+# libucontext
+#
+################################################################################
+
+LIBUCONTEXT_VERSION = 1.2
+LIBUCONTEXT_SITE = $(call github,kaniini,libucontext,libucontext-$(LIBUCONTEXT_VERSION))
+LIBUCONTEXT_LICENSE = ISC
+LIBUCONTEXT_LICENSE_FILES = LICENSE
+LIBUCONTEXT_INSTALL_STAGING = YES
+
+LIBUCONTEXT_CONF_OPTS = \
+	-Dfreestanding=false \
+	-Dexport_unprefixed=true
+
+$(eval $(meson-package))