From 76a2c04dc8f6846153768d27cff874869dfe0041 Mon Sep 17 00:00:00 2001 From: Kermina Awad Date: Sat, 11 Jul 2026 15:34:17 -0400 Subject: [PATCH 1/4] ente-web: fix compilation of wasm code The web wasm crate was relocated in ente-io/ente@bdc8f94. --- pkgs/by-name/en/ente-web/package.nix | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/en/ente-web/package.nix b/pkgs/by-name/en/ente-web/package.nix index 726296c7641a..7dec265ffb19 100644 --- a/pkgs/by-name/en/ente-web/package.nix +++ b/pkgs/by-name/en/ente-web/package.nix @@ -52,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: { ; hash = "sha256-NYPxaVYEaJVcsRX6wLVJd+/UUJrNel0zTPYGdEv8a+U="; }; - cargoRoot = "packages/wasm"; + cargoRoot = "../rust"; offlineCache = fetchYarnDeps { yarnLock = "${finalAttrs.src}/web/yarn.lock"; @@ -76,9 +76,15 @@ stdenv.mkDerivation (finalAttrs: { env = extraBuildEnv; postPatch = + # The Rust workspace lives in `../rust`, outside the `web` sourceRoot, so it + # is not made writable during unpacking. `wasm-pack` needs to create a cargo + # target directory there, so make it writable. + '' + chmod -R u+w ../rust + '' # Use our `wasm-pack` binary, rather than the Node version, which is # just a wrapper that tries to download the actual binary - '' + + '' substituteInPlace \ packages/wasm/package.json \ --replace-fail "wasm-pack " ${lib.escapeShellArg "${wasm-pack}/bin/wasm-pack "} @@ -139,7 +145,7 @@ stdenv.mkDerivation (finalAttrs: { echo "Updated to version $new_version, checking wasm-bindgen..." # Fetch Cargo.lock from GitHub instead of cloning repository - cargo_lock_url="https://raw.githubusercontent.com/ente-io/ente/photos-v$new_version/web/packages/wasm/Cargo.lock" + cargo_lock_url="https://raw.githubusercontent.com/ente-io/ente/photos-v$new_version/rust/Cargo.lock" wasm_bindgen_version=$(curl -s "$cargo_lock_url" | tr -d '\r' | grep -A1 '^name = "wasm-bindgen"$' | grep -oP 'version = "\K[^"]+' | head -n1) From c33cbd3ba666183f025414bd6ffbdf0aa1e9ab83 Mon Sep 17 00:00:00 2001 From: Kermina Awad Date: Sat, 11 Jul 2026 15:54:37 -0400 Subject: [PATCH 2/4] ente-web: switch to npm See ente-io/ente@5cec386. --- pkgs/by-name/en/ente-web/package.nix | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/pkgs/by-name/en/ente-web/package.nix b/pkgs/by-name/en/ente-web/package.nix index 7dec265ffb19..17a3d0fe7fbb 100644 --- a/pkgs/by-name/en/ente-web/package.nix +++ b/pkgs/by-name/en/ente-web/package.nix @@ -1,18 +1,15 @@ { lib, - stdenv, + buildNpmPackage, binaryen, cargo, fetchFromGitHub, - fetchYarnDeps, nodejs, rustPlatform, rustc, sd, wasm-bindgen-cli_0_2_108, wasm-pack, - yarnConfigHook, - yarnBuildHook, writeScript, extraBuildEnv ? { }, # This package contains serveral sub-applications. This specifies which of them you want to build. @@ -25,7 +22,7 @@ nixosTests, }: -stdenv.mkDerivation (finalAttrs: { +buildNpmPackage (finalAttrs: { pname = "ente-web-${enteApp}"; version = "1.3.36"; @@ -54,14 +51,9 @@ stdenv.mkDerivation (finalAttrs: { }; cargoRoot = "../rust"; - offlineCache = fetchYarnDeps { - yarnLock = "${finalAttrs.src}/web/yarn.lock"; - hash = "sha256-eGu+s8g0nGijYfjo8RkT5/iBfbwk5cBMacbe/gO03NI="; - }; + npmDepsHash = "sha256-eGu+s8g0nGijYfjo8RkT5/iBfbwk5cBMacbe/gO03NI="; nativeBuildInputs = [ - yarnConfigHook - yarnBuildHook binaryen cargo rustPlatform.cargoSetupHook @@ -98,7 +90,7 @@ stdenv.mkDerivation (finalAttrs: { done ''; - yarnBuildScript = "build:${enteApp}"; + npmBuildScript = "build:${enteApp}"; installPhase = let distName = if enteApp == "payments" then "dist" else "out"; From e2bed412634ea56baa59ae6bfc4ed2144a05aafd Mon Sep 17 00:00:00 2001 From: Kermina Awad Date: Sat, 11 Jul 2026 16:42:16 -0400 Subject: [PATCH 3/4] wasm-bindgen-cli_0_2_125: init at 0.2.125 --- .../wa/wasm-bindgen-cli_0_2_125/package.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 pkgs/by-name/wa/wasm-bindgen-cli_0_2_125/package.nix diff --git a/pkgs/by-name/wa/wasm-bindgen-cli_0_2_125/package.nix b/pkgs/by-name/wa/wasm-bindgen-cli_0_2_125/package.nix new file mode 100644 index 000000000000..0d6dbbafa557 --- /dev/null +++ b/pkgs/by-name/wa/wasm-bindgen-cli_0_2_125/package.nix @@ -0,0 +1,19 @@ +{ + buildWasmBindgenCli, + fetchCrate, + rustPlatform, +}: + +buildWasmBindgenCli rec { + src = fetchCrate { + pname = "wasm-bindgen-cli"; + version = "0.2.125"; + hash = "sha256-zRawtjxMOdTMX+mZaiNR3YYfTiZJhf9qj7kXSSeMxrc="; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + inherit src; + inherit (src) pname version; + hash = "sha256-aZCfgR23Qb0Pn4Mm4ToMtuuRQqSJjXCR9li/VvP5CTM="; + }; +} From 833bfa42c662a5eb5b1c843a02f7ba7dc419c0d6 Mon Sep 17 00:00:00 2001 From: Kermina Awad Date: Wed, 15 Jul 2026 10:12:36 -0400 Subject: [PATCH 4/4] ente-web: 1.3.36 -> 1.3.58 --- pkgs/by-name/en/ente-web/package.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/en/ente-web/package.nix b/pkgs/by-name/en/ente-web/package.nix index 17a3d0fe7fbb..95ca7968b1d3 100644 --- a/pkgs/by-name/en/ente-web/package.nix +++ b/pkgs/by-name/en/ente-web/package.nix @@ -8,7 +8,7 @@ rustPlatform, rustc, sd, - wasm-bindgen-cli_0_2_108, + wasm-bindgen-cli_0_2_125, wasm-pack, writeScript, extraBuildEnv ? { }, @@ -24,7 +24,7 @@ buildNpmPackage (finalAttrs: { pname = "ente-web-${enteApp}"; - version = "1.3.36"; + version = "1.3.58"; src = fetchFromGitHub { owner = "ente"; @@ -35,7 +35,7 @@ buildNpmPackage (finalAttrs: { ]; tag = "photos-v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-o75r8LFgG3BT3IIPiD9x6gY3fRDoxJ3ZTBPAYr3hLWI="; + hash = "sha256-44iid/vsx3rKt/NGCgdZweJHW24ysQ7qSRq8Hayng9c="; }; sourceRoot = "${finalAttrs.src.name}/web"; @@ -47,11 +47,11 @@ buildNpmPackage (finalAttrs: { sourceRoot cargoRoot ; - hash = "sha256-NYPxaVYEaJVcsRX6wLVJd+/UUJrNel0zTPYGdEv8a+U="; + hash = "sha256-dyDNhDNbcssV4mTzGZkysTftgFfKXNLX2S0jmkX5JR4="; }; cargoRoot = "../rust"; - npmDepsHash = "sha256-eGu+s8g0nGijYfjo8RkT5/iBfbwk5cBMacbe/gO03NI="; + npmDepsHash = "sha256-JZnF6MfEkm4HCslEgpAuCrSYQYnt8tNPUTFRb1CIVe4="; nativeBuildInputs = [ binaryen @@ -60,7 +60,7 @@ buildNpmPackage (finalAttrs: { rustc rustc.llvmPackages.lld nodejs - wasm-bindgen-cli_0_2_108 + wasm-bindgen-cli_0_2_125 wasm-pack ];