discord: disable module updates with OpenASAR (#520078)
This commit is contained in:
@@ -65,14 +65,12 @@ let
|
||||
stageModules = writeShellScript "discord-stage-modules" ''
|
||||
store_modules="$1"
|
||||
modules_dir="$HOME/Library/Application Support/${configDirName}/${version}/modules"
|
||||
if [ ! -f "$modules_dir/installed.json" ]; then
|
||||
mkdir -p "$modules_dir"
|
||||
for m in ${lib.concatStringsSep " " (lib.attrNames moduleSrcs)}; do
|
||||
ln -sfn "$store_modules/$m" "$modules_dir/$m"
|
||||
done
|
||||
echo '${builtins.toJSON (lib.mapAttrs (_: mod: { installedVersion = mod; }) moduleVersions)}' \
|
||||
> "$modules_dir/installed.json"
|
||||
fi
|
||||
mkdir -p "$modules_dir"
|
||||
for m in ${lib.concatStringsSep " " (lib.attrNames moduleSrcs)}; do
|
||||
ln -sfn "$store_modules/$m" "$modules_dir/$m"
|
||||
done
|
||||
echo '${builtins.toJSON (lib.mapAttrs (_: mod: { installedVersion = mod; }) moduleVersions)}' \
|
||||
> "$modules_dir/installed.json"
|
||||
'';
|
||||
|
||||
disableBreakingUpdates =
|
||||
@@ -80,6 +78,7 @@ let
|
||||
{
|
||||
pythonInterpreter = "${python3.interpreter}";
|
||||
configDirName = lib.toLower binaryName;
|
||||
skipModuleUpdate = lib.boolToString withOpenASAR;
|
||||
meta.mainProgram = "disable-breaking-updates.py";
|
||||
}
|
||||
''
|
||||
@@ -141,7 +140,7 @@ stdenv.mkDerivation {
|
||||
mkdir -p $out/bin
|
||||
makeWrapper "$out/Applications/${desktopName}.app/Contents/MacOS/${binaryName}" "$out/bin/${binaryName}" \
|
||||
--run ${lib.getExe disableBreakingUpdates} \
|
||||
--run "${stageModules} $out/Applications/${desktopName}.app/Contents/Resources/modules" \
|
||||
--run "${stageModules} \"$out/Applications/${desktopName}.app/Contents/Resources/modules\"" \
|
||||
--add-flags ${lib.escapeShellArg commandLineArgs}
|
||||
|
||||
runHook postInstall
|
||||
|
||||
+12
-5
@@ -41,11 +41,16 @@ if os.path.exists(settings_path):
|
||||
else:
|
||||
settings = {}
|
||||
|
||||
if settings.get("SKIP_HOST_UPDATE"):
|
||||
print("[Nix] Disabling updates already done")
|
||||
else:
|
||||
skip_host_update = {"SKIP_HOST_UPDATE": True}
|
||||
settings.update(skip_host_update)
|
||||
required_settings = {"SKIP_HOST_UPDATE": True}
|
||||
if "@skipModuleUpdate@" == "true":
|
||||
required_settings["SKIP_MODULE_UPDATE"] = True
|
||||
|
||||
missing_settings = {
|
||||
key: value for key, value in required_settings.items() if settings.get(key) != value
|
||||
}
|
||||
|
||||
if missing_settings:
|
||||
settings.update(missing_settings)
|
||||
|
||||
os.makedirs(os.path.dirname(settings_path), exist_ok=True)
|
||||
|
||||
@@ -54,3 +59,5 @@ else:
|
||||
|
||||
settings_path_temp.rename(settings_path)
|
||||
print("[Nix] Disabled updates")
|
||||
else:
|
||||
print("[Nix] Disabling updates already done")
|
||||
|
||||
@@ -167,6 +167,7 @@ let
|
||||
{
|
||||
pythonInterpreter = "${python3.interpreter}";
|
||||
configDirName = lib.toLower binaryName;
|
||||
skipModuleUpdate = lib.boolToString withOpenASAR;
|
||||
meta.mainProgram = "disable-breaking-updates.py";
|
||||
}
|
||||
''
|
||||
|
||||
Reference in New Issue
Block a user