From 0375faa9670737191d0c276f3b5daf83a6cfc8e8 Mon Sep 17 00:00:00 2001 From: Tom Barrett Date: Sun, 14 Jan 2024 17:53:28 +0100 Subject: flake to build wasm --- flake.nix | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 flake.nix (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..e418992 --- /dev/null +++ b/flake.nix @@ -0,0 +1,41 @@ +{ + outputs = { + self, + nixpkgs, + }: let + pkgs = nixpkgs.legacyPackages.x86_64-linux; + buildRustPackage = + pkgs.rustPlatform.buildRustPackage.override + {rustc = pkgs.rustc-wasm32;}; + rust-lld = pkgs.symlinkJoin { + name = "rust-lld"; + paths = [pkgs.rustc-wasm32.llvmPackages.lld]; + postBuild = '' + ln -s $out/bin/lld $out/bin/rust-lld + ''; + }; + in { + packages.x86_64-linux.default = buildRustPackage rec { + name = "gems"; + src = ./.; + cargoLock = { + lockFile = ./Cargo.lock; + }; + doCheck = false; + buildPhase = '' + cargo build --target wasm32-unknown-unknown --release + wasm-bindgen --out-name gems \ + --out-dir $out \ + --target web target/wasm32-unknown-unknown/release/gems.wasm + ''; + installPhase = '' + cp -r assets $out + cp index.html $out + ''; + nativeBuildInputs = [ + rust-lld + pkgs.wasm-bindgen-cli + ]; + }; + }; +} -- cgit v1.2.3