Files
nixpkgs/pkgs/by-name/ml/mlkit/package.nix
2026-08-02 03:01:04 +00:00

67 lines
1.4 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
mlton,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mlkit";
version = "4.7.22";
src = fetchFromGitHub {
owner = "melsman";
repo = "mlkit";
tag = "v${finalAttrs.version}";
hash = "sha256-YbWvKakqLnsPeM2kTDlqcRZRqcpUHfd0PI34iwlXQGI=";
};
nativeBuildInputs = [
autoreconfHook
mlton
];
buildFlags = [
"mlkit"
"mlkit_libs"
"smltojs"
"smltojs_basislibs"
"barry"
];
installTargets = [
"install"
"install_smltojs"
"install_barry"
];
doCheck = true;
# MLKit intentionally has some of these in its test suite.
# Since the test suite is available in `$out/share/mlkit/test`, we must disable this check.
dontCheckForBrokenSymlinks = true;
checkPhase = ''
runHook preCheck
echo ==== Running MLKit test suite: test ====
make -C test_dev test
echo ==== Running MLKit test suite: test_prof ====
make -C test_dev test_prof
echo ==== Running Barry test suite ====
make -C test/barry
runHook postCheck
'';
meta = {
description = "Standard ML Compiler and Toolkit";
homepage = "https://elsman.com/mlkit/";
changelog = "https://github.com/melsman/mlkit/blob/v${finalAttrs.version}/NEWS.md";
license = lib.licenses.gpl2Plus;
platforms = [
"x86_64-linux"
];
maintainers = with lib.maintainers; [ athas ];
};
})