diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix index b38b357126fa..ff9d0a45b862 100644 --- a/pkgs/applications/editors/vscode/default.nix +++ b/pkgs/applications/editors/vscode/default.nix @@ -1,37 +1,31 @@ -{ stdenv, lib, fetchurl, unzip, atomEnv, makeDesktopItem, - gtk2, wrapGAppsHook, libXScrnSaver, libxkbfile, libsecret, - isInsiders ? false }: +{ stdenv, lib, fetchurl, makeDesktopItem +, unzip, libsecret, libXScrnSaver, wrapGAppsHook +, gtk2, atomEnv, at-spi2-atk, autoPatchelfHook +, systemd, fontconfig +, isInsiders ? false }: let executableName = "code" + lib.optionalString isInsiders "-insiders"; + inherit (stdenv.hostPlatform) system; + plat = { "i686-linux" = "linux-ia32"; "x86_64-linux" = "linux-x64"; "x86_64-darwin" = "darwin"; - }.${stdenv.hostPlatform.system}; + }.${system}; sha256 = { - "i686-linux" = "1g73fay6fxlqhalkqq5m6rjbp68k9npk0rrxrkhdj8mw0cz74dpm"; - "x86_64-linux" = "0mil8n5i2ajdyrgq862wq59ajy2122rvvn7m7mxq4ab92sk26rix"; - "x86_64-darwin" = "07r52scs1sgafzxqal39r8vf9p9qqvwwx8f6z09gqcf6clr6k48q"; - }.${stdenv.hostPlatform.system}; - - archive_fmt = if stdenv.hostPlatform.system == "x86_64-darwin" then "zip" else "tar.gz"; - - rpath = lib.concatStringsSep ":" [ - atomEnv.libPath - "${lib.makeLibraryPath [gtk2]}" - "${lib.makeLibraryPath [libsecret]}/libsecret-1.so.0" - "${lib.makeLibraryPath [libXScrnSaver]}/libXss.so.1" - "${lib.makeLibraryPath [libxkbfile]}/libxkbfile.so.1" - "$out/lib/vscode" - ]; + "i686-linux" = "09mgvff27iljj9z7h0xxmr6152hcxh7qqxl3i7wdc55ra1rsjq1n"; + "x86_64-linux" = "1gvlvg3cjsscx6khy5gxd4wnb069kska00qdfwcq4kn7x1z04xnz"; + "x86_64-darwin" = "1mf9nyjnxgmzai7rfd1rkwk0wvil0ripg3mh8icg4mld2jjz8rsy"; + }.${system}; + archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; in stdenv.mkDerivation rec { name = "vscode-${version}"; - version = "1.30.2"; + version = "1.31.0"; src = fetchurl { name = "VSCode_${version}_${plat}.${archive_fmt}"; @@ -53,12 +47,18 @@ in categories = "GNOME;GTK;Utility;TextEditor;Development;"; }; - buildInputs = if stdenv.hostPlatform.system == "x86_64-darwin" - then [ unzip libXScrnSaver libsecret ] - else [ wrapGAppsHook libXScrnSaver libxkbfile libsecret ]; + buildInputs = (if stdenv.isDarwin + then [ unzip ] + else [ gtk2 at-spi2-atk wrapGAppsHook ] ++ atomEnv.packages) + ++ [ libsecret libXScrnSaver ]; + + nativeBuildInputs = lib.optional (!stdenv.isDarwin) autoPatchelfHook; + + dontBuild = true; + dontConfigure = true; installPhase = - if stdenv.hostPlatform.system == "x86_64-darwin" then '' + if system == "x86_64-darwin" then '' mkdir -p $out/lib/vscode $out/bin cp -r ./* $out/lib/vscode ln -s $out/lib/vscode/Contents/Resources/app/bin/${executableName} $out/bin @@ -78,22 +78,8 @@ in cp $out/lib/vscode/resources/app/resources/linux/code.png $out/share/pixmaps/code.png ''; - postFixup = lib.optionalString (stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux") '' - patchelf \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${rpath}" \ - $out/lib/vscode/${executableName} - - patchelf \ - --set-rpath "${rpath}" \ - $out/lib/vscode/resources/app/node_modules.asar.unpacked/keytar/build/Release/keytar.node - - patchelf \ - --set-rpath "${rpath}" \ - "$out/lib/vscode/resources/app/node_modules.asar.unpacked/native-keymap/build/Release/\ - keymapping.node" - - ln -s ${lib.makeLibraryPath [libsecret]}/libsecret-1.so.0 $out/lib/vscode/libsecret-1.so.0 + preFixup = lib.optionalString (system == "i686-linux" || system == "x86_64-linux") '' + gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ systemd fontconfig ]}) ''; meta = with stdenv.lib; { @@ -111,6 +97,7 @@ in homepage = http://code.visualstudio.com/; downloadPage = https://code.visualstudio.com/Updates; license = licenses.unfree; + maintainers = with maintainers; [ eadwu ]; platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; }; } diff --git a/pkgs/misc/vscode-extensions/cpptools/default.nix b/pkgs/misc/vscode-extensions/cpptools/default.nix index 06f86582d535..e5b83511e72e 100644 --- a/pkgs/misc/vscode-extensions/cpptools/default.nix +++ b/pkgs/misc/vscode-extensions/cpptools/default.nix @@ -68,8 +68,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "cpptools"; publisher = "ms-vscode"; - version = "0.20.1"; - sha256 = "1gmnkrn26n57vx2nm5hhalkkl2irak38m2lklgja0bi10jb6y08l"; + version = "0.21.0"; + sha256 = "0zq81xfj4hyz01kcw131fmql1mfs9yrjzcmw8i0yha0hymrgwngv"; }; buildInputs = [