at 22.05-pre 2.6 kB view raw
1{ lib, stdenv, fetchurl, unzip, jre, jre8 }: 2 3let 4 common = { pname, version, src, description, java ? jre 5 , prog ? null, jar ? null, license ? 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 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 = lib.licenses.mpl10; 48 java = jre8; 49 }; 50 51 saxonb_8_8 = common { 52 pname = "saxonb"; 53 version = "8.8"; 54 jar = "saxon8"; 55 src = fetchurl { 56 url = "mirror://sourceforge/saxon/saxonb8-8j.zip"; 57 sha256 = "15bzrfyd2f1045rsp9dp4znyhmizh1pm97q8ji2bc0b43q23xsb8"; 58 }; 59 description = "Complete and conformant processor of XSLT 2.0, XQuery 1.0, and XPath 2.0"; 60 java = jre8; 61 }; 62 63 saxonb_9_1 = common { 64 pname = "saxonb"; 65 version = "9.1.0.8"; 66 jar = "saxon9"; 67 src = fetchurl { 68 url = "mirror://sourceforge/saxon/Saxon-B/9.1.0.8/saxonb9-1-0-8j.zip"; 69 sha256 = "1d39jdnwr3v3pzswm81zry6yikqlqy9dp2l2wmpqdiw00r5drg4j"; 70 }; 71 description = "Complete and conformant processor of XSLT 2.0, XQuery 1.0, and XPath 2.0"; 72 }; 73 74 saxon-he = common { 75 pname = "saxon-he"; 76 version = "9.9.0.1"; 77 prog = "saxon-he"; 78 jar = "saxon9he"; 79 src = fetchurl { 80 url = "mirror://sourceforge/saxon/Saxon-HE/9.9/SaxonHE9-9-0-1J.zip"; 81 sha256 = "1inxd7ia7rl9fxfrw8dy9sb7rqv76ipblaki5262688wf2dscs60"; 82 }; 83 description = "Processor for XSLT 3.0, XPath 2.0 and 3.1, and XQuery 3.1"; 84 }; 85}