54 lines
1.0 KiB
Nix
54 lines
1.0 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
ocaml,
|
|
buildDunePackage,
|
|
fetchFromGitHub,
|
|
menhir,
|
|
menhirLib,
|
|
}:
|
|
|
|
buildDunePackage rec {
|
|
pname = "zelus";
|
|
version = "2.2";
|
|
|
|
env =
|
|
# Fix build with gcc15
|
|
lib.optionalAttrs
|
|
(
|
|
lib.versionAtLeast ocaml.version "4.10" && lib.versionOlder ocaml.version "4.14"
|
|
|| lib.versions.majorMinor ocaml.version == "5.0"
|
|
)
|
|
{
|
|
NIX_CFLAGS_COMPILE = "-std=gnu11";
|
|
};
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "INRIA";
|
|
repo = "zelus";
|
|
rev = version;
|
|
hash = "sha256-NcGX343LProADtzJwlq1kmihLaya1giY6xv9ScvdgTA=";
|
|
};
|
|
|
|
# ./configure: cannot execute: required file not found
|
|
postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
|
|
patchShebangs configure
|
|
'';
|
|
|
|
nativeBuildInputs = [
|
|
menhir
|
|
];
|
|
|
|
buildInputs = [
|
|
menhirLib
|
|
];
|
|
|
|
meta = {
|
|
description = "Synchronous language with ODEs";
|
|
homepage = "https://zelus.di.ens.fr";
|
|
license = lib.licenses.inria-zelus;
|
|
mainProgram = "zeluc";
|
|
maintainers = with lib.maintainers; [ wegank ];
|
|
};
|
|
}
|