summary refs log tree commit diff
path: root/pkgs/development/tools/misc/sloccount/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/misc/sloccount/default.nix')
-rw-r--r--pkgs/development/tools/misc/sloccount/default.nix51
1 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/development/tools/misc/sloccount/default.nix b/pkgs/development/tools/misc/sloccount/default.nix
new file mode 100644
index 000000000000..b25313f43558
--- /dev/null
+++ b/pkgs/development/tools/misc/sloccount/default.nix
@@ -0,0 +1,51 @@
+{ fetchurl, stdenv, perl }:
+
+stdenv.mkDerivation rec {
+  name = "sloccount-2.26";
+
+  src = fetchurl {
+    url = "http://www.dwheeler.com/sloccount/${name}.tar.gz";
+    sha256 = "0ayiwfjdh1946asah861ah9269s5xkc8p5fv1wnxs9znyaxs4zzs";
+  };
+
+  buildInputs = [ perl ];
+
+  patchPhase = ''
+    for file in *
+    do
+      substituteInPlace "$file" --replace "/usr/bin/perl" "${perl}/bin/perl"
+    done
+  '';
+
+  configurePhase = ''
+    sed -i "makefile" -"es|PREFIX[[:blank:]]*=.*$|PREFIX = $out|g"
+  '';
+
+  doCheck = true;
+  checkPhase = ''HOME="$TMPDIR" PATH="$PWD:$PATH" make test'';
+
+  preInstall = ''
+    ensureDir "$out/bin"
+    ensureDir "$out/share/man/man1"
+    ensureDir "$out/share/doc"
+  '';
+
+  meta = {
+    description = "SLOCCount, a set of tools for counting physical Source Lines of Code (SLOC)";
+
+    longDescription = ''
+      This is the home page of "SLOCCount", a set of tools for
+      counting physical Source Lines of Code (SLOC) in a large number
+      of languages of a potentially large set of programs.  This suite
+      of tools was used in my papers More than a Gigabuck: Estimating
+      GNU/Linux's Size and Estimating Linux's Size to measure the SLOC
+      of entire GNU/Linux distributions, and my essay Linux Kernel
+      2.6: It's Worth More!  Others have measured Debian GNU/Linux and
+      the Perl CPAN library using this tool suite.
+    '';
+
+    license = "GPLv2+";
+
+    homepage = http://www.dwheeler.com/sloccount/;
+  };
+}