nixpkgs/pkgs/by-name/kt/ktlint/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

35 lines
1012 B
Nix

{ lib, stdenv, fetchurl, makeWrapper, jre_headless, gnused }:
stdenv.mkDerivation rec {
pname = "ktlint";
version = "1.4.0";
src = fetchurl {
url = "https://github.com/pinterest/ktlint/releases/download/${version}/ktlint";
sha256 = "sha256-7HAiTr1hH7klYafbucYtnrDq+2lCenZA1o4XawqEqXw=";
};
nativeBuildInputs = [ makeWrapper ];
dontUnpack = true;
installPhase = ''
install -Dm755 $src $out/bin/ktlint
'';
postFixup = ''
wrapProgram $out/bin/ktlint --prefix PATH : "${lib.makeBinPath [ jre_headless gnused ]}"
'';
meta = with lib; {
description = "Anti-bikeshedding Kotlin linter with built-in formatter";
homepage = "https://ktlint.github.io/";
license = licenses.mit;
platforms = jre_headless.meta.platforms;
changelog = "https://github.com/pinterest/ktlint/blob/master/CHANGELOG.md";
maintainers = with maintainers; [ tadfisher SubhrajyotiSen ];
sourceProvenance = with sourceTypes; [ binaryBytecode ];
mainProgram = "ktlint";
};
}