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/

authored by Vincent Laporte and committed by Michael Raskin f439cc7c 15ec9bde

+125 -3
+3 -3
pkgs/development/ocaml-modules/extlib/default.nix
··· 1 - {stdenv, fetchurl, ocaml, findlib}: 2 3 stdenv.mkDerivation { 4 name = "ocaml-extlib-1.6.1"; ··· 14 15 configurePhase = "true"; # Skip configure 16 # De facto, option minimal=1 seems to be the default. See the README. 17 - buildPhase = "make minimal=1 build"; 18 - installPhase = "make minimal=1 install"; 19 20 meta = { 21 homepage = http://code.google.com/p/ocaml-extlib/;
··· 1 + {stdenv, fetchurl, ocaml, findlib, minimal ? true}: 2 3 stdenv.mkDerivation { 4 name = "ocaml-extlib-1.6.1"; ··· 14 15 configurePhase = "true"; # Skip configure 16 # De facto, option minimal=1 seems to be the default. See the README. 17 + buildPhase = "make ${if minimal then "minimal=1" else ""} build"; 18 + installPhase = "make ${if minimal then "minimal=1" else ""} install"; 19 20 meta = { 21 homepage = http://code.google.com/p/ocaml-extlib/;
+9
pkgs/development/ocaml-modules/javalib/Makefile.config.example.patch
···
··· 1 + --- javalib-2.3-orig/Makefile.config.example 2013-10-30 08:35:30.000000000 +0100 2 + +++ javalib-2.3/Makefile.config.example 2014-07-06 17:32:29.799398394 +0200 3 + @@ -1,6 +1,3 @@ 4 + -export OCAMLFIND_DESTDIR=$(LOCALDEST) 5 + -export OCAMLPATH=$(LOCALDEST) 6 + - 7 + OCAMLC = $(FINDER) ocamlc $(FLAGS) 8 + OCAMLOPT = $(FINDER) ocamlopt $(OPT_FLAGS) 9 + OCAMLDOC = $(FINDER) ocamldoc
+11
pkgs/development/ocaml-modules/javalib/configure.sh.patch
···
··· 1 + --- javalib-2.3-orig/configure.sh 2013-10-30 08:35:30.000000000 +0100 2 + +++ javalib-2.3/configure.sh 2014-07-06 17:28:39.025066199 +0200 3 + @@ -44,7 +44,7 @@ 4 + DESTDIR= 5 + # The ocamlpath variable for the compiler to locate the locally-installed 6 + # packages (depends on LOCALDEST) 7 + -OCAMLPATH= 8 + +#OCAMLPATH= 9 + # The packages that need to be made in addition to Savalib / Sawja 10 + MAKEDEP= 11 + # The packages that need to be made in addition to Savalib / Sawja
+40
pkgs/development/ocaml-modules/javalib/default.nix
···
··· 1 + {stdenv, fetchurl, which, ocaml, findlib, camlzip, extlib}: 2 + let 3 + pname = "javalib"; 4 + version = "2.3"; 5 + webpage = "http://sawja.inria.fr/"; 6 + ocaml_version = (builtins.parseDrvName ocaml.name).version; 7 + in 8 + stdenv.mkDerivation rec { 9 + 10 + name = "ocaml-${pname}-${version}"; 11 + 12 + src = fetchurl { 13 + url = "https://gforge.inria.fr/frs/download.php/33090/${pname}-${version}.tar.bz2"; 14 + sha256 = "1i8djcanzm250mwilm3jfy37cz0k0x7jbnrz8a5vvdi91kyzh52j"; 15 + }; 16 + 17 + buildInputs = [ which ocaml findlib camlzip extlib ]; 18 + 19 + patches = [ ./configure.sh.patch ./Makefile.config.example.patch ]; 20 + 21 + createFindlibDestdir = true; 22 + 23 + configureScript = "./configure.sh"; 24 + dontAddPrefix = "true"; 25 + 26 + preBuild = '' 27 + make ptrees; 28 + make installptrees; 29 + export OCAMLPATH=$out/lib/ocaml/${ocaml_version}/site-lib/:$OCAMLPATH; 30 + ''; 31 + 32 + propagatedBuildInputs = [ camlzip extlib ]; 33 + 34 + meta = { 35 + description = "A library that parses Java .class files into OCaml data structures"; 36 + homepage = "${webpage}"; 37 + license = stdenv.lib.licenses.lgpl3; 38 + platforms = ocaml.meta.platforms; 39 + }; 40 + }
+9
pkgs/development/ocaml-modules/sawja/Makefile.config.example.patch
···
··· 1 + --- sawja-1.5-orig/Makefile.config.example 2013-10-30 08:35:29.000000000 +0100 2 + +++ sawja-1.5/Makefile.config.example 2014-07-05 18:54:37.902423482 +0200 3 + @@ -1,6 +1,3 @@ 4 + -export OCAMLFIND_DESTDIR=$(LOCALDEST) 5 + -export OCAMLPATH=$(LOCALDEST) 6 + - 7 + RECODE=-charset utf-8 8 + DOCDIR = doc/api 9 +
+11
pkgs/development/ocaml-modules/sawja/configure.sh.patch
···
··· 1 + --- sawja-1.5-orig/configure.sh 2013-10-30 08:35:29.000000000 +0100 2 + +++ sawja-1.5/configure.sh 2014-07-05 18:50:26.833798254 +0200 3 + @@ -39,7 +39,7 @@ 4 + DESTDIR= 5 + # The ocamlpath variable for the compiler to locate the locally-installed 6 + # packages (depends on LOCALDEST) 7 + -OCAMLPATH= 8 + +#OCAMLPATH= 9 + # The path to ocamlfind 10 + FINDER=`which ocamlfind` 11 + # The perl executable
+33
pkgs/development/ocaml-modules/sawja/default.nix
···
··· 1 + {stdenv, fetchurl, which, perl, ocaml, findlib, javalib }: 2 + let 3 + pname = "sawja"; 4 + version = "1.5"; 5 + webpage = "http://sawja.inria.fr/"; 6 + in 7 + stdenv.mkDerivation rec { 8 + 9 + name = "ocaml-${pname}-${version}"; 10 + 11 + src = fetchurl { 12 + url = "https://gforge.inria.fr/frs/download.php/33091/${pname}-${version}.tar.bz2"; 13 + sha256 = "0i8qgqkw9vgj6k2g6npss268ivxdkzx5qj2a52jbd8ih59rn68cm"; 14 + }; 15 + 16 + buildInputs = [ which perl ocaml findlib javalib ]; 17 + 18 + patches = [ ./configure.sh.patch ./Makefile.config.example.patch ]; 19 + 20 + createFindlibDestdir = true; 21 + 22 + configureScript = "./configure.sh"; 23 + dontAddPrefix = "true"; 24 + 25 + propagatedBuildInputs = [ javalib ]; 26 + 27 + meta = { 28 + description = "A library written in OCaml, relying on Javalib to provide a high level representation of Java bytecode programs"; 29 + homepage = "${webpage}"; 30 + license = stdenv.lib.licenses.gpl3Plus; 31 + platforms = ocaml.meta.platforms; 32 + }; 33 + }
+9
pkgs/top-level/all-packages.nix
··· 3232 3233 findlib = callPackage ../development/tools/ocaml/findlib { }; 3234 3235 dypgen = callPackage ../development/ocaml-modules/dypgen { }; 3236 3237 patoline = callPackage ../tools/typesetting/patoline { }; ··· 3307 ocaml_sexplib = callPackage ../development/ocaml-modules/sexplib { }; 3308 3309 ocaml_extlib = callPackage ../development/ocaml-modules/extlib { }; 3310 3311 pycaml = callPackage ../development/ocaml-modules/pycaml { }; 3312 3313 opam_1_0_0 = callPackage ../development/tools/ocaml/opam/1.0.0.nix { }; 3314 opam_1_1 = callPackage ../development/tools/ocaml/opam/1.1.nix { }; 3315 opam = opam_1_1; 3316 3317 uucd = callPackage ../development/ocaml-modules/uucd { }; 3318 uunf = callPackage ../development/ocaml-modules/uunf { };
··· 3232 3233 findlib = callPackage ../development/tools/ocaml/findlib { }; 3234 3235 + javalib = callPackage ../development/ocaml-modules/javalib { 3236 + extlib = ocaml_extlib_maximal; 3237 + }; 3238 + 3239 dypgen = callPackage ../development/ocaml-modules/dypgen { }; 3240 3241 patoline = callPackage ../tools/typesetting/patoline { }; ··· 3311 ocaml_sexplib = callPackage ../development/ocaml-modules/sexplib { }; 3312 3313 ocaml_extlib = callPackage ../development/ocaml-modules/extlib { }; 3314 + ocaml_extlib_maximal = callPackage ../development/ocaml-modules/extlib { 3315 + minimal = false; 3316 + }; 3317 3318 pycaml = callPackage ../development/ocaml-modules/pycaml { }; 3319 3320 opam_1_0_0 = callPackage ../development/tools/ocaml/opam/1.0.0.nix { }; 3321 opam_1_1 = callPackage ../development/tools/ocaml/opam/1.1.nix { }; 3322 opam = opam_1_1; 3323 + 3324 + sawja = callPackage ../development/ocaml-modules/sawja { }; 3325 3326 uucd = callPackage ../development/ocaml-modules/uucd { }; 3327 uunf = callPackage ../development/ocaml-modules/uunf { };