Adds javalib and sawja

Javalib is a library that parses Java .class files into OCaml data
structures. Sawja is a library written in OCaml, relying on Javalib to
provide a high level representation of Java bytecode programs.

Homepage: http://sawja.inria.fr/
This commit is contained in:
Vincent Laporte
2014-08-23 12:44:16 +04:00
committed by Michael Raskin
parent 15ec9bdeba
commit f439cc7cf6
8 changed files with 125 additions and 3 deletions
@@ -0,0 +1,9 @@
--- sawja-1.5-orig/Makefile.config.example 2013-10-30 08:35:29.000000000 +0100
+++ sawja-1.5/Makefile.config.example 2014-07-05 18:54:37.902423482 +0200
@@ -1,6 +1,3 @@
-export OCAMLFIND_DESTDIR=$(LOCALDEST)
-export OCAMLPATH=$(LOCALDEST)
-
RECODE=-charset utf-8
DOCDIR = doc/api
@@ -0,0 +1,11 @@
--- sawja-1.5-orig/configure.sh 2013-10-30 08:35:29.000000000 +0100
+++ sawja-1.5/configure.sh 2014-07-05 18:50:26.833798254 +0200
@@ -39,7 +39,7 @@
DESTDIR=
# The ocamlpath variable for the compiler to locate the locally-installed
# packages (depends on LOCALDEST)
-OCAMLPATH=
+#OCAMLPATH=
# The path to ocamlfind
FINDER=`which ocamlfind`
# The perl executable
@@ -0,0 +1,33 @@
{stdenv, fetchurl, which, perl, ocaml, findlib, javalib }:
let
pname = "sawja";
version = "1.5";
webpage = "http://sawja.inria.fr/";
in
stdenv.mkDerivation rec {
name = "ocaml-${pname}-${version}";
src = fetchurl {
url = "https://gforge.inria.fr/frs/download.php/33091/${pname}-${version}.tar.bz2";
sha256 = "0i8qgqkw9vgj6k2g6npss268ivxdkzx5qj2a52jbd8ih59rn68cm";
};
buildInputs = [ which perl ocaml findlib javalib ];
patches = [ ./configure.sh.patch ./Makefile.config.example.patch ];
createFindlibDestdir = true;
configureScript = "./configure.sh";
dontAddPrefix = "true";
propagatedBuildInputs = [ javalib ];
meta = {
description = "A library written in OCaml, relying on Javalib to provide a high level representation of Java bytecode programs";
homepage = "${webpage}";
license = stdenv.lib.licenses.gpl3Plus;
platforms = ocaml.meta.platforms;
};
}