Unverified Commit a3f34324 authored by Masum Reza's avatar Masum Reza Committed by GitHub
Browse files

Merge pull request #332324 from DontEatOreo/discord-darwin-disable-updates

discord: add darwin to disable-breaking-updates.py
parents 41d21a82 7421ff3a
Loading
Loading
Loading
Loading
+18 −2
Original line number Diff line number Diff line
{ 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
Original line number Diff line number Diff line
@@ -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: