diff --git a/lib/licenses.nix b/lib/licenses.nix index 291f41e1cacc..b9d6dc44e6d0 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -620,6 +620,12 @@ in mkLicense lset) ({ free = false; }; + inria-zelus = { + fullName = "INRIA Non-Commercial License Agreement for the ZĂ©lus compiler"; + url = "https://github.com/INRIA/zelus/raw/829f2b97cba93b0543a9ca0272269e6b8fdad356/LICENSE"; + free = false; + }; + ipa = { spdxId = "IPA"; fullName = "IPA Font License"; diff --git a/pkgs/development/ocaml-modules/zelus-gtk/default.nix b/pkgs/development/ocaml-modules/zelus-gtk/default.nix new file mode 100644 index 000000000000..c0e0e586066a --- /dev/null +++ b/pkgs/development/ocaml-modules/zelus-gtk/default.nix @@ -0,0 +1,24 @@ +{ buildDunePackage +, zelus +, lablgtk +}: + +buildDunePackage { + pname = "zelus-gtk"; + inherit (zelus) version src postPatch; + + minimalOCamlVersion = "4.08.1"; + + nativeBuildInputs = [ + zelus + ]; + + buildInputs = [ + lablgtk + ]; + + meta = { + description = "Zelus GTK library"; + inherit (zelus.meta) homepage license maintainers; + }; +} diff --git a/pkgs/development/ocaml-modules/zelus/default.nix b/pkgs/development/ocaml-modules/zelus/default.nix new file mode 100644 index 000000000000..d326e234c0d0 --- /dev/null +++ b/pkgs/development/ocaml-modules/zelus/default.nix @@ -0,0 +1,42 @@ +{ lib +, stdenv +, buildDunePackage +, fetchFromGitHub +, menhir +, menhirLib +}: + +buildDunePackage rec { + pname = "zelus"; + version = "2.2"; + + minimalOCamlVersion = "4.08.1"; + + src = fetchFromGitHub { + owner = "INRIA"; + repo = "zelus"; + rev = version; + hash = "sha256-NcGX343LProADtzJwlq1kmihLaya1giY6xv9ScvdgTA="; + }; + + # ./configure: cannot execute: required file not found + postPatch = lib.optionalString stdenv.isLinux '' + patchShebangs configure + ''; + + nativeBuildInputs = [ + menhir + ]; + + buildInputs = [ + menhirLib + ]; + + meta = with lib; { + description = "A synchronous language with ODEs"; + homepage = "https://zelus.di.ens.fr"; + license = licenses.inria-zelus; + mainProgram = "zeluc"; + maintainers = with maintainers; [ wegank ]; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index f7ce96f135fa..ae48af74bc0b 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1886,6 +1886,10 @@ let zed = callPackage ../development/ocaml-modules/zed { }; + zelus = callPackage ../development/ocaml-modules/zelus { }; + + zelus-gtk = callPackage ../development/ocaml-modules/zelus-gtk { }; + zmq = callPackage ../development/ocaml-modules/zmq { }; zmq-lwt = callPackage ../development/ocaml-modules/zmq/lwt.nix { };