vscode: fix source name

This commit fixes various long standing issues with the handling of
executable names in the source archive. Depending on whether you install
code or codium the executables are named differently. This commit let's
us customize the source exe name in the generic VSCode derivation, but
keeps the generated executableName intact.
launchpad/nixpkgs/master
Florian Beeres 3 years ago
parent 955df801e8
commit 92f9f2fe11
  1. 7
      pkgs/applications/editors/vscode/generic.nix
  2. 1
      pkgs/applications/editors/vscode/vscode.nix

@ -10,6 +10,9 @@
# Attributes inherit from specific versions
, version, src, meta, sourceRoot
, executableName, longName, shortName, pname, updateScript
# sourceExecutableName is the name of the binary in the source archive, over
# which we have no control
, sourceExecutableName ? executableName
}:
let
@ -77,12 +80,12 @@ let
'' + (if system == "x86_64-darwin" then ''
mkdir -p "$out/Applications/${longName}.app" $out/bin
cp -r ./* "$out/Applications/${longName}.app"
ln -s "$out/Applications/${longName}.app/Contents/Resources/app/bin/${executableName}" $out/bin/${executableName}
ln -s "$out/Applications/${longName}.app/Contents/Resources/app/bin/${sourceExecutableName}" $out/bin/${executableName}
'' else ''
mkdir -p $out/lib/vscode $out/bin
cp -r ./* $out/lib/vscode
ln -s $out/lib/vscode/bin/${executableName} $out/bin
ln -s $out/lib/vscode/bin/${sourceExecutableName} $out/bin/${executableName}
mkdir -p $out/share/applications
ln -s $desktopItem/share/applications/${executableName}.desktop $out/share/applications/${executableName}.desktop

@ -25,6 +25,7 @@ in
version = "1.57.1";
pname = "vscode";
sourceExecutableName = "code";
executableName = "code" + lib.optionalString isInsiders "-insiders";
longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
shortName = "Code" + lib.optionalString isInsiders " - Insiders";

Loading…
Cancel
Save