# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 DIST_AUTHOR=SHAY DIST_VERSION=1.40 inherit depend.apache perl-module DESCRIPTION="Test.pm wrapper with helpers for testing Apache" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="alpha amd64 ~arm ia64 ~mips ppc ppc64 sparc x86" IUSE="test" DEPEND="virtual/perl-ExtUtils-MakeMaker" need_apache PATCHES=( "${FILESDIR}/${P}-catfile-import.patch" "${FILESDIR}/${P}-fix-missing-semicolon.patch" "${FILESDIR}/${P}-phpclient.patch" ) pkg_setup() { perl_set_version } src_install() { # This is to avoid conflicts with a deprecated Apache::Test stepping # in and causing problems/install errors if [ -f "${S}"/.mypacklist ]; then rm -f "${S}"/.mypacklist fi perl-module_src_install } # Parallel tests seem to be bad. DIST_TEST="do" optdep_notice() { local i elog "This package has several modules which may require additional dependencies" elog "to use. However, it is up to you to install them separately if you need this" elog "optional functionality:" elog i="$(if has_version 'www-apache/mod_perl'; then echo '[I]'; else echo '[ ]'; fi)" elog " $i www-apache/mod_perl" elog " - Running Perl code natively in Apache via" elog " Apache::TestHandler, Apache::TestReportPerl, or Apache::TestSmokePerl" if use test; then elog elog "This module will perform additional tests if these dependencies are" elog "pre-installed" fi } src_test() { optdep_notice echo local MODULES=( "Apache::Test ${DIST_VERSION}" "Apache::Test5005compat 0.01" "Apache::TestBuild" "Apache::TestClient" "Apache::TestCommon" "Apache::TestCommonPost" "Apache::TestConfig" "Apache::TestConfigC" "Apache::TestConfigPHP" "Apache::TestConfigParrot" "Apache::TestConfigParse" "Apache::TestConfigPerl" "Apache::TestHarness" "Apache::TestHarnessPHP" "Apache::TestMB" "Apache::TestMM" "Apache::TestPerlDB" "Apache::TestReport" "Apache::TestRequest" "Apache::TestRun" "Apache::TestRunPHP 1.00" "Apache::TestRunParrot 1.00" "Apache::TestRunPerl 1.00" "Apache::TestSSLCA" "Apache::TestServer" "Apache::TestSmoke" "Apache::TestSort" "Apache::TestTrace 0.01" "Apache::TestUtil 0.02" "Bundle::ApacheTest ${DISTVERSION}" ) has_version "www-apache/mod_perl" && MODULES+=( "Apache::TestHandler" "Apache::TestReportPerl" "Apache::TestSmokePerl" ) 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_rm_files t/more/02testmore.t t/more/04testmore.t perl-module_src_test } pkg_postinst() { use test || optdep_notice }