From 63463fb5d66434f98a9d457da091460b7d1daf6d Mon Sep 17 00:00:00 2001 From: Jeremy Wall Date: Tue, 2 Jul 2024 20:45:50 -0500 Subject: [PATCH] build: More fixes and tweaks to unify the builds --- Makefile | 7 ++----- nix/kitchenWasm/default.nix | 10 +++------- scripts/wasm-build.sh | 4 +++- scripts/wasm-opt.sh | 4 ++-- web/Cargo.toml | 8 ++++++-- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/Makefile b/Makefile index 41ef01d..5698fda 100644 --- a/Makefile +++ b/Makefile @@ -14,11 +14,8 @@ mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST))) mkfile_dir := $(dir $(mkfile_path)) sqlite_url := sqlite://$(mkfile_dir)/.session_store/store.db -out := dist -project := kitchen - -export out -export kitchen +export out := dist +export project := kitchen kitchen: wasm kitchen/src/*.rs cd kitchen; cargo build diff --git a/nix/kitchenWasm/default.nix b/nix/kitchenWasm/default.nix index 7d7c00b..7a747c4 100644 --- a/nix/kitchenWasm/default.nix +++ b/nix/kitchenWasm/default.nix @@ -1,6 +1,5 @@ {pkgs? (import ) {}, version, - features ? "", rust-wasm, wasm-bindgen, lockFile, @@ -27,18 +26,15 @@ stdenv.mkDerivation { cp -r ./cargo-vendor-dir/.cargo ./ cp -r $src/* ./ ''; - # TODO(jwall): Build this from the root rather than the src. + # TODO(jwall): Use the makefile for as much of this as possible. buildPhase = '' mkdir -p $out cd web cp -r static $out + export project=kitchen sh ../scripts/wasm-build.sh release - #cargo build --lib --release --target wasm32-unknown-unknown --target-dir $out ${features} --offline - #wasm-bindgen $out/wasm32-unknown-unknown/release/kitchen_wasm.wasm --out-dir $out --typescript --target web - #sh ../scripts/wasm-opt.sh release - wasm-opt $out/kitchen_wasm_bg.wasm -o $out/kitchen_wasm_bg-opt.wasm -O + sh ../scripts/wasm-opt.sh release rm -f $out/kitchen_wasm_bg.wasm - mv $out/kitchen_wasm_bg-opt.wasm $out/kitchen_wasm_bg.wasm cp -r index.html $out cp -r favicon.ico $out rm -rf $out/release diff --git a/scripts/wasm-build.sh b/scripts/wasm-build.sh index d92053d..c3f5fba 100644 --- a/scripts/wasm-build.sh +++ b/scripts/wasm-build.sh @@ -1,9 +1,11 @@ set -x buildtype=$1; +mkdir -p $out + if [ ${buildtype} = "release" ]; then buildtype_flag="--release" fi cargo build --lib ${buildtype_flag} --target wasm32-unknown-unknown --target-dir $out --features debug_logs -wasm-bindgen $out/wasm32-unknown-unknown/${buildtype}/kitchen_wasm.wasm --out-dir $out --typescript --target web +wasm-bindgen $out/wasm32-unknown-unknown/${buildtype}/${project}_wasm.wasm --out-dir $out --typescript --target web diff --git a/scripts/wasm-opt.sh b/scripts/wasm-opt.sh index f983110..48bd73f 100644 --- a/scripts/wasm-opt.sh +++ b/scripts/wasm-opt.sh @@ -1,6 +1,6 @@ set -x buildtype=$1; -wasm-opt $out/wasm32-unknown-unkown/${buildtype}/${project}_wasm.wasm --out-dir dist/ -O +wasm-opt $out/wasm32-unknown-unknown/${buildtype}/${project}_wasm.wasm --output $out/${project}_wasm_bg-opt.wasm -O rm -f $out/${project}_wasm_bg.wasm -mv $out/${project}_wasm_bg-opt.wasm dist/${project}_wasm_bg.wasm +mv $out/${project}_wasm_bg-opt.wasm $out/${project}_wasm_bg.wasm diff --git a/web/Cargo.toml b/web/Cargo.toml index 6244a10..03761a0 100644 --- a/web/Cargo.toml +++ b/web/Cargo.toml @@ -47,7 +47,6 @@ features = ["serde"] version = "0.4.0" [dependencies.wasm-bindgen] -# we need wasm-bindgen v0.2.84 exactly version = "= 0.2.89" [dependencies.web-sys] @@ -71,7 +70,12 @@ features = [ "PopStateEvent", "Url", "Window", - "Storage" + "IdbFactory", + "IdbOpenDbRequest", + "IdbRequest", + "IdbDatabase", + "IdbRequestReadyState", + "Storage", ] [dependencies.sycamore]