commit:     5b1864cdd9a0e05afe4f401698f7f7dffab97f9f
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sat Oct  1 11:46:29 2016 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sat Oct  1 11:59:54 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b1864cd

www-apache/mod_perl: Version bump to 2.0.10-rc1 with more or less complete 
rework; tests should pass now

Package-Manager: portage-2.3.1

 www-apache/mod_perl/Manifest                       |   1 +
 .../mod_perl-2.0.10_rc1-Gentoo-not-Unix.patch      |  36 ++++++
 .../mod_perl-2.0.10_rc1-bundled-Apache-Test.patch  |  80 ++++++++++++
 www-apache/mod_perl/mod_perl-2.0.10_rc1.ebuild     | 137 +++++++++++++++++++++
 4 files changed, 254 insertions(+)

diff --git a/www-apache/mod_perl/Manifest b/www-apache/mod_perl/Manifest
index 3c73173..f57c1e5 100644
--- a/www-apache/mod_perl/Manifest
+++ b/www-apache/mod_perl/Manifest
@@ -1,2 +1,3 @@
+DIST mod_perl-2.0.10-rc1.tar.gz 3845157 SHA256 
d01da2b8b8acd9e2f4853f130f142259296310fb961bb3c55ad029b5a8d5d7af SHA512 
9c99de8d553bce98786d6e99a78abdb39ecc411b82456a0cec0a667bd5d274c5978fd76ca4e9489d06e6661c64ab60b281fc8c741289777b1e0d067114a7a904
 WHIRLPOOL 
827f9f64524de44456a091e7fb558997e9ec8901a887d2b8d5767545cd330d4a0b18e6a6b2e00b31e36ac365d1b7c5b7aaad6aa5404a05e330f2c0ddae82497e
 DIST mod_perl-2.0.10_pre201601.tar.gz 3854229 SHA256 
a89c23b66b21c600b74a48125c02c91159c07b08cc07fb4f55015e8e07713697 SHA512 
04e57e79031374f3ec432e950fb9f79d1202da9dfc0d86a5137b7346c18f313a4e58ecfffed51efd7e6494baec86b22a42d6712ce5f7824f9f479c05bac00659
 WHIRLPOOL 
5d37b067aa945cafc0cc7a1f1b27257d8409f6804f22880ae7fd6c21424bbd2c07bace483d95590d255678725f67d081741978cff24cfc91716c08294547e622
 DIST mod_perl-2.0.8.tar.gz 3790026 SHA256 
35dc1b7a40a90a395ce88bba2df84f22289975f34d1757de6d715560c20a20e6 SHA512 
d5090651699c4436fe8d0a525226543c971aa05db337dc1b1e89023183df1c7dd8b8775f3a0f7d3b9ec40e8c058ac23bd24141cf15a5fe5806226d634dfb4c87
 WHIRLPOOL 
d22e1c353339b08ad752e9f9c7fc0ec4d6a173c4cd3004380b14098e1028737e0eb69d2f56dbe0da3cbfb01b31232c5073d7edb28bf4fed6b2ccd67b09ad7080

diff --git 
a/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-Gentoo-not-Unix.patch 
b/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-Gentoo-not-Unix.patch
new file mode 100644
index 00000000..578878f
--- /dev/null
+++ b/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-Gentoo-not-Unix.patch
@@ -0,0 +1,36 @@
+Tests fail because the server banner contains "Gentoo" instead of "Unix". 
Disable them.
+
+
+diff -ruN mod_perl-2.0.10-rc1.orig/t/response/TestAPI/server_const.pm 
mod_perl-2.0.10-rc1/t/response/TestAPI/server_const.pm
+--- mod_perl-2.0.10-rc1.orig/t/response/TestAPI/server_const.pm        
2016-09-30 14:45:31.000000000 +0200
++++ mod_perl-2.0.10-rc1/t/response/TestAPI/server_const.pm     2016-10-01 
13:18:02.359794404 +0200
+@@ -25,7 +25,7 @@
+ 
+     my $r = shift;
+ 
+-    plan $r, tests => 6;
++    plan $r, tests => 4;
+ 
+     # test Apache2::ServerUtil constant subroutines
+ 
+@@ -45,13 +45,13 @@
+     ok t_cmp($server_descr, qr!\bworld domination series/2\.0\b!,
+              'Apache2::ServerUtil::get_server_description() -- component');
+ 
+-    # assuming ServerTokens Full (default) the banner equals description
+-    ok t_cmp(Apache2::ServerUtil::get_server_banner, $server_descr,
+-             'Apache2::ServerUtil::get_server_banner()');
+-
+-    # version is just an alias for banner
+-    ok t_cmp(Apache2::ServerUtil::get_server_version, $server_descr,
+-             'Apache2::ServerUtil::get_server_version()');
++#    # assuming ServerTokens Full (default) the banner equals description
++#    ok t_cmp(Apache2::ServerUtil::get_server_banner, $server_descr,
++#             'Apache2::ServerUtil::get_server_banner()');
++
++#    # version is just an alias for banner
++#    ok t_cmp(Apache2::ServerUtil::get_server_version, $server_descr,
++#             'Apache2::ServerUtil::get_server_version()');
+ 
+     Apache2::Const::OK;
+ }

diff --git 
a/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-bundled-Apache-Test.patch 
b/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-bundled-Apache-Test.patch
new file mode 100644
index 00000000..e8ec5d0
--- /dev/null
+++ b/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-bundled-Apache-Test.patch
@@ -0,0 +1,80 @@
+diff -ruN mod_perl-2.0.10-rc1.orig/Makefile.PL mod_perl-2.0.10-rc1/Makefile.PL
+--- mod_perl-2.0.10-rc1.orig/Makefile.PL       2016-09-30 14:45:23.000000000 
+0200
++++ mod_perl-2.0.10-rc1/Makefile.PL    2016-10-01 00:35:17.140862642 +0200
+@@ -25,7 +25,7 @@
+ 
+ }
+ 
+-use lib qw(lib Apache-Test/lib);
++use lib qw(lib);
+ 
+ use Config;
+ use File::Spec::Functions;
+@@ -122,15 +122,6 @@
+ 
+ sub configure {
+ 
+-    # mod_perl test suite relies on having Apache-Test bundled with
+-    # the mod_perl source, since any pre-installed version may not do
+-    # the right thing
+-    unless (-d "Apache-Test") {
+-        error "Can't find a sub-directory Apache-Test. " .
+-            "Make sure that you are using a complete source distribution";
+-        exit 1;
+-    }
+-
+     set_modperl_version();
+ 
+     if ($old_modperl_version) {
+@@ -853,14 +844,9 @@
+ run_subtests ::
+       cd ModPerl-Registry && $(MAKE) test
+ 
+-run_subtests ::
+-      cd Apache-Reload && $(MAKE) test
+-
+ EOF
+ 
+     $preamble .= <<'EOF' unless $build->mpm_is_threaded();
+-run_subtests ::
+-      cd Apache-SizeLimit && $(MAKE) test
+ 
+ EOF
+ 
+diff -ruN mod_perl-2.0.10-rc1.orig/lib/ModPerl/BuildMM.pm 
mod_perl-2.0.10-rc1/lib/ModPerl/BuildMM.pm
+--- mod_perl-2.0.10-rc1.orig/lib/ModPerl/BuildMM.pm    2016-09-30 
14:45:23.000000000 +0200
++++ mod_perl-2.0.10-rc1/lib/ModPerl/BuildMM.pm 2016-10-01 00:35:17.140862642 
+0200
+@@ -39,12 +39,10 @@
+ ModPerl::MM::override_eu_mm_mv_all_methods(@methods);
+ use strict 'refs';
+ 
+-my $apache_test_dir = catdir Cwd::getcwd(), "Apache-Test", "lib";
+-
+ #to override MakeMaker MOD_INSTALL macro
+ sub mod_install {
+     q{$(PERL) -I$(INST_LIB) -I$(PERL_LIB) \\}."\n" .
+-    qq{-I$apache_test_dir -MModPerl::BuildMM \\}."\n" .
++    qq{-MModPerl::BuildMM \\}."\n" .
+     q{-e 
"ExtUtils::Install::install({@ARGV},'$(VERBINST)',0,'$(UNINST)');"}."\n";
+ }
+ 
+@@ -271,7 +269,7 @@
+ 
+                 push @target,
+                     '$(FULLPERL) -I$(INST_LIB) ' .
+-                    "-I$apache_test_dir -MModPerl::BuildMM " .
++                    "-MModPerl::BuildMM " .
+                     "-e ModPerl::BuildMM::glue_pod $pm $podpath $blib";
+ 
+                 # Win32 doesn't normally install man pages
+diff -ruN mod_perl-2.0.10-rc1.orig/lib/ModPerl/Manifest.pm 
mod_perl-2.0.10-rc1/lib/ModPerl/Manifest.pm
+--- mod_perl-2.0.10-rc1.orig/lib/ModPerl/Manifest.pm   2016-09-30 
14:45:23.000000000 +0200
++++ mod_perl-2.0.10-rc1/lib/ModPerl/Manifest.pm        2016-10-01 
00:35:17.140862642 +0200
+@@ -119,7 +119,6 @@
+ t/apr-ext/perlio
+ # PAUSE breaks if a dist has more than one META.yml. the top-level
+ # META.yml already excludes Apache-Test from indexing
+-Apache-Test/META.yml
+ # exclude Apache-Test/MANIFEST since it confuses the mp2 build (e.g it
+ # wants Apache-Test/META.yml which we don't supply, see above)
+ Apache-Test/MANIFEST

diff --git a/www-apache/mod_perl/mod_perl-2.0.10_rc1.ebuild 
b/www-apache/mod_perl/mod_perl-2.0.10_rc1.ebuild
new file mode 100644
index 00000000..3de1718
--- /dev/null
+++ b/www-apache/mod_perl/mod_perl-2.0.10_rc1.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit depend.apache apache-module perl-module eutils
+
+DESCRIPTION="An embedded Perl interpreter for Apache2"
+HOMEPAGE="https://perl.apache.org/";
+#SRC_URI="mirror://apache/perl/${P}.tar.gz"
+SRC_URI="https://dist.apache.org/repos/dist/dev/perl/mod_perl-2.0.10-rc1.tar.gz";
+
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug test apache2_mpms_event apache2_mpms_worker apache2_mpms_prefork"
+
+S=${WORKDIR}/${P/_rc1/-rc1}
+
+SRC_TEST=do
+
+# Apache::Reload, Apache::SizeLimit, and Apache::Test are force-unbundled.
+# The minimum versions requested here are the bundled versions.
+
+# The test dependencies are from CPAN (Bundle::Apache2).
+
+# When all MPMs are disabled via useflags, the apache ebuild selects a
+# default one, which will likely need threading...
+
+RDEPEND="
+       >=dev-perl/Apache-Test-1.400.0
+       >=www-servers/apache-2.0.47
+       apache2_mpms_event? ( dev-lang/perl[ithreads] )
+       apache2_mpms_worker? ( dev-lang/perl[ithreads] )
+       !apache2_mpms_event? ( !apache2_mpms_worker? ( !apache2_mpms_prefork? ( 
dev-lang/perl[ithreads] ) ) )
+"
+DEPEND="${RDEPEND}
+       dev-perl/Module-Build
+       test? (
+               >=dev-perl/CGI-3.110.0
+               dev-perl/Chatbot-Eliza
+               dev-perl/Devel-Symdump
+               dev-perl/HTML-Parser
+               dev-perl/IPC-Run3
+               dev-perl/libwww-perl
+               
www-servers/apache[apache2_modules_version,-apache2_modules_unique_id]
+       )
+"
+PDEPEND="
+       >=dev-perl/Apache-Reload-0.130.0
+       >=dev-perl/Apache-SizeLimit-0.970.0
+"
+
+APACHE2_MOD_FILE="${S}/src/modules/perl/mod_perl.so"
+APACHE2_MOD_CONF="2.0.3/75_${PN}"
+APACHE2_MOD_DEFINE="PERL"
+
+need_apache2
+
+PATCHES=(
+       "${FILESDIR}/${PN}"-2.0.1-sneak-tmpdir.patch  # seems to fix the make 
test problem
+       "${FILESDIR}/${PN}"-2.0.4-inline.patch        # 550244
+       "${FILESDIR}/${PN}"-2.0.10_rc1-bundled-Apache-Test.patch # 352724
+       "${FILESDIR}/${PN}"-2.0.10_rc1-Gentoo-not-Unix.patch
+)
+
+src_prepare() {
+       perl-module_src_prepare
+
+       # chainsaw unbundling
+       rm -rf Apache-{Test,Reload,SizeLimit}/ lib/Bundle/
+}
+
+src_configure() {
+       local debug=$(usex debug 1 0)
+       myconf=(
+               MP_USE_DSO=1
+               MP_APXS=${APXS}
+               MP_APR_CONFIG=/usr/bin/apr-1-config
+               MP_TRACE=${debug}
+               MP_DEBUG=${debug}
+       )
+
+       perl-module_src_configure
+}
+
+src_test() {
+       # make test notes whether it is running as root, and drops
+       # privileges all the way to "nobody" if so, so we must adjust
+       # write permissions accordingly in this case.
+
+       # IF YOU SUDO TO EMERGE AND HAVE !env_reset set testing will fail!
+       if [[ "$(id -u)" == "0" ]]; then
+               chown nobody:nobody "${WORKDIR}" "${T}"
+       fi
+
+       # We force verbose tests for now to get meaningful bug reports.
+       MAKEOPTS+=" -j1"
+       TMPDIR="${T}" HOME="${T}/" TEST_VERBOSE=1 perl-module_src_test
+}
+
+src_install() {
+       apache-module_src_install
+
+       default
+
+       perl_delete_localpod
+       perl_delete_packlist
+
+       insinto "${APACHE_MODULES_CONFDIR}"
+       doins "${FILESDIR}"/2.0.3/apache2-mod_perl-startup.pl
+
+       # this is an attempt to get @INC in line with /usr/bin/perl.
+       # there is blib garbage in the mainstream one that can only be
+       # useful during internal testing, so we wait until here and then
+       # just go with a clean slate.  should be much easier to see what's
+       # happening and revert if problematic.
+
+       perl_set_version
+       sed -i \
+               -e "s,-I${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
+               -e 
"s,-typemap[[:space:]]${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
+               -e "s,${S}\(/[^[:space:]\"\']\+\)\?,/,g" \
+               "${D}/${VENDOR_ARCH}/Apache2/BuildConfig.pm" || die
+
+       for fname in $(find "${D}" -type f -not -name '*.so'); do
+               grep -q "\(${D}\|${S}\)" "${fname}" && ewarn "QA: File contains 
a temporary path ${fname}"
+               sed -i -e "s:\(${D}\|${S}\):/:g" ${fname}
+       done
+
+       perl_remove_temppath
+}
+
+pkg_postinst() {
+       apache-module_pkg_postinst
+}

Reply via email to