Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / ocaml-modules / sawja / default.nix
bloba5d042fc1907e79a96481ce6c0031c39331c4303
1 { lib, stdenv, fetchFromGitHub, which, ocaml, findlib, javalib }:
3 let
4   pname = "sawja";
5   version = "1.5.12";
6 in
8 lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08")
9   "${pname} is not available for OCaml ${ocaml.version}"
11 stdenv.mkDerivation {
13   pname = "ocaml${ocaml.version}-${pname}";
15   inherit version;
17   src = fetchFromGitHub {
18     owner = "javalib-team";
19     repo = pname;
20     rev = version;
21     hash = "sha256-G1W8/G0TEcldnFnH/NAb9a6ZSGGP2fWTM47lI8bBHnw=";
22   };
24   nativeBuildInputs = [ which ocaml findlib ];
26   strictDeps = true;
28   patches = [ ./configure.sh.patch ./Makefile.config.example.patch ];
30   createFindlibDestdir = true;
32   preConfigure = "patchShebangs ./configure.sh";
34   configureScript = "./configure.sh";
35   dontAddPrefix = "true";
36   dontAddStaticConfigureFlags = true;
37   configurePlatforms = [];
39   propagatedBuildInputs = [ javalib ];
41   meta = with lib; {
42     description = "A library written in OCaml, relying on Javalib to provide a high level representation of Java bytecode programs";
43     homepage = "http://sawja.inria.fr/";
44     license = licenses.gpl3Plus;
45     maintainers = [ maintainers.vbgl ];
46     inherit (ocaml.meta) platforms;
47   };