diff --git a/pkgs/development/tools/misc/loccount/default.nix b/pkgs/development/tools/misc/loccount/default.nix new file mode 100644 index 000000000000..d0458c304679 --- /dev/null +++ b/pkgs/development/tools/misc/loccount/default.nix @@ -0,0 +1,35 @@ +{ stdenv, lib, buildGoPackage, fetchFromGitLab }: +buildGoPackage rec { + name = "loccount-${version}"; + version = "1.0"; + + goPackagePath = "gitlab.com/esr/loccount"; + excludedPackages = "tests"; + + src = fetchFromGitLab { + owner = "esr"; + repo = "loccount"; + rev = version; + sha256 = "081wf7fckn76m4x0jwq4h2fsbhpb6f67dha77ni3p6wg7q6sihqx"; + }; + + meta = with stdenv.lib; { + description = "Re-implementation of sloccount in Go"; + longDescription = '' + loccount is a re-implementation of David A. Wheeler's sloccount tool + in Go. It is faster and handles more different languages. Because + it's one source file in Go, it is easier to maintain and extend than the + multi-file, multi-language implementation of the original. + + The algorithms are largely unchanged and can be expected to produce + identical numbers for languages supported by both tools. Python is + an exception; loccount corrects buggy counting of single-quote multiline + literals in sloccount 2.26. + ''; + homepage="https://gitlab.com/esr/loccount"; + downloadPage="https://gitlab.com/esr/loccount/tree/master"; + license = licenses.bsd2; + maintainers = with maintainers; [ calvertvl ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3a2be79fd526..385030188e9c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -968,6 +968,8 @@ with pkgs; languagetool = callPackage ../tools/text/languagetool { }; + loccount = callPackage ../development/tools/misc/loccount { }; + long-shebang = callPackage ../misc/long-shebang {}; iio-sensor-proxy = callPackage ../os-specific/linux/iio-sensor-proxy { };