You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/perl-core/Archive-Tar/files/Archive-Tar-2.30-makefilept...

131 lines
4.1 KiB

From 14ecca4632b44461d3c23344027ec30eedba1b0a Mon Sep 17 00:00:00 2001
From: Kent Fredric <kentnl@gentoo.org>
Date: Fri, 6 Jul 2018 17:20:30 +1200
Subject: Patch ptardiff support out conditional on ENV
- Toggle installation and testing of ptardiff functionality to only
trigger when requested
- Toggle testing of bzip2 support only when requested
- Disable mechanics intended for user-perl environments where
installation is to somewhere that may fall outside PATH
---
Makefile.PL | 46 +++++++++-------------------------------------
t/07_ptardiff.t | 11 +++++++++--
2 files changed, 18 insertions(+), 39 deletions(-)
diff --git a/Makefile.PL b/Makefile.PL
index fe093bd..0289409 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -9,19 +9,12 @@ unless( $] >= 5.005_03 ) {
die qq[Archive::Tar requires perl version 5.005_03 or higher to run\n];
}
-if( !eval { require IO::Compress::Bzip2; 1 } and !$opt->{n} ) {
- warn qq[You do not have IO::Compress::Bzip2 installed. This means you can ].
- qq[not read or write bzip2 compressed archives!\n] .
- qq[Note: you can disable this warning (and the prerequisite) ].
- qq[by invoking Makefile.PL with '-n'\n];
+if( $ENV{GENTOO_TAR_BZIP2} ) {
+ require IO::Compress::Bzip2;
}
-if( !$opt->{d} and not eval { require Text::Diff; 1 } ) {
- print qq[\nArchive::Tar comes with a utility called 'ptardiff' which ].
- qq[lets you run diffs against tar archives.\n\nHowever, this ].
- qq[utility requires you to have Text::Diff installed.\n\n].
- qq[To add Text::Diff as a prerequisite, please supply the ].
- qq['-d' option when invoking this Makefile.PL.\n\n];
+if ( $ENV{GENTOO_TAR_PTARDIFF} ) {
+ require Text::Diff;
}
my $prereqs = {
@@ -45,10 +38,10 @@ unless ($Config{useperlio}) {
}
### ok, you didn't want IO::Zlib ###
-delete $prereqs->{'IO::Compress::Bzip2'} if $opt->{n};
+delete $prereqs->{'IO::Compress::Bzip2'} unless $ENV{GENTOO_TAR_BZIP2};
### so you want text::diff ###
-$prereqs->{'Text::Diff'} = 0 if $opt->{d};
+$prereqs->{'Text::Diff'} = 0 if $ENV{GENTOO_TAR_PTARDIFF};
WriteMakefile1(
@@ -68,7 +61,6 @@ WriteMakefile1(
#EXE_FILES => ['bin/ptar', 'bin/ptardiff'],
EXE_FILES => [ _scripts() ],
PREREQ_PM => $prereqs,
- INSTALLDIRS => ( $] >= 5.009003 && $] < 5.012 ? 'perl' : 'site' ),
AUTHOR => 'Jos Boumans <kane[at]cpan.org>',
ABSTRACT => 'Manipulates TAR archives',
);
@@ -84,29 +76,9 @@ sub _scripts {
File::Copy::copy( $_, "$_$version" ) for @scripts;
@scripts = glob("bin/*$version");
}
- if ( $] >= 5.012 && $Config::Config{installscript} ne $Config::Config{installsitescript} ) {
- my $script = $Config::Config{installscript};
- my $site = $Config::Config{installsitescript};
- warn <<"WARNING";
-###############################################################
-##
-## Hi! Your script and sitescript locations are different
-##
-## As your perl is v5.12.0 or greater the script included
-## in this distribution will be installed into sitescript
-##
-## You might want to check that the following location is
-## in your PATH environment variable:
-##
-## '$site'
-##
-## Many thanks.
-##
-###############################################################
-
-WARNING
- sleep 10;
- }
+ }
+ if ( not $ENV{GENTOO_TAR_PTARDIFF} ) {
+ @scripts = grep { $_ !~ /ptardiff/ } @scripts;
}
return @scripts;
}
diff --git a/t/07_ptardiff.t b/t/07_ptardiff.t
index 6935fc6..da4ea29 100644
--- a/t/07_ptardiff.t
+++ b/t/07_ptardiff.t
@@ -1,5 +1,13 @@
use strict;
use warnings;
+
+BEGIN {
+ unless ( $ENV{GENTOO_TAR_PTARDIFF} ) {
+ print "1..0 # SKIP this test requires GENTOO_TAR_PTARDIFF set";
+ exit
+ }
+}
+
use Test::More;
use File::Spec;
@@ -14,8 +22,7 @@ my $tarfile = File::Spec->catfile("t", "ptardiff.tar");
my $ptardiff = File::Spec->catfile($Bin, "..", "bin", "ptardiff");
my $cmd = "$^X $ptardiff $tarfile";
-eval { require Text::Diff; };
-plan skip_all => 'Text::Diff required to test ptardiff' if $@;
+require Text::Diff;
plan tests => 1;
# create directory/files
--
2.17.1