diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/editors/vscode/generic.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/editors/vscode/generic.nix | 51 |
1 files changed, 27 insertions, 24 deletions
diff --git a/nixpkgs/pkgs/applications/editors/vscode/generic.nix b/nixpkgs/pkgs/applications/editors/vscode/generic.nix index 370d5b1561ce..060078cd57b6 100644 --- a/nixpkgs/pkgs/applications/editors/vscode/generic.nix +++ b/nixpkgs/pkgs/applications/editors/vscode/generic.nix @@ -61,37 +61,40 @@ in }; buildInputs = [ libsecret libXScrnSaver libxshmfence ] - ++ lib.optionals (!stdenv.isDarwin) ([ gtk2 at-spi2-atk wrapGAppsHook ] ++ atomEnv.packages); + ++ lib.optionals (!stdenv.isDarwin) ([ gtk2 at-spi2-atk ] ++ atomEnv.packages); runtimeDependencies = lib.optional (stdenv.isLinux) [ (lib.getLib systemd) fontconfig.lib libdbusmenu ]; - nativeBuildInputs = [unzip] ++ lib.optional (!stdenv.isDarwin) autoPatchelfHook; + nativeBuildInputs = [unzip] ++ lib.optionals (!stdenv.isDarwin) [ autoPatchelfHook wrapGAppsHook ]; dontBuild = true; dontConfigure = true; - installPhase = - 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/code" $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 - - mkdir -p $out/share/applications - ln -s $desktopItem/share/applications/${executableName}.desktop $out/share/applications/${executableName}.desktop - ln -s $urlHandlerDesktopItem/share/applications/${executableName}-url-handler.desktop $out/share/applications/${executableName}-url-handler.desktop - - mkdir -p $out/share/pixmaps - cp $out/lib/vscode/resources/app/resources/linux/code.png $out/share/pixmaps/code.png - - # Override the previously determined VSCODE_PATH with the one we know to be correct - sed -i "/ELECTRON=/iVSCODE_PATH='$out/lib/vscode'" $out/bin/${executableName} - grep -q "VSCODE_PATH='$out/lib/vscode'" $out/bin/${executableName} # check if sed succeeded - ''; + installPhase = '' + runHook preInstall + '' + (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/code" $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 + + mkdir -p $out/share/applications + ln -s $desktopItem/share/applications/${executableName}.desktop $out/share/applications/${executableName}.desktop + ln -s $urlHandlerDesktopItem/share/applications/${executableName}-url-handler.desktop $out/share/applications/${executableName}-url-handler.desktop + + mkdir -p $out/share/pixmaps + cp $out/lib/vscode/resources/app/resources/linux/code.png $out/share/pixmaps/code.png + + # Override the previously determined VSCODE_PATH with the one we know to be correct + sed -i "/ELECTRON=/iVSCODE_PATH='$out/lib/vscode'" $out/bin/${executableName} + grep -q "VSCODE_PATH='$out/lib/vscode'" $out/bin/${executableName} # check if sed succeeded + '') + '' + runHook postInstall + ''; inherit meta; } |