From 7421ff3aa29d1a7da7bf0302b9e640cab064fb67 Mon Sep 17 00:00:00 2001 From: DontEatOreo <57304299+DontEatOreo@users.noreply.github.com> Date: Sun, 4 Aug 2024 22:56:15 +0300 Subject: [PATCH] discord: add darwin to disable-breaking-updates.py --- .../instant-messengers/discord/darwin.nix | 20 +++++++++++++++++-- .../discord/disable-breaking-updates.py | 17 +++++++++++----- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/discord/darwin.nix b/pkgs/applications/networking/instant-messengers/discord/darwin.nix index c6f901639693..aff995a1cee4 100644 --- a/pkgs/applications/networking/instant-messengers/discord/darwin.nix +++ b/pkgs/applications/networking/instant-messengers/discord/darwin.nix @@ -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 diff --git a/pkgs/applications/networking/instant-messengers/discord/disable-breaking-updates.py b/pkgs/applications/networking/instant-messengers/discord/disable-breaking-updates.py index fca1b7694173..a7ffd8405ad6 100644 --- a/pkgs/applications/networking/instant-messengers/discord/disable-breaking-updates.py +++ b/pkgs/applications/networking/instant-messengers/discord/disable-breaking-updates.py @@ -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: