diff --git a/pkgs/by-name/el/element-desktop/element-desktop-pin.nix b/pkgs/by-name/el/element-desktop/element-desktop-pin.nix index a5034a0f1ae1..ae3089d89bb3 100644 --- a/pkgs/by-name/el/element-desktop/element-desktop-pin.nix +++ b/pkgs/by-name/el/element-desktop/element-desktop-pin.nix @@ -1,7 +1,7 @@ { - "version" = "1.12.3"; + "version" = "1.12.6"; "hashes" = { - "desktopSrcHash" = "sha256-4pv6KxcTocguJo7DlBO+/pi+n8JbTHWukMtagaGaDy8="; - "desktopYarnHash" = "sha256-lQn5dAiC15O/2eaWfWJedFjBgmnglAlmAEOhz+in0DM="; + "desktopSrcHash" = "sha256-3CuEFbota6MPVLPeHkXgtb0OmDW91w08+XVnT3mDHaI="; + "desktopYarnHash" = "sha256-SPXbp+6zmwXD0uN4ByV6kIni+DGQT8evYMioH1NZJVU="; }; } diff --git a/pkgs/by-name/el/element-desktop/update.sh b/pkgs/by-name/el/element-desktop/update.sh index ca573c6e994c..63ef2e2d39f1 100755 --- a/pkgs/by-name/el/element-desktop/update.sh +++ b/pkgs/by-name/el/element-desktop/update.sh @@ -54,6 +54,11 @@ getHashes() { }; } EOF + + if [ "$variant" = "web" ]; then + local shared_components_yarn_hash="$(fixupHash "$(prefetch-yarn-deps "$src_path/packages/shared-components/yarn.lock")")" + sed -i "/^ \"webYarnHash/a \ \"webSharedComponentsYarnHash\" = \"$shared_components_yarn_hash\";" "$output" + fi } getHashes web ../element-web-unwrapped/element-web-pin.nix diff --git a/pkgs/by-name/el/element-desktop/yarn.nix b/pkgs/by-name/el/element-desktop/yarn.nix index 159a1db2aaea..df839ddbc981 100644 --- a/pkgs/by-name/el/element-desktop/yarn.nix +++ b/pkgs/by-name/el/element-desktop/yarn.nix @@ -41,4 +41,5 @@ stdenvNoCC.mkDerivation { outputHash = hash; outputHashMode = "recursive"; + outputHashAlgo = "sha256"; } diff --git a/pkgs/by-name/el/element-web-unwrapped/element-web-pin.nix b/pkgs/by-name/el/element-web-unwrapped/element-web-pin.nix index f3f416350178..adaebeb66580 100644 --- a/pkgs/by-name/el/element-web-unwrapped/element-web-pin.nix +++ b/pkgs/by-name/el/element-web-unwrapped/element-web-pin.nix @@ -1,7 +1,8 @@ { - "version" = "1.12.3"; + "version" = "1.12.6"; "hashes" = { - "webSrcHash" = "sha256-a/RrUzJU/pjyD36WmNIqjSTBn5cfUOGNSe/l6iGp/0A="; - "webYarnHash" = "sha256-TXOehZRw5UIhGTnpR0KzvEizSW9Qk2VTr+cG/XstB+k="; + "webSrcHash" = "sha256-MZohRkaPNoevaLmOb60OcebYJDd0sI3UaPEFMXh7y38="; + "webYarnHash" = "sha256-3iV2XXphubxDG+FzbNC9cHY+gjSTssv6iQK9U7BLMp0="; + "webSharedComponentsYarnHash" = "sha256-fwRasJ3iI+4DjqfNNpZ5CceEydJITUTeB7brhcmqOKk="; }; } diff --git a/pkgs/by-name/el/element-web-unwrapped/package.nix b/pkgs/by-name/el/element-web-unwrapped/package.nix index b747fafd8d91..850a5217a91e 100644 --- a/pkgs/by-name/el/element-web-unwrapped/package.nix +++ b/pkgs/by-name/el/element-web-unwrapped/package.nix @@ -11,7 +11,7 @@ let pinData = import ./element-web-pin.nix; - inherit (pinData.hashes) webSrcHash webYarnHash; + inherit (pinData.hashes) webSrcHash webYarnHash webSharedComponentsYarnHash; noPhoningHome = { disable_guests = true; # disable automatic guest account registration at matrix.org }; @@ -35,6 +35,13 @@ stdenv.mkDerivation ( hash = webSrcHash; }; + # https://github.com/element-hq/element-web/commit/e883b05206129857aa00ca726252e10a0eb05cf9 + # introduced a link: dependency that we need to fetch as well + offlineCacheSharedComponents = fetchYarnDeps { + yarnLock = finalAttrs.src + "/packages/shared-components/yarn.lock"; + sha256 = webSharedComponentsYarnHash; + }; + offlineCache = fetchYarnDeps { yarnLock = finalAttrs.src + "/yarn.lock"; sha256 = webYarnHash; @@ -50,6 +57,12 @@ stdenv.mkDerivation ( runHook preBuild export VERSION=${finalAttrs.version} + + pushd packages/shared-components + yarnOfflineCache=${finalAttrs.offlineCacheSharedComponents} yarnConfigHook + popd + yarn --offline --cwd packages/shared-components prepare + yarn --offline build:res yarn --offline build:module_system yarn --offline build:bundle