discord: add darwin to disable-breaking-updates.py
This commit is contained in:
@@ -1,8 +1,21 @@
|
||||
{ pname, version, src, meta, stdenv, binaryName, desktopName, lib, undmg, makeWrapper, writeScript
|
||||
{ pname, version, src, meta, stdenv, binaryName, desktopName, lib, undmg, makeWrapper, writeScript, python3, runCommand
|
||||
, branch
|
||||
, withOpenASAR ? false, openasar
|
||||
, withVencord ? false, vencord }:
|
||||
|
||||
let
|
||||
disableBreakingUpdates = runCommand "disable-breaking-updates.py"
|
||||
{
|
||||
pythonInterpreter = "${python3.interpreter}";
|
||||
configDirName = lib.toLower binaryName;
|
||||
meta.mainProgram = "disable-breaking-updates.py";
|
||||
} ''
|
||||
mkdir -p $out/bin
|
||||
cp ${./disable-breaking-updates.py} $out/bin/disable-breaking-updates.py
|
||||
substituteAllInPlace $out/bin/disable-breaking-updates.py
|
||||
chmod +x $out/bin/disable-breaking-updates.py
|
||||
'';
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit pname version src meta;
|
||||
|
||||
@@ -18,7 +31,8 @@ stdenv.mkDerivation {
|
||||
|
||||
# wrap executable to $out/bin
|
||||
mkdir -p $out/bin
|
||||
makeWrapper "$out/Applications/${desktopName}.app/Contents/MacOS/${binaryName}" "$out/bin/${binaryName}"
|
||||
makeWrapper "$out/Applications/${desktopName}.app/Contents/MacOS/${binaryName}" "$out/bin/${binaryName}" \
|
||||
--run ${lib.getExe disableBreakingUpdates}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
@@ -33,6 +47,8 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
# make it possible to run disableBreakingUpdates standalone
|
||||
inherit disableBreakingUpdates;
|
||||
updateScript = writeScript "discord-update-script" ''
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl gnugrep common-updater-scripts
|
||||
|
||||
+12
-5
@@ -17,12 +17,19 @@ import os
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
XDG_CONFIG_HOME = os.environ.get("XDG_CONFIG_HOME") or os.path.join(
|
||||
os.path.expanduser("~"), ".config"
|
||||
)
|
||||
config_home = {
|
||||
"darwin": os.path.join(os.path.expanduser("~"), "Library", "Application Support"),
|
||||
"linux": os.environ.get("XDG_CONFIG_HOME") or os.path.join(os.path.expanduser("~"), ".config")
|
||||
}.get(sys.platform, None)
|
||||
|
||||
settings_path = Path(f"{XDG_CONFIG_HOME}/@configDirName@/settings.json")
|
||||
settings_path_temp = Path(f"{XDG_CONFIG_HOME}/@configDirName@/settings.json.tmp")
|
||||
if config_home is None:
|
||||
print("[Nix] Unsupported operating system.")
|
||||
sys.exit(1)
|
||||
|
||||
config_dir_name = "@configDirName@".replace(" ", "") if sys.platform == "darwin" else "@configDirName@"
|
||||
|
||||
settings_path = Path(f"{config_home}/{config_dir_name}/settings.json")
|
||||
settings_path_temp = Path(f"{config_home}/{config_dir_name}/settings.json.tmp")
|
||||
|
||||
if os.path.exists(settings_path):
|
||||
with settings_path.open(encoding="utf-8") as settings_file:
|
||||
|
||||
Reference in New Issue
Block a user