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