depot/pkgs/development/tools/smlfmt/default.nix
Luke Granger-Brown 57725ef3ec Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce
git-subtree-dir: third_party/nixpkgs
git-subtree-split: 76612b17c0ce71689921ca12d9ffdc9c23ce40b2
2024-11-10 23:59:47 +00:00

38 lines
1,005 B
Nix

{ lib, stdenv, fetchFromGitHub, mlton }:
stdenv.mkDerivation rec {
pname = "smlfmt";
version = "1.1.0";
src = fetchFromGitHub {
owner = "shwestrick";
repo = pname;
rev = "v${version}";
hash = "sha256-qwhYOZrck028NliPDnqFZel3IxopQzouhHq6R7DkfPE=";
};
nativeBuildInputs = [ mlton ];
installPhase = ''
runHook preInstall
install -Dm755 -t $out/bin smlfmt
runHook postInstall
'';
meta = {
description = "Custom parser/auto-formatter for Standard ML";
mainProgram = "smlfmt";
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";
};
}