Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / ocaml-modules / javalib / default.nix
blob5675e10dbad1fed46c21a2d9359798e6ba2f4430
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , which
5 , ocaml
6 , findlib
7 , camlzip
8 , extlib
9 }:
11 lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08")
12   "javalib is not available for OCaml ${ocaml.version}"
14 stdenv.mkDerivation rec {
15   pname = "ocaml${ocaml.version}-javalib";
16   version = "3.2.2";
18   src = fetchFromGitHub {
19     owner = "javalib-team";
20     repo = "javalib";
21     rev = version;
22     hash = "sha256-XaI7GTU/O5UEWuYX4yqaIRmEoH7FuvCg/+gtKbE/P1s=";
23   };
25   nativeBuildInputs = [ which ocaml findlib ];
27   strictDeps = true;
29   patches = [ ./configure.sh.patch ./Makefile.config.example.patch ];
31   createFindlibDestdir = true;
33   preConfigure = "patchShebangs ./configure.sh";
35   configureScript = "./configure.sh";
36   dontAddPrefix = "true";
37   dontAddStaticConfigureFlags = true;
38   configurePlatforms = [ ];
40   propagatedBuildInputs = [ camlzip extlib ];
42   meta = with lib; {
43     description = "A library that parses Java .class files into OCaml data structures";
44     homepage = "https://javalib-team.github.io/javalib/";
45     license = licenses.lgpl3;
46     maintainers = [ maintainers.vbgl ];
47     inherit (ocaml.meta) platforms;
48   };