linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / development / libraries / java / saxon / default.nix
blobe6f2fcadbe75d720a66741167a789bd6ec2b3a0d
1 { lib, stdenv, fetchurl, unzip, jre }:
3 let
4   common = { pname, version, src, description
5            , prog ? null, jar ? null, license ? lib.licenses.mpl20 }:
6     stdenv.mkDerivation {
7       name = "${pname}-${version}";
8       inherit pname version src;
10       nativeBuildInputs = [ unzip ];
12       buildCommand = let
13         prog' = if prog == null then pname else prog;
14         jar' = if jar == null then pname else jar;
15       in ''
16         unzip $src -d $out
17         mkdir -p $out/bin $out/share $out/share/java
18         cp -s "$out"/*.jar "$out/share/java/"  # */
19         rm -rf $out/notices
20         mv $out/doc $out/share
21         cat > $out/bin/${prog'} <<EOF
22         #! $shell
23         export JAVA_HOME=${jre}
24         exec ${jre}/bin/java -jar $out/${jar'}.jar "\$@"
25         EOF
26         chmod a+x $out/bin/${prog'}
27       '';
29       meta = with lib; {
30         inherit description license;
31         homepage = "http://saxon.sourceforge.net/";
32         maintainers = with maintainers; [ rvl ];
33         platforms = platforms.all;
34       };
35     };
37 in {
38   saxon = common {
39     pname = "saxon";
40     version = "6.5.3";
41     src = fetchurl {
42       url = "mirror://sourceforge/saxon/saxon6_5_3.zip";
43       sha256 = "0l5y3y2z4wqgh80f26dwwxwncs8v3nkz3nidv14z024lmk730vs3";
44     };
45     description = "XSLT 1.0 processor";
46     # http://saxon.sourceforge.net/saxon6.5.3/conditions.html
47     license = lib.licenses.mpl10;
48   };
50   saxonb_8_8 = common {
51     pname = "saxonb";
52     version = "8.8";
53     jar = "saxon8";
54     src = fetchurl {
55       url = "mirror://sourceforge/saxon/saxonb8-8j.zip";
56       sha256 = "15bzrfyd2f1045rsp9dp4znyhmizh1pm97q8ji2bc0b43q23xsb8";
57     };
58     description = "Complete and conformant processor of XSLT 2.0, XQuery 1.0, and XPath 2.0";
59   };
61   saxonb_9_1 = common {
62     pname = "saxonb";
63     version = "9.1.0.8";
64     jar = "saxon9";
65     src = fetchurl {
66       url = "mirror://sourceforge/saxon/Saxon-B/9.1.0.8/saxonb9-1-0-8j.zip";
67       sha256 = "1d39jdnwr3v3pzswm81zry6yikqlqy9dp2l2wmpqdiw00r5drg4j";
68     };
69     description = "Complete and conformant processor of XSLT 2.0, XQuery 1.0, and XPath 2.0";
70   };
72   saxon-he = common {
73     pname = "saxon-he";
74     version = "9.9.0.1";
75     prog = "saxon-he";
76     jar = "saxon9he";
77     src = fetchurl {
78       url = "mirror://sourceforge/saxon/Saxon-HE/9.9/SaxonHE9-9-0-1J.zip";
79       sha256 = "1inxd7ia7rl9fxfrw8dy9sb7rqv76ipblaki5262688wf2dscs60";
80     };
81     description = "Processor for XSLT 3.0, XPath 2.0 and 3.1, and XQuery 3.1";
82   };