Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
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 = "https://saxon.sourceforge.net/"; 32 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 33 maintainers = with maintainers; [ rvl ]; 34 platforms = platforms.all; 35 }; 36 }; 37 38in { 39 saxon = common { 40 pname = "saxon"; 41 version = "6.5.3"; 42 src = fetchurl { 43 url = "mirror://sourceforge/saxon/saxon6_5_3.zip"; 44 sha256 = "0l5y3y2z4wqgh80f26dwwxwncs8v3nkz3nidv14z024lmk730vs3"; 45 }; 46 description = "XSLT 1.0 processor"; 47 # https://saxon.sourceforge.net/saxon6.5.3/conditions.html 48 license = lib.licenses.mpl10; 49 java = jre8; 50 }; 51 52 saxonb_8_8 = common { 53 pname = "saxonb"; 54 version = "8.8"; 55 jar = "saxon8"; 56 src = fetchurl { 57 url = "mirror://sourceforge/saxon/saxonb8-8j.zip"; 58 sha256 = "15bzrfyd2f1045rsp9dp4znyhmizh1pm97q8ji2bc0b43q23xsb8"; 59 }; 60 description = "Complete and conformant processor of XSLT 2.0, XQuery 1.0, and XPath 2.0"; 61 java = jre8; 62 }; 63 64 saxonb_9_1 = common { 65 pname = "saxonb"; 66 version = "9.1.0.8"; 67 jar = "saxon9"; 68 src = fetchurl { 69 url = "mirror://sourceforge/saxon/Saxon-B/9.1.0.8/saxonb9-1-0-8j.zip"; 70 sha256 = "1d39jdnwr3v3pzswm81zry6yikqlqy9dp2l2wmpqdiw00r5drg4j"; 71 }; 72 description = "Complete and conformant processor of XSLT 2.0, XQuery 1.0, and XPath 2.0"; 73 }; 74 75 saxon-he = common { 76 pname = "saxon-he"; 77 version = "9.9.0.1"; 78 prog = "saxon-he"; 79 jar = "saxon9he"; 80 src = fetchurl { 81 url = "mirror://sourceforge/saxon/Saxon-HE/9.9/SaxonHE9-9-0-1J.zip"; 82 sha256 = "1inxd7ia7rl9fxfrw8dy9sb7rqv76ipblaki5262688wf2dscs60"; 83 }; 84 description = "Processor for XSLT 3.0, XPath 2.0 and 3.1, and XQuery 3.1"; 85 }; 86}