aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2025-05-18 03:14:31 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2025-05-18 03:14:31 +0000
commit7e508d156b67c7ab93dcad675aa96f9169b5d393 (patch)
tree47e5f303312727dbe7de77b0d2ad9e8e9bc44c09
parent9dd9f2bf14aed8aaeddce7efbe513617df812b49 (diff)
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.
-rw-r--r--devel/Makefile1
-rw-r--r--devel/uvwasi/Makefile27
-rw-r--r--devel/uvwasi/distinfo3
-rw-r--r--devel/uvwasi/files/patch-cmake-uvwasi.pc.in11
-rw-r--r--devel/uvwasi/pkg-descr8
-rw-r--r--devel/uvwasi/pkg-plist10
6 files changed, 60 insertions, 0 deletions
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