diff --git a/pkgs/by-name/ab/absolute/package.nix b/pkgs/by-name/ab/absolute/package.nix new file mode 100644 index 000000000000..b1f3a53cb152 --- /dev/null +++ b/pkgs/by-name/ab/absolute/package.nix @@ -0,0 +1,18 @@ +{ lib, ocamlPackages }: + +let + inherit (ocamlPackages) buildDunePackage libabsolute; +in + +buildDunePackage { + pname = "absolute"; + inherit (libabsolute) src version; + + __structuredAttrs = true; + + buildInputs = [ libabsolute ]; + + meta = libabsolute.meta // { + description = "A constraint solver based on abstract domains from the theory of abstract interpretation"; + }; +} diff --git a/pkgs/development/ocaml-modules/apron/default.nix b/pkgs/development/ocaml-modules/apron/default.nix index c329f36bf345..a57e4a1007ef 100644 --- a/pkgs/development/ocaml-modules/apron/default.nix +++ b/pkgs/development/ocaml-modules/apron/default.nix @@ -31,13 +31,15 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ gmp - mpfr ppl - camlidl flint pplite ]; - propagatedBuildInputs = [ mlgmpidl ]; + propagatedBuildInputs = [ + camlidl + mlgmpidl + mpfr + ]; outputs = [ "out" diff --git a/pkgs/development/ocaml-modules/apronext/default.nix b/pkgs/development/ocaml-modules/apronext/default.nix new file mode 100644 index 000000000000..ef85c933378e --- /dev/null +++ b/pkgs/development/ocaml-modules/apronext/default.nix @@ -0,0 +1,27 @@ +{ + lib, + fetchFromGitHub, + buildDunePackage, + apron, +}: + +buildDunePackage (finalAttrs: { + pname = "apronext"; + version = "1.0.4"; + + src = fetchFromGitHub { + owner = "ghilesZ"; + repo = "apronext"; + rev = "39610de5930e12c8d0156ed2d55fedc220f1e77d"; + hash = "sha256-K19hmvyI1RJlKv24VJustDfkGTdrW4PcR8xif/y/giQ="; + }; + + propagatedBuildInputs = [ apron ]; + + meta = { + license = lib.licenses.asl20; + homepage = "https://github.com/ghilesZ/apronext"; + description = "Extension for the OCaml interface of the apron library"; + }; + +}) diff --git a/pkgs/development/ocaml-modules/libabsolute/default.nix b/pkgs/development/ocaml-modules/libabsolute/default.nix new file mode 100644 index 000000000000..478022b3ba72 --- /dev/null +++ b/pkgs/development/ocaml-modules/libabsolute/default.nix @@ -0,0 +1,32 @@ +{ + lib, + fetchFromGitHub, + buildDunePackage, + menhir, + apronext, + picasso, +}: + +buildDunePackage (finalAttrs: { + pname = "libabsolute"; + version = "0.3"; + + src = fetchFromGitHub { + owner = "mpelleau"; + repo = "absolute"; + tag = finalAttrs.version; + hash = "sha256-q2QxqZJn71MODJ1+Yf9m33qu8xERTqExMANqgk7aksQ="; + }; + + nativeBuildInputs = [ menhir ]; + + propagatedBuildInputs = [ + apronext + picasso + ]; + meta = { + license = lib.licenses.lgpl3Plus; + homepage = "https://github.com/mpelleau/AbSolute"; + description = "A constraint programming library based on abstract domains"; + }; +}) diff --git a/pkgs/development/ocaml-modules/picasso/default.nix b/pkgs/development/ocaml-modules/picasso/default.nix new file mode 100644 index 000000000000..b67dce0fee10 --- /dev/null +++ b/pkgs/development/ocaml-modules/picasso/default.nix @@ -0,0 +1,26 @@ +{ + lib, + fetchFromGitHub, + buildDunePackage, + apronext, +}: + +buildDunePackage (finalAttrs: { + pname = "picasso"; + version = "0.4"; + + src = fetchFromGitHub { + owner = "ghilesZ"; + repo = "picasso"; + tag = finalAttrs.version; + hash = "sha256-VYrN77IVXPdzPV1CNe5N4D2jgrVIHJFMvfRP6cQq/eI="; + }; + + propagatedBuildInputs = [ apronext ]; + + meta = { + description = "An Abstract element drawing library"; + license = lib.licenses.lgpl2Plus; + homepage = "https://github.com/ghilesZ/picasso"; + }; +}) diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index de43e2c49327..9191c658132e 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -60,6 +60,8 @@ let apron = callPackage ../development/ocaml-modules/apron { }; + apronext = callPackage ../development/ocaml-modules/apronext { }; + argon2 = callPackage ../development/ocaml-modules/argon2 { }; arg-complete = callPackage ../development/ocaml-modules/arg-complete { }; @@ -1127,6 +1129,8 @@ let letters = callPackage ../development/ocaml-modules/letters { }; + libabsolute = callPackage ../development/ocaml-modules/libabsolute { }; + libc = callPackage ../development/ocaml-modules/libc { }; lilv = callPackage ../development/ocaml-modules/lilv { @@ -1765,6 +1769,8 @@ let piaf = callPackage ../development/ocaml-modules/piaf { }; + picasso = callPackage ../development/ocaml-modules/picasso { }; + piqi = callPackage ../development/ocaml-modules/piqi { }; piqi-ocaml = callPackage ../development/ocaml-modules/piqi-ocaml { };