nixpkgs/pkgs/by-name/sm/smlfmt/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

39 lines
1005 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";
};
}