Sun Dec 19 13:38:56 2021 UTC ()
lang/wasi-libc: import wasi-libc-0.0.0pre20210923

WASI Libc is a libc for WebAssembly programs built on top of WASI
system calls. It provides a wide array of POSIX-compatible C APIs,
including support for standard I/O, file I/O, filesystem manipulation,
memory management, time, string, environment variables, program
startup, and many other APIs.

WASI Libc is sufficiently stable and usable for many purposes, as
most of the POSIX-compatible APIs are stable, though it is continuing
to evolve to better align with wasm and WASI.


(ryoon)
diff -r0 -r1.1 pkgsrc/lang/wasi-libc/DESCR
diff -r0 -r1.1 pkgsrc/lang/wasi-libc/Makefile
diff -r0 -r1.1 pkgsrc/lang/wasi-libc/PLIST
diff -r0 -r1.1 pkgsrc/lang/wasi-libc/buildlink3.mk
diff -r0 -r1.1 pkgsrc/lang/wasi-libc/distinfo
diff -r0 -r1.1 pkgsrc/lang/wasi-libc/patches/patch-Makefile

File Added: pkgsrc/lang/wasi-libc/DESCR
WASI Libc is a libc for WebAssembly programs built on top of WASI
system calls. It provides a wide array of POSIX-compatible C APIs,
including support for standard I/O, file I/O, filesystem manipulation,
memory management, time, string, environment variables, program
startup, and many other APIs.

WASI Libc is sufficiently stable and usable for many purposes, as
most of the POSIX-compatible APIs are stable, though it is continuing
to evolve to better align with wasm and WASI.

File Added: pkgsrc/lang/wasi-libc/Makefile
# $NetBSD: Makefile,v 1.1 2021/12/19 13:38:56 ryoon Exp $

GITHUB_PROJECT=	wasi-libc
GITHUB_TAG=	ad5133410f66b93a2381db5b542aad5e0964db96
DISTNAME=	wasi-libc-0.0.0pre20210923
CATEGORIES=	lang
MASTER_SITES=	${MASTER_SITE_GITHUB:=WebAssembly/}

GITHUB_SUBMODULES+=	WebAssembly WASI 3423c9c83c7219095d6e67faaf62598ad370064c wasi/tools/wasi-headers/WASI

MAINTAINER=	ryoon@NetBSD.org
HOMEPAGE=	https://github.com/WebAssembly/wasi-libc/
COMMENT=	libc for WebAssembly programs built on top of WASI
LICENSE=	mit AND apache-2.0 # apache-2.0-with-LLVM-exception

# Do not fail tests
PKGSRC_USE_SSP=		no

.include "../../mk/bsd.prefs.mk"
.if ${OPSYS} == "NetBSD"
.  if ${OPSYS_VERSION} < 099900
# Use GNU find from findutils for -not option.
TOOLS_PLATFORM.find=	# empty
.  endif
.endif

USE_TOOLS+=	gmake

# Do not crush clang-13
BUILDLINK_TRANSFORM+=	rm:-fcommon

MAKE_FLAGS+=	WASM_CC=clang
MAKE_FLAGS+=	WASM_AR=${PREFIX}/bin/llvm-ar
MAKE_FLAGS+=	WASM_NM=${PREFIX}/bin/llvm-nm
MAKE_FLAGS+=	INSTALL_DIR=${DESTDIR}${PREFIX}/wasi
BUILD_TARGET=	finish

PKGSRC_COMPILER=	clang
PKG_CC=		${PREFIX}/bin/clang
PKG_CXX=	${PREFIX}/bin/clang++
BUILDLINK_DEPMETHOD.clang=	build
.include "../../lang/clang/buildlink3.mk"
BUILDLINK_DEPMETHOD.llvm=	build
.include "../../lang/llvm/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/lang/wasi-libc/PLIST
@comment $NetBSD: PLIST,v 1.1 2021/12/19 13:38:56 ryoon Exp $
wasi/include/__errno.h
wasi/include/__errno_values.h
wasi/include/__fd_set.h
wasi/include/__function___isatty.h
wasi/include/__functions_malloc.h
wasi/include/__functions_memcpy.h
wasi/include/__header_dirent.h
wasi/include/__header_fcntl.h
wasi/include/__header_inttypes.h
wasi/include/__header_netinet_in.h
wasi/include/__header_poll.h
wasi/include/__header_stdlib.h
wasi/include/__header_string.h
wasi/include/__header_sys_ioctl.h
wasi/include/__header_sys_resource.h
wasi/include/__header_sys_socket.h
wasi/include/__header_sys_stat.h
wasi/include/__header_time.h
wasi/include/__header_unistd.h
wasi/include/__macro_FD_SETSIZE.h
wasi/include/__macro_PAGESIZE.h
wasi/include/__mode_t.h
wasi/include/__seek.h
wasi/include/__struct_dirent.h
wasi/include/__struct_in6_addr.h
wasi/include/__struct_in_addr.h
wasi/include/__struct_iovec.h
wasi/include/__struct_msghdr.h
wasi/include/__struct_pollfd.h
wasi/include/__struct_rusage.h
wasi/include/__struct_sockaddr.h
wasi/include/__struct_sockaddr_in.h
wasi/include/__struct_sockaddr_in6.h
wasi/include/__struct_sockaddr_storage.h
wasi/include/__struct_sockaddr_un.h
wasi/include/__struct_stat.h
wasi/include/__struct_timespec.h
wasi/include/__struct_timeval.h
wasi/include/__struct_tm.h
wasi/include/__struct_tms.h
wasi/include/__typedef_DIR.h
wasi/include/__typedef_blkcnt_t.h
wasi/include/__typedef_blksize_t.h
wasi/include/__typedef_clock_t.h
wasi/include/__typedef_clockid_t.h
wasi/include/__typedef_dev_t.h
wasi/include/__typedef_fd_set.h
wasi/include/__typedef_gid_t.h
wasi/include/__typedef_in_addr_t.h
wasi/include/__typedef_in_port_t.h
wasi/include/__typedef_ino_t.h
wasi/include/__typedef_mode_t.h
wasi/include/__typedef_nfds_t.h
wasi/include/__typedef_nlink_t.h
wasi/include/__typedef_off_t.h
wasi/include/__typedef_sa_family_t.h
wasi/include/__typedef_sigset_t.h
wasi/include/__typedef_socklen_t.h
wasi/include/__typedef_ssize_t.h
wasi/include/__typedef_suseconds_t.h
wasi/include/__typedef_time_t.h
wasi/include/__typedef_uid_t.h
wasi/include/alloca.h
wasi/include/ar.h
wasi/include/arpa/ftp.h
wasi/include/arpa/inet.h
wasi/include/arpa/nameser.h
wasi/include/arpa/nameser_compat.h
wasi/include/arpa/telnet.h
wasi/include/arpa/tftp.h
wasi/include/assert.h
wasi/include/bits/alltypes.h
wasi/include/bits/dirent.h
wasi/include/bits/fcntl.h
wasi/include/bits/fenv.h
wasi/include/bits/float.h
wasi/include/bits/hwcap.h
wasi/include/bits/io.h
wasi/include/bits/ioctl.h
wasi/include/bits/ioctl_fix.h
wasi/include/bits/ipcstat.h
wasi/include/bits/limits.h
wasi/include/bits/mman.h
wasi/include/bits/poll.h
wasi/include/bits/posix.h
wasi/include/bits/reg.h
wasi/include/bits/resource.h
wasi/include/bits/signal.h
wasi/include/bits/socket.h
wasi/include/bits/stat.h
wasi/include/bits/stdint.h
wasi/include/byteswap.h
wasi/include/complex.h
wasi/include/cpio.h
wasi/include/crypt.h
wasi/include/ctype.h
wasi/include/dirent.h
wasi/include/endian.h
wasi/include/err.h
wasi/include/errno.h
wasi/include/fcntl.h
wasi/include/features.h
wasi/include/fenv.h
wasi/include/float.h
wasi/include/fmtmsg.h
wasi/include/fnmatch.h
wasi/include/ftw.h
wasi/include/getopt.h
wasi/include/glob.h
wasi/include/iconv.h
wasi/include/ifaddrs.h
wasi/include/inttypes.h
wasi/include/iso646.h
wasi/include/langinfo.h
wasi/include/libgen.h
wasi/include/limits.h
wasi/include/locale.h
wasi/include/malloc.h
wasi/include/math.h
wasi/include/memory.h
wasi/include/monetary.h
wasi/include/mqueue.h
wasi/include/netinet/icmp6.h
wasi/include/netinet/igmp.h
wasi/include/netinet/in.h
wasi/include/netinet/in_systm.h
wasi/include/netinet/ip.h
wasi/include/netinet/ip6.h
wasi/include/netinet/ip_icmp.h
wasi/include/netinet/tcp.h
wasi/include/netinet/udp.h
wasi/include/netpacket/packet.h
wasi/include/nl_types.h
wasi/include/poll.h
wasi/include/regex.h
wasi/include/sched.h
wasi/include/search.h
wasi/include/semaphore.h
wasi/include/signal.h
wasi/include/stdalign.h
wasi/include/stdbool.h
wasi/include/stdc-predef.h
wasi/include/stdint.h
wasi/include/stdio.h
wasi/include/stdio_ext.h
wasi/include/stdlib.h
wasi/include/stdnoreturn.h
wasi/include/string.h
wasi/include/strings.h
wasi/include/stropts.h
wasi/include/sys/dir.h
wasi/include/sys/errno.h
wasi/include/sys/eventfd.h
wasi/include/sys/fcntl.h
wasi/include/sys/file.h
wasi/include/sys/ioctl.h
wasi/include/sys/mman.h
wasi/include/sys/param.h
wasi/include/sys/poll.h
wasi/include/sys/random.h
wasi/include/sys/reg.h
wasi/include/sys/resource.h
wasi/include/sys/select.h
wasi/include/sys/signal.h
wasi/include/sys/socket.h
wasi/include/sys/stat.h
wasi/include/sys/stropts.h
wasi/include/sys/syscall.h
wasi/include/sys/sysinfo.h
wasi/include/sys/time.h
wasi/include/sys/timeb.h
wasi/include/sys/times.h
wasi/include/sys/timex.h
wasi/include/sys/ttydefaults.h
wasi/include/sys/types.h
wasi/include/sys/uio.h
wasi/include/sys/un.h
wasi/include/sys/utsname.h
wasi/include/syscall.h
wasi/include/sysexits.h
wasi/include/tar.h
wasi/include/tgmath.h
wasi/include/threads.h
wasi/include/time.h
wasi/include/uchar.h
wasi/include/unistd.h
wasi/include/utime.h
wasi/include/values.h
wasi/include/wasi/api.h
wasi/include/wasi/libc-environ.h
wasi/include/wasi/libc-find-relpath.h
wasi/include/wasi/libc-nocwd.h
wasi/include/wasi/libc.h
wasi/include/wchar.h
wasi/include/wctype.h
wasi/lib/wasm32-wasi/crt1-command.o
wasi/lib/wasm32-wasi/crt1-reactor.o
wasi/lib/wasm32-wasi/crt1.o
wasi/lib/wasm32-wasi/libc-printscan-long-double.a
wasi/lib/wasm32-wasi/libc-printscan-no-floating-point.a
wasi/lib/wasm32-wasi/libc.a
wasi/lib/wasm32-wasi/libc.imports
wasi/lib/wasm32-wasi/libcrypt.a
wasi/lib/wasm32-wasi/libdl.a
wasi/lib/wasm32-wasi/libm.a
wasi/lib/wasm32-wasi/libpthread.a
wasi/lib/wasm32-wasi/libresolv.a
wasi/lib/wasm32-wasi/librt.a
wasi/lib/wasm32-wasi/libutil.a
wasi/lib/wasm32-wasi/libwasi-emulated-getpid.a
wasi/lib/wasm32-wasi/libwasi-emulated-mman.a
wasi/lib/wasm32-wasi/libwasi-emulated-process-clocks.a
wasi/lib/wasm32-wasi/libwasi-emulated-signal.a
wasi/lib/wasm32-wasi/libxnet.a
wasi/share/wasm32-wasi/defined-symbols.txt
wasi/share/wasm32-wasi/include-all.c
wasi/share/wasm32-wasi/predefined-macros.txt
wasi/share/wasm32-wasi/undefined-symbols.txt

File Added: pkgsrc/lang/wasi-libc/buildlink3.mk
# $NetBSD: buildlink3.mk,v 1.1 2021/12/19 13:38:56 ryoon Exp $

BUILDLINK_TREE+=	wasi-libc

BUILDLINK_DEPMETHOD.wasi-libc?=	build

.if !defined(WASI_LIBC_BUILDLINK3_MK)
WASI_LIBC_BUILDLINK3_MK:=

BUILDLINK_API_DEPENDS.wasi-libc+=	wasi-libc>=0.0.0pre20210923
BUILDLINK_PKGSRCDIR.wasi-libc?=		../../lang/wasi-libc

.endif	# WASI_LIBC_BUILDLINK3_MK

BUILDLINK_TREE+=	-wasi-libc

File Added: pkgsrc/lang/wasi-libc/distinfo
$NetBSD: distinfo,v 1.1 2021/12/19 13:38:56 ryoon Exp $

BLAKE2s (WebAssembly-WASI-3423c9c83c7219095d6e67faaf62598ad370064c.tar.gz) = 50040bba05e7685e002650788f5692c61f489bbf3aee20d1b8b70a0be5fec957
SHA512 (WebAssembly-WASI-3423c9c83c7219095d6e67faaf62598ad370064c.tar.gz) = b96f2c6a2d777fa721e10cf24f8d11b71bac3c9ee308b2c223daf0477feaf6cd300897dba18d220c30a34cd34fb29f7545f4b393fc60f8b91ba0a1538b787c14
Size (WebAssembly-WASI-3423c9c83c7219095d6e67faaf62598ad370064c.tar.gz) = 200976 bytes
BLAKE2s (wasi-libc-0.0.0pre20210923-ad5133410f66b93a2381db5b542aad5e0964db96.tar.gz) = 5efce97c4f20db19e970e77071120b02b05447b5cd81a06d6b789d717c3f9fe2
SHA512 (wasi-libc-0.0.0pre20210923-ad5133410f66b93a2381db5b542aad5e0964db96.tar.gz) = 04cb3a25fef7949bf77f262bd939102f5b36e2ae85f28cdbfcd8a8984425fba54fae68049b777974bdbad96882fab383b44203e8f19a776d8a56a55475c4aab6
Size (wasi-libc-0.0.0pre20210923-ad5133410f66b93a2381db5b542aad5e0964db96.tar.gz) = 1251318 bytes
SHA1 (patch-Makefile) = 19060501818536bd062957f69b0bdd4a14849b3d

File Added: pkgsrc/lang/wasi-libc/patches/patch-Makefile
$NetBSD: patch-Makefile,v 1.1 2021/12/19 13:38:56 ryoon Exp $

* Workaround for rebuild in install stage.

--- Makefile.orig	2021-09-22 22:36:47.000000000 +0000
+++ Makefile
@@ -546,7 +546,7 @@ check-symbols: startup_files libc
 	# This ignores whitespace because on Windows the output has CRLF line endings.
 	diff -wur "$(CURDIR)/expected/$(MULTIARCH_TRIPLE)" "$(SYSROOT_SHARE)"
 
-install: finish
+install:
 	mkdir -p "$(INSTALL_DIR)"
 	cp -r "$(SYSROOT)/lib" "$(SYSROOT)/share" "$(SYSROOT)/include" "$(INSTALL_DIR)"