element-{web,desktop}: 1.12.6 -> 1.12.7 (#472977)

This commit is contained in:
Jhonas Wernery
2026-01-08 16:44:53 +01:00
committed by GitHub
6 changed files with 7 additions and 137 deletions
@@ -1,7 +1,7 @@
{
"version" = "1.12.6";
"version" = "1.12.7";
"hashes" = {
"desktopSrcHash" = "sha256-3CuEFbota6MPVLPeHkXgtb0OmDW91w08+XVnT3mDHaI=";
"desktopYarnHash" = "sha256-SPXbp+6zmwXD0uN4ByV6kIni+DGQT8evYMioH1NZJVU=";
"desktopSrcHash" = "sha256-VnZyNrylYbKhd9YyuoUSJWbTEphOsTivbbYIUeEZv2U=";
"desktopYarnHash" = "sha256-SAIoJRX06oE4j2Gjb/0MSiUa0UGYkQmuyuV90VRbFtk=";
};
}
@@ -1,71 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
nodejs,
python3,
removeReferencesTo,
pkg-config,
libsecret,
xcbuild,
fetchNpmDeps,
npmHooks,
electron,
}:
let
pinData = lib.importJSON ./pin.json;
in
stdenv.mkDerivation rec {
pname = "keytar-forked";
inherit (pinData) version;
src = fetchFromGitHub {
owner = "shiftkey";
repo = "node-keytar";
rev = "v${version}";
hash = pinData.srcHash;
};
nativeBuildInputs = [
nodejs
python3
pkg-config
npmHooks.npmConfigHook
]
++ lib.optional stdenv.hostPlatform.isDarwin xcbuild;
buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ libsecret ];
npmDeps = fetchNpmDeps {
inherit src;
hash = pinData.npmHash;
};
doCheck = false;
postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
pkg-config() { "''${PKG_CONFIG}" "$@"; }
export -f pkg-config
'';
npmFlags = [
# Make sure the native modules are built against electron's ABI
"--nodedir=${electron.headers}"
# https://nodejs.org/api/os.html#osarch
"--arch=${stdenv.hostPlatform.node.arch}"
];
installPhase = ''
runHook preInstall
shopt -s extglob
rm -rf node_modules
mkdir -p $out
cp -r ./!(build) $out
install -D -t $out/build/Release build/Release/keytar.node
${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc.cc} $out/build/Release/keytar.node
runHook postInstall
'';
disallowedReferences = [ stdenv.cc.cc ];
}
@@ -1,5 +0,0 @@
{
"version": "7.10.0",
"srcHash": "sha256-G0IYBVB37ANnI/XEyzahs9DbTQLgUKmkDoGryRkra08=",
"npmHash": "sha256-bd4YK3AuD0N5Q9ijx1jqBRBL0WADhw1ZlaxspEctse4="
}
@@ -1,36 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=../../../../../../ -i bash -p wget prefetch-npm-deps nix-prefetch-github
if [ "$#" -gt 1 ] || [[ "$1" == -* ]]; then
echo "Regenerates packaging data for the keytar package."
echo "Usage: $0 [git release tag]"
exit 1
fi
version="$1"
set -euo pipefail
if [ -z "$version" ]; then
version="$(wget -O- "https://api.github.com/repos/atom/node-keytar/releases?per_page=1" | jq -r '.[0].tag_name')"
fi
# strip leading "v"
version="${version#v}"
SRC="https://raw.githubusercontent.com/atom/node-keytar/v$version"
wget "$SRC/package-lock.json"
wget "$SRC/package.json"
npm_hash=$(prefetch-npm-deps package-lock.json)
rm -rf node_modules package.json package-lock.json
src_hash=$(nix-prefetch-github atom node-keytar --rev v${version} | jq -r .hash)
cat > pin.json << EOF
{
"version": "$version",
"srcHash": "$src_hash",
"npmHash": "$npm_hash"
}
EOF
@@ -13,7 +13,6 @@
callPackage,
desktopToDarwinBundle,
typescript,
useKeytar ? true,
# command line arguments which are always set
commandLineArgs ? "",
}:
@@ -23,9 +22,6 @@ let
inherit (pinData.hashes) desktopSrcHash desktopYarnHash;
executableName = "element-desktop";
electron = electron_38;
keytar = callPackage ./keytar {
inherit electron;
};
seshat = callPackage ./seshat { };
in
stdenv.mkDerivation (
@@ -90,9 +86,6 @@ stdenv.mkDerivation (
yarn --offline run i18n:sort
yarn --offline run build:res
chmod -R a+w node_modules/keytar-forked
rm -rf node_modules/matrix-seshat node_modules/keytar-forked
${lib.optionalString useKeytar "ln -s ${keytar} node_modules/keytar-forked"}
ln -s $seshat node_modules/matrix-seshat
runHook postBuild
@@ -158,17 +151,6 @@ stdenv.mkDerivation (
passthru = {
# run with: nix-shell ./maintainers/scripts/update.nix --argstr package element-desktop
updateScript = ./update.sh;
# TL;DR: keytar is optional while seshat isn't.
#
# This prevents building keytar when `useKeytar` is set to `false`, because
# if libsecret is unavailable (e.g. set to `null` or fails to build), then
# this package wouldn't even considered for building because
# "one of the dependencies failed to build",
# although the dependency wouldn't even be used.
#
# It needs to be `passthru` anyways because other packages do depend on it.
inherit keytar;
};
meta = {
@@ -1,8 +1,8 @@
{
"version" = "1.12.6";
"version" = "1.12.7";
"hashes" = {
"webSrcHash" = "sha256-MZohRkaPNoevaLmOb60OcebYJDd0sI3UaPEFMXh7y38=";
"webYarnHash" = "sha256-3iV2XXphubxDG+FzbNC9cHY+gjSTssv6iQK9U7BLMp0=";
"webSharedComponentsYarnHash" = "sha256-fwRasJ3iI+4DjqfNNpZ5CceEydJITUTeB7brhcmqOKk=";
"webSrcHash" = "sha256-D24x3T1m0qRmlpmkZ7zTAxhtMUddlMaip0JKT8H3Ci0=";
"webYarnHash" = "sha256-72M6XyI9zfxcym7e/CvLmQHe21eyzQXO3YfQipFh06s=";
"webSharedComponentsYarnHash" = "sha256-NrDB0itZ0xSFg4lZhAs6EGFap8GE1CZ1/EFa7fa4P2Q=";
};
}