about summary refs log tree commit diff
path: root/pkgs/development/libraries/java/classpath/default.nix
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2009-07-31 09:59:45 +0000
committerLudovic Courtès <ludo@gnu.org>2009-07-31 09:59:45 +0000
commit4f591cb80327100a1a513ddc9c7251c13df433d1 (patch)
tree61593933941316ce3f7b18bc7bdfc6fbc31a2119 /pkgs/development/libraries/java/classpath/default.nix
parent69c23d6432e8ae3d7ea3d55877067ea11491b8f3 (diff)
Add GNU Classpath.
svn path=/nixpkgs/trunk/; revision=16527
Diffstat (limited to 'pkgs/development/libraries/java/classpath/default.nix')
-rw-r--r--pkgs/development/libraries/java/classpath/default.nix59
1 files changed, 59 insertions, 0 deletions
diff --git a/pkgs/development/libraries/java/classpath/default.nix b/pkgs/development/libraries/java/classpath/default.nix
new file mode 100644
index 0000000000000..f3231ab4ee775
--- /dev/null
+++ b/pkgs/development/libraries/java/classpath/default.nix
@@ -0,0 +1,59 @@
+{ fetchurl, stdenv, javac, jvm, antlr, pkgconfig, gtk, gconf }:
+
+stdenv.mkDerivation rec {
+  name = "classpath-0.98";
+
+  src = fetchurl {
+    url = "mirror://gnu/classpath/${name}.tar.gz";
+    sha256 = "0gxcdysw36vk3dpylg6f44c0fc8g10ayyb521l8bcygz9p6ml6sh";
+  };
+
+  patches = [ ./missing-casts.patch ];
+
+  buildInputs = [ javac jvm antlr pkgconfig gtk gconf ];
+
+  configurePhase = ''
+    # GCJ tries to compile all of Classpath during the `configure' run when
+    # trying to build in the source tree (see
+    # http://www.mail-archive.com/classpath@gnu.org/msg15079.html), thus we
+    # build out-of-tree.
+    mkdir ../build
+    cd ../build
+    echo "building in \`$PWD'"
+
+    ../${name}/configure --prefix="$out"                        \
+         --enable-fast-install --disable-dependency-tracking    \
+         ${configureFlags}
+  '';
+
+  /* Plug-in support requires Xulrunner and all that.  Maybe someday,
+     optionally.
+
+    Compilation with `-Werror' is disabled because of this:
+
+      native/jni/native-lib/cpnet.c: In function 'cpnet_addMembership':
+      native/jni/native-lib/cpnet.c:583: error: dereferencing type-punned pointer will break strict-aliasing rules
+      native/jni/native-lib/cpnet.c: In function 'cpnet_dropMembership':
+      native/jni/native-lib/cpnet.c:598: error: dereferencing type-punned pointer will break strict-aliasing rules
+
+   */
+
+  configureFlags = "--disable-Werror --disable-plugin --with-antlr-jar=${antlr}/lib/antlr.jar";
+
+  meta = {
+    description = "GNU Classpath, essential libraries for Java";
+
+    longDescription = ''
+      GNU Classpath, Essential Libraries for Java, is a GNU project to create
+      free core class libraries for use with virtual machines and compilers
+      for the Java programming language.
+    '';
+
+    homepage = http://www.gnu.org/software/classpath/;
+
+    # The exception makes it similar to LGPLv2+ AFAICS.
+    license = "GPLv2+ + exception";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+  };
+}