Skip to content

Commit 9998918

Browse files
committed
Packages: bump wasmtime to 24.0.0 and wasi-sysroot to 24.0.
Wasm module is now not built for Amazon Linux 2, Debian 11 and Ubuntu 2.0.04, since it requires cmake version newer than what's available on those OSes. wasm-wasi-component is not affected.
1 parent 5c58f9d commit 9998918

File tree

8 files changed

+41
-21
lines changed

8 files changed

+41
-21
lines changed

pkg/contrib/src/wasi-sysroot/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ $(TARBALLS)/wasi-sysroot-$(WASI_SYSROOT_VERSION_MAJOR).$(WASI_SYSROOT_VERSION_MI
1212

1313
wasi-sysroot: wasi-sysroot-$(WASI_SYSROOT_VERSION_MAJOR).$(WASI_SYSROOT_VERSION_MINOR).tar.gz .sum-wasi-sysroot
1414
$(UNPACK)
15+
$(MOVE)
1516

1617
.wasi-sysroot: wasi-sysroot
1718
touch $@
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ad4ad629d02f01f3d2eb977dd0bc43091b0f11ed1b5dd9fdb3580e4cf49c132f6cb4982ae80eabf638f0d08d0c4c7df40cceb2be8f9d2c29abc35b8564ffda42 wasi-sysroot-20.0.tar.gz
1+
6bf138fc90feccc0cfa2683d164a0c8cfb973b5105675ff53b87628d8775676a8eb383d225ca4b55d6f0f800d167a605ee569978a2048b3dab8d01672a408d7a wasi-sysroot-24.0.tar.gz

pkg/contrib/src/wasi-sysroot/version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
WASI_SYSROOT_VERSION_MAJOR := 20
1+
WASI_SYSROOT_VERSION_MAJOR := 24
22
WASI_SYSROOT_VERSION_MINOR := 0

pkg/contrib/src/wasmtime/Makefile

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,6 @@ else
1111
CARGO = $(error Cargo (Rust package manager) not found)
1212
endif
1313

14-
ifeq ($(shell uname -s),Linux)
15-
WASMTIME_ARGS=-Clink-arg=-Wl,-soname,libwasmtime.so
16-
endif
17-
1814
$(TARBALLS)/wasmtime-v$(WASMTIME_VERSION)-src.tar.gz:
1915
$(call download_pkg,$(WASMTIME_URL),wasmtime)
2016

@@ -25,6 +21,11 @@ wasmtime: wasmtime-v$(WASMTIME_VERSION)-src.tar.gz .sum-wasmtime
2521
$(MOVE)
2622

2723
.wasmtime: wasmtime
28-
cd $< && $(CARGO) rustc --release -p wasmtime-c-api -- $(WASMTIME_ARGS)
29-
cp $</crates/c-api/wasm-c-api/include/wasm.h $</crates/c-api/include/
24+
cd $< && cmake \
25+
-DCMAKE_INSTALL_LIBDIR=lib \
26+
-S crates/c-api \
27+
-B target/c-api \
28+
--install-prefix "$(TOPSRC)/wasmtime/artifacts"
29+
cd $< && cmake --build target/c-api
30+
cd $< && cmake --install target/c-api
3031
touch $@

pkg/contrib/src/wasmtime/SHA512SUMS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4b67ba0742da0558efffe1dbde5512dc5f0201fad25f1027d277758e76778b2add11528dbe3f5b7759f2386859b52aea3a0526abaa481c2ed91eb56c5a531b49 wasmtime-v11.0.1-src.tar.gz
1+
2ce3979f772176350a2c4694cfd24c241c426d453d99f8620424b25ef1373ea5be06370c8199f3bd5a46f0ba1a4cd4b702a359efc969d5eaf1e9e78543c5900a wasmtime-v24.0.0-src.tar.gz

pkg/contrib/src/wasmtime/version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
WASMTIME_VERSION := 11.0.1
1+
WASMTIME_VERSION := 24.0.0

pkg/deb/Makefile.wasm

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,19 @@ MODULE_SUMMARY_wasm= WASM module for NGINX Unit
66
MODULE_VERSION_wasm= $(VERSION)
77
MODULE_RELEASE_wasm= 1
88

9-
MODULE_CONFARGS_wasm= wasm --include-path=\$$(CURDIR)/pkg/contrib/wasmtime/crates/c-api/include --lib-path=\$$(CURDIR)/pkg/contrib/wasmtime/target/release \&\& ./configure wasm-wasi-component
10-
MODULE_MAKEARGS_wasm= wasm wasm-wasi-component CFLAGS=\"\$$(shell grep ^CFLAGS \$$(BUILDDIR_\$$*)/build/Makefile | cut -d' ' -f 3-) -Wno-missing-prototypes\"
11-
MODULE_INSTARGS_wasm= wasm-install wasm-wasi-component-install
9+
MODULE_CONFARGS_wasm= wasm-wasi-component
10+
MODULE_MAKEARGS_wasm= wasm-wasi-component CFLAGS=\"\$$(shell grep ^CFLAGS \$$(BUILDDIR_\$$*)/build/Makefile | cut -d' ' -f 3-) -Wno-missing-prototypes\"
11+
MODULE_INSTARGS_wasm= wasm-wasi-component-install
12+
13+
ifeq (,$(findstring $(CODENAME),bullseye focal))
14+
MODULE_CONFARGS_wasm+= \&\& ./configure wasm --include-path=\$$(CURDIR)/pkg/contrib/wasmtime/artifacts/include --lib-path=\$$(CURDIR)/pkg/contrib/wasmtime/artifacts/lib
15+
MODULE_MAKEARGS_wasm+= wasm
16+
MODULE_INSTARGS_wasm+= wasm-install
1217

1318
MODULE_SOURCES_wasm=
1419

15-
BUILD_DEPENDS_wasm=
16-
MODULE_BUILD_DEPENDS_wasm=
20+
BUILD_DEPENDS_wasm= cmake
21+
MODULE_BUILD_DEPENDS_wasm=,cmake
1722
MODULE_DEPENDS_wasm=
1823

1924
BUILD_DEPENDS+= $(BUILD_DEPENDS_wasm)
@@ -29,9 +34,10 @@ export MODULE_PREINSTALL_wasm
2934

3035
define MODULE_POSTINSTALL_wasm
3136
mkdir -p debian/unit-wasm/usr/lib/\$$(dpkg-architecture -q DEB_HOST_MULTIARCH)/
32-
install -m 755 -p pkg/contrib/wasmtime/target/release/libwasmtime.so debian/unit-wasm/usr/lib/\$$(dpkg-architecture -q DEB_HOST_MULTIARCH)/
37+
install -m 755 -p pkg/contrib/wasmtime/artifacts/lib/libwasmtime.so debian/unit-wasm/usr/lib/\$$(dpkg-architecture -q DEB_HOST_MULTIARCH)/
3338
endef
3439
export MODULE_POSTINSTALL_wasm
40+
endif
3541

3642
define MODULE_POST_wasm
3743
cat <<BANNER

pkg/rpm/Makefile.wasm

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,18 @@ MODULE_SUMMARY_wasm= WASM module for NGINX Unit
66
MODULE_VERSION_wasm= $(VERSION)
77
MODULE_RELEASE_wasm= 1
88

9-
MODULE_CONFARGS_wasm= wasm --include-path=\`pwd\`/pkg/contrib/wasmtime/crates/c-api/include --lib-path=\`pwd\`/pkg/contrib/wasmtime/target/release \&\& ./configure wasm-wasi-component
10-
MODULE_MAKEARGS_wasm= wasm wasm-wasi-component CFLAGS=\"\$$(grep ^CFLAGS build/Makefile | cut -d' ' -f 3-) -Wno-missing-prototypes\"
11-
MODULE_INSTARGS_wasm= wasm-install wasm-wasi-component-install
9+
MODULE_CONFARGS_wasm= wasm-wasi-component
10+
MODULE_MAKEARGS_wasm= wasm-wasi-component CFLAGS=\"\$$(grep ^CFLAGS build/Makefile | cut -d' ' -f 3-) -Wno-missing-prototypes\"
11+
MODULE_INSTARGS_wasm= wasm-wasi-component-install
12+
13+
ifeq (,$(findstring $(OSVER),amazonlinux2))
14+
MODULE_CONFARGS_wasm+= \&\& ./configure wasm --include-path=\`pwd\`/pkg/contrib/wasmtime/artifacts/include --lib-path=\`pwd\`/pkg/contrib/wasmtime/artifacts/lib
15+
MODULE_MAKEARGS_wasm+= wasm
16+
MODULE_INSTARGS_wasm+= wasm-install
1217

1318
MODULE_SOURCES_wasm=
1419

15-
BUILD_DEPENDS_wasm=
20+
BUILD_DEPENDS_wasm= cmake
1621

1722
BUILD_DEPENDS+= $(BUILD_DEPENDS_wasm)
1823

@@ -22,16 +27,23 @@ endef
2227
export MODULE_PREBUILD_wasm
2328

2429
define MODULE_PREINSTALL_wasm
30+
\# brp-mangle-shebangs parses all executable files for a shebang
31+
\# this fails on a vendored code that somehow ships with exec bit enabled
32+
find pkg/contrib/wasmtime/ -type f -executable -name "*.rs" | xargs chmod -x
2533
endef
2634
export MODULE_PREINSTALL_wasm
2735

2836
define MODULE_POSTINSTALL_wasm
29-
%{__install} -m 755 -p pkg/contrib/wasmtime/target/release/libwasmtime.so %{buildroot}%{_libdir}/
37+
%{__install} -m 755 -p pkg/contrib/wasmtime/artifacts/lib/libwasmtime.so %{buildroot}%{_libdir}/
3038
endef
3139
export MODULE_POSTINSTALL_wasm
40+
endif
3241

3342
define MODULE_FILES_wasm
43+
%if 0%{?amzn2}
44+
%else
3445
%{_libdir}/libwasmtime.so
46+
%endif
3547
%{_libdir}/unit/modules/*
3648
%{_libdir}/unit/debug-modules/*
3749
endef

0 commit comments

Comments
 (0)