about summary refs log tree commit diff
path: root/pkgs/development/libraries/java/icedtea/default.nix
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-10-23 14:52:21 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-10-23 14:52:21 +0000
commit6dc839d3445e66b259361f08838a8c05b1912e68 (patch)
tree5ef88f8fe4cb6f75cf0a1c1e821945c7186491c7 /pkgs/development/libraries/java/icedtea/default.nix
parent4309788df022c89765cd7f6b178f4ce7a08db600 (diff)
parent327a2eae30b48277bd453842d03a144f618822b2 (diff)
downloadnixlib-6dc839d3445e66b259361f08838a8c05b1912e68.tar
nixlib-6dc839d3445e66b259361f08838a8c05b1912e68.tar.gz
nixlib-6dc839d3445e66b259361f08838a8c05b1912e68.tar.bz2
nixlib-6dc839d3445e66b259361f08838a8c05b1912e68.tar.lz
nixlib-6dc839d3445e66b259361f08838a8c05b1912e68.tar.xz
nixlib-6dc839d3445e66b259361f08838a8c05b1912e68.tar.zst
nixlib-6dc839d3445e66b259361f08838a8c05b1912e68.zip
Merging from trunk. I resolved some conflicts; I hope that well.
svn path=/nixpkgs/branches/stdenv-updates/; revision=24429
Diffstat (limited to 'pkgs/development/libraries/java/icedtea/default.nix')
-rw-r--r--pkgs/development/libraries/java/icedtea/default.nix112
1 files changed, 112 insertions, 0 deletions
diff --git a/pkgs/development/libraries/java/icedtea/default.nix b/pkgs/development/libraries/java/icedtea/default.nix
new file mode 100644
index 000000000000..bdaa32a78d2c
--- /dev/null
+++ b/pkgs/development/libraries/java/icedtea/default.nix
@@ -0,0 +1,112 @@
+/* XXX: This is work in progress and it needs your help!  */
+
+/* See http://icedtea.classpath.org/wiki/BuildRequirements for a
+   list of dependencies.  */
+
+{ fetchurl, stdenv, which
+, wget, cpio, file, ecj, gcj, ant, gawk, procps, inetutils, zip, unzip, zlib
+, alsaLib, cups, lesstif, freetype, classpath, libjpeg, libpng, giflib
+, xalanj, xerces, rhino
+, libX11, libXp, libXtst, libXinerama, libXt, libXrender, xproto
+, pkgconfig, xulrunner, pulseaudio }:
+
+let
+  # These variables must match those in the top-level `Makefile.am'.
+  openjdkVersion   = "b16";
+  openjdkDate      = "24_apr_2009";
+  openjdkURL       =
+    "http://download.java.net/openjdk/jdk6/promoted/${openjdkVersion}/";
+  openjdkSourceZip = "openjdk-6-src-${openjdkVersion}-${openjdkDate}.tar.gz";
+
+  openjdk          = fetchurl {
+    url = "${openjdkURL}${openjdkSourceZip}";
+    sha256 = "084lkhsnj29finb6pmvrh83nqbliwv32gdi5q5sv43dpv24r85cn";
+  };
+
+  hotspot          = fetchurl {
+    url = "http://hg.openjdk.java.net/hsx/hsx14/master/archive/09f7962b8b44.tar.gz";
+    sha256 = "1jbd9ki5ip96293mv1qil20yqcgvkmcrhs302j0n8i8f3v1j70bf";
+  };
+
+in
+
+stdenv.mkDerivation rec {
+  name = "icedtea6-1.6.1";
+
+  src = fetchurl {
+    url = "http://icedtea.classpath.org/download/source/${name}.tar.gz";
+    sha256 = "11vaanfmz842x576wrw5qldpkksi8wqjmh9wikn5gxyjk87qq3k5";
+  };
+
+  buildInputs = [
+    wget  # Not actually used, thanks to `--with-openjdk-src-zip' et al.
+    which cpio file ecj gcj ant gawk procps inetutils zip unzip zlib
+    alsaLib cups lesstif freetype classpath libjpeg libpng giflib
+    xalanj xerces
+    libX11 libXp libXtst libXinerama libXt libXrender xproto
+    pkgconfig /* xulrunner */ pulseaudio
+  ];
+
+  preConfigure =
+    '' # Use the Sun-compatible tools (`jar', etc.).
+       export PATH="${gcj.gcc}/lib/jvm/bin:$PATH"
+
+       # Copy patches.
+       cp -v "${./nixos-slash-bin.patch}" patches/nixos-slash-bin.patch
+    '';
+
+  configureFlags =
+    stdenv.lib.concatStringsSep " "
+      [ "--with-gcj-home=${gcj}"
+        "--with-ecj" "--with-ecj-jar=${ecj}/lib/java/ecj.jar"
+        "--with-openjdk-src-zip=${openjdk}"
+        "--with-hotspot-src-zip=${hotspot}"
+        "--with-ant-home=${ant}/lib/java"
+        "--with-xalan2-jar=${xalanj}/lib/java/xalan.jar"
+        "--with-xalan2-serializer-jar=${xalanj}/lib/java/xalan.jar"
+        "--with-xerces2-jar=${xerces}/lib/java/xercesImpl.jar"
+        "--with-rhino=${rhino}/lib/java/js.jar"
+        "--disable-plugin" # FIXME: Enable it someday.
+
+        "--with-parallel-job"
+      ];
+
+  makeFlags =
+    [ # Have OpenCDK use tools from $PATH.
+      "ALT_UNIXCCS_PATH=" "ALT_UNIXCOMMAND_PATH=" "ALT_USRBIN_PATH="
+      "ALT_COMPILER_PATH=" "ALT_DEVTOOLS_PATH="
+
+      # Libraries.
+      "ALT_MOTIF_DIR="
+      "ALT_FREETYPE_HEADERS_PATH=${freetype}/include"
+      "ALT_FREETYPE_LIB_PATH=${freetype}/lib"
+      "ALT_CUPS_HEADERS_PATH=${cups}/include"
+      "ALT_CUPS_LIB_PATH=${cups}/lib"
+
+      # Tell IcedTea about our patches.
+      "DISTRIBUTION_PATCHES=patches/nixos-slash-bin.patch"
+    ];
+
+  meta = {
+    description = "IcedTea, a libre Java development kit based on OpenJDK";
+
+    longDescription =
+      '' The IcedTea project provides a harness to build the source code from
+         http://openjdk.java.net using Free Software build tools and adds a
+         number of key features to the upstream OpenJDK codebase: a Free
+         64-bit plugin with LiveConnect and Java Web Start support, support
+         for additional platforms via a pure interpreted mode in HotSpot
+         (Zero) or the alternative CACAO virtual machine.  Experimental JIT
+         support for Zero is also available via Shark.
+      '';
+
+    license = "GPLv2"; /* and multiple-licensing, e.g., for the plug-ins */
+
+    homepage = http://icedtea.classpath.org/;
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+
+    # Restrict to GNU systems for now.
+    platforms = stdenv.lib.platforms.gnu;
+  };
+}