at 18.03-beta 83 lines 2.5 kB view raw
1{ stdenv, fetchurl, unzip, jre }: 2 3let 4 common = { pname, version, src, description 5 , prog ? null, jar ? null, license ? stdenv.lib.licenses.mpl20 }: 6 stdenv.mkDerivation { 7 name = "${pname}-${version}"; 8 inherit pname version src; 9 10 nativeBuildInputs = [ unzip ]; 11 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 ''; 28 29 meta = with stdenv.lib; { 30 inherit description license; 31 homepage = http://saxon.sourceforge.net/; 32 maintainers = with maintainers; [ rvl ]; 33 platforms = platforms.all; 34 }; 35 }; 36 37in { 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 = stdenv.lib.licenses.mpl10; 48 }; 49 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 }; 60 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 }; 71 72 saxon-he = common { 73 pname = "saxon-he"; 74 version = "9.8.0.6"; 75 prog = "saxon-he"; 76 jar = "saxon9he"; 77 src = fetchurl { 78 url = mirror://sourceforge/saxon/Saxon-HE/9.8/SaxonHE9-8-0-6J.zip; 79 sha256 = "03r4djm298rxz8q7jph63h9niglrl3rifxskq1b3bclx5rgxi2lk"; 80 }; 81 description = "Processor for XSLT 3.0, XPath 2.0 and 3.1, and XQuery 3.1"; 82 }; 83}