Commit 82aaf637 authored by Vincent Laporte's avatar Vincent Laporte Committed by Vincent Laporte
Browse files

alt-ergo: 2.4.3 → 2.5.1

ocamlPackages.ocplib-simplex: 0.4 → 0.5
parent cdd726e1
Loading
Loading
Loading
Loading
+14 −26
Original line number Diff line number Diff line
{ fetchFromGitHub, fetchpatch, lib, which, ocamlPackages }:
{ fetchurl, fetchpatch, lib, ocamlPackages }:

let
  pname = "alt-ergo";
  version = "2.4.3";
  version = "2.5.1";

  configureScript = "ocaml unix.cma configure.ml";

  src = fetchFromGitHub {
    owner = "OCamlPro";
    repo = pname;
    rev = "refs/tags/${version}";
    hash = "sha256-2XARGr8rLiPMOM0rBBoRv5tZvKYtkLkJctGqLYkMe7Q=";
  src = fetchurl {
    url = "https://github.com/OCamlPro/alt-ergo/releases/download/v${version}/alt-ergo-${version}.tbz";
    hash = "sha256-nPjWmg5FepObhquioYxhVPq6UdOHtCo2Hs5V0yndYB0=";
  };
in

let alt-ergo-lib = ocamlPackages.buildDunePackage rec {
  pname = "alt-ergo-lib";
  inherit version src configureScript;
  configureFlags = [ pname ];
  nativeBuildInputs = [ which ];
  buildInputs = with ocamlPackages; [ dune-configurator ];
  propagatedBuildInputs = with ocamlPackages; [ dune-build-info num ocplib-simplex seq stdlib-shims zarith ];
  preBuild = ''
    substituteInPlace src/lib/util/version.ml --replace 'version="dev"' 'version="${version}"'
  '';
  inherit version src;
  buildInputs = with ocamlPackages; [ ppx_blob ];
  propagatedBuildInputs = with ocamlPackages; [ camlzip dolmen_loop dune-build-info fmt ocplib-simplex seq stdlib-shims zarith ];
}; in

let alt-ergo-parsers = ocamlPackages.buildDunePackage rec {
  pname = "alt-ergo-parsers";
  inherit version src configureScript;
  configureFlags = [ pname ];
  nativeBuildInputs = [ which ocamlPackages.menhir ];
  propagatedBuildInputs = [ alt-ergo-lib ] ++ (with ocamlPackages; [ camlzip psmt2-frontend ]);
  inherit version src;
  nativeBuildInputs = [ ocamlPackages.menhir ];
  propagatedBuildInputs = [ alt-ergo-lib ] ++ (with ocamlPackages; [ psmt2-frontend ]);
}; in

ocamlPackages.buildDunePackage {

  inherit pname version src configureScript;

  configureFlags = [ pname ];
  inherit pname version src;

  nativeBuildInputs = [ which ocamlPackages.menhir ];
  buildInputs = [ alt-ergo-parsers ocamlPackages.cmdliner ];
  nativeBuildInputs = [ ocamlPackages.menhir ];
  buildInputs = [ alt-ergo-parsers ] ++ (with ocamlPackages; [ cmdliner dune-site ]);

  meta = {
    description = "High-performance theorem prover and SMT solver";
+7 −16
Original line number Diff line number Diff line
{ stdenv, lib, fetchFromGitHub, autoreconfHook, ocaml, findlib }:
{ lib, fetchFromGitHub, buildDunePackage, logs, num }:

let
buildDunePackage rec {
  pname = "ocplib-simplex";
  version = "0.4";
in

stdenv.mkDerivation {
  name = "ocaml${ocaml.version}-${pname}-${version}";
  version = "0.5";

  src = fetchFromGitHub {
    owner = "OCamlPro-Iguernlala";
    repo = pname;
    rev = "v${version}";
    sha256 = "09niyidrjzrj8g1qwx4wgsdf5m6cwrnzg7zsgala36jliic4di60";
    hash = "sha256-sy5QUmghG28tXlwbKWx3PpBGTtzXarTSzd1WLSYyvbc=";
  };

  nativeBuildInputs = [ autoreconfHook ocaml findlib ];

  strictDeps = true;

  installFlags = [ "LIBDIR=$(OCAMLFIND_DESTDIR)" ];
  propagatedBuildInputs = [ logs num ];

  createFindlibDestdir = true;
  doCheck = true;

  meta = {
    description = "An OCaml library implementing a simplex algorithm, in a functional style, for solving systems of linear inequalities";
    homepage = "https://github.com/OCamlPro-Iguernlala/ocplib-simplex";
    inherit (ocaml.meta) platforms;
    license = lib.licenses.lgpl21;
    license = lib.licenses.lgpl21Only;
    maintainers = [ lib.maintainers.vbgl ];
  };
}