From 74c82056c966b9e3cf39d427cd6ea99a887277ec Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 28 Feb 2020 12:31:02 +0100 Subject: [PATCH] lcov: Support gcc 9 https://github.com/linux-test-project/lcov/issues/58 https://github.com/Homebrew/homebrew-core/pull/50070 --- .../tools/analysis/lcov/default.nix | 19 +++++++++++++++++-- pkgs/top-level/perl-packages.nix | 15 +++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/analysis/lcov/default.nix b/pkgs/development/tools/analysis/lcov/default.nix index 06c712588f8f..a5e8c81e313a 100644 --- a/pkgs/development/tools/analysis/lcov/default.nix +++ b/pkgs/development/tools/analysis/lcov/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, perl}: + {stdenv, fetchurl, fetchpatch, perl, perlPackages, makeWrapper }: stdenv.mkDerivation rec { name = "lcov-1.14"; @@ -8,13 +8,28 @@ stdenv.mkDerivation rec { sha256 = "06h7ixyznf6vz1qvksjgy5f3q2nw9akf6zx59npf0h3l32cmd68l"; }; - buildInputs = [ perl ]; + patches = + [ (fetchpatch { + url = https://github.com/linux-test-project/lcov/commit/ebfeb3e179e450c69c3532f98cd5ea1fbf6ccba7.patch; + sha256 = "1z9jfqpj34jnzdvmqr5fs8hl56bvbwd8xhlbg3chcswbjj97vk7l"; + }) + (fetchpatch { + url = https://github.com/linux-test-project/lcov/commit/75fbae1cfc5027f818a0bb865bf6f96fab3202da.patch; + sha256 = "1wgd4y7vhvfnxyhdd0z2pi9ys6l0z88f14i69a7prb296m1zwg5j"; + }) + ]; + + buildInputs = [ perl makeWrapper ]; preBuild = '' patchShebangs bin/ makeFlagsArray=(PREFIX=$out LCOV_PERL_PATH=$(command -v perl)) ''; + postInstall = '' + wrapProgram $out/bin/lcov --set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.PerlIOgzip perlPackages.JSON ]} + ''; + meta = with stdenv.lib; { description = "Code coverage tool that enhances GNU gcov"; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 57f24021739f..903d4e40f54b 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -14630,6 +14630,21 @@ let }; }; + PerlIOgzip = buildPerlPackage { + pname = "PerlIO-gzip"; + version = "0.20"; + src = fetchurl { + url = "mirror://cpan/authors/id/N/NW/NWCLARK/PerlIO-gzip-0.20.tar.gz"; + sha256 = "4848679a3f201e3f3b0c5f6f9526e602af52923ffa471a2a3657db786bd3bdc5"; + }; + buildInputs = [ pkgs.zlib ]; + NIX_CFLAGS_LINK = "-L${pkgs.zlib.out}/lib -lz"; + meta = { + description = "Perl extension to provide a PerlIO layer to gzip/gunzip"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + PerlIOutf8_strict = buildPerlPackage { pname = "PerlIO-utf8_strict"; version = "0.007";