at master 27 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 fetchzip, 6 unzip, 7}: 8 9rec { 10 11 # A primitive builder of Eclipse plugins. This function is intended 12 # to be used when building more advanced builders. 13 buildEclipsePluginBase = 14 { 15 name, 16 buildInputs ? [ ], 17 passthru ? { }, 18 ... 19 }@attrs: 20 stdenv.mkDerivation ( 21 attrs 22 // { 23 name = "eclipse-plugin-" + name; 24 25 buildInputs = buildInputs ++ [ unzip ]; 26 27 passthru = { 28 isEclipsePlugin = true; 29 } 30 // passthru; 31 } 32 ); 33 34 # Helper for the common case where we have separate feature and 35 # plugin JARs. 36 buildEclipsePlugin = 37 { 38 name, 39 srcFeature, 40 srcPlugin ? null, 41 srcPlugins ? [ ], 42 ... 43 }@attrs: 44 assert srcPlugin == null -> srcPlugins != [ ]; 45 assert srcPlugin != null -> srcPlugins == [ ]; 46 47 let 48 49 pSrcs = if (srcPlugin != null) then [ srcPlugin ] else srcPlugins; 50 51 in 52 53 buildEclipsePluginBase ( 54 attrs 55 // { 56 srcs = [ srcFeature ] ++ pSrcs; 57 58 buildCommand = '' 59 dropinDir="$out/eclipse/dropins/${name}" 60 61 mkdir -p $dropinDir/features 62 unzip ${srcFeature} -d $dropinDir/features/ 63 64 mkdir -p $dropinDir/plugins 65 for plugin in ${toString pSrcs}; do 66 cp -v $plugin $dropinDir/plugins/$(stripHash $plugin) 67 done 68 ''; 69 } 70 ); 71 72 # Helper for the case where the build directory has the layout of an 73 # Eclipse update site, that is, it contains the directories 74 # `features` and `plugins`. All features and plugins inside these 75 # directories will be installed. 76 buildEclipseUpdateSite = 77 { name, ... }@attrs: 78 buildEclipsePluginBase ( 79 attrs 80 // { 81 dontBuild = true; 82 doCheck = false; 83 84 installPhase = '' 85 dropinDir="$out/eclipse/dropins/${name}" 86 87 # Install features. 88 cd features 89 for feature in *.jar; do 90 featureName=''${feature%.jar} 91 mkdir -p $dropinDir/features/$featureName 92 unzip $feature -d $dropinDir/features/$featureName 93 done 94 cd .. 95 96 # Install plugins. 97 mkdir -p $dropinDir/plugins 98 99 # A bundle should be unpacked if the manifest matches this 100 # pattern. 101 unpackPat="Eclipse-BundleShape:\\s*dir" 102 103 cd plugins 104 for plugin in *.jar ; do 105 pluginName=''${plugin%.jar} 106 manifest=$(unzip -p $plugin META-INF/MANIFEST.MF) 107 108 if [[ $manifest =~ $unpackPat ]] ; then 109 mkdir $dropinDir/plugins/$pluginName 110 unzip $plugin -d $dropinDir/plugins/$pluginName 111 else 112 cp -v $plugin $dropinDir/plugins/ 113 fi 114 done 115 cd .. 116 ''; 117 } 118 ); 119 120 acejump = buildEclipsePlugin rec { 121 name = "acejump-${version}"; 122 version = "1.0.0.201610261941"; 123 124 srcFeature = fetchurl { 125 url = "https://tobiasmelcher.github.io/acejumpeclipse/features/acejump.feature_${version}.jar"; 126 sha256 = "1szswjxp9g70ibfbv3p8dlq1bngq7nc22kp657z9i9kp8309md2d"; 127 }; 128 129 srcPlugin = fetchurl { 130 url = "https://tobiasmelcher.github.io/acejumpeclipse/plugins/acejump_${version}.jar"; 131 sha256 = "1cn64xj2bm69vnn9db2xxh6kq148v83w5nx3183mrqb59ym3v9kf"; 132 }; 133 134 meta = with lib; { 135 homepage = "https://github.com/tobiasmelcher/EclipseAceJump"; 136 description = "Provides fast jumps to text based on initial letter"; 137 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 138 license = licenses.mit; 139 platforms = platforms.all; 140 }; 141 }; 142 143 ansi-econsole = buildEclipsePlugin rec { 144 name = "ansi-econsole-${version}"; 145 version = "1.3.5.201612301822"; 146 147 srcFeature = fetchurl { 148 url = "https://mihnita.github.io/ansi-econsole/install/features/net.mihai-nita.ansicon_${version}.jar"; 149 sha256 = "086ylxpsrlpbvwv5mw7v6b44j63cwzgi8apg2mq058ydr5ak6hxs"; 150 }; 151 152 srcPlugin = fetchurl { 153 url = "https://mihnita.github.io/ansi-econsole/install/plugins/net.mihai-nita.ansicon.plugin_${version}.jar"; 154 sha256 = "1j42l0xxzs89shqkyn91lb0gia10mifzy0i73c3n7gj7sv2ddbjq"; 155 }; 156 157 meta = with lib; { 158 homepage = "https://mihai-nita.net/java/#ePluginAEC"; 159 description = "Adds support for ANSI escape sequences in the Eclipse console"; 160 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 161 license = licenses.asl20; 162 platforms = platforms.all; 163 }; 164 }; 165 166 antlr-runtime_4_5 = buildEclipsePluginBase rec { 167 name = "antlr-runtime-4.5.3"; 168 169 src = fetchurl { 170 url = "https://www.antlr.org/download/${name}.jar"; 171 sha256 = "0lm78i2annlczlc2cg5xvby0g1dyl0sh1y5xc2pymjlmr67a1g4k"; 172 }; 173 174 buildCommand = '' 175 dropinDir="$out/eclipse/dropins/" 176 mkdir -p $dropinDir 177 cp -v $src $dropinDir/${name}.jar 178 ''; 179 180 meta = with lib; { 181 description = "Powerful parser generator for processing structured text or binary files"; 182 homepage = "https://www.antlr.org/"; 183 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 184 license = licenses.bsd3; 185 platforms = platforms.all; 186 }; 187 }; 188 189 antlr-runtime_4_7 = buildEclipsePluginBase rec { 190 name = "antlr-runtime-4.7.1"; 191 192 src = fetchurl { 193 url = "https://www.antlr.org/download/${name}.jar"; 194 sha256 = "07f91mjclacrvkl8a307w2abq5wcqp0gcsnh0jg90ddfpqcnsla3"; 195 }; 196 197 buildCommand = '' 198 dropinDir="$out/eclipse/dropins/" 199 mkdir -p $dropinDir 200 cp -v $src $dropinDir/${name}.jar 201 ''; 202 203 meta = with lib; { 204 description = "Powerful parser generator for processing structured text or binary files"; 205 homepage = "https://www.antlr.org/"; 206 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 207 license = licenses.bsd3; 208 platforms = platforms.all; 209 }; 210 }; 211 212 anyedittools = buildEclipsePlugin rec { 213 name = "anyedit-${version}"; 214 version = "2.7.2.202006062100"; 215 216 srcFeature = fetchurl { 217 url = "https://github.com/iloveeclipse/plugins/blob/latest/features/AnyEditTools_${version}.jar"; 218 sha256 = "0dwwwvz8by10f5gnws1ahmg02g6v4xbaqcwc0cydvv1h52cyb40g"; 219 }; 220 221 srcPlugin = fetchurl { 222 url = "https://github.com/iloveeclipse/plugins/blob/latest/plugins/de.loskutov.anyedit.AnyEditTools_${version}.jar"; 223 sha256 = "1ip8dk92ka7bczw1bkbs3zkclmwr28ds5q1wrzh525wb70x8v6fi"; 224 }; 225 226 meta = with lib; { 227 homepage = "https://github.com/iloveeclipse/plugins"; 228 description = "Adds new tools to the context menu of text-based editors"; 229 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 230 license = licenses.epl10; 231 platforms = platforms.all; 232 }; 233 }; 234 235 autodetect-encoding = buildEclipsePlugin rec { 236 name = "autodetect-encoding-${version}"; 237 version = "1.8.5.201801191359"; 238 239 srcFeature = fetchurl { 240 url = "https://github.com/cypher256/eclipse-encoding-plugin/raw/master/eclipse.encoding.updatesite.snapshot/features/eclipse.encoding.plugin.feature_${version}.jar"; 241 sha256 = "1m8ypsc1dwz0y6yhjgxsdi9813d38jllv7javgwvcd30g042a3kx"; 242 }; 243 244 srcPlugin = fetchurl { 245 url = "https://github.com/cypher256/eclipse-encoding-plugin/raw/master/eclipse.encoding.updatesite.snapshot/plugins/mergedoc.encoding_${version}.jar"; 246 sha256 = "1n2rzybfcwp3ss2qi0fhd8vm38vdwav8j837lqiqlfcnvzwsk86m"; 247 }; 248 249 meta = with lib; { 250 homepage = "https://github.com/cypher256/eclipse-encoding-plugin"; 251 description = "Show file encoding and line ending for the active editor in the eclipse status bar"; 252 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 253 license = licenses.epl10; 254 platforms = platforms.all; 255 }; 256 }; 257 258 bytecode-outline = buildEclipsePlugin rec { 259 name = "bytecode-outline-${version}"; 260 version = "1.0.1.202006062100"; 261 262 srcFeature = fetchurl { 263 url = "https://github.com/iloveeclipse/plugins/blob/latest/features/org.eclipse.jdt.bcoview.feature_${version}.jar"; 264 sha256 = "0zbcph72lgv8cb5n4phcl3qsybc5q5yviwbv8yjv4v12m4l15wpk"; 265 }; 266 267 srcPlugin = fetchurl { 268 url = "https://github.com/iloveeclipse/plugins/blob/latest/plugins/org.eclipse.jdt.bcoview_${version}.jar"; 269 sha256 = "1bx860k4haqcnhy8825kn4df0pyzd680qbnvjmxfrlxrqhr66fbb"; 270 }; 271 272 meta = with lib; { 273 homepage = "https://github.com/iloveeclipse/plugins"; 274 description = "Shows disassembled bytecode of current java editor or class file"; 275 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 276 license = licenses.bsd2; 277 platforms = platforms.all; 278 }; 279 }; 280 281 cdt = buildEclipseUpdateSite rec { 282 name = "cdt-${version}"; 283 # find current version at https://github.com/eclipse-cdt/cdt/releases 284 version = "11.4.0"; 285 286 src = fetchzip { 287 stripRoot = false; 288 url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/${lib.versions.majorMinor version}/${name}/${name}.zip"; 289 hash = "sha256-39AoB5cKRQMFpRaOlrTEsyEKZYVqdTp1tMtlaDjjZ84="; 290 }; 291 292 meta = with lib; { 293 homepage = "https://eclipse.org/cdt/"; 294 description = "C/C++ development tooling"; 295 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 296 license = licenses.epl10; 297 platforms = platforms.all; 298 maintainers = [ maintainers.bjornfor ]; 299 }; 300 }; 301 302 checkstyle = buildEclipseUpdateSite rec { 303 name = "checkstyle-${version}"; 304 version = "8.7.0.201801131309"; 305 306 src = fetchzip { 307 stripRoot = false; 308 url = "mirror://sourceforge/project/eclipse-cs/Eclipse%20Checkstyle%20Plug-in/8.7.0/net.sf.eclipsecs-updatesite_${version}.zip"; 309 sha256 = "07fymk705x4mwq7vh2i6frsf67jql4bzrkdzhb4n74zb0g1dib60"; 310 }; 311 312 meta = with lib; { 313 homepage = "https://eclipse-cs.sourceforge.net/"; 314 description = "Checkstyle integration into the Eclipse IDE"; 315 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 316 license = licenses.lgpl21; 317 platforms = platforms.all; 318 }; 319 320 }; 321 322 color-theme = buildEclipsePlugin rec { 323 name = "color-theme-${version}"; 324 version = "1.0.0.201410260308"; 325 326 srcFeature = fetchurl { 327 url = "https://eclipse-color-theme.github.io/update/features/com.github.eclipsecolortheme.feature_${version}.jar"; 328 sha256 = "128b9b1cib5ff0w1114ns5mrbrhj2kcm358l4dpnma1s8gklm8g2"; 329 }; 330 331 srcPlugin = fetchurl { 332 url = "https://eclipse-color-theme.github.io/update/plugins/com.github.eclipsecolortheme_${version}.jar"; 333 sha256 = "0wz61909bhqwzpqwll27ia0cn3anyp81haqx3rj1iq42cbl42h0y"; 334 }; 335 336 meta = with lib; { 337 homepage = "http://eclipsecolorthemes.org/"; 338 description = "Plugin to switch color themes conveniently and without side effects"; 339 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 340 license = licenses.epl10; 341 platforms = platforms.all; 342 }; 343 }; 344 345 cup = buildEclipsePlugin rec { 346 name = "cup-${version}"; 347 version = "1.1.0.201604221613"; 348 version_ = "1.0.0.201604221613"; 349 350 srcFeature = fetchurl { 351 url = "http://www2.in.tum.de/projects/cup/eclipse/features/CupEclipsePluginFeature_${version}.jar"; 352 sha256 = "13nnsf0cqg02z3af6xg45rhcgiffsibxbx6h1zahjv7igvqgkyna"; 353 }; 354 355 srcPlugins = [ 356 (fetchurl { 357 url = "http://www2.in.tum.de/projects/cup/eclipse/plugins/CupReferencedLibraries_${version_}.jar"; 358 sha256 = "0kif8kivrysprva1pxzajm88gi967qf7idhb6ga2xpvsdcris91j"; 359 }) 360 361 (fetchurl { 362 url = "http://www2.in.tum.de/projects/cup/eclipse/plugins/de.tum.in.www2.CupPlugin_${version}.jar"; 363 sha256 = "022phbrsny3gb8npb6sxyqqxacx138q5bd7dq3gqxh3kprx5chbl"; 364 }) 365 ]; 366 367 propagatedBuildInputs = [ zest ]; 368 369 meta = with lib; { 370 homepage = "http://www2.cs.tum.edu/projects/cup/eclipse.php"; 371 description = "IDE for developing CUP based parsers"; 372 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 373 platforms = platforms.all; 374 maintainers = [ maintainers.romildo ]; 375 }; 376 }; 377 378 drools = buildEclipseUpdateSite rec { 379 name = "drools-${version}"; 380 version = "7.17.0.Final"; 381 382 src = fetchzip { 383 url = "https://download.jboss.org/drools/release/${version}/droolsjbpm-tools-distribution-${version}.zip"; 384 hash = "sha512-dWTS72R2VRgGnG6JafMwZ+wd+1e13pil0SAz2HDMXUmtgYa9iLLtma3SjcDJeWdOoblzWHRu7Ihblx3+Ogb2sQ=="; 385 postFetch = '' 386 # update site is a couple levels deep, alongside some other irrelevant stuff 387 cd $out; 388 find . -type f -not -path ./binaries/org.drools.updatesite/\* -exec rm {} \; 389 rmdir sources; 390 mv binaries/org.drools.updatesite/* .; 391 rmdir binaries/org.drools.updatesite binaries; 392 ''; 393 }; 394 395 meta = with lib; { 396 homepage = "https://www.drools.org/"; 397 description = "Drools is a Business Rules Management System (BRMS) solution"; 398 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 399 license = licenses.asl20; 400 }; 401 }; 402 403 eclemma = buildEclipseUpdateSite rec { 404 name = "eclemma-${version}"; 405 version = "2.3.2.201409141915"; 406 407 src = fetchzip { 408 stripRoot = false; 409 url = "mirror://sourceforge/project/eclemma/01_EclEmma_Releases/2.3.2/eclemma-2.3.2.zip"; 410 sha256 = "0w1kwcjh45p7msv5vpc8i6dsqwrnfmjama6vavpnxlji56jd3c43"; 411 }; 412 413 meta = with lib; { 414 homepage = "https://www.eclemma.org/"; 415 description = "EclEmma is a free Java code coverage tool for Eclipse"; 416 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 417 license = licenses.epl10; 418 platforms = platforms.all; 419 }; 420 }; 421 422 findbugs = buildEclipsePlugin rec { 423 name = "findbugs-${version}"; 424 version = "3.0.1.20150306-5afe4d1"; 425 426 srcFeature = fetchurl { 427 url = "http://findbugs.cs.umd.edu/eclipse/features/edu.umd.cs.findbugs.plugin.eclipse_${version}.jar"; 428 sha256 = "1m9fav2xlb9wrx2d00lpnh2sy0w5yzawynxm6xhhbfdzd0vpfr9v"; 429 }; 430 431 srcPlugin = fetchurl { 432 url = "http://findbugs.cs.umd.edu/eclipse/plugins/edu.umd.cs.findbugs.plugin.eclipse_${version}.jar"; 433 sha256 = "10p3mrbp9wi6jhlmmc23qv7frh605a23pqsc7w96569bsfb5wa8q"; 434 }; 435 436 meta = with lib; { 437 homepage = "http://findbugs.sourceforge.net/"; 438 description = "Plugin that uses static analysis to look for bugs in Java code"; 439 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 440 license = licenses.epl10; 441 platforms = platforms.all; 442 }; 443 }; 444 445 freemarker = buildEclipseUpdateSite rec { 446 name = "freemarker-${version}"; 447 version = "1.5.305"; 448 449 src = fetchzip { 450 url = "https://github.com/ddekany/jbosstools-freemarker/releases/download/v${version}/freemarker.site-${version}.zip"; 451 sha256 = "1qrhi300vk07gi14r445wvy0bvghbjd6c4k7q09pqpaxv6raiczn"; 452 stripRoot = false; 453 }; 454 455 meta = with lib; { 456 homepage = "https://github.com/ddekany/jbosstools-freemarker"; 457 description = "Plugin that provides an editor for Apache FreeMarker files"; 458 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 459 }; 460 }; 461 462 embed-cdt = buildEclipseUpdateSite rec { 463 name = "embed-cdt-${version}"; 464 version = "6.3.1"; 465 466 src = fetchzip { 467 stripRoot = true; 468 url = "https://github.com/eclipse-embed-cdt/eclipse-plugins/archive/v${version}.zip"; 469 sha256 = "sha256-0wHRIls48NGDQzD+wuX79Thgiax+VVYVPJw2Z6NEzsg="; 470 }; 471 472 meta = with lib; { 473 homepage = "https://github.com/eclipse-embed-cdt/eclipse-plugins"; 474 description = "Embedded C/C++ Development Tools (formerly GNU MCU/ARM Eclipse)"; 475 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 476 license = licenses.epl20; 477 platforms = platforms.all; 478 maintainers = [ maintainers.bjornfor ]; 479 }; 480 }; 481 gnuarmeclipse = embed-cdt; # backward compat alias, added 2022-11-04 482 483 jsonedit = buildEclipsePlugin rec { 484 name = "jsonedit-${version}"; 485 version = "1.1.1"; 486 487 srcFeature = fetchurl { 488 url = "https://boothen.github.io/Json-Eclipse-Plugin/features/jsonedit-feature_${version}.jar"; 489 sha256 = "0zkg8d8x3l5jpfxi0mz9dn62wmy4fjgpwdikj280fvsklmcw5b86"; 490 }; 491 492 srcPlugins = 493 let 494 fetch = 495 { n, h }: 496 fetchurl { 497 url = "https://boothen.github.io/Json-Eclipse-Plugin/plugins/jsonedit-${n}_${version}.jar"; 498 sha256 = h; 499 }; 500 in 501 map fetch [ 502 { 503 n = "core"; 504 h = "0svs0aswnhl26cqw6bmw30cisx4cr50kc5njg272sy5c1dqjm1zq"; 505 } 506 { 507 n = "editor"; 508 h = "1q62dinrbb18aywbvii4mlr7rxa20rdsxxd6grix9y8h9776q4l5"; 509 } 510 { 511 n = "folding"; 512 h = "1qh4ijfb1gl9xza5ydi87v1kyima3a9sh7lncwdy1way3pdhln1y"; 513 } 514 { 515 n = "model"; 516 h = "1pr6k2pdfdwx8jqs7gx7wzn3gxsql3sk6lnjha8m15lv4al6d4kj"; 517 } 518 { 519 n = "outline"; 520 h = "1jgr2g16j3id8v367jbgd6kx6g2w636fbzmd8jvkvkh7y1jgjqxm"; 521 } 522 { 523 n = "preferences"; 524 h = "027fhaqa5xbil6dmhvkbpha3pgw6dpmc2im3nlliyds57mdmdb1h"; 525 } 526 { 527 n = "text"; 528 h = "0clywylyidrxlqs0n816nhgjmk1c3xl7sn904ki4q050amfy0wb2"; 529 } 530 ]; 531 532 propagatedBuildInputs = [ antlr-runtime_4_7 ]; 533 534 meta = with lib; { 535 description = "Adds support for JSON files to Eclipse"; 536 homepage = "https://github.com/boothen/Json-Eclipse-Plugin"; 537 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 538 license = licenses.epl10; 539 platforms = platforms.all; 540 }; 541 }; 542 543 jdt-codemining = buildEclipsePlugin rec { 544 name = "jdt-codemining-${version}"; 545 version = "1.0.0.201806221018"; 546 547 srcFeature = fetchurl { 548 url = "http://oss.opensagres.fr/jdt-codemining/snapshot/features/jdt-codemining-feature_${version}.jar"; 549 sha256 = "1vy30rsb9xifn4r1r2n84d48g6riadzli1xvhfs1mf5pkm5ljwl6"; 550 }; 551 552 srcPlugin = fetchurl { 553 url = "http://oss.opensagres.fr/jdt-codemining/snapshot/plugins/org.eclipse.jdt.codemining_${version}.jar"; 554 sha256 = "0qdzlqcjcm2i4mwhmcdml0am83z1dayrcmf37ji7vmw6iwdk1xmp"; 555 }; 556 557 meta = with lib; { 558 homepage = "https://github.com/angelozerr/jdt-codemining"; 559 description = "Provides JDT Java CodeMining"; 560 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 561 license = licenses.epl10; 562 platforms = platforms.all; 563 }; 564 }; 565 566 rustdt = buildEclipseUpdateSite rec { 567 name = "rustdt-${version}"; 568 version = "0.6.2"; 569 owner = "RustDT"; 570 repo = "rustdt.github.io"; 571 rev = "5cbe753008c40555c493092a6f4ae1ffbff0b3ce"; 572 573 src = fetchzip { 574 stripRoot = false; 575 url = "https://github.com/${owner}/${repo}/archive/${rev}.zip"; 576 sha256 = "1xfj4j27d1h4bdf2v7f78zi8lz4zkkj7s9kskmsqx5jcs2d459yp"; 577 postFetch = '' 578 mv "$out/${repo}-${rev}/releases/local-repo/"* "$out/" 579 ''; 580 }; 581 582 meta = with lib; { 583 homepage = "https://github.com/RustDT"; 584 description = "Rust development tooling"; 585 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 586 license = licenses.epl10; 587 platforms = platforms.all; 588 }; 589 }; 590 591 scala = buildEclipseUpdateSite rec { 592 name = "scala-${version}"; 593 version = "4.4.1.201605041056"; 594 595 src = fetchzip { 596 url = "http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/base-20160504-1321.zip"; 597 sha256 = "13xgx2rwlll0l4bs0g6gyvrx5gcc0125vzn501fdj0wv2fqxn5lw"; 598 }; 599 600 meta = with lib; { 601 homepage = "http://scala-ide.org/"; 602 description = "Scala IDE for Eclipse"; 603 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 604 license = licenses.bsd3; 605 platforms = platforms.all; 606 }; 607 }; 608 609 spotbugs = buildEclipseUpdateSite rec { 610 name = "spotbugs-${version}"; 611 version = "3.1.11"; 612 613 src = fetchzip { 614 stripRoot = false; 615 url = "https://github.com/spotbugs/spotbugs/releases/download/${version}/eclipsePlugin.zip"; 616 sha256 = "0aanqwx3gy1arpbkqd846381hiy6272lzwhfjl94x8jhfykpqqbj"; 617 }; 618 619 meta = with lib; { 620 homepage = "https://spotbugs.github.io/"; 621 description = "Plugin that uses static analysis to look for bugs in Java code"; 622 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 623 license = licenses.lgpl21; 624 platforms = platforms.all; 625 }; 626 }; 627 628 testng = buildEclipsePlugin rec { 629 name = "testng-${version}"; 630 version = "6.9.13.201609291640"; 631 632 srcFeature = fetchurl { 633 url = "http://beust.com/eclipse-old/eclipse_${version}/features/org.testng.eclipse_${version}.jar"; 634 sha256 = "02wzcysl7ga3wnvnwp6asl8d77wgc547c5qqawixw94lw6fn1a15"; 635 }; 636 637 srcPlugin = fetchurl { 638 url = "http://beust.com/eclipse-old/eclipse_${version}/plugins/org.testng.eclipse_${version}.jar"; 639 sha256 = "1j4zw6392q3q6z3pcy803k3g0p220gk1x19fs99p0rmmdz83lc8d"; 640 }; 641 642 meta = with lib; { 643 homepage = "https://testng.org/doc/"; 644 description = "Eclipse plugin for the TestNG testing framework"; 645 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 646 license = licenses.asl20; 647 platforms = platforms.all; 648 }; 649 }; 650 651 vrapper = buildEclipseUpdateSite rec { 652 name = "vrapper-${version}"; 653 version = "0.72.0"; 654 owner = "vrapper"; 655 repo = "vrapper"; 656 date = "20170311"; 657 658 src = fetchzip { 659 stripRoot = false; 660 url = "https://github.com/${owner}/${repo}/releases/download/${version}/vrapper_${version}_${date}.zip"; 661 sha256 = "0nyirf6km97q211cxfy01kidxac20m8ba3kk9xj73ykrhsk3cxjp"; 662 }; 663 664 meta = with lib; { 665 homepage = "https://github.com/vrapper/vrapper"; 666 description = "Wrapper to provide a Vim-like input scheme for moving around and editing text"; 667 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 668 license = licenses.gpl3; 669 platforms = platforms.all; 670 maintainers = [ maintainers.stumoss ]; 671 }; 672 }; 673 674 yedit = buildEclipsePlugin rec { 675 name = "yedit-${version}"; 676 version = "1.0.20.201509041456"; 677 678 srcFeature = fetchurl { 679 url = "http://dadacoalition.org/yedit/features/org.dadacoalition.yedit.feature_${version}-RELEASE.jar"; 680 sha256 = "0rps73y19gwlrdr8jjrg3rhcaaagghnmri8297inxc5q2dvg0mlk"; 681 }; 682 683 srcPlugin = fetchurl { 684 url = "http://dadacoalition.org/yedit/plugins/org.dadacoalition.yedit_${version}-RELEASE.jar"; 685 sha256 = "1wpyw4z28ka60z36f8m71kz1giajcm26wb9bpv18sjiqwdgx9v0z"; 686 }; 687 688 meta = with lib; { 689 homepage = "https://github.com/oyse/yedit"; 690 description = "YAML editor plugin for Eclipse"; 691 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 692 license = licenses.epl10; 693 platforms = platforms.all; 694 }; 695 }; 696 697 zest = buildEclipseUpdateSite rec { 698 name = "zest-${version}"; 699 version = "3.9.101"; 700 701 src = fetchurl { 702 url = "http://archive.eclipse.org/tools/gef/downloads/drops/${version}/R201408150207/GEF-${name}.zip"; 703 sha256 = "01scn7cmcrjcp387spjm8ifgwrwwi77ypildandbisfvhj3qqs7m"; 704 }; 705 706 meta = with lib; { 707 homepage = "https://www.eclipse.org/gef/zest/"; 708 description = "Eclipse Visualization Toolkit"; 709 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 710 platforms = platforms.all; 711 maintainers = [ maintainers.romildo ]; 712 }; 713 }; 714 715 ivyde = buildEclipsePlugin rec { 716 name = "ivyde-${version}"; 717 version = "2.2.0.final-201311091524-RELEASE"; 718 719 srcFeature = fetchurl { 720 url = "https://downloads.apache.org/ant/ivyde/updatesite/ivyde-${version}/features/org.apache.ivyde.feature_${version}.jar"; 721 hash = "sha256-iKe7oOPjy6th0HmKt6NXexOHN60EDpQe1r+n6K+uoyw="; 722 }; 723 724 srcPlugin = fetchurl { 725 url = "https://downloads.apache.org/ant/ivyde/updatesite/ivyde-${version}/plugins/org.apache.ivyde.eclipse_${version}.jar"; 726 hash = "sha256-lhwFwdMDwCIUrQjdWfe5ZSutCIsKtZSBT6FWthUipdk="; 727 }; 728 729 meta = with lib; { 730 homepage = "https://ant.apache.org/ivy/ivyde/index.html"; 731 description = "Plugin which integrates Apache Ivy's dependency management"; 732 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 733 license = licenses.asl20; 734 platforms = platforms.all; 735 maintainers = [ maintainers.r3dl3g ]; 736 }; 737 }; 738 739 ivyderv = buildEclipsePlugin rec { 740 name = "ivyderv-${version}"; 741 version = "2.2.0.final-201311091524-RELEASE"; 742 743 srcFeature = fetchurl { 744 url = "https://downloads.apache.org/ant/ivyde/updatesite/ivyde-${version}/features/org.apache.ivyde.eclipse.resolvevisualizer.feature_${version}.jar"; 745 hash = "sha256-PSH5NtE7hN2hHoHUhVK1CLkHN7YSDdTTqBP7711X4rU="; 746 }; 747 748 srcPlugin = fetchurl { 749 url = "https://downloads.apache.org/ant/ivyde/updatesite/ivyde-${version}/plugins/org.apache.ivyde.eclipse.resolvevisualizer_${version}.jar"; 750 hash = "sha256-qjTvn1j7viSfzLkWnYjyS9Pj2ExqsiFGLzot3+oB0Tw="; 751 }; 752 753 meta = with lib; { 754 homepage = "https://ant.apache.org/ivy/ivyde/index.html"; 755 description = "Graph viewer of the resolved dependencies"; 756 longDescription = '' 757 Apache IvyDE Resolve Visualizer is an optional dependency of Apache IvyDE since 758 it requires additional plugins to be installed (Zest). 759 ''; 760 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 761 license = licenses.asl20; 762 platforms = platforms.all; 763 maintainers = [ maintainers.r3dl3g ]; 764 }; 765 }; 766 767 ivy = buildEclipsePlugin rec { 768 name = "ivy-${version}"; 769 version = "2.5.0.final_20191020104435"; 770 771 srcFeature = fetchurl { 772 url = "https://downloads.apache.org/ant/ivyde/updatesite/ivy-${version}/features/org.apache.ivy.eclipse.ant.feature_${version}.jar"; 773 sha256 = "de6134171a0edf569bb9b4c3a91639d469f196e86804d218adfdd60a5d7fa133"; 774 }; 775 776 srcPlugin = fetchurl { 777 url = "https://downloads.apache.org/ant/ivyde/updatesite/ivy-${version}/plugins/org.apache.ivy.eclipse.ant_${version}.jar"; 778 sha256 = "9e8ea20480cf73d0f0f3fb032d263c7536b24fd2eef71beb7d62af4e065f9ab5"; 779 }; 780 781 meta = with lib; { 782 homepage = "https://ant.apache.org/ivy/index.html"; 783 description = "Popular dependency manager focusing on flexibility and simplicity"; 784 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 785 license = licenses.asl20; 786 platforms = platforms.all; 787 maintainers = [ maintainers.r3dl3g ]; 788 }; 789 }; 790 791 ivyant = buildEclipsePlugin rec { 792 name = "ivyant-${version}"; 793 version = "2.5.0.final_20191020104435"; 794 795 srcFeature = fetchurl { 796 url = "https://downloads.apache.org/ant/ivyde/updatesite/ivy-${version}/features/org.apache.ivy.eclipse.ant.feature_${version}.jar"; 797 sha256 = "de6134171a0edf569bb9b4c3a91639d469f196e86804d218adfdd60a5d7fa133"; 798 }; 799 800 srcPlugin = fetchurl { 801 url = "https://downloads.apache.org/ant/ivyde/updatesite/ivy-${version}/plugins/org.apache.ivy.eclipse.ant_${version}.jar"; 802 sha256 = "9e8ea20480cf73d0f0f3fb032d263c7536b24fd2eef71beb7d62af4e065f9ab5"; 803 }; 804 805 meta = with lib; { 806 homepage = "https://ant.apache.org/ivy/ivyde/index.html"; 807 description = "Ant Tasks integrated into Eclipse's Ant runtime"; 808 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 809 license = licenses.asl20; 810 platforms = platforms.all; 811 maintainers = [ maintainers.r3dl3g ]; 812 }; 813 }; 814}