hi,
wip diffs for the adventurous who will run bulk builds with llvm22, the
lang/wasi-* stack needs to be built with the same version used for the
mozillas.
3 diffs below:
- a single diff for wasi-libc & wasi-sdk, adding an llvm22 FLAVOR. this
isn't intended for commit as-is, it's for my own convenience to switch
back and forth between stacks built with 19 and 22. the wasi->wasip1
stuff is hairy, most of the changes were taken from
https://github.com/freebsd/freebsd-ports/commit/7c5b2039a45ad3fc5479a25f4143716135aa3279
- for some reason wasi-libcxx doesnt build if it's already installed
with the same version, im not sure i want to know why
- firefox 151.0b8 itself builds as-is with llvm22, it includes the fix
adapted from http://bugzil.la/2023597. could be backported to 150
depending on the timeframe. This allows to reenable PGO.
- firefox-esr needed a lot more hacking, with a backport of a bindgen
update (http://bugzil.la/1985509) shipped as a jumbo distpatch,
patches on top of that distpatch, a skia fix for llvm22
(https://skia-review.googlesource.com/c/skcms/+/1038217) and a bunch of
other rust toolchain hacks on top. Also works with PGO (eg tested at
runtime)
the same diff/hacks should also apply to thunderbird and eventually to
tor-browser.
feedback and testing welcome. technically, i think those could be
commited to the portstree in advance of the switch.. once testing was
done for other consumers of the wasi stack.
Landry
? wasi-libc/32.diff
? wasi-libc/build-sdk-29.log
? wasi-libc/patch-Makefile
? wasi-sdk/testing
? wasi-sdk/compiler-rt/patches.no
? wasi-sdk/libcxx/build.log
? wasi-sdk/libcxx/patches.xx
Index: wasi-libc/Makefile
===================================================================
RCS file: /cvs/ports/lang/wasi-libc/Makefile,v
diff -u -r1.13 Makefile
--- wasi-libc/Makefile 6 May 2026 13:52:46 -0000 1.13
+++ wasi-libc/Makefile 11 May 2026 14:02:11 -0000
@@ -4,6 +4,9 @@
GH_PROJECT = wasi-libc
GH_COMMIT = wasi-sdk-29
DISTNAME = wasi-libc-0.20251114
+#GH_COMMIT = wasi-sdk-32
+#DISTNAME = wasi-libc-0.20260311
+#MODULES = devel/cmake
DISTFILES = ${GH_DISTFILE}
DISTFILES.h = wasi-libc-llvm13-std-headers.tar.gz
@@ -20,7 +23,18 @@
COMPILER = ports-clang
COMPILER_LANGS =c
+FLAVORS = llvm22
+FLAVOR ?=
+
+# XXX when moving to 22:
https://github.com/freebsd/freebsd-ports/commit/7c5b2039a45ad3fc5479a25f4143716135aa3279
+SUBST_VARS += TRIPLE
+.if ${FLAVOR:Mllvm22}
+MODCLANG_VERSION = 22
+TRIPLE=wasm32-wasip1
+.else
MODCLANG_VERSION = 19
+TRIPLE=wasm32-wasi
+.endif
USE_GMAKE = yes
ALL_TARGET = finish
BUILD_DEPENDS = shells/bash
@@ -28,6 +42,7 @@
MAKE_ENV += AR=${LOCALBASE}/bin/llvm-ar-${MODCLANG_VERSION} \
NM=${LOCALBASE}/bin/llvm-nm-${MODCLANG_VERSION} \
CHECK_SYMBOLS=yes \
+ TARGET_TRIPLE=${TRIPLE} \
BUILTINS_LIB=${WRKDIR}/libclang_rt.builtins-wasm32-wasi-25.0/libclang_rt.builtins-wasm32.a
\
INSTALL_DIR=${WRKINST}${PREFIX}/share/wasi-sysroot
@@ -38,6 +53,6 @@
post-install:
${INSTALL_DATA} ${WRKDIR}/sysroot/include/* \
- ${PREFIX}/share/wasi-sysroot/include/wasm32-wasi
+ ${PREFIX}/share/wasi-sysroot/include/${TRIPLE}
.include <bsd.port.mk>
Index: wasi-libc/patches/patch-Makefile
===================================================================
RCS file: /cvs/ports/lang/wasi-libc/patches/patch-Makefile,v
diff -u -r1.6 patch-Makefile
--- wasi-libc/patches/patch-Makefile 6 May 2026 13:52:46 -0000 1.6
+++ wasi-libc/patches/patch-Makefile 11 May 2026 14:02:11 -0000
@@ -5,6 +5,7 @@
llvm ports so we include them here instead
chunk 2: adapt regex for our grep
+chunk 3 & 4: syms for llvm22
Index: Makefile
--- Makefile.orig
+++ Makefile
@@ -26,7 +27,24 @@
mkdir -p "$(INSTALL_DIR)"
cp -p -r "$(SYSROOT)/lib" "$(SYSROOT)/share" "$(SYSROOT)/include"
"$(INSTALL_DIR)"
-@@ -1007,19 +1007,20 @@ endif
+@@ -925,7 +925,7 @@ check-symbols: $(STARTUP_FILES) libc
+ for undef_sym in $$("$(NM)" --undefined-only "$(SYSROOT_LIB)"/libc.a
"$(SYSROOT_LIB)"/libc-*.a "$(SYSROOT_LIB)"/*.o \
+ |grep ' U ' |sed 's/.* U //' |LC_ALL=C sort |uniq); do \
+ grep -q '\<'$$undef_sym'\>' "$(DEFINED_SYMBOLS)" || echo
$$undef_sym; \
+- done | grep -E -v
"^__mul|__memory_base|__indirect_function_table|__tls_base" >
"$(UNDEFINED_SYMBOLS)"
++ done | grep -E -v
"^__mul|__memory_base|__indirect_function_table|__wasm_first_page_end|__tls_base"
> "$(UNDEFINED_SYMBOLS)"
+ ifneq ($(WASI_SNAPSHOT), p2)
+ grep '^_*imported_wasi_' "$(UNDEFINED_SYMBOLS)" \
+ > "$(SYSROOT_LIB)/libc.imports"
+@@ -998,6 +998,7 @@ endif
+ -U__wasm_nontrapping_fptoint__ \
+ $(if $(filter-out
expected/wasm32-wasip1-threads,$(EXPECTED_TARGET_DIR)),-U__wasm_bulk_memory__) \
+ -U__wasm_bulk_memory_opt__ \
++ -U__wasip1__ \
+ -U__GNUC__ \
+ -U__GNUC_MINOR__ \
+ -U__GNUC_PATCHLEVEL__ \
+@@ -1007,19 +1008,20 @@ endif
-U__FLT_EVAL_METHOD__ -Wno-builtin-macro-redefined \
| sed -e
's/__[[:upper:][:digit:]]*_ATOMIC_\([[:upper:][:digit:]_]*\)_LOCK_FREE/__compiler_ATOMIC_\1_LOCK_FREE/'
\
| sed -e 's/__GNUC_VA_LIST $$/__GNUC_VA_LIST 1/' \
Index: wasi-libc/pkg/PLIST
===================================================================
RCS file: /cvs/ports/lang/wasi-libc/pkg/PLIST,v
diff -u -r1.5 PLIST
--- wasi-libc/pkg/PLIST 6 May 2026 13:52:46 -0000 1.5
+++ wasi-libc/pkg/PLIST 11 May 2026 14:02:11 -0000
@@ -1,245 +1,245 @@
share/wasi-sysroot/
share/wasi-sysroot/include/
-share/wasi-sysroot/include/wasm32-wasi/
-share/wasi-sysroot/include/wasm32-wasi/__errno.h
-share/wasi-sysroot/include/wasm32-wasi/__errno_values.h
-share/wasi-sysroot/include/wasm32-wasi/__fd_set.h
-share/wasi-sysroot/include/wasm32-wasi/__function___isatty.h
-share/wasi-sysroot/include/wasm32-wasi/__functions_malloc.h
-share/wasi-sysroot/include/wasm32-wasi/__functions_memcpy.h
-share/wasi-sysroot/include/wasm32-wasi/__header_dirent.h
-share/wasi-sysroot/include/wasm32-wasi/__header_fcntl.h
-share/wasi-sysroot/include/wasm32-wasi/__header_inttypes.h
-share/wasi-sysroot/include/wasm32-wasi/__header_netinet_in.h
-share/wasi-sysroot/include/wasm32-wasi/__header_poll.h
-share/wasi-sysroot/include/wasm32-wasi/__header_stdlib.h
-share/wasi-sysroot/include/wasm32-wasi/__header_string.h
-share/wasi-sysroot/include/wasm32-wasi/__header_sys_ioctl.h
-share/wasi-sysroot/include/wasm32-wasi/__header_sys_resource.h
-share/wasi-sysroot/include/wasm32-wasi/__header_sys_socket.h
-share/wasi-sysroot/include/wasm32-wasi/__header_sys_stat.h
-share/wasi-sysroot/include/wasm32-wasi/__header_time.h
-share/wasi-sysroot/include/wasm32-wasi/__header_unistd.h
-share/wasi-sysroot/include/wasm32-wasi/__macro_FD_SETSIZE.h
-share/wasi-sysroot/include/wasm32-wasi/__macro_PAGESIZE.h
-share/wasi-sysroot/include/wasm32-wasi/__mode_t.h
-share/wasi-sysroot/include/wasm32-wasi/__seek.h
-share/wasi-sysroot/include/wasm32-wasi/__struct_dirent.h
-share/wasi-sysroot/include/wasm32-wasi/__struct_in6_addr.h
-share/wasi-sysroot/include/wasm32-wasi/__struct_in_addr.h
-share/wasi-sysroot/include/wasm32-wasi/__struct_iovec.h
-share/wasi-sysroot/include/wasm32-wasi/__struct_msghdr.h
-share/wasi-sysroot/include/wasm32-wasi/__struct_pollfd.h
-share/wasi-sysroot/include/wasm32-wasi/__struct_rusage.h
-share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr.h
-share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr_in.h
-share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr_in6.h
-share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr_storage.h
-share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr_un.h
-share/wasi-sysroot/include/wasm32-wasi/__struct_stat.h
-share/wasi-sysroot/include/wasm32-wasi/__struct_timespec.h
-share/wasi-sysroot/include/wasm32-wasi/__struct_timeval.h
-share/wasi-sysroot/include/wasm32-wasi/__struct_tm.h
-share/wasi-sysroot/include/wasm32-wasi/__struct_tms.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_DIR.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_blkcnt_t.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_blksize_t.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_clock_t.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_clockid_t.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_dev_t.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_fd_set.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_gid_t.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_in_addr_t.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_in_port_t.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_ino_t.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_mode_t.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_nfds_t.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_nlink_t.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_off_t.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_sa_family_t.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_sigset_t.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_socklen_t.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_ssize_t.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_suseconds_t.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_time_t.h
-share/wasi-sysroot/include/wasm32-wasi/__typedef_uid_t.h
-share/wasi-sysroot/include/wasm32-wasi/__wasi_snapshot.h
-share/wasi-sysroot/include/wasm32-wasi/alloca.h
-share/wasi-sysroot/include/wasm32-wasi/ar.h
-share/wasi-sysroot/include/wasm32-wasi/arpa/
-share/wasi-sysroot/include/wasm32-wasi/arpa/ftp.h
-share/wasi-sysroot/include/wasm32-wasi/arpa/inet.h
-share/wasi-sysroot/include/wasm32-wasi/arpa/nameser.h
-share/wasi-sysroot/include/wasm32-wasi/arpa/nameser_compat.h
-share/wasi-sysroot/include/wasm32-wasi/arpa/telnet.h
-share/wasi-sysroot/include/wasm32-wasi/arpa/tftp.h
-share/wasi-sysroot/include/wasm32-wasi/assert.h
-share/wasi-sysroot/include/wasm32-wasi/bits/
-share/wasi-sysroot/include/wasm32-wasi/bits/alltypes.h
-share/wasi-sysroot/include/wasm32-wasi/bits/dirent.h
-share/wasi-sysroot/include/wasm32-wasi/bits/fcntl.h
-share/wasi-sysroot/include/wasm32-wasi/bits/fenv.h
-share/wasi-sysroot/include/wasm32-wasi/bits/float.h
-share/wasi-sysroot/include/wasm32-wasi/bits/hwcap.h
-share/wasi-sysroot/include/wasm32-wasi/bits/io.h
-share/wasi-sysroot/include/wasm32-wasi/bits/ioctl.h
-share/wasi-sysroot/include/wasm32-wasi/bits/ioctl_fix.h
-share/wasi-sysroot/include/wasm32-wasi/bits/ipcstat.h
-share/wasi-sysroot/include/wasm32-wasi/bits/limits.h
-share/wasi-sysroot/include/wasm32-wasi/bits/mman.h
-share/wasi-sysroot/include/wasm32-wasi/bits/poll.h
-share/wasi-sysroot/include/wasm32-wasi/bits/posix.h
-share/wasi-sysroot/include/wasm32-wasi/bits/reg.h
-share/wasi-sysroot/include/wasm32-wasi/bits/resource.h
-share/wasi-sysroot/include/wasm32-wasi/bits/setjmp.h
-share/wasi-sysroot/include/wasm32-wasi/bits/signal.h
-share/wasi-sysroot/include/wasm32-wasi/bits/socket.h
-share/wasi-sysroot/include/wasm32-wasi/bits/stat.h
-share/wasi-sysroot/include/wasm32-wasi/bits/stdint.h
-share/wasi-sysroot/include/wasm32-wasi/byteswap.h
-share/wasi-sysroot/include/wasm32-wasi/complex.h
-share/wasi-sysroot/include/wasm32-wasi/cpio.h
-share/wasi-sysroot/include/wasm32-wasi/crypt.h
-share/wasi-sysroot/include/wasm32-wasi/ctype.h
-share/wasi-sysroot/include/wasm32-wasi/dirent.h
-share/wasi-sysroot/include/wasm32-wasi/dlfcn.h
-share/wasi-sysroot/include/wasm32-wasi/endian.h
-share/wasi-sysroot/include/wasm32-wasi/err.h
-share/wasi-sysroot/include/wasm32-wasi/errno.h
-share/wasi-sysroot/include/wasm32-wasi/fcntl.h
-share/wasi-sysroot/include/wasm32-wasi/features.h
-share/wasi-sysroot/include/wasm32-wasi/fenv.h
-share/wasi-sysroot/include/wasm32-wasi/float.h
-share/wasi-sysroot/include/wasm32-wasi/fmtmsg.h
-share/wasi-sysroot/include/wasm32-wasi/fnmatch.h
-share/wasi-sysroot/include/wasm32-wasi/fts.h
-share/wasi-sysroot/include/wasm32-wasi/ftw.h
-share/wasi-sysroot/include/wasm32-wasi/getopt.h
-share/wasi-sysroot/include/wasm32-wasi/glob.h
-share/wasi-sysroot/include/wasm32-wasi/iconv.h
-share/wasi-sysroot/include/wasm32-wasi/ifaddrs.h
-share/wasi-sysroot/include/wasm32-wasi/inttypes.h
-share/wasi-sysroot/include/wasm32-wasi/iso646.h
-share/wasi-sysroot/include/wasm32-wasi/langinfo.h
-share/wasi-sysroot/include/wasm32-wasi/libgen.h
-share/wasi-sysroot/include/wasm32-wasi/limits.h
-share/wasi-sysroot/include/wasm32-wasi/locale.h
-share/wasi-sysroot/include/wasm32-wasi/malloc.h
-share/wasi-sysroot/include/wasm32-wasi/math.h
-share/wasi-sysroot/include/wasm32-wasi/memory.h
-share/wasi-sysroot/include/wasm32-wasi/monetary.h
-share/wasi-sysroot/include/wasm32-wasi/mqueue.h
-share/wasi-sysroot/include/wasm32-wasi/net/
-share/wasi-sysroot/include/wasm32-wasi/netinet/
-share/wasi-sysroot/include/wasm32-wasi/netinet/icmp6.h
-share/wasi-sysroot/include/wasm32-wasi/netinet/igmp.h
-share/wasi-sysroot/include/wasm32-wasi/netinet/in.h
-share/wasi-sysroot/include/wasm32-wasi/netinet/in_systm.h
-share/wasi-sysroot/include/wasm32-wasi/netinet/ip.h
-share/wasi-sysroot/include/wasm32-wasi/netinet/ip6.h
-share/wasi-sysroot/include/wasm32-wasi/netinet/ip_icmp.h
-share/wasi-sysroot/include/wasm32-wasi/netinet/tcp.h
-share/wasi-sysroot/include/wasm32-wasi/netinet/udp.h
-share/wasi-sysroot/include/wasm32-wasi/netpacket/
-share/wasi-sysroot/include/wasm32-wasi/netpacket/packet.h
-share/wasi-sysroot/include/wasm32-wasi/nl_types.h
-share/wasi-sysroot/include/wasm32-wasi/poll.h
-share/wasi-sysroot/include/wasm32-wasi/pthread.h
-share/wasi-sysroot/include/wasm32-wasi/regex.h
-share/wasi-sysroot/include/wasm32-wasi/sched.h
-share/wasi-sysroot/include/wasm32-wasi/scsi/
-share/wasi-sysroot/include/wasm32-wasi/search.h
-share/wasi-sysroot/include/wasm32-wasi/semaphore.h
-share/wasi-sysroot/include/wasm32-wasi/setjmp.h
-share/wasi-sysroot/include/wasm32-wasi/signal.h
-share/wasi-sysroot/include/wasm32-wasi/stdalign.h
-share/wasi-sysroot/include/wasm32-wasi/stdarg.h
-share/wasi-sysroot/include/wasm32-wasi/stdbool.h
-share/wasi-sysroot/include/wasm32-wasi/stdc-predef.h
-share/wasi-sysroot/include/wasm32-wasi/stddef.h
-share/wasi-sysroot/include/wasm32-wasi/stdint.h
-share/wasi-sysroot/include/wasm32-wasi/stdio.h
-share/wasi-sysroot/include/wasm32-wasi/stdio_ext.h
-share/wasi-sysroot/include/wasm32-wasi/stdlib.h
-share/wasi-sysroot/include/wasm32-wasi/stdnoreturn.h
-share/wasi-sysroot/include/wasm32-wasi/string.h
-share/wasi-sysroot/include/wasm32-wasi/strings.h
-share/wasi-sysroot/include/wasm32-wasi/stropts.h
-share/wasi-sysroot/include/wasm32-wasi/sys/
-share/wasi-sysroot/include/wasm32-wasi/sys/dir.h
-share/wasi-sysroot/include/wasm32-wasi/sys/errno.h
-share/wasi-sysroot/include/wasm32-wasi/sys/eventfd.h
-share/wasi-sysroot/include/wasm32-wasi/sys/fcntl.h
-share/wasi-sysroot/include/wasm32-wasi/sys/file.h
-share/wasi-sysroot/include/wasm32-wasi/sys/ioctl.h
-share/wasi-sysroot/include/wasm32-wasi/sys/mman.h
-share/wasi-sysroot/include/wasm32-wasi/sys/param.h
-share/wasi-sysroot/include/wasm32-wasi/sys/poll.h
-share/wasi-sysroot/include/wasm32-wasi/sys/random.h
-share/wasi-sysroot/include/wasm32-wasi/sys/reg.h
-share/wasi-sysroot/include/wasm32-wasi/sys/resource.h
-share/wasi-sysroot/include/wasm32-wasi/sys/select.h
-share/wasi-sysroot/include/wasm32-wasi/sys/signal.h
-share/wasi-sysroot/include/wasm32-wasi/sys/socket.h
-share/wasi-sysroot/include/wasm32-wasi/sys/stat.h
-share/wasi-sysroot/include/wasm32-wasi/sys/statvfs.h
-share/wasi-sysroot/include/wasm32-wasi/sys/stropts.h
-share/wasi-sysroot/include/wasm32-wasi/sys/syscall.h
-share/wasi-sysroot/include/wasm32-wasi/sys/sysinfo.h
-share/wasi-sysroot/include/wasm32-wasi/sys/time.h
-share/wasi-sysroot/include/wasm32-wasi/sys/timeb.h
-share/wasi-sysroot/include/wasm32-wasi/sys/times.h
-share/wasi-sysroot/include/wasm32-wasi/sys/timex.h
-share/wasi-sysroot/include/wasm32-wasi/sys/ttydefaults.h
-share/wasi-sysroot/include/wasm32-wasi/sys/types.h
-share/wasi-sysroot/include/wasm32-wasi/sys/uio.h
-share/wasi-sysroot/include/wasm32-wasi/sys/un.h
-share/wasi-sysroot/include/wasm32-wasi/sys/utsname.h
-share/wasi-sysroot/include/wasm32-wasi/syscall.h
-share/wasi-sysroot/include/wasm32-wasi/sysexits.h
-share/wasi-sysroot/include/wasm32-wasi/tar.h
-share/wasi-sysroot/include/wasm32-wasi/tgmath.h
-share/wasi-sysroot/include/wasm32-wasi/threads.h
-share/wasi-sysroot/include/wasm32-wasi/time.h
-share/wasi-sysroot/include/wasm32-wasi/uchar.h
-share/wasi-sysroot/include/wasm32-wasi/unistd.h
-share/wasi-sysroot/include/wasm32-wasi/utime.h
-share/wasi-sysroot/include/wasm32-wasi/values.h
-share/wasi-sysroot/include/wasm32-wasi/wasi/
-share/wasi-sysroot/include/wasm32-wasi/wasi/api.h
-share/wasi-sysroot/include/wasm32-wasi/wasi/libc-busywait.h
-share/wasi-sysroot/include/wasm32-wasi/wasi/libc-environ.h
-share/wasi-sysroot/include/wasm32-wasi/wasi/libc-find-relpath.h
-share/wasi-sysroot/include/wasm32-wasi/wasi/libc-nocwd.h
-share/wasi-sysroot/include/wasm32-wasi/wasi/libc.h
-share/wasi-sysroot/include/wasm32-wasi/wasi/wasip2.h
-share/wasi-sysroot/include/wasm32-wasi/wchar.h
-share/wasi-sysroot/include/wasm32-wasi/wctype.h
+share/wasi-sysroot/include/${TRIPLE}/
+share/wasi-sysroot/include/${TRIPLE}/__errno.h
+share/wasi-sysroot/include/${TRIPLE}/__errno_values.h
+share/wasi-sysroot/include/${TRIPLE}/__fd_set.h
+share/wasi-sysroot/include/${TRIPLE}/__function___isatty.h
+share/wasi-sysroot/include/${TRIPLE}/__functions_malloc.h
+share/wasi-sysroot/include/${TRIPLE}/__functions_memcpy.h
+share/wasi-sysroot/include/${TRIPLE}/__header_dirent.h
+share/wasi-sysroot/include/${TRIPLE}/__header_fcntl.h
+share/wasi-sysroot/include/${TRIPLE}/__header_inttypes.h
+share/wasi-sysroot/include/${TRIPLE}/__header_netinet_in.h
+share/wasi-sysroot/include/${TRIPLE}/__header_poll.h
+share/wasi-sysroot/include/${TRIPLE}/__header_stdlib.h
+share/wasi-sysroot/include/${TRIPLE}/__header_string.h
+share/wasi-sysroot/include/${TRIPLE}/__header_sys_ioctl.h
+share/wasi-sysroot/include/${TRIPLE}/__header_sys_resource.h
+share/wasi-sysroot/include/${TRIPLE}/__header_sys_socket.h
+share/wasi-sysroot/include/${TRIPLE}/__header_sys_stat.h
+share/wasi-sysroot/include/${TRIPLE}/__header_time.h
+share/wasi-sysroot/include/${TRIPLE}/__header_unistd.h
+share/wasi-sysroot/include/${TRIPLE}/__macro_FD_SETSIZE.h
+share/wasi-sysroot/include/${TRIPLE}/__macro_PAGESIZE.h
+share/wasi-sysroot/include/${TRIPLE}/__mode_t.h
+share/wasi-sysroot/include/${TRIPLE}/__seek.h
+share/wasi-sysroot/include/${TRIPLE}/__struct_dirent.h
+share/wasi-sysroot/include/${TRIPLE}/__struct_in6_addr.h
+share/wasi-sysroot/include/${TRIPLE}/__struct_in_addr.h
+share/wasi-sysroot/include/${TRIPLE}/__struct_iovec.h
+share/wasi-sysroot/include/${TRIPLE}/__struct_msghdr.h
+share/wasi-sysroot/include/${TRIPLE}/__struct_pollfd.h
+share/wasi-sysroot/include/${TRIPLE}/__struct_rusage.h
+share/wasi-sysroot/include/${TRIPLE}/__struct_sockaddr.h
+share/wasi-sysroot/include/${TRIPLE}/__struct_sockaddr_in.h
+share/wasi-sysroot/include/${TRIPLE}/__struct_sockaddr_in6.h
+share/wasi-sysroot/include/${TRIPLE}/__struct_sockaddr_storage.h
+share/wasi-sysroot/include/${TRIPLE}/__struct_sockaddr_un.h
+share/wasi-sysroot/include/${TRIPLE}/__struct_stat.h
+share/wasi-sysroot/include/${TRIPLE}/__struct_timespec.h
+share/wasi-sysroot/include/${TRIPLE}/__struct_timeval.h
+share/wasi-sysroot/include/${TRIPLE}/__struct_tm.h
+share/wasi-sysroot/include/${TRIPLE}/__struct_tms.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_DIR.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_blkcnt_t.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_blksize_t.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_clock_t.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_clockid_t.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_dev_t.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_fd_set.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_gid_t.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_in_addr_t.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_in_port_t.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_ino_t.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_mode_t.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_nfds_t.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_nlink_t.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_off_t.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_sa_family_t.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_sigset_t.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_socklen_t.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_ssize_t.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_suseconds_t.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_time_t.h
+share/wasi-sysroot/include/${TRIPLE}/__typedef_uid_t.h
+share/wasi-sysroot/include/${TRIPLE}/__wasi_snapshot.h
+share/wasi-sysroot/include/${TRIPLE}/alloca.h
+share/wasi-sysroot/include/${TRIPLE}/ar.h
+share/wasi-sysroot/include/${TRIPLE}/arpa/
+share/wasi-sysroot/include/${TRIPLE}/arpa/ftp.h
+share/wasi-sysroot/include/${TRIPLE}/arpa/inet.h
+share/wasi-sysroot/include/${TRIPLE}/arpa/nameser.h
+share/wasi-sysroot/include/${TRIPLE}/arpa/nameser_compat.h
+share/wasi-sysroot/include/${TRIPLE}/arpa/telnet.h
+share/wasi-sysroot/include/${TRIPLE}/arpa/tftp.h
+share/wasi-sysroot/include/${TRIPLE}/assert.h
+share/wasi-sysroot/include/${TRIPLE}/bits/
+share/wasi-sysroot/include/${TRIPLE}/bits/alltypes.h
+share/wasi-sysroot/include/${TRIPLE}/bits/dirent.h
+share/wasi-sysroot/include/${TRIPLE}/bits/fcntl.h
+share/wasi-sysroot/include/${TRIPLE}/bits/fenv.h
+share/wasi-sysroot/include/${TRIPLE}/bits/float.h
+share/wasi-sysroot/include/${TRIPLE}/bits/hwcap.h
+share/wasi-sysroot/include/${TRIPLE}/bits/io.h
+share/wasi-sysroot/include/${TRIPLE}/bits/ioctl.h
+share/wasi-sysroot/include/${TRIPLE}/bits/ioctl_fix.h
+share/wasi-sysroot/include/${TRIPLE}/bits/ipcstat.h
+share/wasi-sysroot/include/${TRIPLE}/bits/limits.h
+share/wasi-sysroot/include/${TRIPLE}/bits/mman.h
+share/wasi-sysroot/include/${TRIPLE}/bits/poll.h
+share/wasi-sysroot/include/${TRIPLE}/bits/posix.h
+share/wasi-sysroot/include/${TRIPLE}/bits/reg.h
+share/wasi-sysroot/include/${TRIPLE}/bits/resource.h
+share/wasi-sysroot/include/${TRIPLE}/bits/setjmp.h
+share/wasi-sysroot/include/${TRIPLE}/bits/signal.h
+share/wasi-sysroot/include/${TRIPLE}/bits/socket.h
+share/wasi-sysroot/include/${TRIPLE}/bits/stat.h
+share/wasi-sysroot/include/${TRIPLE}/bits/stdint.h
+share/wasi-sysroot/include/${TRIPLE}/byteswap.h
+share/wasi-sysroot/include/${TRIPLE}/complex.h
+share/wasi-sysroot/include/${TRIPLE}/cpio.h
+share/wasi-sysroot/include/${TRIPLE}/crypt.h
+share/wasi-sysroot/include/${TRIPLE}/ctype.h
+share/wasi-sysroot/include/${TRIPLE}/dirent.h
+share/wasi-sysroot/include/${TRIPLE}/dlfcn.h
+share/wasi-sysroot/include/${TRIPLE}/endian.h
+share/wasi-sysroot/include/${TRIPLE}/err.h
+share/wasi-sysroot/include/${TRIPLE}/errno.h
+share/wasi-sysroot/include/${TRIPLE}/fcntl.h
+share/wasi-sysroot/include/${TRIPLE}/features.h
+share/wasi-sysroot/include/${TRIPLE}/fenv.h
+share/wasi-sysroot/include/${TRIPLE}/float.h
+share/wasi-sysroot/include/${TRIPLE}/fmtmsg.h
+share/wasi-sysroot/include/${TRIPLE}/fnmatch.h
+share/wasi-sysroot/include/${TRIPLE}/fts.h
+share/wasi-sysroot/include/${TRIPLE}/ftw.h
+share/wasi-sysroot/include/${TRIPLE}/getopt.h
+share/wasi-sysroot/include/${TRIPLE}/glob.h
+share/wasi-sysroot/include/${TRIPLE}/iconv.h
+share/wasi-sysroot/include/${TRIPLE}/ifaddrs.h
+share/wasi-sysroot/include/${TRIPLE}/inttypes.h
+share/wasi-sysroot/include/${TRIPLE}/iso646.h
+share/wasi-sysroot/include/${TRIPLE}/langinfo.h
+share/wasi-sysroot/include/${TRIPLE}/libgen.h
+share/wasi-sysroot/include/${TRIPLE}/limits.h
+share/wasi-sysroot/include/${TRIPLE}/locale.h
+share/wasi-sysroot/include/${TRIPLE}/malloc.h
+share/wasi-sysroot/include/${TRIPLE}/math.h
+share/wasi-sysroot/include/${TRIPLE}/memory.h
+share/wasi-sysroot/include/${TRIPLE}/monetary.h
+share/wasi-sysroot/include/${TRIPLE}/mqueue.h
+share/wasi-sysroot/include/${TRIPLE}/net/
+share/wasi-sysroot/include/${TRIPLE}/netinet/
+share/wasi-sysroot/include/${TRIPLE}/netinet/icmp6.h
+share/wasi-sysroot/include/${TRIPLE}/netinet/igmp.h
+share/wasi-sysroot/include/${TRIPLE}/netinet/in.h
+share/wasi-sysroot/include/${TRIPLE}/netinet/in_systm.h
+share/wasi-sysroot/include/${TRIPLE}/netinet/ip.h
+share/wasi-sysroot/include/${TRIPLE}/netinet/ip6.h
+share/wasi-sysroot/include/${TRIPLE}/netinet/ip_icmp.h
+share/wasi-sysroot/include/${TRIPLE}/netinet/tcp.h
+share/wasi-sysroot/include/${TRIPLE}/netinet/udp.h
+share/wasi-sysroot/include/${TRIPLE}/netpacket/
+share/wasi-sysroot/include/${TRIPLE}/netpacket/packet.h
+share/wasi-sysroot/include/${TRIPLE}/nl_types.h
+share/wasi-sysroot/include/${TRIPLE}/poll.h
+share/wasi-sysroot/include/${TRIPLE}/pthread.h
+share/wasi-sysroot/include/${TRIPLE}/regex.h
+share/wasi-sysroot/include/${TRIPLE}/sched.h
+share/wasi-sysroot/include/${TRIPLE}/scsi/
+share/wasi-sysroot/include/${TRIPLE}/search.h
+share/wasi-sysroot/include/${TRIPLE}/semaphore.h
+share/wasi-sysroot/include/${TRIPLE}/setjmp.h
+share/wasi-sysroot/include/${TRIPLE}/signal.h
+share/wasi-sysroot/include/${TRIPLE}/stdalign.h
+share/wasi-sysroot/include/${TRIPLE}/stdarg.h
+share/wasi-sysroot/include/${TRIPLE}/stdbool.h
+share/wasi-sysroot/include/${TRIPLE}/stdc-predef.h
+share/wasi-sysroot/include/${TRIPLE}/stddef.h
+share/wasi-sysroot/include/${TRIPLE}/stdint.h
+share/wasi-sysroot/include/${TRIPLE}/stdio.h
+share/wasi-sysroot/include/${TRIPLE}/stdio_ext.h
+share/wasi-sysroot/include/${TRIPLE}/stdlib.h
+share/wasi-sysroot/include/${TRIPLE}/stdnoreturn.h
+share/wasi-sysroot/include/${TRIPLE}/string.h
+share/wasi-sysroot/include/${TRIPLE}/strings.h
+share/wasi-sysroot/include/${TRIPLE}/stropts.h
+share/wasi-sysroot/include/${TRIPLE}/sys/
+share/wasi-sysroot/include/${TRIPLE}/sys/dir.h
+share/wasi-sysroot/include/${TRIPLE}/sys/errno.h
+share/wasi-sysroot/include/${TRIPLE}/sys/eventfd.h
+share/wasi-sysroot/include/${TRIPLE}/sys/fcntl.h
+share/wasi-sysroot/include/${TRIPLE}/sys/file.h
+share/wasi-sysroot/include/${TRIPLE}/sys/ioctl.h
+share/wasi-sysroot/include/${TRIPLE}/sys/mman.h
+share/wasi-sysroot/include/${TRIPLE}/sys/param.h
+share/wasi-sysroot/include/${TRIPLE}/sys/poll.h
+share/wasi-sysroot/include/${TRIPLE}/sys/random.h
+share/wasi-sysroot/include/${TRIPLE}/sys/reg.h
+share/wasi-sysroot/include/${TRIPLE}/sys/resource.h
+share/wasi-sysroot/include/${TRIPLE}/sys/select.h
+share/wasi-sysroot/include/${TRIPLE}/sys/signal.h
+share/wasi-sysroot/include/${TRIPLE}/sys/socket.h
+share/wasi-sysroot/include/${TRIPLE}/sys/stat.h
+share/wasi-sysroot/include/${TRIPLE}/sys/statvfs.h
+share/wasi-sysroot/include/${TRIPLE}/sys/stropts.h
+share/wasi-sysroot/include/${TRIPLE}/sys/syscall.h
+share/wasi-sysroot/include/${TRIPLE}/sys/sysinfo.h
+share/wasi-sysroot/include/${TRIPLE}/sys/time.h
+share/wasi-sysroot/include/${TRIPLE}/sys/timeb.h
+share/wasi-sysroot/include/${TRIPLE}/sys/times.h
+share/wasi-sysroot/include/${TRIPLE}/sys/timex.h
+share/wasi-sysroot/include/${TRIPLE}/sys/ttydefaults.h
+share/wasi-sysroot/include/${TRIPLE}/sys/types.h
+share/wasi-sysroot/include/${TRIPLE}/sys/uio.h
+share/wasi-sysroot/include/${TRIPLE}/sys/un.h
+share/wasi-sysroot/include/${TRIPLE}/sys/utsname.h
+share/wasi-sysroot/include/${TRIPLE}/syscall.h
+share/wasi-sysroot/include/${TRIPLE}/sysexits.h
+share/wasi-sysroot/include/${TRIPLE}/tar.h
+share/wasi-sysroot/include/${TRIPLE}/tgmath.h
+share/wasi-sysroot/include/${TRIPLE}/threads.h
+share/wasi-sysroot/include/${TRIPLE}/time.h
+share/wasi-sysroot/include/${TRIPLE}/uchar.h
+share/wasi-sysroot/include/${TRIPLE}/unistd.h
+share/wasi-sysroot/include/${TRIPLE}/utime.h
+share/wasi-sysroot/include/${TRIPLE}/values.h
+share/wasi-sysroot/include/${TRIPLE}/wasi/
+share/wasi-sysroot/include/${TRIPLE}/wasi/api.h
+share/wasi-sysroot/include/${TRIPLE}/wasi/libc-busywait.h
+share/wasi-sysroot/include/${TRIPLE}/wasi/libc-environ.h
+share/wasi-sysroot/include/${TRIPLE}/wasi/libc-find-relpath.h
+share/wasi-sysroot/include/${TRIPLE}/wasi/libc-nocwd.h
+share/wasi-sysroot/include/${TRIPLE}/wasi/libc.h
+share/wasi-sysroot/include/${TRIPLE}/wasi/wasip2.h
+share/wasi-sysroot/include/${TRIPLE}/wchar.h
+share/wasi-sysroot/include/${TRIPLE}/wctype.h
share/wasi-sysroot/lib/
-share/wasi-sysroot/lib/wasm32-wasi/
-share/wasi-sysroot/lib/wasm32-wasi/crt1-command.o
-share/wasi-sysroot/lib/wasm32-wasi/crt1-reactor.o
-share/wasi-sysroot/lib/wasm32-wasi/crt1.o
-@static-lib share/wasi-sysroot/lib/wasm32-wasi/libc-printscan-long-double.a
-@static-lib
share/wasi-sysroot/lib/wasm32-wasi/libc-printscan-no-floating-point.a
-@static-lib share/wasi-sysroot/lib/wasm32-wasi/libc.a
-share/wasi-sysroot/lib/wasm32-wasi/libc.imports
-@static-lib share/wasi-sysroot/lib/wasm32-wasi/libcrypt.a
-@static-lib share/wasi-sysroot/lib/wasm32-wasi/libdl.a
-@static-lib share/wasi-sysroot/lib/wasm32-wasi/libm.a
-@static-lib share/wasi-sysroot/lib/wasm32-wasi/libpthread.a
-@static-lib share/wasi-sysroot/lib/wasm32-wasi/libresolv.a
-@static-lib share/wasi-sysroot/lib/wasm32-wasi/librt.a
-@static-lib share/wasi-sysroot/lib/wasm32-wasi/libsetjmp.a
-@static-lib share/wasi-sysroot/lib/wasm32-wasi/libutil.a
-@static-lib share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-getpid.a
-@static-lib share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-mman.a
-@static-lib
share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-process-clocks.a
-@static-lib share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-signal.a
-@static-lib share/wasi-sysroot/lib/wasm32-wasi/libxnet.a
+share/wasi-sysroot/lib/${TRIPLE}/
+share/wasi-sysroot/lib/${TRIPLE}/crt1-command.o
+share/wasi-sysroot/lib/${TRIPLE}/crt1-reactor.o
+share/wasi-sysroot/lib/${TRIPLE}/crt1.o
+@static-lib share/wasi-sysroot/lib/${TRIPLE}/libc-printscan-long-double.a
+@static-lib share/wasi-sysroot/lib/${TRIPLE}/libc-printscan-no-floating-point.a
+@static-lib share/wasi-sysroot/lib/${TRIPLE}/libc.a
+share/wasi-sysroot/lib/${TRIPLE}/libc.imports
+@static-lib share/wasi-sysroot/lib/${TRIPLE}/libcrypt.a
+@static-lib share/wasi-sysroot/lib/${TRIPLE}/libdl.a
+@static-lib share/wasi-sysroot/lib/${TRIPLE}/libm.a
+@static-lib share/wasi-sysroot/lib/${TRIPLE}/libpthread.a
+@static-lib share/wasi-sysroot/lib/${TRIPLE}/libresolv.a
+@static-lib share/wasi-sysroot/lib/${TRIPLE}/librt.a
+@static-lib share/wasi-sysroot/lib/${TRIPLE}/libsetjmp.a
+@static-lib share/wasi-sysroot/lib/${TRIPLE}/libutil.a
+@static-lib share/wasi-sysroot/lib/${TRIPLE}/libwasi-emulated-getpid.a
+@static-lib share/wasi-sysroot/lib/${TRIPLE}/libwasi-emulated-mman.a
+@static-lib share/wasi-sysroot/lib/${TRIPLE}/libwasi-emulated-process-clocks.a
+@static-lib share/wasi-sysroot/lib/${TRIPLE}/libwasi-emulated-signal.a
+@static-lib share/wasi-sysroot/lib/${TRIPLE}/libxnet.a
share/wasi-sysroot/share/
-share/wasi-sysroot/share/wasm32-wasi/
-share/wasi-sysroot/share/wasm32-wasi/defined-symbols.txt
-share/wasi-sysroot/share/wasm32-wasi/include-all.c
-share/wasi-sysroot/share/wasm32-wasi/predefined-macros.txt
-share/wasi-sysroot/share/wasm32-wasi/undefined-symbols.txt
+share/wasi-sysroot/share/${TRIPLE}/
+share/wasi-sysroot/share/${TRIPLE}/defined-symbols.txt
+share/wasi-sysroot/share/${TRIPLE}/include-all.c
+share/wasi-sysroot/share/${TRIPLE}/predefined-macros.txt
+share/wasi-sysroot/share/${TRIPLE}/undefined-symbols.txt
Index: wasi-sdk/Makefile.inc
===================================================================
RCS file: /cvs/ports/lang/wasi-sdk/Makefile.inc,v
diff -u -r1.9 Makefile.inc
--- wasi-sdk/Makefile.inc 10 May 2026 11:07:47 -0000 1.9
+++ wasi-sdk/Makefile.inc 11 May 2026 14:02:11 -0000
@@ -4,13 +4,12 @@
SITES =
https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_V}/
EXTRACT_SUFX = .tar.xz
COMPILER = ports-clang
-MODCLANG_VERSION= 19
MODULES = devel/cmake
WASI_SYSROOT = ${LOCALBASE}/share/wasi-sysroot
# https://github.com/WebAssembly/wasi-sdk/issues/52
CFLAGS += -fno-exceptions
CXXFLAGS += -fno-exceptions
-TRIPLE = wasm32-wasi
+SUBST_VARS += TRIPLE
WRKSRC = ${WRKDIR}/${DISTNAME}/${BUILDSUBDIR}
DISTFILES = llvm-project-${LLVM_V}.src${EXTRACT_SUFX}
Index: wasi-sdk/compiler-rt/Makefile
===================================================================
RCS file: /cvs/ports/lang/wasi-sdk/compiler-rt/Makefile,v
diff -u -r1.13 Makefile
--- wasi-sdk/compiler-rt/Makefile 10 May 2026 11:07:47 -0000 1.13
+++ wasi-sdk/compiler-rt/Makefile 11 May 2026 14:02:11 -0000
@@ -2,14 +2,13 @@
DISTNAME = llvm-project-${LLVM_V}.src
PKGNAME = wasi-compiler-rt-${LLVM_V}
-LIBPATH = wasi/libclang_rt.builtins-wasm32.a
+
BUILDSUBDIR = compiler-rt/lib/builtins
-BUILD_DEPENDS += lang/wasi-libc>=0.20251114
# In transition from BSD-ish to Apache 2 + LLVM exceptions
PERMIT_PACKAGE = Yes
-SUBST_VARS += MODCLANG_VERSION
+SUBST_VARS += MODCLANG_VERSION LIBPATH
CONFIGURE_ARGS= \
-DLLVM_CMAKE_DIR=${LOCALBASE}/llvm${MODCLANG_VERSION}/lib/cmake/llvm \
@@ -23,7 +22,22 @@
-DCOMPILER_RT_BAREMETAL_BUILD=ON \
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
-DCOMPILER_RT_HAS_FPIC_FLAG:BOOL=ON \
- -DCOMPILER_RT_INCLUDE_TESTS=OFF \
- -DCOMPILER_RT_OS_DIR=wasi
+ -DCOMPILER_RT_INCLUDE_TESTS=OFF
+
+FLAVORS = llvm22
+FLAVOR ?=
+.if ${FLAVOR:Mllvm22}
+BUILD_DEPENDS += lang/wasi-libc,${FLAVOR}>=0.20251114
+TRIPLE = wasm32-unknown-wasip1
+CONFIGURE_ARGS += -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON
+LIBPATH = wasm32-unknown-wasip1/libclang_rt.builtins.a
+MODCLANG_VERSION= 22
+.else
+BUILD_DEPENDS += wasi-libc->=0.20251114-!llvm22:lang/wasi-libc
+TRIPLE = wasm32-wasi
+CONFIGURE_ARGS += -DCOMPILER_RT_OS_DIR=wasi
+LIBPATH = wasi/libclang_rt.builtins-wasm32.a
+MODCLANG_VERSION= 19
+.endif
.include <bsd.port.mk>
Index: wasi-sdk/compiler-rt/pkg/PLIST
===================================================================
RCS file: /cvs/ports/lang/wasi-sdk/compiler-rt/pkg/PLIST,v
diff -u -r1.3 PLIST
--- wasi-sdk/compiler-rt/pkg/PLIST 18 Nov 2023 07:40:08 -0000 1.3
+++ wasi-sdk/compiler-rt/pkg/PLIST 11 May 2026 14:02:11 -0000
@@ -3,5 +3,5 @@
llvm${MODCLANG_VERSION}/lib/clang/
llvm${MODCLANG_VERSION}/lib/clang/${MODCLANG_VERSION}/
llvm${MODCLANG_VERSION}/lib/clang/${MODCLANG_VERSION}/lib/
-llvm${MODCLANG_VERSION}/lib/clang/${MODCLANG_VERSION}/lib/wasi/
-@static-lib
llvm${MODCLANG_VERSION}/lib/clang/${MODCLANG_VERSION}/lib/wasi/libclang_rt.builtins-wasm32.a
+llvm${MODCLANG_VERSION}/lib/clang/${MODCLANG_VERSION}/lib/${TRIPLE}/
+@static-lib
llvm${MODCLANG_VERSION}/lib/clang/${MODCLANG_VERSION}/lib/${LIBPATH}
Index: wasi-sdk/libcxx/Makefile
===================================================================
RCS file: /cvs/ports/lang/wasi-sdk/libcxx/Makefile,v
diff -u -r1.8 Makefile
--- wasi-sdk/libcxx/Makefile 10 May 2026 11:07:48 -0000 1.8
+++ wasi-sdk/libcxx/Makefile 11 May 2026 14:02:11 -0000
@@ -8,7 +8,18 @@
# In transition from BSD-ish to Apache 2 + LLVM exceptions
PERMIT_PACKAGE = Yes
-BUILD_DEPENDS += lang/wasi-libc>=0.20251114
+
+FLAVORS = llvm22
+FLAVOR ?=
+.if ${FLAVOR:Mllvm22}
+BUILD_DEPENDS += lang/wasi-libc,${FLAVOR}>=0.20251114
+TRIPLE = wasm32-wasip1
+MODCLANG_VERSION= 22
+.else
+BUILD_DEPENDS += wasi-libc->=0.20251114-!llvm22:lang/wasi-libc
+MODCLANG_VERSION= 19
+TRIPLE = wasm32-wasi
+.endif
CONFIGURE_ARGS= \
-DLLVM_CMAKE_DIR=${LOCALBASE}/llvm${MODCLANG_VERSION}/lib/cmake/llvm \
Index: wasi-sdk/libcxx/pkg/PLIST
===================================================================
RCS file: /cvs/ports/lang/wasi-sdk/libcxx/pkg/PLIST,v
diff -u -r1.5 PLIST
--- wasi-sdk/libcxx/pkg/PLIST 10 May 2026 11:07:48 -0000 1.5
+++ wasi-sdk/libcxx/pkg/PLIST 11 May 2026 14:02:11 -0000
@@ -1774,11 +1774,11 @@
share/wasi-sysroot/include/c++/v1/wchar.h
share/wasi-sysroot/include/c++/v1/wctype.h
share/wasi-sysroot/lib/
-share/wasi-sysroot/lib/wasm32-wasi/
-@static-lib share/wasi-sysroot/lib/wasm32-wasi/libc++.a
-share/wasi-sysroot/lib/wasm32-wasi/libc++.modules.json
-@static-lib share/wasi-sysroot/lib/wasm32-wasi/libc++abi.a
-@static-lib share/wasi-sysroot/lib/wasm32-wasi/libc++experimental.a
+share/wasi-sysroot/lib/${TRIPLE}/
+@static-lib share/wasi-sysroot/lib/${TRIPLE}/libc++.a
+share/wasi-sysroot/lib/${TRIPLE}/libc++.modules.json
+@static-lib share/wasi-sysroot/lib/${TRIPLE}/libc++abi.a
+@static-lib share/wasi-sysroot/lib/${TRIPLE}/libc++experimental.a
share/wasi-sysroot/share/
share/wasi-sysroot/share/libc++/
share/wasi-sysroot/share/libc++/v1/
Index: Makefile
===================================================================
RCS file: /cvs/ports/www/mozilla-firefox/Makefile,v
diff -u -r1.681 Makefile
--- Makefile 7 May 2026 13:40:20 -0000 1.681
+++ Makefile 11 May 2026 15:17:46 -0000
@@ -3,10 +3,11 @@
# Don't forget to bump www/firefox-i18n after updates.
-MOZILLA_VERSION = 150.0.2
+MOZILLA_VERSION = 151.0b8
MOZILLA_BRANCH = release
MOZILLA_PROJECT = firefox
MOZILLA_CODENAME = browser
+MOZILLA_PROFDATA_TASKID = YQSq2L4gTx2zO9EY1er9vQ
WRKDIST = ${WRKDIR}/${MOZILLA_DIST}-${MOZILLA_DIST_VERSION:C/b[0-9]*//}
HOMEPAGE = https://www.mozilla.org/firefox/
@@ -26,15 +27,17 @@
MODPY_RUNDEP = No
COMPILER = ports-clang
+MODCLANG_VERSION = 22
+USE_LLD = ports
# 63 requires node because why not #1483595
BUILD_DEPENDS += lang/node
# 63 requires cbindgen #1478813
BUILD_DEPENDS += devel/cbindgen>=0.23.0
# wasi
-BUILD_DEPENDS += lang/wasi-sdk/compiler-rt \
- lang/wasi-sdk/libcxx \
- lang/wasi-libc
+BUILD_DEPENDS += lang/wasi-sdk/compiler-rt,llvm22 \
+ lang/wasi-sdk/libcxx,llvm22 \
+ lang/wasi-libc,llvm22
# mach uses pkg_resources
BUILD_DEPENDS += devel/py-setuptools
Index: distinfo
===================================================================
RCS file: /cvs/ports/www/mozilla-firefox/distinfo,v
diff -u -r1.398 distinfo
--- distinfo 7 May 2026 13:40:20 -0000 1.398
+++ distinfo 11 May 2026 15:17:46 -0000
@@ -1,2 +1,4 @@
-SHA256 (mozilla/firefox-150.0.2.source.tar.xz) =
44MLIM32YKnN7G5NIybXztBzM9l0bfAoz8AMghasvsk=
-SIZE (mozilla/firefox-150.0.2.source.tar.xz) = 709752320
+SHA256 (mozilla/firefox-151.0b8.source-profdata.tar.xz) =
huLfb1BX3HQqMcHPKxl8KlTQrkwDZdJFZgj6MlGBw4k=
+SHA256 (mozilla/firefox-151.0b8.source.tar.xz) =
fcLqb9XoyAk49QRvcTq0JJMYkNXKRUqs47HIHxNY+Sg=
+SIZE (mozilla/firefox-151.0b8.source-profdata.tar.xz) = 18545880
+SIZE (mozilla/firefox-151.0b8.source.tar.xz) = 781568796
Index: Makefile
===================================================================
RCS file: /cvs/ports/www/firefox-esr/Makefile,v
diff -u -r1.272 Makefile
--- Makefile 8 May 2026 18:24:40 -0000 1.272
+++ Makefile 11 May 2026 15:17:20 -0000
@@ -24,16 +24,22 @@
MODPY_RUNDEP = No
+SITES.p = https://bugzilla.mozilla.org/
+PATCHFILES.p= bug-2038504-backport-bug-D262840-to-esr140.patch
+PATCH_DIST_STRIP = -p1 -f
+
COMPILER = ports-clang
+MODCLANG_VERSION = 22
+USE_LLD = ports
# 63 requires node because why not #1483595
BUILD_DEPENDS += lang/node
# 63 requires cbindgen #1478813
BUILD_DEPENDS += devel/cbindgen>=0.23.0
# wasi
-BUILD_DEPENDS += lang/wasi-sdk/compiler-rt \
- lang/wasi-sdk/libcxx \
- lang/wasi-libc
+BUILD_DEPENDS += lang/wasi-sdk/compiler-rt,llvm22 \
+ lang/wasi-sdk/libcxx,llvm22 \
+ lang/wasi-libc,llvm22
# mach uses pkg_resources
BUILD_DEPENDS += devel/py-setuptools
@@ -73,6 +79,7 @@
CONFIGURE_ARGS += --enable-sandbox
CONFIGURE_ARGS += --enable-forkserver
CONFIGURE_ARGS += --with-wasi-sysroot=${LOCALBASE}/share/wasi-sysroot
+#CONFIGURE_ARGS += --without-wasm-sandboxed-libraries
# LTO eats too much RAM on riscv64
.if ${MACHINE_ARCH} != riscv64
CONFIGURE_ARGS += --enable-lto=thin
Index: distinfo
===================================================================
RCS file: /cvs/ports/www/firefox-esr/distinfo,v
diff -u -r1.182 distinfo
--- distinfo 8 May 2026 18:24:40 -0000 1.182
+++ distinfo 11 May 2026 15:17:20 -0000
@@ -1,4 +1,6 @@
+SHA256 (mozilla/bug-2038504-backport-bug-D262840-to-esr140.patch) =
zpr2OT4BsxJzYMxddtYfqxuIM1xxa8xOR5orDPSo2jA=
SHA256 (mozilla/firefox-140.10.2esr.source-profdata.tar.xz) =
o3NC9nHV0t91M0oyI/xEKwzr8chluaA5TXncJHbmlwA=
SHA256 (mozilla/firefox-140.10.2esr.source.tar.xz) =
eWv2U3LnAsEyd+bzjpJ23tnc7qgeiTTCmgZWgBbyTnc=
+SIZE (mozilla/bug-2038504-backport-bug-D262840-to-esr140.patch) = 606640
SIZE (mozilla/firefox-140.10.2esr.source-profdata.tar.xz) = 17204388
SIZE (mozilla/firefox-140.10.2esr.source.tar.xz) = 638783848
Index: patches/patch-Cargo_lock
===================================================================
RCS file: patches/patch-Cargo_lock
diff -N patches/patch-Cargo_lock
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-Cargo_lock 11 May 2026 15:17:20 -0000
@@ -0,0 +1,212 @@
+regenerated cargo.lock on top of the jumbo patch
+
+Index: Cargo.lock
+--- Cargo.lock.orig
++++ Cargo.lock
+@@ -973,7 +973,7 @@ dependencies = [
+ [[package]]
+ name = "context_id"
+ version = "0.1.0"
+-source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "chrono",
+ "error-support",
+@@ -1913,7 +1913,7 @@ dependencies = [
+ [[package]]
+ name = "error-support"
+ version = "0.1.0"
+-source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "env_logger",
+ "error-support-macros",
+@@ -1926,7 +1926,7 @@ dependencies = [
+ [[package]]
+ name = "error-support-macros"
+ version = "0.1.0"
+-source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+@@ -2045,7 +2045,7 @@ dependencies = [
+ [[package]]
+ name = "firefox-versioning"
+ version = "0.1.0"
+-source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "serde_json",
+ "thiserror 1.999.999",
+@@ -3386,7 +3386,7 @@ dependencies = [
+ [[package]]
+ name = "interrupt-support"
+ version = "0.1.0"
+-source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "lazy_static",
+ "parking_lot",
+@@ -5108,7 +5108,7 @@ checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dea
+ [[package]]
+ name = "payload-support"
+ version = "0.1.0"
+-source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "serde",
+ "serde_derive",
+@@ -5615,7 +5615,7 @@ checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb
+ [[package]]
+ name = "relevancy"
+ version = "0.1.0"
+-source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "anyhow",
+ "base64 0.21.999",
+@@ -5639,7 +5639,7 @@ dependencies = [
+ [[package]]
+ name = "remote_settings"
+ version = "0.1.0"
+-source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "anyhow",
+ "camino",
+@@ -5940,7 +5940,7 @@ dependencies = [
+ [[package]]
+ name = "search"
+ version = "0.1.0"
+-source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "error-support",
+ "firefox-versioning",
+@@ -6232,7 +6232,7 @@ dependencies = [
+ [[package]]
+ name = "sql-support"
+ version = "0.1.0"
+-source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "error-support",
+ "interrupt-support",
+@@ -6431,7 +6431,7 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99
+ [[package]]
+ name = "suggest"
+ version = "0.1.0"
+-source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "anyhow",
+ "chrono",
+@@ -6484,7 +6484,7 @@ dependencies = [
+ [[package]]
+ name = "sync-guid"
+ version = "0.1.0"
+-source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "base64 0.21.999",
+ "rand",
+@@ -6495,7 +6495,7 @@ dependencies = [
+ [[package]]
+ name = "sync15"
+ version = "0.1.0"
+-source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "anyhow",
+ "error-support",
+@@ -6534,7 +6534,7 @@ dependencies = [
+ [[package]]
+ name = "tabs"
+ version = "0.1.0"
+-source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "anyhow",
+ "error-support",
+@@ -6892,7 +6892,7 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06
+ [[package]]
+ name = "types"
+ version = "0.1.0"
+-source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "rusqlite 0.33.0",
+ "serde",
+@@ -7304,7 +7304,7 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc
+ [[package]]
+ name = "viaduct"
+ version = "0.1.0"
+-source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "error-support",
+ "ffi-support",
+@@ -7473,7 +7473,7 @@ dependencies = [
+ [[package]]
+ name = "webext-storage"
+ version = "0.1.0"
+-source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "anyhow",
+ "error-support",
+@@ -8143,3 +8143,53 @@ name = "zlib-rs"
+ version = "0.4.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "8b20717f0917c908dc63de2e44e97f1e6b126ca58d0e391cee86d504eb8fbd05"
++
++[[patch.unused]]
++name = "context_id"
++version = "0.1.0"
++source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++
++[[patch.unused]]
++name = "interrupt-support"
++version = "0.1.0"
++source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++
++[[patch.unused]]
++name = "relevancy"
++version = "0.1.0"
++source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++
++[[patch.unused]]
++name = "search"
++version = "0.1.0"
++source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++
++[[patch.unused]]
++name = "sql-support"
++version = "0.1.0"
++source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++
++[[patch.unused]]
++name = "suggest"
++version = "0.1.0"
++source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++
++[[patch.unused]]
++name = "sync15"
++version = "0.1.0"
++source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++
++[[patch.unused]]
++name = "tabs"
++version = "0.1.0"
++source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++
++[[patch.unused]]
++name = "viaduct"
++version = "0.1.0"
++source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
++
++[[patch.unused]]
++name = "webext-storage"
++version = "0.1.0"
++source =
"git+https://github.com/mozilla/application-services?rev=f5907a411e52a3985d0369d71c486eb507c2c4e6#f5907a411e52a3985d0369d71c486eb507c2c4e6"
Index: patches/patch-build_moz_configure_toolchain_configure
===================================================================
RCS file: patches/patch-build_moz_configure_toolchain_configure
diff -N patches/patch-build_moz_configure_toolchain_configure
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-build_moz_configure_toolchain_configure 11 May 2026
15:17:20 -0000
@@ -0,0 +1,14 @@
+allow building with a wasi stack built with llvm22
+
+adapted from https://hg-edge.mozilla.org/mozilla-central/rev/b1b4f0d7ed12
+--- build/moz.configure/toolchain.configure.orig
++++ build/moz.configure/toolchain.configure
+@@ -1122,7 +1122,7 @@ def compiler_wrapper(wrapper, ccache):
+
+ @dependable
+ def wasm():
+- return split_triplet("wasm32-wasi", allow_wasi=True)
++ return split_triplet("wasm32-wasip1", allow_wasi=True)
+
+
+ @template
Index: patches/patch-gfx_skia_skia_modules_skcms_src_Transform_inl_h
===================================================================
RCS file: patches/patch-gfx_skia_skia_modules_skcms_src_Transform_inl_h
diff -N patches/patch-gfx_skia_skia_modules_skcms_src_Transform_inl_h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-gfx_skia_skia_modules_skcms_src_Transform_inl_h 11 May
2026 15:17:20 -0000
@@ -0,0 +1,20 @@
+fix build with llvm22
+
+from https://skia-review.googlesource.com/c/skcms/+/1038217
+via
https://aur.archlinux.org/cgit/aur.git/commit/?h=aseprite&id=2b4cdcbce785668eecd2d8aa2ccfbc21a7147d2a
+
+applied in 146 via https://phabricator.services.mozilla.com/D269642
+Index: gfx/skia/skia/modules/skcms/src/Transform_inl.h
+--- gfx/skia/skia/modules/skcms/src/Transform_inl.h.orig
++++ gfx/skia/skia/modules/skcms/src/Transform_inl.h
+@@ -156,8 +156,8 @@ SI F F_from_Half(U16 half) {
+ #elif defined(USING_AVX512F)
+ return (F)_mm512_cvtph_ps((__m256i)half);
+ #elif defined(USING_AVX_F16C)
+- typedef int16_t __attribute__((vector_size(16))) I16;
+- return __builtin_ia32_vcvtph2ps256((I16)half);
++ typedef _Float16 __attribute__((vector_size(16))) F16;
++ return __builtin_convertvector((F16)half, F);
+ #else
+ U32 wide = cast<U32>(half);
+ // A half is 1-5-10 sign-exponent-mantissa, with 15 exponent bias.
Index: patches/patch-third_party_rust_ohttp_Cargo_toml
===================================================================
RCS file: patches/patch-third_party_rust_ohttp_Cargo_toml
diff -N patches/patch-third_party_rust_ohttp_Cargo_toml
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-third_party_rust_ohttp_Cargo_toml 11 May 2026 15:17:20
-0000
@@ -0,0 +1,18 @@
+bump dependency on bindgen for llvm22, 0.64 was removed from the toplevel
Cargo.lock
+
+should be harmless,
+cf
https://github.com/martinthomson/ohttp/commit/a2335b2e7ffb6805206bf8f59a5f60b9e6f98bb4
+and
https://github.com/martinthomson/ohttp/commit/bf6a983845cc0b540effb3a615e92d914dfcfd0b
+
+Index: third_party/rust/ohttp/Cargo.toml
+--- third_party/rust/ohttp/Cargo.toml.orig
++++ third_party/rust/ohttp/Cargo.toml
+@@ -86,7 +86,7 @@ version = "0.9"
+ default-features = false
+
+ [build-dependencies.bindgen]
+-version = "0.64"
++version = "0.69"
+ features = ["runtime"]
+ optional = true
+ default-features = false
Index: patches/patch-third_party_rust_ohttp__cargo-checksum_json
===================================================================
RCS file: patches/patch-third_party_rust_ohttp__cargo-checksum_json
diff -N patches/patch-third_party_rust_ohttp__cargo-checksum_json
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-third_party_rust_ohttp__cargo-checksum_json 11 May 2026
15:17:20 -0000
@@ -0,0 +1,7 @@
+Index: third_party/rust/ohttp/.cargo-checksum.json
+--- third_party/rust/ohttp/.cargo-checksum.json.orig
++++ third_party/rust/ohttp/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.toml":"f93723973762c48df66c9e2125da726559e9bc0bf5ed38fb4e776af3381502fc","README.md":"a97309a7b0c65dbcbd43e6c64bf99e023cd07e9d3de5c4559f33db430edafebd","bindings/bindings.toml":"a016870127b63151e760c964d687934a4883ee165bdd9718341c8dd50be5a3f2","bindings/nspr_err.h":"2d5205d017b536c2d838bcf9bc4ec79f96dd50e7bb9b73892328781f1ee6629d","bindings/nspr_error.h":"e41c03c77b8c22046f8618832c9569fbcc7b26d8b9bbc35eea7168f35e346889","bindings/nss_init.h":"cd4dffd0c629ece5786736dd6d26db8a96f56fd56ef95b150c623c41080c2f9e","bindings/nss_p11.h":"a16f60d0210d5823f2d92d0c04988a0bb1da85901388490cb3e755a62cc7d5dd","bindings/nss_secerr.h":"713e8368bdae5159af7893cfa517dabfe5103cede051dee9c9557c850a2defc6","build.rs":"75f7bc67d2757bf68f1ba64258a7a7db4b94de5403936b73d8140e9558c30698","src/config.rs":"d39a765f561423f320e0be8c6aaabf3c3fb85248468b345aa43f778974280945","src/err.rs":"533b382c7e74906521395fdff4b514981535fe1b45b307528c547bb545765adf","src/hpke.rs":"b98b3a1d2e87bd89d43d89e2513e2d3211832aef3fd2157337939186aa7c8531","src/lib.rs":"bfc972343aa3fa6707b0aaea04c25f1b6fa2ff3f9e9761ae6a09f9be52fce214","src/nss/aead.rs":"01b3b1654a310a276edb5750d2d0e3ee14943f8695f413d176b65623369d81be","src/nss/err.rs":"d367116bf9840ebe06d358066a1755f7d9936438dbc2e4e71a6b345d05e4bcd5","src/nss/hkdf.rs":"d70147f27be9defcb2cd67da9e49a4f09adecd0a2ebad646eae94d09512b1b0b","src/nss/hpke.rs":"cbd353d2f0c8db82fcf25dac2f2d2554e8a6258c4b21e0279e618fb2f992c49c","src/nss/mod.rs":"bca4b6fcc807b7b146989fe500c0e5b249ddfcaff1a795cc8b84a70631b50a60","src/nss/p11.rs":"1761896f0359c37cd186e34daaf1b582e907a123fe987b937c314f7b2cecc9de","src/rand.rs":"be3a82fb6090b5cb833c2b8ba6e72690b9f44f7f91477e2c5b70b75623174b87","src/rh/aead.rs":"88dd43ffec20a8870a424d27dbda0a9db74f4b3d1b03097220854a304ab091cd","src/rh/hkdf.rs":"4c6e59ca24498939e9b8da2da6336ae2f62396101f1b9b25f1ae587ab21c1a9d","src/rh/hpke.rs":"8d7de700e48bf4f6a711e6c5df1eb4a7ae7d33c65d75728e9d1c8c797f474e7a","src/rh/mod.rs":"d6045628f9b95d75e8bfcc30d55b1fc8b5ea9e2a4c45e20102f4f33c0b711a0c"},"package":"578cb11a3fb5c85697ed8bb850d5ad1cbf819d3eea05c2b253cf1d240fbb10c5"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"b4e82a5328b20cfa842341dcdecd6accd60f2bdaa288fe8c638242e097cafbd2","README.md":"a97309a7b0c65dbcbd43e6c64bf99e023cd07e9d3de5c4559f33db430edafebd","bindings/bindings.toml":"a016870127b63151e760c964d687934a4883ee165bdd9718341c8dd50be5a3f2","bindings/nspr_err.h":"2d5205d017b536c2d838bcf9bc4ec79f96dd50e7bb9b73892328781f1ee6629d","bindings/nspr_error.h":"e41c03c77b8c22046f8618832c9569fbcc7b26d8b9bbc35eea7168f35e346889","bindings/nss_init.h":"cd4dffd0c629ece5786736dd6d26db8a96f56fd56ef95b150c623c41080c2f9e","bindings/nss_p11.h":"a16f60d0210d5823f2d92d0c04988a0bb1da85901388490cb3e755a62cc7d5dd","bindings/nss_secerr.h":"713e8368bdae5159af7893cfa517dabfe5103cede051dee9c9557c850a2defc6","build.rs":"75f7bc67d2757bf68f1ba64258a7a7db4b94de5403936b73d8140e9558c30698","src/config.rs":"d39a765f561423f320e0be8c6aaabf3c3fb85248468b345aa43f778974280945","src/err.rs":"533b382c7e74906521395fdff4b514981535fe1b45b307528c547bb545765adf","src/hpke.rs":"b98b3a1d2e87bd89d43d89e2513e2d3211832aef3fd2157337939186aa7c8531","src/lib.rs":"bfc972343aa3fa6707b0aaea04c25f1b6fa2ff3f9e9761ae6a09f9be52fce214","src/nss/aead.rs":"01b3b1654a310a276edb5750d2d0e3ee14943f8695f413d176b65623369d81be","src/nss/err.rs":"d367116bf9840ebe06d358066a1755f7d9936438dbc2e4e71a6b345d05e4bcd5","src/nss/hkdf.rs":"d70147f27be9defcb2cd67da9e49a4f09adecd0a2ebad646eae94d09512b1b0b","src/nss/hpke.rs":"cbd353d2f0c8db82fcf25dac2f2d2554e8a6258c4b21e0279e618fb2f992c49c","src/nss/mod.rs":"bca4b6fcc807b7b146989fe500c0e5b249ddfcaff1a795cc8b84a70631b50a60","src/nss/p11.rs":"1761896f0359c37cd186e34daaf1b582e907a123fe987b937c314f7b2cecc9de","src/rand.rs":"be3a82fb6090b5cb833c2b8ba6e72690b9f44f7f91477e2c5b70b75623174b87","src/rh/aead.rs":"88dd43ffec20a8870a424d27dbda0a9db74f4b3d1b03097220854a304ab091cd","src/rh/hkdf.rs":"4c6e59ca24498939e9b8da2da6336ae2f62396101f1b9b25f1ae587ab21c1a9d","src/rh/hpke.rs":"8d7de700e48bf4f6a711e6c5df1eb4a7ae7d33c65d75728e9d1c8c797f474e7a","src/rh/mod.rs":"d6045628f9b95d75e8bfcc30d55b1fc8b5ea9e2a4c45e20102f4f33c0b711a0c"},"package":"578cb11a3fb5c85697ed8bb850d5ad1cbf819d3eea05c2b253cf1d240fbb10c5"}
Index: patches/patch-tools_profiler_rust-api_build_rs
===================================================================
RCS file: patches/patch-tools_profiler_rust-api_build_rs
diff -N patches/patch-tools_profiler_rust-api_build_rs
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-tools_profiler_rust-api_build_rs 11 May 2026 15:17:20
-0000
@@ -0,0 +1,15 @@
+fix on top of jumbo patch
+
+cf https://bugzilla.mozilla.org/show_bug.cgi?id=2038504#c14
+
+Index: tools/profiler/rust-api/build.rs
+--- tools/profiler/rust-api/build.rs.orig
++++ tools/profiler/rust-api/build.rs
+@@ -90,6 +90,7 @@ fn generate_bindings() {
+ .opaque_type("std::string")
+ .opaque_type("std::unique_ptr")
+ .opaque_type("mozilla::Maybe")
++ .opaque_type("mozilla::UniquePtr")
+ .opaque_type("mozilla::MallocAllocPolicy")
+ .opaque_type("mozilla::Variant")
+ .opaque_type("mozilla::baseprofiler::UniqueJSONStrings")