summaryrefslogtreecommitdiffstats
path: root/pkgs/development/tools/smlfmt/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/smlfmt/default.nix')
-rw-r--r--pkgs/development/tools/smlfmt/default.nix37
1 files changed, 37 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";
+ };
+}