lol

Merge pull request #244500 from GenericNerdyUsername/jetbrains-with-plugins-build-fix

authored by

Janik and committed by
GitHub
acf7891b 38823d15

+79 -27
+18 -17
pkgs/applications/editors/jetbrains/default.nix
··· 97 97 }; 98 98 }); 99 99 100 - buildDataSpell = { pname, version, src, license, description, wmClass, buildNumber, ... }: 101 - (mkJetBrainsProduct { 102 - inherit pname version src wmClass jdk buildNumber; 103 - product = "DataSpell"; 104 - meta = with lib; { 105 - homepage = "https://www.jetbrains.com/dataspell/"; 106 - inherit description license platforms; 107 - longDescription = '' 108 - DataSpell is a new IDE from JetBrains built for Data Scientists. 109 - Mainly it integrates Jupyter notebooks in the IntelliJ platform. 110 - ''; 111 - maintainers = with maintainers; [ leona ]; 112 - }; 113 - }); 100 + buildDataSpell = { pname, version, src, license, description, wmClass, buildNumber, ... }: 101 + (mkJetBrainsProduct { 102 + inherit pname version src wmClass jdk buildNumber; 103 + product = "DataSpell"; 104 + meta = with lib; { 105 + homepage = "https://www.jetbrains.com/dataspell/"; 106 + inherit description license platforms; 107 + longDescription = '' 108 + DataSpell is a new IDE from JetBrains built for Data Scientists. 109 + Mainly it integrates Jupyter notebooks in the IntelliJ platform. 110 + ''; 111 + maintainers = with maintainers; [ leona ]; 112 + }; 113 + }); 114 114 115 115 buildGateway = { pname, version, src, license, description, wmClass, buildNumber, product, ... }: 116 116 (mkJetBrainsProduct { ··· 132 132 (mkJetBrainsProduct { 133 133 inherit pname version src wmClass jdk buildNumber; 134 134 product = "Goland"; 135 + extraWrapperArgs = [ 136 + # fortify source breaks build since delve compiles with -O0 137 + ''--prefix CGO_CPPFLAGS " " "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0"'' 138 + ]; 135 139 meta = with lib; { 136 140 homepage = "https://www.jetbrains.com/go/"; 137 141 inherit description license platforms; ··· 148 152 interp="$(cat $NIX_CC/nix-support/dynamic-linker)" 149 153 patchelf --set-interpreter $interp $out/goland/plugins/go-plugin/lib/dlv/linux/dlv 150 154 chmod +x $out/goland/plugins/go-plugin/lib/dlv/linux/dlv 151 - # fortify source breaks build since delve compiles with -O0 152 - wrapProgram $out/bin/goland \ 153 - --prefix CGO_CPPFLAGS " " "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0" 154 155 ''; 155 156 }); 156 157
+6 -10
pkgs/applications/editors/jetbrains/plugins/default.nix
··· 68 68 # Only use if you know what youre doing 69 69 raw = { inherit files byId byName; }; 70 70 71 + tests = callPackage ./tests.nix {}; 72 + 71 73 addPlugins = ide: unprocessedPlugins: 72 74 let 73 75 ··· 98 100 let 99 101 pluginCmdsLines = map (plugin: "ln -s ${plugin} \"$out\"/${meta.mainProgram}/plugins/${baseNameOf plugin}") plugins; 100 102 pluginCmds = builtins.concatStringsSep "\n" pluginCmdsLines; 101 - extraBuildPhase = rec { 102 - clion = '' 103 - sed "s|${ide}|$out|" -i $out/bin/.clion-wrapped 104 - ''; 105 - goland = '' 106 - sed "s|${ide}|$out|" -i $out/bin/.goland-wrapped 107 - ''; 108 - }; 109 103 in 110 104 '' 111 105 cp -r ${ide} $out ··· 115 109 do 116 110 ln -s "$plugin" -t $out/${meta.mainProgram}/plugins/ 117 111 done 118 - sed "s|${ide.outPath}|$out|" -i $out/bin/${meta.mainProgram} 112 + sed "s|${ide.outPath}|$out|" \ 113 + -i $(realpath $out/bin/${meta.mainProgram}) \ 114 + -i $(realpath $out/bin/${meta.mainProgram}-remote-dev-server) 119 115 autoPatchelf $out/${meta.mainProgram}/bin 120 - '' + (extraBuildPhase."${ide.meta.mainProgram}" or ""); 116 + ''; 121 117 }; 122 118 }
+29
pkgs/applications/editors/jetbrains/plugins/plugins.json
··· 244 244 }, 245 245 "name": "csv-editor" 246 246 }, 247 + "12062": { 248 + "compatible": [ 249 + "clion", 250 + "datagrip", 251 + "goland", 252 + "idea-community", 253 + "idea-ultimate", 254 + "mps", 255 + "phpstorm", 256 + "pycharm-community", 257 + "pycharm-professional", 258 + "rider", 259 + "ruby-mine", 260 + "webstorm" 261 + ], 262 + "builds": { 263 + "223.8836.1185": "https://plugins.jetbrains.com/files/12062/256327/keymap-vscode-223.7571.113.zip", 264 + "231.9011.35": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip", 265 + "231.9225.12": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip", 266 + "231.9225.15": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip", 267 + "231.9225.16": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip", 268 + "231.9225.18": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip", 269 + "231.9225.21": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip", 270 + "231.9225.23": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip" 271 + }, 272 + "name": "vscode-keymap" 273 + }, 247 274 "12559": { 248 275 "compatible": [ 249 276 "clion", ··· 383 410 "files": { 384 411 "https://plugins.jetbrains.com/files/10037/358810/CSVEditor-3.2.1-231.zip": "sha256-JC/NOICLHf1gc4wTarDPw7lYfGHOkCOlG194yt18xOA=", 385 412 "https://plugins.jetbrains.com/files/10037/358812/CSVEditor-3.2.1-223.zip": "sha256-l8xq7XXQheZYcP+kdnLXAO7FhfPJYwIh+ZffbttBI9s=", 413 + "https://plugins.jetbrains.com/files/12062/256327/keymap-vscode-223.7571.113.zip": "sha256-MlWTPLA6517inAtiOdJDUeUMyHczXzeUIe4dfASLzsM=", 414 + "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip": "sha256-OqK3HmcksgNlrADv7Ld91VCW+uzTOVWtcXcRC60IKfw=", 386 415 "https://plugins.jetbrains.com/files/12559/257029/keymap-eclipse-223.7571.125.zip": "sha256-0hMn8Qt+xJjB9HnYz7OMw8xmI0FxDFy+lYfXHURhTKY=", 387 416 "https://plugins.jetbrains.com/files/12559/307825/keymap-eclipse-231.8109.91.zip": "sha256-8jUsRK4evNMzjuWQIjIMrvQ0sIXPoY1C/buu1nod5X8=", 388 417 "https://plugins.jetbrains.com/files/13017/257030/keymap-visualStudio-223.7571.125.zip": "sha256-YiJALivO1a+I4bCtZEv68PZ21Vydk5UW6gAgErj28DQ=",
+26
pkgs/applications/editors/jetbrains/plugins/tests.nix
··· 1 + { jetbrains, writeText }: 2 + 3 + { 4 + # Check to see if the process for adding plugins is breaking anything, instead of the plugins themselves 5 + default = 6 + let 7 + modify-ide = ide: jetbrains.plugins.addPlugins ide [ ]; 8 + ides = with jetbrains; map modify-ide [ 9 + clion 10 + datagrip 11 + dataspell 12 + goland 13 + idea-community 14 + idea-ultimate 15 + mps 16 + phpstorm 17 + pycharm-community 18 + pycharm-professional 19 + rider 20 + ruby-mine 21 + webstorm 22 + ]; 23 + paths = builtins.concatStringsSep " " ides; 24 + in 25 + writeText "jb-ides" paths; 26 + }