signal-desktop: dont hold onto nodejs at all
This commit is contained in:
@@ -676,20 +676,18 @@ in with final; {
|
||||
["${lib.optionalString stdenv.hostPlatform.isAarch64 "--arm64 "}-c.electronDist"]
|
||||
upstream.buildPhase
|
||||
;
|
||||
# fixup the app.asar to use the host nodejs.
|
||||
# XXX(2025-07-06): this seems to not actually be necessary; it launches fine unpatched.
|
||||
# probably better to just remove these references?
|
||||
# fixup the app.asar to not hold a ref to any build-time tools
|
||||
nativeBuildInputs = upstream.nativeBuildInputs ++ [
|
||||
final.asar
|
||||
];
|
||||
buildInputs = upstream.buildInputs ++ [
|
||||
final.bash # node_modules/pino/inc-version.sh has `#!/bin/bash` as shebang; gets patched to the build one, but still appears in the shipped asar.
|
||||
final.nodejs_22
|
||||
final.removeReferencesTo
|
||||
];
|
||||
preFixup = (upstream.preFixup or "") + ''
|
||||
# the asar includes both runtime and build-time files (e.g. build scripts):
|
||||
# it's impractical to properly split out the node files which aren't needed at runtime,
|
||||
# but we can patch them to not refer to the build tools to reduce closure size and to make potential packaging/cross-compilation bugs more obvious.
|
||||
asar extract $out/share/signal-desktop/app.asar asar-unpacked
|
||||
rm $out/share/signal-desktop/app.asar
|
||||
patchShebangs --host --update asar-unpacked
|
||||
find asar-unpacked/node_modules -type f -executable -exec remove-references-to -t ${buildPackages.nodejs_22} -t ${buildPackages.bashNonInteractive} '{}' \;
|
||||
asar pack asar-unpacked $out/share/signal-desktop/app.asar
|
||||
'';
|
||||
});
|
||||
|
Reference in New Issue
Block a user