summary refs log tree commit diff
path: root/pkgs/development/compilers/jasmin/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/jasmin/default.nix')
-rw-r--r--pkgs/development/compilers/jasmin/default.nix44
1 files changed, 44 insertions, 0 deletions
diff --git a/pkgs/development/compilers/jasmin/default.nix b/pkgs/development/compilers/jasmin/default.nix
new file mode 100644
index 00000000000..ef1b3055190
--- /dev/null
+++ b/pkgs/development/compilers/jasmin/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, fetchurl
+, unzip
+, jdk
+, ant
+, makeWrapper
+, jre
+, callPackage
+}:
+
+stdenv.mkDerivation rec {
+  pname = "jasmin";
+  version = "2.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/jasmin/jasmin-${version}/jasmin-${version}.zip";
+    sha256 = "17a41vr96glcdrdbk88805wwvv1r6w8wg7if23yhd0n6rrl0r8ga";
+  };
+
+  nativeBuildInputs = [ unzip jdk ant makeWrapper ];
+
+  buildPhase = "ant all";
+  installPhase =
+  ''
+    install -Dm644 jasmin.jar $out/share/java/jasmin.jar
+    mkdir -p $out/bin
+    makeWrapper ${jre}/bin/java $out/bin/jasmin \
+      --add-flags "-jar $out/share/java/jasmin.jar"
+  '';
+
+  passthru.tests = {
+    minimal-module = callPackage ./test-assemble-hello-world {};
+  };
+
+  meta = with stdenv.lib; {
+    description = "An assembler for the Java Virtual Machine";
+    homepage = "http://jasmin.sourceforge.net/";
+    downloadPage = "https://sourceforge.net/projects/jasmin/files/latest/download";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fgaz ];
+    platforms = platforms.all;
+  };
+}
+