summary refs log tree commit diff
path: root/pkgs/applications/editors/eclipse/default.nix
blob: 97b582075c406bfa8a546a6805924b0d5b5daeef (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# recommended installation:
# nix-build -A eclipsesdk
# then cp -r $store-path ~/my-eclipse; chmod -R 777 ~/my-eclipse # ugh! I'm to lazy to assign permissions properly
# maybe also using a wrapper such as this (lower values should suffice for most needs)
#  eclipseWrapper () {
#     "$@" -vmargs -Xms2048m -Xmx2048m -XX:MaxPermSize=2048m
# }
#
# Why use a local copy? This way it's easier to use the update manager to get plugins :-)


{fetchurl, stdenv, jdk, gtk, glib, libXtst, makeOverridable, plugins ? [], unzip}:

let eclipseFun = 
  makeOverridable ({name, bindist} :
    stdenv.mkDerivation {
      inherit name;
      builder = ./builder.sh;
      src = bindist;
      buildInputs = [ unzip /* unzip required by eclipseCDT */ ];
      inherit jdk plugins;
      libraries = [gtk glib libXtst];
   }); in

  eclipseFun {
    # you can override these settings usnig .override {...} 
    name = "eclipse-sdk-3.5M6";

    bindist = 
      if (stdenv.system == "x86_64-linux") then fetchurl {
        url = ftp://sunsite.informatik.rwth-aachen.de/pub/mirror/eclipse/S-3.5M6-200903130100/eclipse-SDK-3.5M6-linux-gtk-x86_64.tar.gz;
        sha256 = "10p4idp5rcdf7xqwfk3kvmjxhi8x1v835m0y4pn9q4nhfb5643pi";
      } else fetchurl {
        url = ftp://mirror.micromata.de/eclipse/eclipse/downloads/drops/S-3.5M6-200903130100/eclipse-SDK-3.5M6-linux-gtk.tar.gz;
        sha256 = "1z8j26b632ydhqrmwgbcqgiq7f1a542jam06z2h62mcbqazrcyah";
      };
  }