summary refs log tree commit diff
path: root/pkgs/tools/text/xml
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/text/xml')
-rw-r--r--pkgs/tools/text/xml/jing-trang/default.nix41
1 files changed, 41 insertions, 0 deletions
diff --git a/pkgs/tools/text/xml/jing-trang/default.nix b/pkgs/tools/text/xml/jing-trang/default.nix
new file mode 100644
index 000000000000..423db6e71ff4
--- /dev/null
+++ b/pkgs/tools/text/xml/jing-trang/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitHub, jre, jdk, ant, saxon }:
+
+stdenv.mkDerivation rec {
+  name = "jing-trang-${version}";
+  version = "20150603";
+
+  src = fetchFromGitHub {
+    owner = "relaxng";
+    repo = "jing-trang";
+    rev = "54b9b1f4e67cd79c7987750d8c9dcfc014af98c3"; # needed to compile with jdk8
+    sha256 = "0wa569xjb7ihhcaazz32y2b0dv092lisjz77isz1gfb1wvf53di5";
+  };
+
+  buildInputs = [ jdk ant saxon ];
+
+  preBuild = "CLASSPATH='${saxon}/saxon.jar'; echo CLASSPATH=$CLASSPATH; ant";
+
+  installPhase = ''
+    mkdir -p "$out"/{share/java,bin}
+    cp ./build/*.jar "$out/share/java/"
+
+    for tool in jing trang; do
+      cat > "$out/bin/$tool" <<EOF
+      #! $SHELL
+      export JAVA_HOME='${jre}'
+      exec '${jre}/bin/java' -jar '$out/share/java/$tool.jar' "\$@"
+      EOF
+    done
+
+    chmod +x "$out"/bin/*
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A RELAX NG validator in Java";
+    # The homepage is www.thaiopensource.com, but it links to googlecode.com
+    # for downloads and call it the "project site".
+    homepage = http://www.thaiopensource.com/relaxng/jing.html;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}