Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / java / rhino / default.nix
blobe67425208657aeae398673e2c0518ea65d35cb14
1 { fetchurl, lib, stdenv, unzip, ant, javac, jvm }:
3 let
4   xbeans  = fetchurl {
5     url = "http://archive.apache.org/dist/xmlbeans/binaries/xmlbeans-2.2.0.zip";
6     sha256 = "1pb08d9j81d0wz5wj31idz198iwhqb7mch872n08jh1354rjlqwk";
7   };
8 in
9 stdenv.mkDerivation rec {
10   pname = "rhino";
11   version = "1.7R2";
13   src = fetchurl {
14     url = "mirror://mozilla/js/rhino1_7R2.zip";
15     sha256 = "1p32hkghi6bkc3cf2dcqyaw5cjj7403mykcp0fy8f5bsnv0pszv7";
16   };
18   patches = [ ./gcj-type-mismatch.patch ];
20   hardeningDisable = [ "fortify" "format" ];
22   preConfigure =
23     ''
24       find -name \*.jar -or -name \*.class -exec rm -v {} \;
26       # The build process tries to download it by itself.
27       mkdir -p "build/tmp-xbean"
28       ln -sv "${xbeans}" "build/tmp-xbean/xbean.zip"
29     '';
31   nativeBuildInputs = [ unzip ];
32   buildInputs = [ ant javac jvm ];
34   buildPhase = "ant jar";
35   doCheck    = false;
37   # FIXME: Install javadoc as well.
38   installPhase =
39     ''
40       mkdir -p "$out/share/java"
41       cp -v *.jar "$out/share/java"
42     '';
44   meta = with lib; {
45     description = "An implementation of JavaScript written in Java";
47     longDescription =
48       '' Rhino is an open-source implementation of JavaScript written
49          entirely in Java.  It is typically embedded into Java applications
50          to provide scripting to end users.
51       '';
53     homepage = "http://www.mozilla.org/rhino/";
55     license = with licenses; [ mpl11 /* or */ gpl2Plus ];
56     platforms = platforms.linux ++ platforms.darwin;
57   };