From c90ec7c598e3689dd9f67a8311fd4428fb732e5e Mon Sep 17 00:00:00 2001 From: usertam Date: Sun, 18 Sep 2022 18:41:15 +0800 Subject: [PATCH] discord: wrap executables to $out/bin for darwin This enables `nix run` for discord on darwin. --- .../networking/instant-messengers/discord/darwin.nix | 8 ++++++-- .../networking/instant-messengers/discord/default.nix | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/discord/darwin.nix b/pkgs/applications/networking/instant-messengers/discord/darwin.nix index aa1cfaa045ca..fc75da46a388 100644 --- a/pkgs/applications/networking/instant-messengers/discord/darwin.nix +++ b/pkgs/applications/networking/instant-messengers/discord/darwin.nix @@ -1,9 +1,9 @@ -{ pname, version, src, openasar, meta, stdenv, binaryName, desktopName, lib, undmg, withOpenASAR ? false }: +{ pname, version, src, openasar, meta, stdenv, binaryName, desktopName, lib, undmg, makeWrapper, withOpenASAR ? false }: stdenv.mkDerivation { inherit pname version src meta; - nativeBuildInputs = [ undmg ]; + nativeBuildInputs = [ undmg makeWrapper ]; sourceRoot = "."; @@ -13,6 +13,10 @@ stdenv.mkDerivation { mkdir -p $out/Applications cp -r "${desktopName}.app" $out/Applications + # wrap executable to $out/bin + mkdir -p $out/bin + makeWrapper "$out/Applications/${desktopName}.app/Contents/MacOS/${binaryName}" "$out/bin/${binaryName}" + runHook postInstall ''; diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix index 852e1baba715..6b720ab3f9be 100644 --- a/pkgs/applications/networking/instant-messengers/discord/default.nix +++ b/pkgs/applications/networking/instant-messengers/discord/default.nix @@ -80,12 +80,12 @@ let }; ptb = rec { pname = "discord-ptb"; - binaryName = "DiscordPTB"; + binaryName = if stdenv.isLinux then "DiscordPTB" else desktopName; desktopName = "Discord PTB"; }; canary = rec { pname = "discord-canary"; - binaryName = "DiscordCanary"; + binaryName = if stdenv.isLinux then "DiscordCanary" else desktopName; desktopName = "Discord Canary"; }; }