diff --git a/pkgs/development/libraries/java/xalanj/default.nix b/pkgs/development/libraries/java/xalanj/default.nix index eb09b6a80a18..28fb0eff011c 100644 --- a/pkgs/development/libraries/java/xalanj/default.nix +++ b/pkgs/development/libraries/java/xalanj/default.nix @@ -1,14 +1,57 @@ -{stdenv, fetchurl}: +{ fetchurl, stdenv, ant, javac, jvm, xerces }: -/* -This is a binary package containing the jars... yuck! -*/ -stdenv.mkDerivation { - name = "xalanj-2.7.0"; - directory = "xalan-j_2_7_0"; - src = fetchurl { - url = http://apache.cs.uu.nl/dist/xml/xalan-j/xalan-j_2_7_0-bin-2jars.tar.gz; - md5 = "4d7b03dcaf2484b5f9685cc4309a9910"; - }; - builder = ./builder.sh; -} +let + version = "2.7.1"; + options = "-Dbuild.compiler=gcj"; # FIXME: We assume GCJ here. +in + stdenv.mkDerivation { + name = "xerces-j-${version}"; + + src = fetchurl { + url = "mirror://apache/xml/xalan-j/source/xalan-j_2_7_1-src.tar.gz"; + sha256 = "0hxhx0n0ynflq1d01sma658ipwn3f3902x6n8mfk70mqkdiallps"; + }; + + buildInputs = [ ant javac jvm xerces ]; + + configurePhase = + '' rm -v lib/xerces*.jar + export CLASSPATH="${xerces}/lib/java" + ''; + + buildPhase = "ant ${options} jar"; + doCheck = false; + + # FIXME: Install javadoc as well. + installPhase = + '' ensureDir "$out/lib/java" + cp -v build/x*.jar "$out/lib/java" + ''; + + meta = { + description = "Apache Xalan-Java, an XSLT processor"; + + longDescription = + '' Xalan-Java is an XSLT processor for transforming XML documents + into HTML, text, or other XML document types. It implements XSL + Transformations (XSLT) Version 1.0 and XML Path Language (XPath) + Version 1.0 and can be used from the command line, in an applet or a + servlet, or as a module in other program. + + Xalan-Java implements the javax.xml.transform interface in Java + API for XML Processing (JAXP) 1.3. This interface provides a + modular framework and a standard API for performing XML + transformations, and utilizes system properties to determine which + Transformer and which XML parser to use. + + Xalan-Java also implements the javax.xml.xpath interface in JAXP + 1.3, which provides an object-model neutral API for evaluation of + XPath expressions and access to the evaluation environment. + ''; + + homepage = http://xml.apache.org/xalan-j/; + license = "Apache-2.0"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + }; + } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index af335c95ae0a..498a255253b2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4560,8 +4560,13 @@ let inherit (xlibs) libXtst; }; - xalanj = import ../development/libraries/java/xalanj { - inherit stdenv fetchurl; + xalanj = xalanJava; + xalanJava = import ../development/libraries/java/xalanj { + inherit fetchurl stdenv; + ant = apacheAntGcj; # for bootstrap purposes + javac = gcj; + jvm = gcj; + xerces = xercesJava; }; zziplib = import ../development/libraries/zziplib {