Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 55 lines 1.4 kB view raw
1{ 2 lib, 3 stdenvNoCC, 4 fetchurl, 5 jre, 6 rhino, 7 stripJavaArchivesHook, 8 makeWrapper, 9}: 10 11stdenvNoCC.mkDerivation (finalAttrs: { 12 pname = "batik"; 13 version = "1.19"; 14 15 src = fetchurl { 16 url = "mirror://apache/xmlgraphics/batik/binaries/batik-bin-${finalAttrs.version}.tar.gz"; 17 hash = "sha256-1KuzhFSEv+GJqA83QZuUx35mvUuLueW/cs5wvIZe2yI="; 18 }; 19 20 nativeBuildInputs = [ 21 stripJavaArchivesHook 22 makeWrapper 23 ]; 24 25 buildInputs = [ 26 jre 27 rhino 28 ]; 29 30 patchPhase = '' 31 # Vendored dependencies 32 rm lib/rhino-*.jar 33 ''; 34 35 installPhase = '' 36 mkdir -p $out/bin $out/share/java 37 cp *.jar lib/*.jar $out/share/java 38 chmod +x $out/share/java/*.jar 39 classpath="$(find $out/share/java -name '*.jar' -printf '${rhino}/share/java/js.jar:%h/%f')" 40 for appName in rasterizer slideshow squiggle svgpp ttf2svg; do 41 makeWrapper ${lib.getExe jre} $out/bin/batik-$appName \ 42 --add-flags "-jar $out/share/java/batik-all-${finalAttrs.version}.jar" \ 43 --add-flags "-classpath $classpath" \ 44 --add-flags "org.apache.batik.apps.$appName.Main" 45 done 46 ''; 47 48 meta = with lib; { 49 description = "Java based toolkit for handling SVG"; 50 homepage = "https://xmlgraphics.apache.org/batik"; 51 license = licenses.asl20; 52 platforms = platforms.unix; 53 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 54 }; 55})