diff options
author | Philip Munksgaard <philip@munksgaard.me> | 2023-01-13 12:32:09 +0100 |
---|---|---|
committer | Philip Munksgaard <philip@munksgaard.me> | 2023-01-13 12:32:09 +0100 |
commit | 04bbb6fb78fbb5d69bb51fb4e9029ee11c74972f (patch) | |
tree | 596944db940ecbfb362e00846338ef0fb46e3380 | |
parent | d912468885f9d61d5ebf4fb3546f88e9b5bd0567 (diff) |
smlfmt: init at 1.0.0
-rw-r--r-- | pkgs/development/tools/smlfmt/default.nix | 37 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 39 insertions, 0 deletions
diff --git a/pkgs/development/tools/smlfmt/default.nix b/pkgs/development/tools/smlfmt/default.nix new file mode 100644 index 000000000000..1475de94193d --- /dev/null +++ b/pkgs/development/tools/smlfmt/default.nix @@ -0,0 +1,37 @@ +{ lib, stdenv, fetchFromGitHub, pkg-config, mlton }: + +stdenv.mkDerivation rec { + pname = "smlfmt"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "shwestrick"; + repo = pname; + rev = "v${version}"; + hash = "sha256-7CTfMiEvuOena5SOE0qKpFPq6ARxmkE6d+loznZNbC0="; + }; + + nativeBuildInputs = [ mlton ]; + + installPhase = '' + runHook preInstall + install -Dm755 -t $out/bin smlfmt + runHook postInstall + ''; + + meta = { + description = "A custom parser/auto-formatter for Standard ML"; + longDescription = '' + A custom parser and code formatter for Standard ML, with helpful error messages. + + Supports SML source files (.sml, .sig, .fun, etc.) as well as MLBasis + compilation files (.mlb) using MLton conventions, including MLBasis path + maps. + ''; + + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ munksgaard ]; + platforms = mlton.meta.platforms; + homepage = "https://github.com/shwestrick/smlfmt"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 967dcde1c9a5..6a8d3c1a90c8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15591,6 +15591,8 @@ with pkgs; shmig = callPackage ../development/tools/database/shmig { }; + smlfmt = callPackage ../development/tools/smlfmt { }; + # smlnjBootstrap should be redundant, now that smlnj works on Darwin natively smlnjBootstrap = callPackage ../development/compilers/smlnj/bootstrap.nix { }; smlnj = callPackage ../development/compilers/smlnj { |