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.
This commit is contained in:
parent
955df801e8
commit
92f9f2fe11
|
@ -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…
Reference in New Issue
Block a user