public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] dev/dilfridge:master commit in: www-apache/mod_perl/, www-apache/mod_perl/files/
@ 2016-09-30 23:22 Andreas Hüttel
  0 siblings, 0 replies; only message in thread
From: Andreas Hüttel @ 2016-09-30 23:22 UTC (permalink / raw
  To: gentoo-commits

commit:     86c67a7eeea89832912c8dad9e86140e0e47fa10
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 30 23:22:30 2016 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Fri Sep 30 23:22:30 2016 +0000
URL:        https://gitweb.gentoo.org/dev/dilfridge.git/commit/?id=86c67a7e

www-apache/mod_perl: Builds and installs. Some tests still fail.

Package-Manager: portage-2.3.1

 ...perl-2.0.10_pre201601-bundled-Apache-Test.patch | 123 ---------------------
 .../mod_perl-2.0.10_rc1-bundled-Apache-Test.patch  |  80 ++++++++++++++
 www-apache/mod_perl/mod_perl-2.0.10_rc1.ebuild     |  93 ++++++++--------
 3 files changed, 129 insertions(+), 167 deletions(-)

diff --git a/www-apache/mod_perl/files/mod_perl-2.0.10_pre201601-bundled-Apache-Test.patch b/www-apache/mod_perl/files/mod_perl-2.0.10_pre201601-bundled-Apache-Test.patch
deleted file mode 100644
index af53cad..0000000
--- a/www-apache/mod_perl/files/mod_perl-2.0.10_pre201601-bundled-Apache-Test.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-diff -ruN mod_perl-2.0.10_pre201601.orig/Makefile.PL mod_perl-2.0.10_pre201601/Makefile.PL
---- mod_perl-2.0.10_pre201601.orig/Makefile.PL	2015-05-13 10:01:18.000000000 +0200
-+++ mod_perl-2.0.10_pre201601/Makefile.PL	2016-01-09 21:02:00.000000000 +0100
-@@ -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
- 
-@@ -871,42 +857,6 @@
-     return $preamble;
- }
- 
--sub MY::postamble {
--    my $self = shift;
--
--    my $string = $self->ModPerl::BuildMM::MY::postamble;
--
--    if (!WIN32) {
--        $string .= <<'EOF';
--rpm: dist
--	@[ -d $(PWD)/rpm ] || mkdir $(PWD)/rpm
--	rpmbuild -ta --define "_rpmdir $(PWD)/rpm" \
--                 --define "_srcrpmdir $(PWD)/rpm" \
--                 $(DISTVNAME).tar.gz
--	@mv $(PWD)/rpm/*/*.rpm $(PWD)/rpm/
--	@rm -rf $(PWD)/rpm/*/
--    
--EOF
--    }
--
--    $string .= <<'EOF';
--mydist : Apache-Test/META.yml mod_perl.spec manifest tardist
--
--mod_perl.spec: build/make_rpm_spec
--	$(PERL) build/make_rpm_spec
--
--Apache-Test/META.yml:
--	cd Apache-Test && make metafile
--
--tag :
--	svn copy  https://svn.apache.org/repos/asf/perl/modperl/trunk  https://svn.apache.org/repos/asf/perl/modperl/branches/release/$(VERSION_SYM)
--	svn copy  https://svn.apache.org/repos/asf/perl/modperl/branches/release/$(VERSION_SYM)  https://svn.apache.org/repos/asf/perl/modperl/tags/$(VERSION_SYM)
--	svn copy  https://svn.apache.org/repos/asf/perl/modperl/docs/trunk https://svn.apache.org/repos/asf/perl/modperl/docs/tags/$(VERSION_SYM)
--EOF
--
--    return $string;
--}
--
- # this is a workaround so that ModPerl::MM will move MY::constants
- # away, and Apache-Test/Makefile.PL which has its own MY::constants
- # won't get complaints on MY::constants redefined
-diff -ruN mod_perl-2.0.10_pre201601.orig/lib/ModPerl/BuildMM.pm mod_perl-2.0.10_pre201601/lib/ModPerl/BuildMM.pm
---- mod_perl-2.0.10_pre201601.orig/lib/ModPerl/BuildMM.pm	2015-04-01 18:19:18.000000000 +0200
-+++ mod_perl-2.0.10_pre201601/lib/ModPerl/BuildMM.pm	2016-01-09 21:04:34.000000000 +0100
-@@ -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_pre201601.orig/lib/ModPerl/Manifest.pm mod_perl-2.0.10_pre201601/lib/ModPerl/Manifest.pm
---- mod_perl-2.0.10_pre201601.orig/lib/ModPerl/Manifest.pm	2015-05-13 09:23:09.000000000 +0200
-+++ mod_perl-2.0.10_pre201601/lib/ModPerl/Manifest.pm	2016-01-09 21:04:50.000000000 +0100
-@@ -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/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 0000000..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
index 16d7f02..9d615e1 100644
--- a/www-apache/mod_perl/mod_perl-2.0.10_rc1.ebuild
+++ b/www-apache/mod_perl/mod_perl-2.0.10_rc1.ebuild
@@ -2,7 +2,7 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=6
+EAPI=5
 
 inherit depend.apache apache-module perl-module eutils
 
@@ -13,23 +13,40 @@ SRC_URI="mirror://apache/perl/${P/_rc1/-rc1}.tar.gz"
 LICENSE="GPL-2"
 SLOT="1"
 #KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-IUSE="debug"
+IUSE="debug test apache2_mpms_event apache2_mpms_worker apache2_mpms_prefork"
 
-# The "solutions" for the following bugs have been removed here to simplify
-# the ebuild. Needs checking if the problem still occurs.
-#
-# bug 373943: precise threading conditions
+S=${WORKDIR}/${P/_rc1/-rc1}
 
+SRC_TEST=do
 
-DEPEND="
-    >=dev-perl/Apache-Reload-0.11
-	>=dev-perl/Apache-SizeLimit-0.95
-	>=dev-perl/Apache-Test-1.360
-	>=dev-perl/CGI-3.08
-	dev-lang/perl[ithreads]
-	www-servers/apache
+# We only support mod_perl as dynamic module.
+
+# 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); the list
+# is not complete yet as not all are packaged.
+
+# When all MPMs are disabled via useflags, the apache ebuild selects a
+# default one, which will likely need threading...
+
+RDEPEND="
+	>=dev-perl/Apache-Reload-0.130.0
+	>=dev-perl/Apache-SizeLimit-0.970.0
+	>=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] ) ) )
 "
-RDEPEND="${DEPEND}
+DEPEND="${RDEPEND}
+	dev-perl/Module-Build
+	test? (
+		>=dev-perl/CGI-3.110.0
+		dev-perl/Devel-Symdump
+		dev-perl/libwww-perl
+		www-servers/apache[apache2_modules_version,-apache2_modules_unique_id]
+	)
 "
 
 APACHE2_MOD_FILE="${S}/src/modules/perl/mod_perl.so"
@@ -38,33 +55,30 @@ 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
+)
+
 src_prepare() {
 	perl-module_src_prepare
 
-	# rendhalver - this got redone for 2.0.1 and seems to fix the make test problems
-	epatch "${FILESDIR}"/${PN}-2.0.1-sneak-tmpdir.patch
-	epatch "${FILESDIR}"/${PN}-2.0.4-inline.patch #550244
-
-	# bug 352724
-	epatch "${FILESDIR}/${P}-bundled-Apache-Test.patch"
+	# some chainsaw unbundling
 	rm -rf Apache-{Test,Reload,SizeLimit}/ lib/Bundle/
-
-	# 410453
-	epatch "${FILESDIR}/use-client_ip-client_add-instead-of-remote_ip-remote.patch"
-	epatch "${FILESDIR}/use-log.level-instead-of-loglevel.patch"
 }
 
 src_configure() {
 	local debug=$(usex debug 1 0)
-	perl Makefile.PL \
-		PREFIX="${EPREFIX}"/usr \
-		INSTALLDIRS=vendor \
-		MP_USE_DSO=1 \
-		MP_APXS=${APXS} \
-		MP_APR_CONFIG=/usr/bin/apr-1-config \
-		MP_TRACE=${debug} \
-		MP_DEBUG=${debug} \
-		|| die
+	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() {
@@ -77,8 +91,6 @@ src_test() {
 		chown nobody:nobody "${WORKDIR}" "${T}"
 	fi
 
-	# this does not || die because of bug 21325. kudos to smark for
-	# the idea of setting HOME.
 	TMPDIR="${T}" HOME="${T}/" perl-module_src_test
 }
 
@@ -86,14 +98,8 @@ src_install() {
 	apache-module_src_install
 
 	default
-#emake DESTDIR="${D}" install || die
 
-	# TODO: add some stuff from docs/ back?
-
-	# rendhalver - fix the perllocal.pod that gets installed
-	# it seems to me that this has been getting installed for ages
 	perl_delete_localpod
-	# Remove empty .bs files as well
 	perl_delete_packlist
 
 	insinto "${APACHE_MODULES_CONFDIR}"
@@ -105,8 +111,7 @@ src_install() {
 	# just go with a clean slate.  should be much easier to see what's
 	# happening and revert if problematic.
 
-	# Sorry for this evil hack...
-	perl_set_version # just to be sure...
+	perl_set_version
 	sed -i \
 		-e "s,-I${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
 		-e "s,-typemap[[:space:]]${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
@@ -117,7 +122,7 @@ src_install() {
 		grep -q "\(${D}\|${S}\)" "${fname}" && ewarn "QA: File contains a temporary path ${fname}"
 		sed -i -e "s:\(${D}\|${S}\):/:g" ${fname}
 	done
-	# All the rest
+
 	perl_remove_temppath
 }
 


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2016-09-30 23:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-30 23:22 [gentoo-commits] dev/dilfridge:master commit in: www-apache/mod_perl/, www-apache/mod_perl/files/ Andreas Hüttel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox