From cc102eb91666baefab71c1cd715fa1724e751d12 Mon Sep 17 00:00:00 2001 From: GenericNerdyUsername Date: Thu, 20 Jul 2023 13:50:27 +0100 Subject: [PATCH 1/6] jetbrains.dataspell: format --- .../editors/jetbrains/default.nix | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index c3ab04c85011..28346d4fbc5b 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -97,20 +97,20 @@ let }; }); - buildDataSpell = { pname, version, src, license, description, wmClass, buildNumber, ... }: - (mkJetBrainsProduct { - inherit pname version src wmClass jdk buildNumber; - product = "DataSpell"; - meta = with lib; { - homepage = "https://www.jetbrains.com/dataspell/"; - inherit description license platforms; - longDescription = '' - DataSpell is a new IDE from JetBrains built for Data Scientists. - Mainly it integrates Jupyter notebooks in the IntelliJ platform. - ''; - maintainers = with maintainers; [ leona ]; - }; - }); + buildDataSpell = { pname, version, src, license, description, wmClass, buildNumber, ... }: + (mkJetBrainsProduct { + inherit pname version src wmClass jdk buildNumber; + product = "DataSpell"; + meta = with lib; { + homepage = "https://www.jetbrains.com/dataspell/"; + inherit description license platforms; + longDescription = '' + DataSpell is a new IDE from JetBrains built for Data Scientists. + Mainly it integrates Jupyter notebooks in the IntelliJ platform. + ''; + maintainers = with maintainers; [ leona ]; + }; + }); buildGateway = { pname, version, src, license, description, wmClass, buildNumber, product, ... }: (mkJetBrainsProduct { From 24833f08a09c26f92f3f139e88cfce64211f3e1c Mon Sep 17 00:00:00 2001 From: GenericNerdyUsername Date: Thu, 20 Jul 2023 13:52:32 +0100 Subject: [PATCH 2/6] jetbrains.plugins: add vscode keymap --- .../editors/jetbrains/plugins/plugins.json | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/pkgs/applications/editors/jetbrains/plugins/plugins.json b/pkgs/applications/editors/jetbrains/plugins/plugins.json index 3e4da5b02e4b..b0393cdf8457 100644 --- a/pkgs/applications/editors/jetbrains/plugins/plugins.json +++ b/pkgs/applications/editors/jetbrains/plugins/plugins.json @@ -244,6 +244,33 @@ }, "name": "csv-editor" }, + "12062": { + "compatible": [ + "clion", + "datagrip", + "goland", + "idea-community", + "idea-ultimate", + "mps", + "phpstorm", + "pycharm-community", + "pycharm-professional", + "rider", + "ruby-mine", + "webstorm" + ], + "builds": { + "223.8836.1185": "https://plugins.jetbrains.com/files/12062/256327/keymap-vscode-223.7571.113.zip", + "231.9011.35": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip", + "231.9225.12": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip", + "231.9225.15": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip", + "231.9225.16": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip", + "231.9225.18": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip", + "231.9225.21": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip", + "231.9225.23": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip" + }, + "name": "vscode-keymap" + }, "12559": { "compatible": [ "clion", @@ -383,6 +410,8 @@ "files": { "https://plugins.jetbrains.com/files/10037/358810/CSVEditor-3.2.1-231.zip": "sha256-JC/NOICLHf1gc4wTarDPw7lYfGHOkCOlG194yt18xOA=", "https://plugins.jetbrains.com/files/10037/358812/CSVEditor-3.2.1-223.zip": "sha256-l8xq7XXQheZYcP+kdnLXAO7FhfPJYwIh+ZffbttBI9s=", + "https://plugins.jetbrains.com/files/12062/256327/keymap-vscode-223.7571.113.zip": "sha256-MlWTPLA6517inAtiOdJDUeUMyHczXzeUIe4dfASLzsM=", + "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip": "sha256-OqK3HmcksgNlrADv7Ld91VCW+uzTOVWtcXcRC60IKfw=", "https://plugins.jetbrains.com/files/12559/257029/keymap-eclipse-223.7571.125.zip": "sha256-0hMn8Qt+xJjB9HnYz7OMw8xmI0FxDFy+lYfXHURhTKY=", "https://plugins.jetbrains.com/files/12559/307825/keymap-eclipse-231.8109.91.zip": "sha256-8jUsRK4evNMzjuWQIjIMrvQ0sIXPoY1C/buu1nod5X8=", "https://plugins.jetbrains.com/files/13017/257030/keymap-visualStudio-223.7571.125.zip": "sha256-YiJALivO1a+I4bCtZEv68PZ21Vydk5UW6gAgErj28DQ=", From ea023517b7892242ff61866f093ef3edacc4aff5 Mon Sep 17 00:00:00 2001 From: GenericNerdyUsername Date: Thu, 20 Jul 2023 14:20:56 +0100 Subject: [PATCH 3/6] jetbrains.plugins.tests.default: init --- .../editors/jetbrains/plugins/default.nix | 2 ++ .../editors/jetbrains/plugins/tests.nix | 26 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/applications/editors/jetbrains/plugins/tests.nix diff --git a/pkgs/applications/editors/jetbrains/plugins/default.nix b/pkgs/applications/editors/jetbrains/plugins/default.nix index 4f519aa55a03..35e38f2bd1fa 100644 --- a/pkgs/applications/editors/jetbrains/plugins/default.nix +++ b/pkgs/applications/editors/jetbrains/plugins/default.nix @@ -68,6 +68,8 @@ rec { # Only use if you know what youre doing raw = { inherit files byId byName; }; + tests = callPackage ./tests.nix {}; + addPlugins = ide: unprocessedPlugins: let diff --git a/pkgs/applications/editors/jetbrains/plugins/tests.nix b/pkgs/applications/editors/jetbrains/plugins/tests.nix new file mode 100644 index 000000000000..6047d21f43b4 --- /dev/null +++ b/pkgs/applications/editors/jetbrains/plugins/tests.nix @@ -0,0 +1,26 @@ +{ jetbrains, writeText }: + +{ + # Check to see if the process for adding plugins is breaking anything, instead of the plugins themselves + default = + let + modify-ide = ide: jetbrains.plugins.addPlugins ide [ ]; + ides = with jetbrains; map modify-ide [ + clion + datagrip + dataspell + goland + idea-community + idea-ultimate + mps + phpstorm + pycharm-community + pycharm-professional + rider + ruby-mine + webstorm + ]; + paths = builtins.concatStringsSep " " ides; + in + writeText "jb-ides" paths; +} From c9fbb6fe87a7f34c43e307268dd4c59bf492c330 Mon Sep 17 00:00:00 2001 From: GenericNerdyUsername Date: Thu, 20 Jul 2023 14:44:20 +0100 Subject: [PATCH 4/6] jetbrains.*: fix build for most IDEs with plugins --- pkgs/applications/editors/jetbrains/plugins/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/editors/jetbrains/plugins/default.nix b/pkgs/applications/editors/jetbrains/plugins/default.nix index 35e38f2bd1fa..7939f66fd654 100644 --- a/pkgs/applications/editors/jetbrains/plugins/default.nix +++ b/pkgs/applications/editors/jetbrains/plugins/default.nix @@ -117,7 +117,9 @@ rec { do ln -s "$plugin" -t $out/${meta.mainProgram}/plugins/ done - sed "s|${ide.outPath}|$out|" -i $out/bin/${meta.mainProgram} + sed "s|${ide.outPath}|$out|" \ + -i $(realpath $out/bin/${meta.mainProgram}) \ + -i $(realpath $out/bin/${meta.mainProgram}-remote-dev-server) autoPatchelf $out/${meta.mainProgram}/bin '' + (extraBuildPhase."${ide.meta.mainProgram}" or ""); }; From abd6d82002a13c0737ec3962254388c86a94eb0b Mon Sep 17 00:00:00 2001 From: GenericNerdyUsername Date: Thu, 20 Jul 2023 14:48:34 +0100 Subject: [PATCH 5/6] jetbrains.clion: fix build with plugins --- pkgs/applications/editors/jetbrains/plugins/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/applications/editors/jetbrains/plugins/default.nix b/pkgs/applications/editors/jetbrains/plugins/default.nix index 7939f66fd654..ac6992f801bb 100644 --- a/pkgs/applications/editors/jetbrains/plugins/default.nix +++ b/pkgs/applications/editors/jetbrains/plugins/default.nix @@ -101,9 +101,6 @@ rec { pluginCmdsLines = map (plugin: "ln -s ${plugin} \"$out\"/${meta.mainProgram}/plugins/${baseNameOf plugin}") plugins; pluginCmds = builtins.concatStringsSep "\n" pluginCmdsLines; extraBuildPhase = rec { - clion = '' - sed "s|${ide}|$out|" -i $out/bin/.clion-wrapped - ''; goland = '' sed "s|${ide}|$out|" -i $out/bin/.goland-wrapped ''; From 151c175a8528864be449ba30df62ef4c2c93a25d Mon Sep 17 00:00:00 2001 From: GenericNerdyUsername Date: Thu, 20 Jul 2023 14:54:24 +0100 Subject: [PATCH 6/6] jetbrains.goland: fix build with plugins --- pkgs/applications/editors/jetbrains/default.nix | 7 ++++--- pkgs/applications/editors/jetbrains/plugins/default.nix | 7 +------ 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index 28346d4fbc5b..71bf0eaeb5a5 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -132,6 +132,10 @@ let (mkJetBrainsProduct { inherit pname version src wmClass jdk buildNumber; product = "Goland"; + extraWrapperArgs = [ + # fortify source breaks build since delve compiles with -O0 + ''--prefix CGO_CPPFLAGS " " "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0"'' + ]; meta = with lib; { homepage = "https://www.jetbrains.com/go/"; inherit description license platforms; @@ -148,9 +152,6 @@ let interp="$(cat $NIX_CC/nix-support/dynamic-linker)" patchelf --set-interpreter $interp $out/goland/plugins/go-plugin/lib/dlv/linux/dlv chmod +x $out/goland/plugins/go-plugin/lib/dlv/linux/dlv - # fortify source breaks build since delve compiles with -O0 - wrapProgram $out/bin/goland \ - --prefix CGO_CPPFLAGS " " "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0" ''; }); diff --git a/pkgs/applications/editors/jetbrains/plugins/default.nix b/pkgs/applications/editors/jetbrains/plugins/default.nix index ac6992f801bb..bf160e2aa365 100644 --- a/pkgs/applications/editors/jetbrains/plugins/default.nix +++ b/pkgs/applications/editors/jetbrains/plugins/default.nix @@ -100,11 +100,6 @@ rec { let pluginCmdsLines = map (plugin: "ln -s ${plugin} \"$out\"/${meta.mainProgram}/plugins/${baseNameOf plugin}") plugins; pluginCmds = builtins.concatStringsSep "\n" pluginCmdsLines; - extraBuildPhase = rec { - goland = '' - sed "s|${ide}|$out|" -i $out/bin/.goland-wrapped - ''; - }; in '' cp -r ${ide} $out @@ -118,6 +113,6 @@ rec { -i $(realpath $out/bin/${meta.mainProgram}) \ -i $(realpath $out/bin/${meta.mainProgram}-remote-dev-server) autoPatchelf $out/${meta.mainProgram}/bin - '' + (extraBuildPhase."${ide.meta.mainProgram}" or ""); + ''; }; }