nixpkgs/pkgs/applications/editors/eclipse-new/3.3.1.1/eclipse.nix

54 lines
1.8 KiB
Nix
Raw Normal View History

# Note, if you want to install plugins using the update manager you should
# copy the store path to a local directory and chown -R $USER yourcopy
# Then start your local copy
args: with args;
let arch = if stdenv.system == "x86_64-linux" then "x86_64"
else if stdenv.system == "i686-linux" then "x86"
else throw "not supported system";
in
args.stdenv.mkDerivation rec {
name = "eclipse-classic-3.3.1.1";
unpackPhase = "unzip \$src; set -x ";
buildInputs = [ unzip jdk gtk glib libXtst ant makeWrapper];
patches=./build-with-jdk-compiler.patch;
buildPhase = "./build -os linux -ws gtk -arch ${arch}";
libraries = [gtk glib libXtst];
installPhase = "
t=\$out/share/${name}
ensureDir \$t \$out/bin
cd result
tar xfz linux-gtk-*.tar.gz
mv eclipse \$out
"
#copied from other eclipse expressions
+" rpath=
for i in \$libraries; do
rpath=\$rpath\${rpath:+:}\$i/lib
done
find \$out \\( -type f -a -perm +0100 \\) \\
-print \\
-exec patchelf --interpreter \"$(cat \$NIX_GCC/nix-support/dynamic-linker)\" \\
--set-rpath \"\$rpath\" {} \\;
# Make a wrapper script so that the proper JDK is found.
makeWrapper \$out/eclipse/eclipse \$out/bin/eclipse \\
--prefix PATH \":\" \"\$jdk/bin\" \\
--prefix LD_LIBRARY_PATH \":\" \"\$rpath\"
sed -e 's=exec.*=exec \$(dirname $0)/../eclipse/eclipse $@=' -i \$out/bin/eclipse
";
# using dirname so that eclipse still runs after copying the whole store
# directory somewhere else (so that you can use the update manager
src = args.fetchurl {
url = http://mawercer.de/~nix/iyyx4hs1mgh1b1wa78j07pgq9k882m2k-eclipse-sourceBuild-srcIncluded-3.3.1.1.zip;
sha256 = "0n56i7ml816f839704qlkgs5ahl0iqgwc80kjq7n7g5rl9a4vhp4";
};
}