about summary refs log tree commit diff
diff options
context:
space:
mode:
authorStig <stig@stig.io>2024-06-24 16:59:44 +0200
committerGitHub <noreply@github.com>2024-06-24 16:59:44 +0200
commitb4a237a1b79ef60236afef7b85d78118f3874d1d (patch)
tree26381cd09638c3b06afec6502061d8d686474160
parent8ff3bf9e4dd67c1b4a6bec9dede5f4b9f039b876 (diff)
parentf756ee76674e2afb569c5159fee784eb4d1fa7a7 (diff)
Merge pull request #322052 from wegank/lcov-bump
lcov: 1.16 -> 2.1
-rw-r--r--pkgs/development/tools/analysis/lcov/default.nix61
-rw-r--r--pkgs/top-level/perl-packages.nix46
2 files changed, 89 insertions, 18 deletions
diff --git a/pkgs/development/tools/analysis/lcov/default.nix b/pkgs/development/tools/analysis/lcov/default.nix
index 349b44730b8a2..c5e3b43eea061 100644
--- a/pkgs/development/tools/analysis/lcov/default.nix
+++ b/pkgs/development/tools/analysis/lcov/default.nix
@@ -1,18 +1,42 @@
- {lib, stdenv, fetchFromGitHub, perl, perlPackages, makeWrapper }:
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  perl,
+  python3,
+  perlPackages,
+  makeWrapper,
+}:
 
+let
+  perlDeps = [
+    perlPackages.CaptureTiny
+    perlPackages.DateTime
+    perlPackages.DateTimeFormatW3CDTF
+    perlPackages.DevelCover
+    perlPackages.GD
+    perlPackages.JSONXS
+    perlPackages.MemoryProcess
+    perlPackages.PathTools
+  ];
+in
 stdenv.mkDerivation rec {
   pname = "lcov";
-  version = "1.16";
+  version = "2.1";
 
   src = fetchFromGitHub {
     owner = "linux-test-project";
     repo = "lcov";
     rev = "v${version}";
-    sha256 = "sha256-X1T5OqR6NgTNGedH1on3+XZ7369007By6tRJK8xtmbk=";
+    hash = "sha256-QfA+mzLfpi2fuhcPvCKO7YnPef1GMhCbgBWdXFTXPzE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ perl ];
+
+  buildInputs = [
+    perl
+    python3
+  ];
 
   preBuild = ''
     patchShebangs bin/
@@ -20,26 +44,27 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    wrapProgram $out/bin/lcov --set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.PerlIOgzip perlPackages.JSON ]}
-    wrapProgram $out/bin/genpng --set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.GD ]}
+    for f in "$out"/bin/{gen*,lcov,perl2lcov}; do
+      wrapProgram "$f" --set PERL5LIB ${perlPackages.makeFullPerlPath perlDeps}
+    done
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Code coverage tool that enhances GNU gcov";
 
-    longDescription =
-      '' LCOV is an extension of GCOV, a GNU tool which provides information
-         about what parts of a program are actually executed (i.e.,
-         "covered") while running a particular test case.  The extension
-         consists of a set of PERL scripts which build on the textual GCOV
-         output to implement the following enhanced functionality such as
-         HTML output.
-      '';
+    longDescription = ''
+      LCOV is an extension of GCOV, a GNU tool which provides information
+      about what parts of a program are actually executed (i.e.,
+      "covered") while running a particular test case.  The extension
+      consists of a set of PERL scripts which build on the textual GCOV
+      output to implement the following enhanced functionality such as
+      HTML output.
+    '';
 
-    homepage = "https://ltp.sourceforge.net/coverage/lcov.php";
+    homepage = "https://github.com/linux-test-project/lcov";
     license = lib.licenses.gpl2Plus;
 
-    maintainers = with maintainers; [ dezgeg ];
-    platforms = platforms.all;
+    maintainers = with lib.maintainers; [ dezgeg ];
+    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 5071fff62745d..45e3ec186596b 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -6966,6 +6966,22 @@ with self; {
     };
   };
 
+  DevelCover = buildPerlPackage {
+    pname = "Devel-Cover";
+    version = "1.44";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/P/PJ/PJCJ/Devel-Cover-1.44.tar.gz";
+      hash = "sha256-9AwVQ5kuXWWm94AD1GLVms15rm0w04BHscadmZ0rH9g=";
+    };
+    propagatedBuildInputs = [ HTMLParser ];
+    doCheck = false;
+    meta = {
+      description = "Code coverage metrics for Perl";
+      homepage = "http://www.pjcj.net/perl.html";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   DevelDeprecationsEnvironmental = buildPerlPackage {
     pname = "Devel-Deprecations-Environmental";
     version = "1.101";
@@ -15650,6 +15666,36 @@ with self; {
     };
   };
 
+  MemoryProcess = buildPerlPackage {
+    pname = "Memory-Process";
+    version = "0.06";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SK/SKIM/Memory-Process-0.06.tar.gz";
+      hash = "sha256-NYFEiP/SnJdiFiXqOz1wCvv6YO0FW9dZ1OWNnI/UTk4=";
+    };
+    buildInputs = [ CaptureTiny TestNoWarnings ];
+    propagatedBuildInputs = [ MemoryUsage Readonly ];
+    meta = {
+      description = "Memory process reporting";
+      homepage = "https://github.com/michal-josef-spacek/Memory-Process";
+      license = lib.licenses.bsd3;
+      platforms = lib.platforms.linux;
+    };
+  };
+
+  MemoryUsage = buildPerlPackage {
+    pname = "Memory-Usage";
+    version = "0.201";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/D/DO/DONEILL/Memory-Usage-0.201.tar.gz";
+      hash = "sha256-jyr60h5Ap0joHIwPPkDKcYwU3bn7LYgL+9KK6RPOU0k=";
+    };
+    meta = {
+      description = "Tools to determine actual memory usage";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   Menlo = buildPerlPackage {
     pname = "Menlo";
     version = "1.9019";