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.
This commit is contained in:
parent
66328f4afd
commit
095a21bf33
6 changed files with 312 additions and 0 deletions
9
lang/wasi-libc/DESCR
Normal file
9
lang/wasi-libc/DESCR
Normal file
|
@ -0,0 +1,9 @@
|
|||
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.
|
45
lang/wasi-libc/Makefile
Normal file
45
lang/wasi-libc/Makefile
Normal file
|
@ -0,0 +1,45 @@
|
|||
# $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"
|
219
lang/wasi-libc/PLIST
Normal file
219
lang/wasi-libc/PLIST
Normal file
|
@ -0,0 +1,219 @@
|
|||
@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
|
15
lang/wasi-libc/buildlink3.mk
Normal file
15
lang/wasi-libc/buildlink3.mk
Normal file
|
@ -0,0 +1,15 @@
|
|||
# $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
|
9
lang/wasi-libc/distinfo
Normal file
9
lang/wasi-libc/distinfo
Normal file
|
@ -0,0 +1,9 @@
|
|||
$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
|
15
lang/wasi-libc/patches/patch-Makefile
Normal file
15
lang/wasi-libc/patches/patch-Makefile
Normal file
|
@ -0,0 +1,15 @@
|
|||
$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)"
|
||||
|
Loading…
Reference in a new issue