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