Files
Emily fdb820602b treewide: drop simple x86_64-darwin mentions
To reproduce:

    $ nix run nixpkgs/3b32825de172d0bc85664f495edb096b10862524#ast-grep \
        -- scan --update-all --inline-rules '
          id: nix-x86_64-darwin
          language: nix
          rule:
            any:
              - pattern: "\"x86_64-darwin\""
                kind: list_expression > string_expression
              - pattern:
                  context: "{ \"x86_64-darwin\" = $EXPR; }"
                  selector: binding
              - pattern:
                  context: "{ x86_64-darwin = $EXPR; }"
                  selector: binding
          fix:
            template: ""
        ' pkgs
    $ nix run nixpkgs/3b32825de172d0bc85664f495edb096b10862524#ast-grep \
        -- scan --update-all --inline-rules '
          id: json-first-x86_64-darwin
          language: json
          rule:
            kind: object > pair:nth-child(1)
            has:
              pattern: "\"x86_64-darwin\""
              field: key
          fix:
            template: ""
            expandEnd: { regex: "," }
        ' pkgs
    $ nix run nixpkgs/3b32825de172d0bc85664f495edb096b10862524#ast-grep \
        -- scan --update-all --inline-rules '
          id: json-x86_64-darwin
          language: json
          rule:
            kind: object > pair
            has:
              pattern: "\"x86_64-darwin\""
              field: key
          fix:
            template: ""
            expandStart: { regex: "," }
        ' pkgs
    $ git restore pkgs/by-name/om/omnix/package.nix
    $ git diff --name-only -z \
        | nix shell nixpkgs/3b32825de172d0bc85664f495edb096b10862524#gnused \
            -c xargs -0 sed -i '/^$/N; /^\n\? \+$/d'
    $ treefmt
2026-07-15 03:58:16 +01:00

67 lines
1.4 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
mlton,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mlkit";
version = "4.7.21";
src = fetchFromGitHub {
owner = "melsman";
repo = "mlkit";
tag = "v${finalAttrs.version}";
hash = "sha256-c1GdM3K6dgY0EgHu01adBXwAxuMehRfo73Lo71couJ4=";
};
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 ];
};
})