git: c2cc975f1f35 - main - www/wabt: New port: WebAssembly Binary Toolkit

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Wed, 17 Aug 2022 02:25:50 UTC
The branch main has been updated by yuri:

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

commit c2cc975f1f35a297b797fe7c31659063d19c1487
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-08-17 02:24:47 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-08-17 02:25:48 +0000

    www/wabt: New port: WebAssembly Binary Toolkit
---
 www/Makefile                        |  1 +
 www/wabt/Makefile                   | 36 ++++++++++++++++++++++++++++++++++++
 www/wabt/distinfo                   | 11 +++++++++++
 www/wabt/files/patch-CMakeLists.txt | 23 +++++++++++++++++++++++
 www/wabt/pkg-descr                  |  3 +++
 www/wabt/pkg-plist                  | 28 ++++++++++++++++++++++++++++
 6 files changed, 102 insertions(+)

diff --git a/www/Makefile b/www/Makefile
index e7d3be9cdca6..c4c54227eb59 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -2318,6 +2318,7 @@
     SUBDIR += w3m
     SUBDIR += w3m-img
     SUBDIR += w3mir
+    SUBDIR += wabt
     SUBDIR += web2ldap
     SUBDIR += webalizer
     SUBDIR += webbrowser
diff --git a/www/wabt/Makefile b/www/wabt/Makefile
new file mode 100644
index 000000000000..bb5999f9d217
--- /dev/null
+++ b/www/wabt/Makefile
@@ -0,0 +1,36 @@
+PORTNAME=	wabt
+DISTVERSION=	1.0.29
+CATEGORIES=	www
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	WebAssembly Binary Toolkit
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+TEST_DEPENDS=	googletest>0:devel/googletest
+
+USES=		cmake:testing localbase:ldflags python
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	WebAssembly
+GH_TUPLE=	WebAssembly:testsuite:d42da0117f7a93c6a9127e2b9eec64749152c4c1:WebAssembly_testsuite/third_party/testsuite \
+		dabeaz:ply:d776a2ece6c12bf8f8b6a0e65b48546ac6078765:dabeaz_ply/third_party/ply \
+		WebAssembly:wasm-c-api:d9a80099d496b5cdba6f3fe8fc77586e0e505ddc:WebAssembly_wasm_c_api/third_party/wasm-c-api \
+		nodejs:uvwasi:55eff19f4c7e69ec151424a037f951e0ad006ed6:nodejs_uvwasi/third_party/uvwasi
+
+CMAKE_ON=	BUILD_SHARED_LIBS USE_SYSTEM_GTEST
+CMAKE_OFF=	BUILD_TESTS
+CMAKE_TESTING_ON=	BUILD_TESTS
+CMAKE_TESTING_TARGET=	${ALL_TARGET}
+
+OPTIONS_DEFINE=		FUZZ_TOOLS
+OPTIONS_SUB=		yes
+
+FUZZ_TOOLS_DESC=	Build tools that can repro fuzz bugs
+FUZZ_TOOLS_CMAKE_BOOL=	BUILD_FUZZ_TOOLS
+
+post-test:
+	@cd ${TEST_WRKSRC} && ./wabt-unittests
+
+.include <bsd.port.mk>
diff --git a/www/wabt/distinfo b/www/wabt/distinfo
new file mode 100644
index 000000000000..e7175b1b042c
--- /dev/null
+++ b/www/wabt/distinfo
@@ -0,0 +1,11 @@
+TIMESTAMP = 1660702795
+SHA256 (WebAssembly-wabt-1.0.29_GH0.tar.gz) = f770e2a68822d6f42441a911983d231e8637c17162415f599fd3f3415ef35d42
+SIZE (WebAssembly-wabt-1.0.29_GH0.tar.gz) = 1150946
+SHA256 (WebAssembly-testsuite-d42da0117f7a93c6a9127e2b9eec64749152c4c1_GH0.tar.gz) = 7fe2b4c620372bc5804671c6e88c02291d24c11f8721ad9535f0fcd4ca25becc
+SIZE (WebAssembly-testsuite-d42da0117f7a93c6a9127e2b9eec64749152c4c1_GH0.tar.gz) = 639216
+SHA256 (dabeaz-ply-d776a2ece6c12bf8f8b6a0e65b48546ac6078765_GH0.tar.gz) = d9c0be0a3bd2ac09f81700bc808526f91e6e80d87ff619a8cab47c9417c4180d
+SIZE (dabeaz-ply-d776a2ece6c12bf8f8b6a0e65b48546ac6078765_GH0.tar.gz) = 149974
+SHA256 (WebAssembly-wasm-c-api-d9a80099d496b5cdba6f3fe8fc77586e0e505ddc_GH0.tar.gz) = aea8cd095e9937f1e14f2c93e026317b197eb2345e7a817fe3932062eb7b792c
+SIZE (WebAssembly-wasm-c-api-d9a80099d496b5cdba6f3fe8fc77586e0e505ddc_GH0.tar.gz) = 56423
+SHA256 (nodejs-uvwasi-55eff19f4c7e69ec151424a037f951e0ad006ed6_GH0.tar.gz) = 34010745593cfb395fd483a0f65688dcd61e3f16de574edb5d43ea2cfbd57131
+SIZE (nodejs-uvwasi-55eff19f4c7e69ec151424a037f951e0ad006ed6_GH0.tar.gz) = 56469
diff --git a/www/wabt/files/patch-CMakeLists.txt b/www/wabt/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..1b54325d706e
--- /dev/null
+++ b/www/wabt/files/patch-CMakeLists.txt
@@ -0,0 +1,23 @@
+--- CMakeLists.txt.orig	2022-08-16 23:13:55 UTC
++++ CMakeLists.txt
+@@ -359,17 +359,17 @@ set(WABT_LIBRARY_SRC
+   src/interp/istream.cc
+ )
+ 
+-add_library(wabt STATIC ${WABT_LIBRARY_SRC})
++add_library(wabt ${WABT_LIBRARY_SRC})
+ 
+ IF (NOT WIN32)
+-  add_library(wasm-rt-impl STATIC wasm2c/wasm-rt-impl.c wasm2c/wasm-rt-impl.h)
++  add_library(wasm-rt-impl wasm2c/wasm-rt-impl.c wasm2c/wasm-rt-impl.h)
+   install(TARGETS wasm-rt-impl DESTINATION ${CMAKE_INSTALL_LIBDIR})
+   install(FILES wasm2c/wasm-rt.h wasm2c/wasm-rt-impl.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+ endif ()
+ 
+ if (BUILD_FUZZ_TOOLS)
+   set(FUZZ_FLAGS "-fsanitize=fuzzer,address")
+-  add_library(wabt-fuzz STATIC ${WABT_LIBRARY_SRC})
++  add_library(wabt-fuzz ${WABT_LIBRARY_SRC})
+   set_target_properties(wabt-fuzz
+     PROPERTIES
+     COMPILE_FLAGS "${FUZZ_FLAGS}"
diff --git a/www/wabt/pkg-descr b/www/wabt/pkg-descr
new file mode 100644
index 000000000000..5f6b025be211
--- /dev/null
+++ b/www/wabt/pkg-descr
@@ -0,0 +1,3 @@
+WABT (pronounced "wabbit") is a suite of tools for WebAssembly.
+
+WWW: https://github.com/WebAssembly/wabt
diff --git a/www/wabt/pkg-plist b/www/wabt/pkg-plist
new file mode 100644
index 000000000000..fa3a145d3031
--- /dev/null
+++ b/www/wabt/pkg-plist
@@ -0,0 +1,28 @@
+bin/spectest-interp
+bin/wasm-decompile
+bin/wasm-interp
+bin/wasm-objdump
+bin/wasm-opcodecnt
+bin/wasm-strip
+bin/wasm-validate
+bin/wasm2c
+bin/wasm2wat
+%%FUZZ_TOOLS%%bin/wasm2wat-fuzz
+bin/wast2json
+bin/wat-desugar
+bin/wat2wasm
+include/wasm-rt-impl.h
+include/wasm-rt.h
+lib/libwasm-rt-impl.so
+share/man/man1/spectest-interp.1.gz
+share/man/man1/wasm-decompile.1.gz
+share/man/man1/wasm-interp.1.gz
+share/man/man1/wasm-objdump.1.gz
+share/man/man1/wasm-opcodecnt.1.gz
+share/man/man1/wasm-strip.1.gz
+share/man/man1/wasm-validate.1.gz
+share/man/man1/wasm2c.1.gz
+share/man/man1/wasm2wat.1.gz
+share/man/man1/wast2json.1.gz
+share/man/man1/wat-desugar.1.gz
+share/man/man1/wat2wasm.1.gz