From f4296657581e1a0899193e2ad5b60864c64fe92d Mon Sep 17 00:00:00 2001 From: Kent Fredric Date: Sat, 21 Oct 2017 15:46:55 +1300 Subject: [PATCH] dev-perl/ExtUtils-AutoInstall: Bump to version 0.640.0 - EAPI6 - Enable tests - Migrate Makefile.PL hack to patch - Patch tests to work Upstream: - Fix tests building properly with newer ExtUtils::MakeMaker Package-Manager: Portage-2.3.8, Repoman-2.3.3 --- .../ExtUtils-AutoInstall-0.640.0.ebuild | 49 ++++++++ dev-perl/ExtUtils-AutoInstall/Manifest | 1 + ...xtUtils-AutoInstall-0.640.0-cpantest.patch | 111 ++++++++++++++++++ ...Utils-AutoInstall-0.640.0-no-dot-inc.patch | 27 +++++ 4 files changed, 188 insertions(+) create mode 100644 dev-perl/ExtUtils-AutoInstall/ExtUtils-AutoInstall-0.640.0.ebuild create mode 100644 dev-perl/ExtUtils-AutoInstall/files/ExtUtils-AutoInstall-0.640.0-cpantest.patch create mode 100644 dev-perl/ExtUtils-AutoInstall/files/ExtUtils-AutoInstall-0.640.0-no-dot-inc.patch diff --git a/dev-perl/ExtUtils-AutoInstall/ExtUtils-AutoInstall-0.640.0.ebuild b/dev-perl/ExtUtils-AutoInstall/ExtUtils-AutoInstall-0.640.0.ebuild new file mode 100644 index 000000000000..67b5ca9597f4 --- /dev/null +++ b/dev-perl/ExtUtils-AutoInstall/ExtUtils-AutoInstall-0.640.0.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +DIST_AUTHOR=INGY +DIST_VERSION=0.64 +inherit perl-module + +DESCRIPTION="Automatic installation of dependencies via CPAN from within Makefile.PL" + +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris" +IUSE="" + +# TESTS BAD. Wants to write to cpan's config on the live system +#SRC_TEST="do" + +RDEPEND="dev-perl/Sort-Versions" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}/${P}-no-dot-inc.patch" + "${FILESDIR}/${P}-cpantest.patch" +) +src_compile() { + echo "n" | perl-module_src_compile +} + +src_test() { + local MODULES=( + "ExtUtils::AutoInstall ${DIST_VERSION}" + ) + local failed=() + for dep in "${MODULES[@]}"; do + ebegin "Compile testing ${dep}" + perl -Mblib="${S}" -M"${dep} ()" -e1 + eend $? || failed+=( "$dep" ) + done + if [[ ${failed[@]} ]]; then + echo + eerror "One or more modules failed compile:"; + for dep in "${failed[@]}"; do + eerror " ${dep}" + done + die "Failing due to module compilation errors"; + fi + perl-module_src_test +} diff --git a/dev-perl/ExtUtils-AutoInstall/Manifest b/dev-perl/ExtUtils-AutoInstall/Manifest index 7d2ee2edec98..18a76ec0af52 100644 --- a/dev-perl/ExtUtils-AutoInstall/Manifest +++ b/dev-perl/ExtUtils-AutoInstall/Manifest @@ -1 +1,2 @@ DIST ExtUtils-AutoInstall-0.63.tar.gz 26951 SHA256 829d4976e85d04dd18e24f500d03fb662e40aabf8609b633331b1925e0455299 SHA512 3836dbdd175732109c88a2c0e8d19929fbf59ef453c7149b6a6b6658cf419f241c91ba86fe7f4a1d7bf1af4d7ef42809e523f05e683e9bba75ca9aa9d47e1445 WHIRLPOOL 759e7802bb74821bb76d23ab1e554f70612f12487296ac27abc1c89a4911f99548866ebacfd29ecc1e23033a6ac7dd1697056afd7b2843a0c0b7d9c2cbb558bc +DIST ExtUtils-AutoInstall-0.64.tar.gz 25886 SHA256 0fe48f78b5ee39acb3be38a7a039789abc46195af411297dabec294c2851027f SHA512 18f8d58673ea5c0f9654b2c39297e974c6e464250af63e569fbe5966ce7a59cb2ec0ea1190b84cb47bf061eb90fd9307b52ead38491f3220fc301fff342bf860 WHIRLPOOL ec5f4b52f7ccc762fb0c4280d626a362d66462a23dc2400574a0d2f99c495dbd8b8bf908f007031a327e40bba56ed3d607c88200b4b8cd1e727be37e1cdb1083 diff --git a/dev-perl/ExtUtils-AutoInstall/files/ExtUtils-AutoInstall-0.640.0-cpantest.patch b/dev-perl/ExtUtils-AutoInstall/files/ExtUtils-AutoInstall-0.640.0-cpantest.patch new file mode 100644 index 000000000000..4040016fe9c6 --- /dev/null +++ b/dev-perl/ExtUtils-AutoInstall/files/ExtUtils-AutoInstall-0.640.0-cpantest.patch @@ -0,0 +1,111 @@ +From fe02934c5a5bba11e351be5a2f3f95a4461779af Mon Sep 17 00:00:00 2001 +From: Kent Fredric +Date: Sat, 21 Oct 2017 15:37:11 +1300 +Subject: Patch around annoying CPAN-initialization test + +This is a terrible way of doing this, but its good enough for now +and convinces CPAN that its already configured and doesn't block +waiting for input. A more sensible narrow set is probably viable, +and OS specifics probably need to be considered. + +Bug: https://rt.cpan.org/Ticket/Display.html?id=96782 +--- + t/1-basic.t | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 75 insertions(+) + +diff --git a/t/1-basic.t b/t/1-basic.t +index dbf7e27..2cdffab 100644 +--- a/t/1-basic.t ++++ b/t/1-basic.t +@@ -10,6 +10,7 @@ my $mm_args; + my @prompts = qw/y n n y y/; + + use ExtUtils::MakeMaker; ++use File::Temp qw( tempdir ); + sub ExtUtils::MakeMaker::WriteMakefile { $mm_args = {@_} } + sub ExtUtils::MakeMaker::prompt ($;$) { return 'n' } + +@@ -24,6 +25,80 @@ my $fh = Symbol::gensym; + my $out = tie *$fh, __PACKAGE__; + select(*$fh); + ++my $tempdir = tempdir( 'tmp-XXXXXXX', DIR => './t' , CLEANUP => 1 ); ++$ENV{HOME} = $tempdir; ++mkdir "$tempdir/.cpan"; ++mkdir "$tempdir/.cpan/CPAN"; ++{ ++ open my $fh, '>', "$tempdir/.cpan/CPAN/MyConfig.pm" or die "can't open test MyConfig.pm: $! $?"; ++ print $fh <<"EOF"; ++\$CPAN::Config = { ++ 'applypatch' => q[], ++ 'auto_commit' => q[0], ++ 'build_cache' => q[100], ++ 'build_dir' => q[\Q$tempdir\E/build], ++ 'build_dir_reuse' => q[0], ++ 'build_requires_install_policy' => q[yes], ++ 'bzip2' => q[/bin/bzip2], ++ 'cache_metadata' => q[1], ++ 'check_sigs' => q[0], ++ 'colorize_output' => q[0], ++ 'commandnumber_in_prompt' => q[1], ++ 'connect_to_internet_ok' => q[1], ++ 'cpan_home' => q[\Q$tempdir\E], ++ 'ftp_passive' => q[1], ++ 'ftp_proxy' => q[], ++ 'getcwd' => q[cwd], ++ 'gpg' => q[/usr/bin/gpg], ++ 'gzip' => q[/bin/gzip], ++ 'halt_on_failure' => q[0], ++ 'histfile' => q[\Q$tempdir\E/histfile], ++ 'histsize' => q[100], ++ 'http_proxy' => q[], ++ 'inactivity_timeout' => q[0], ++ 'index_expire' => q[1], ++ 'inhibit_startup_message' => q[0], ++ 'keep_source_where' => q[\Q$tempdir\E/sources], ++ 'load_module_verbosity' => q[none], ++ 'make' => q[/usr/bin/make], ++ 'make_arg' => q[], ++ 'make_install_arg' => q[], ++ 'make_install_make_command' => q[/usr/bin/make], ++ 'makepl_arg' => q[], ++ 'mbuild_arg' => q[], ++ 'mbuild_install_arg' => q[], ++ 'mbuild_install_build_command' => q[./Build], ++ 'mbuildpl_arg' => q[], ++ 'no_proxy' => q[], ++ 'pager' => q[/usr/bin/less], ++ 'patch' => q[/usr/bin/patch], ++ 'perl5lib_verbosity' => q[none], ++ 'prefer_external_tar' => q[1], ++ 'prefer_installer' => q[MB], ++ 'prefs_dir' => q[\Q$tempdir\E/prefs], ++ 'prerequisites_policy' => q[follow], ++ 'scan_cache' => q[atstart], ++ 'shell' => q[/bin/bash], ++ 'show_unparsable_versions' => q[0], ++ 'show_upload_date' => q[0], ++ 'show_zero_versions' => q[0], ++ 'tar' => q[/bin/tar], ++ 'tar_verbosity' => q[none], ++ 'term_is_latin' => q[1], ++ 'term_ornaments' => q[1], ++ 'test_report' => q[0], ++ 'trust_test_report_history' => q[0], ++ 'unzip' => q[/usr/bin/unzip], ++ 'urllist' => [q[http://cpan.kinghost.net/], q[http://cpan.dcc.uchile.cl/], q[http://www.laqee.unal.edu.co/CPAN/]], ++ 'use_sqlite' => q[0], ++ 'version_timeout' => q[15], ++ 'wget' => q[/usr/bin/wget], ++ 'yaml_load_code' => q[0], ++ 'yaml_module' => q[YAML], ++ }; ++EOF ++} ++ + # test from a clean state + $ENV{PERL_EXTUTILS_AUTOINSTALL} = ''; + require ExtUtils::AutoInstall; +-- +2.14.2 + diff --git a/dev-perl/ExtUtils-AutoInstall/files/ExtUtils-AutoInstall-0.640.0-no-dot-inc.patch b/dev-perl/ExtUtils-AutoInstall/files/ExtUtils-AutoInstall-0.640.0-no-dot-inc.patch new file mode 100644 index 000000000000..c85d8a362fbd --- /dev/null +++ b/dev-perl/ExtUtils-AutoInstall/files/ExtUtils-AutoInstall-0.640.0-no-dot-inc.patch @@ -0,0 +1,27 @@ +From 929dc970f0f6744e0124243840de287b48284275 Mon Sep 17 00:00:00 2001 +From: Kent Fredric +Date: Sat, 21 Oct 2017 15:21:14 +1300 +Subject: Fix for '.' in @INC on 5.26+ + +Bug: https://rt.cpan.org/Ticket/Display.html?id=121201 +Bug: https://bugs.gentoo.org/615830 +--- + Makefile.PL | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/Makefile.PL b/Makefile.PL +index 80d276b..8b77462 100644 +--- a/Makefile.PL ++++ b/Makefile.PL +@@ -1,7 +1,6 @@ + #!/usr/bin/perl +- ++use lib '.', 'lib'; + use inc::Module::Install; +-use lib 'lib'; + + name ('ExtUtils-AutoInstall'); + abstract ('Automatic install of dependencies via CPAN'); +-- +2.14.2 + -- 2.26.2