diff options
author | Damien Cassou <damien@cassou.me> | 2016-01-16 18:35:35 +0100 |
---|---|---|
committer | Damien Cassou <damien@cassou.me> | 2016-01-16 18:35:35 +0100 |
commit | 6115684b73e55f196ad8d58c755851ffd96d0697 (patch) | |
tree | edfa3701328e68473d0e755c302f8ee0e746a208 /pkgs/applications/editors/eclipse/build-eclipse.nix | |
parent | ace6ed9127bd83e3552d84a27ebeddee8b8e4947 (diff) | |
download | nixpkgs-6115684b73e55f196ad8d58c755851ffd96d0697.tar nixpkgs-6115684b73e55f196ad8d58c755851ffd96d0697.tar.gz nixpkgs-6115684b73e55f196ad8d58c755851ffd96d0697.tar.bz2 nixpkgs-6115684b73e55f196ad8d58c755851ffd96d0697.tar.lz nixpkgs-6115684b73e55f196ad8d58c755851ffd96d0697.tar.xz nixpkgs-6115684b73e55f196ad8d58c755851ffd96d0697.tar.zst nixpkgs-6115684b73e55f196ad8d58c755851ffd96d0697.zip |
Avoid CamelCase in filenames and add buildEclipse
Diffstat (limited to 'pkgs/applications/editors/eclipse/build-eclipse.nix')
-rw-r--r-- | pkgs/applications/editors/eclipse/build-eclipse.nix | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/pkgs/applications/editors/eclipse/build-eclipse.nix b/pkgs/applications/editors/eclipse/build-eclipse.nix new file mode 100644 index 00000000000..558c9fa3de5 --- /dev/null +++ b/pkgs/applications/editors/eclipse/build-eclipse.nix @@ -0,0 +1,54 @@ +{ stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender, zlib, jre, glib, gtk, libXtst, webkitgtk2, makeWrapper, ... }: + +{ name, src ? builtins.getAttr stdenv.system sources, sources ? null, description }: + +stdenv.mkDerivation rec { + inherit name src; + + desktopItem = makeDesktopItem { + name = "Eclipse"; + exec = "eclipse"; + icon = "eclipse"; + comment = "Integrated Development Environment"; + desktopName = "Eclipse IDE"; + genericName = "Integrated Development Environment"; + categories = "Application;Development;"; + }; + + buildInputs = [ makeWrapper ]; + + buildCommand = '' + # Unpack tarball. + mkdir -p $out + tar xfvz $src -C $out + + # Patch binaries. + interpreter=$(echo ${stdenv.glibc}/lib/ld-linux*.so.2) + libCairo=$out/eclipse/libcairo-swt.so + patchelf --set-interpreter $interpreter $out/eclipse/eclipse + [ -f $libCairo ] && patchelf --set-rpath ${freetype}/lib:${fontconfig}/lib:${libX11}/lib:${libXrender}/lib:${zlib}/lib $libCairo + + # Create wrapper script. Pass -configuration to store + # settings in ~/.eclipse/org.eclipse.platform_<version> rather + # than ~/.eclipse/org.eclipse.platform_<version>_<number>. + productId=$(sed 's/id=//; t; d' $out/eclipse/.eclipseproduct) + productVersion=$(sed 's/version=//; t; d' $out/eclipse/.eclipseproduct) + + makeWrapper $out/eclipse/eclipse $out/bin/eclipse \ + --prefix PATH : ${jre}/bin \ + --prefix LD_LIBRARY_PATH : ${glib}/lib:${gtk}/lib:${libXtst}/lib${stdenv.lib.optionalString (webkitgtk2 != null) ":${webkitgtk2}/lib"} \ + --add-flags "-configuration \$HOME/.eclipse/''${productId}_$productVersion/configuration" + + # Create desktop item. + mkdir -p $out/share/applications + cp ${desktopItem}/share/applications/* $out/share/applications + mkdir -p $out/share/pixmaps + ln -s $out/eclipse/icon.xpm $out/share/pixmaps/eclipse.xpm + ''; # */ + + meta = { + homepage = http://www.eclipse.org/; + inherit description; + }; + +} |