diff --git a/pkgs/by-name/cm/cmdstan/package.nix b/pkgs/by-name/cm/cmdstan/package.nix index a8195d92855d..daf128814ccd 100644 --- a/pkgs/by-name/cm/cmdstan/package.nix +++ b/pkgs/by-name/cm/cmdstan/package.nix @@ -12,14 +12,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "cmdstan"; - version = "2.39.0"; + version = "2.40.0"; src = fetchFromGitHub { owner = "stan-dev"; repo = "cmdstan"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-7vGEqIJOFWeESq4xL2z2ZjNaVWEqqzPmGT6tpWBzrU0="; + hash = "sha256-sSs1QVTBTVs8rzuqpDPrVdOq7X6k2UwL9FRAwd56bRA="; }; postPatch = '' diff --git a/pkgs/by-name/st/stanc/package.nix b/pkgs/by-name/st/stanc/package.nix index f2a82d21680a..ced9010b8759 100644 --- a/pkgs/by-name/st/stanc/package.nix +++ b/pkgs/by-name/st/stanc/package.nix @@ -2,39 +2,53 @@ lib, fetchFromGitHub, ocamlPackages, + versionCheckHook, }: ocamlPackages.buildDunePackage rec { pname = "stanc"; - version = "2.39.0"; + version = "2.40.0"; - minimalOCamlVersion = "4.12"; + minimalOCamlVersion = "5.3"; src = fetchFromGitHub { owner = "stan-dev"; repo = "stanc3"; tag = "v${version}"; - hash = "sha256-ZAH9uFEZu75BC2xYGUXg62RHiADmKYBYP2Nt8bwEVRY="; + hash = "sha256-Xr7ulBens9qTVvkHwmGu/dDgXGInp7BJN13BKi/adko="; }; + postPatch = '' + substituteInPlace src/driver/Entry.ml src/stanc/CLI.ml src/stan_math_backend/Lower_program.ml \ + --replace-fail '%%NAME%%' 'stanc' \ + --replace-fail '%%VERSION%%' 'v${version}' + ''; + nativeBuildInputs = with ocamlPackages; [ cmdliner menhir ]; buildInputs = with ocamlPackages; [ - core_unix - menhirLib - ppx_deriving - fmt - yojson cmdliner + fmt + menhirLib + ppx_compare + ppx_deriving + ppx_expect_nobase + ppx_sexp_conv + sexplib0 + yojson ]; + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + meta = { homepage = "https://github.com/stan-dev/stanc3"; description = "Stan compiler and utilities"; license = lib.licenses.bsd3; + mainProgram = "stanc"; maintainers = with lib.maintainers; [ wegank ]; platforms = lib.platforms.unix; }; diff --git a/pkgs/development/ocaml-modules/ppx_expect_nobase/default.nix b/pkgs/development/ocaml-modules/ppx_expect_nobase/default.nix new file mode 100644 index 000000000000..d62be0e75809 --- /dev/null +++ b/pkgs/development/ocaml-modules/ppx_expect_nobase/default.nix @@ -0,0 +1,38 @@ +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-build-info, + ppx_inline_test_nobase, + ppxlib, + sexplib, +}: + +buildDunePackage (finalAttrs: { + pname = "ppx_expect_nobase"; + version = "0.17.3.2"; + + minimalOCamlVersion = "4.14.2"; + + src = fetchFromGitHub { + owner = "Kakadu"; + repo = "ppx_expect_nobase"; + tag = finalAttrs.version; + hash = "sha256-tLuq1O+FI8hLRuMrEZKXeDuN+QvMrqF0etkczYZTF5A="; + }; + + propagatedBuildInputs = [ + dune-build-info + ppx_inline_test_nobase + ppxlib + sexplib + ]; + + meta = { + description = "Cram like framework for OCaml"; + homepage = "https://github.com/Kakadu/ppx_expect_nobase"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ wegank ]; + broken = lib.versionOlder ppxlib.version "0.37"; + }; +}) diff --git a/pkgs/development/ocaml-modules/ppx_inline_test_nobase/default.nix b/pkgs/development/ocaml-modules/ppx_inline_test_nobase/default.nix new file mode 100644 index 000000000000..f6ad3d5afdfe --- /dev/null +++ b/pkgs/development/ocaml-modules/ppx_inline_test_nobase/default.nix @@ -0,0 +1,36 @@ +{ + lib, + buildDunePackage, + fetchFromGitHub, + mtime, + ppxlib, + sexplib0, +}: + +buildDunePackage (finalAttrs: { + pname = "ppx_inline_test_nobase"; + version = "0.17.0.3"; + + minimalOCamlVersion = "4.14.2"; + + src = fetchFromGitHub { + owner = "Kakadu"; + repo = "ppx_inline_test_nobase"; + tag = "v${finalAttrs.version}"; + hash = "sha256-Bsw+jtPfONeiRoAGYhD3Ty9Pu+pUYmg94mGY3cCqqp4="; + }; + + propagatedBuildInputs = [ + mtime + ppxlib + sexplib0 + ]; + + meta = { + description = "Syntax extension for writing in-line tests in ocaml code"; + homepage = "https://github.com/Kakadu/ppx_inline_test_nobase"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ wegank ]; + broken = lib.versionOlder ppxlib.version "0.37"; + }; +}) diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 1df50e545057..ab60a963ef31 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1834,10 +1834,14 @@ let ppx_deriving_yojson = callPackage ../development/ocaml-modules/ppx_deriving_yojson { }; + ppx_expect_nobase = callPackage ../development/ocaml-modules/ppx_expect_nobase { }; + ppx_gen_rec = callPackage ../development/ocaml-modules/ppx_gen_rec { }; ppx_import = callPackage ../development/ocaml-modules/ppx_import { }; + ppx_inline_test_nobase = callPackage ../development/ocaml-modules/ppx_inline_test_nobase { }; + ppx_irmin = callPackage ../development/ocaml-modules/irmin/ppx.nix { }; ppx_lun = callPackage ../development/ocaml-modules/lun/ppx.nix { };