git: 7e508d156b67 - main - devel/uvwasi: Add uvwasi 0.0.21

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Sun, 18 May 2025 03:36:36 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7e508d156b67c7ab93dcad675aa96f9169b5d393

commit 7e508d156b67c7ab93dcad675aa96f9169b5d393
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2025-05-18 03:14:31 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2025-05-18 03:14:31 +0000

    devel/uvwasi: Add uvwasi 0.0.21
    
    This project does not currently provide the comprehensive file system security
    properties provided by some WASI runtimes. Full support for secure file system
    sandboxing may or may not be implemented in future. In the mean time, do not
    rely on it to run untrusted code.
    
    uvwasi implements the WASI system call API, so that WebAssembly runtimes can
    easily implement WASI calls. Under the hood, uvwasi leverages libuv where
    possible for maximum portability.
---
 devel/Makefile                              |  1 +
 devel/uvwasi/Makefile                       | 27 +++++++++++++++++++++++++++
 devel/uvwasi/distinfo                       |  3 +++
 devel/uvwasi/files/patch-cmake-uvwasi.pc.in | 11 +++++++++++
 devel/uvwasi/pkg-descr                      |  8 ++++++++
 devel/uvwasi/pkg-plist                      | 10 ++++++++++
 6 files changed, 60 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 4c683dd9bddd..98cfd96da9ec 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -8354,6 +8354,7 @@
     SUBDIR += uthash
     SUBDIR += util-linux
     SUBDIR += uv
+    SUBDIR += uvwasi
     SUBDIR += valgrind
     SUBDIR += valgrind-devel
     SUBDIR += vasm
diff --git a/devel/uvwasi/Makefile b/devel/uvwasi/Makefile
new file mode 100644
index 000000000000..15965f5fe430
--- /dev/null
+++ b/devel/uvwasi/Makefile
@@ -0,0 +1,27 @@
+PORTNAME=	uvwasi
+PORTVERSION=	0.0.21
+DISTVERSIONPREFIX=	v
+CATEGORIES=	devel
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	WASI syscall API built atop libuv
+WWW=		https://github.com/nodejs/uvwasi
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+LIB_DEPENDS=	libuv.so:devel/libuv
+
+USES=		cmake:testing pathfix
+
+CMAKE_OFF=	ASAN \
+		CODE_COVERAGE \
+		UVWASI_DEBUG_LOG \
+		UVWASI_BUILD_TESTS
+CMAKE_ON=	INSTALL_UVWASI
+CMAKE_TESTING_ON=	UVWASI_BUILD_TESTS
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	nodejs
+
+.include <bsd.port.mk>
diff --git a/devel/uvwasi/distinfo b/devel/uvwasi/distinfo
new file mode 100644
index 000000000000..de86ee1bb99a
--- /dev/null
+++ b/devel/uvwasi/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1745936000
+SHA256 (nodejs-uvwasi-v0.0.21_GH0.tar.gz) = 5cf32f166c493f41c0de7f3fd578d0be1b692c81c54f0c68889e62240fe9ab60
+SIZE (nodejs-uvwasi-v0.0.21_GH0.tar.gz) = 69358
diff --git a/devel/uvwasi/files/patch-cmake-uvwasi.pc.in b/devel/uvwasi/files/patch-cmake-uvwasi.pc.in
new file mode 100644
index 000000000000..55eb010fddc2
--- /dev/null
+++ b/devel/uvwasi/files/patch-cmake-uvwasi.pc.in
@@ -0,0 +1,11 @@
+--- cmake/uvwasi.pc.in.orig	2024-05-02 20:17:00 UTC
++++ cmake/uvwasi.pc.in
+@@ -1,7 +1,7 @@ libdir=@CMAKE_INSTALL_FULL_LIBDIR@
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=${prefix}
+ libdir=@CMAKE_INSTALL_FULL_LIBDIR@
+-includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/uvwasi
+ bindir=@CMAKE_INSTALL_FULL_BINDIR@
+ libuv_includedir=@LIBUV_INCLUDE_DIR@
+ 
diff --git a/devel/uvwasi/pkg-descr b/devel/uvwasi/pkg-descr
new file mode 100644
index 000000000000..fd4a539ecbb1
--- /dev/null
+++ b/devel/uvwasi/pkg-descr
@@ -0,0 +1,8 @@
+This project does not currently provide the comprehensive file system security
+properties provided by some WASI runtimes. Full support for secure file system
+sandboxing may or may not be implemented in future. In the mean time, do not
+rely on it to run untrusted code.
+
+uvwasi implements the WASI system call API, so that WebAssembly runtimes can
+easily implement WASI calls. Under the hood, uvwasi leverages libuv where
+possible for maximum portability.
diff --git a/devel/uvwasi/pkg-plist b/devel/uvwasi/pkg-plist
new file mode 100644
index 000000000000..2e309e7022d1
--- /dev/null
+++ b/devel/uvwasi/pkg-plist
@@ -0,0 +1,10 @@
+include/uvwasi/uvwasi.h
+include/uvwasi/wasi_serdes.h
+include/uvwasi/wasi_types.h
+lib/cmake/uvwasi/uvwasiConfig.cmake
+lib/cmake/uvwasi/uvwasiConfigVersion.cmake
+lib/cmake/uvwasi/uvwasiTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/uvwasi/uvwasiTargets.cmake
+lib/libuvwasi.so
+lib/libuvwasi_a.a
+libdata/pkgconfig/uvwasi.pc