| 1 | # Copyright 1999-2009 Gentoo Foundation |
1 | # Copyright 1999-2011 Gentoo Foundation |
| 2 | # Distributed under the terms of the GNU General Public License v2 |
2 | # Distributed under the terms of the GNU General Public License v2 |
| 3 | # $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.129 2011/01/30 08:18:42 tove Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.132 2012/04/15 20:15:39 vapier Exp $ |
| 4 | # |
|
|
| 5 | # Author: Seemant Kulleen <seemant@gentoo.org> |
|
|
| 6 | |
4 | |
| 7 | # @ECLASS: perl-module.eclass |
5 | # @ECLASS: perl-module.eclass |
| 8 | # @MAINTAINER: |
6 | # @MAINTAINER: |
| 9 | # perl@gentoo.org |
7 | # perl@gentoo.org |
|
|
8 | # @AUTHOR: |
|
|
9 | # Seemant Kulleen <seemant@gentoo.org> |
| 10 | # @BLURB: eclass for perl modules |
10 | # @BLURB: eclass for perl modules |
| 11 | # @DESCRIPTION: |
11 | # @DESCRIPTION: |
| 12 | # The perl-module eclass is designed to allow easier installation of perl |
12 | # The perl-module eclass is designed to allow easier installation of perl |
| 13 | # modules, and their incorporation into the Gentoo Linux system. |
13 | # modules, and their incorporation into the Gentoo Linux system. |
| 14 | |
14 | |
| … | |
… | |
| 52 | |
52 | |
| 53 | DESCRIPTION="Based on the $ECLASS eclass" |
53 | DESCRIPTION="Based on the $ECLASS eclass" |
| 54 | |
54 | |
| 55 | LICENSE="${LICENSE:-|| ( Artistic GPL-1 GPL-2 GPL-3 )}" |
55 | LICENSE="${LICENSE:-|| ( Artistic GPL-1 GPL-2 GPL-3 )}" |
| 56 | |
56 | |
| 57 | # TODO: Document variables: MODULE_VERSION, MODULE_A, MODULE_A_EXT, |
|
|
| 58 | # MODULE_AUTHOR, MODULE_SECTION, GENTOO_DEPEND_ON_PERL, PREFER_BUILDPL |
|
|
| 59 | if [[ -n ${MY_PN} || -n ${MY_PV} || -n ${MODULE_VERSION} ]] ; then |
57 | if [[ -n ${MY_PN} || -n ${MY_PV} || -n ${MODULE_VERSION} ]] ; then |
| 60 | : ${MY_P:=${MY_PN:-${PN}}-${MY_PV:-${MODULE_VERSION:-${PV}}}} |
58 | : ${MY_P:=${MY_PN:-${PN}}-${MY_PV:-${MODULE_VERSION:-${PV}}}} |
| 61 | S=${MY_S:-${WORKDIR}/${MY_P}} |
59 | S=${MY_S:-${WORKDIR}/${MY_P}} |
| 62 | fi |
60 | fi |
|
|
61 | |
| 63 | [[ -z "${SRC_URI}" && -z "${MODULE_A}" ]] && \ |
62 | [[ -z "${SRC_URI}" && -z "${MODULE_A}" ]] && \ |
| 64 | MODULE_A="${MY_P:-${P}}.${MODULE_A_EXT:-tar.gz}" |
63 | MODULE_A="${MY_P:-${P}}.${MODULE_A_EXT:-tar.gz}" |
| 65 | [[ -z "${SRC_URI}" && -n "${MODULE_AUTHOR}" ]] && \ |
64 | [[ -z "${SRC_URI}" && -n "${MODULE_AUTHOR}" ]] && \ |
| 66 | SRC_URI="mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MODULE_SECTION:+${MODULE_SECTION}/}${MODULE_A}" |
65 | SRC_URI="mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MODULE_SECTION:+${MODULE_SECTION}/}${MODULE_A}" |
| 67 | [[ -z "${HOMEPAGE}" ]] && \ |
66 | [[ -z "${HOMEPAGE}" ]] && \ |
| … | |
… | |
| 98 | SRC_PREP="yes" |
97 | SRC_PREP="yes" |
| 99 | |
98 | |
| 100 | perl_set_version |
99 | perl_set_version |
| 101 | perl_set_eprefix |
100 | perl_set_eprefix |
| 102 | |
101 | |
| 103 | export PERL_MM_USE_DEFAULT=1 |
102 | [[ -z ${pm_echovar} ]] && export PERL_MM_USE_DEFAULT=1 |
| 104 | # Disable ExtUtils::AutoInstall from prompting |
103 | # Disable ExtUtils::AutoInstall from prompting |
| 105 | export PERL_EXTUTILS_AUTOINSTALL="--skipdeps" |
104 | export PERL_EXTUTILS_AUTOINSTALL="--skipdeps" |
| 106 | |
105 | |
| 107 | if [[ $(declare -p myconf 2>&-) != "declare -a myconf="* ]]; then |
106 | if [[ $(declare -p myconf 2>&-) != "declare -a myconf="* ]]; then |
| 108 | local myconf_local=(${myconf}) |
107 | local myconf_local=(${myconf}) |
| … | |
… | |
| 196 | |
195 | |
| 197 | perl-module_src_test() { |
196 | perl-module_src_test() { |
| 198 | debug-print-function $FUNCNAME "$@" |
197 | debug-print-function $FUNCNAME "$@" |
| 199 | if has 'do' ${SRC_TEST} || has 'parallel' ${SRC_TEST} ; then |
198 | if has 'do' ${SRC_TEST} || has 'parallel' ${SRC_TEST} ; then |
| 200 | if has "${TEST_VERBOSE:-0}" 0 && has 'parallel' ${SRC_TEST} ; then |
199 | if has "${TEST_VERBOSE:-0}" 0 && has 'parallel' ${SRC_TEST} ; then |
| 201 | export HARNESS_OPTIONS=j$(echo -j1 ${MAKEOPTS} | sed -r "s/.*(-j\s*|--jobs=)([0-9]+).*/\2/" ) |
200 | export HARNESS_OPTIONS=j$(makeopts_jobs) |
| 202 | einfo "Test::Harness Jobs=${HARNESS_OPTIONS}" |
201 | einfo "Test::Harness Jobs=$(makeopts_jobs)" |
| 203 | fi |
202 | fi |
| 204 | ${perlinfo_done} || perl_set_version |
203 | ${perlinfo_done} || perl_set_version |
| 205 | if [[ -f Build ]] ; then |
204 | if [[ -f Build ]] ; then |
| 206 | ./Build test verbose=${TEST_VERBOSE:-0} || die "test failed" |
205 | ./Build test verbose=${TEST_VERBOSE:-0} || die "test failed" |
| 207 | elif [[ -f Makefile ]] ; then |
206 | elif [[ -f Makefile ]] ; then |
| … | |
… | |
| 368 | perl_set_eprefix |
367 | perl_set_eprefix |
| 369 | |
368 | |
| 370 | local i ff |
369 | local i ff |
| 371 | if has "${EBUILD_PHASE:-none}" "postinst" "postrm" ; then |
370 | if has "${EBUILD_PHASE:-none}" "postinst" "postrm" ; then |
| 372 | for i in "${DUALLIFESCRIPTS[@]}" ; do |
371 | for i in "${DUALLIFESCRIPTS[@]}" ; do |
| 373 | alternatives_auto_makesym "/usr/bin/${i}" "/usr/bin/${i}-[0-9]*" |
372 | alternatives_auto_makesym "/${i}" "/${i}-[0-9]*" |
|
|
373 | done |
|
|
374 | for i in "${DUALLIFEMAN[@]}" ; do |
| 374 | ff=`echo "${EROOT}"/usr/share/man/man1/${i}-${PV}-${P}.1*` |
375 | ff=`echo "${EROOT}"/${i%.1}-${PV}-${P}.1*` |
| 375 | ff=${ff##*.1} |
376 | ff=${ff##*.1} |
| 376 | alternatives_auto_makesym "/usr/share/man/man1/${i}.1${ff}" "/usr/share/man/man1/${i}-[0-9]*" |
377 | alternatives_auto_makesym "/${i}${ff}" "/${i%.1}-[0-9]*" |
| 377 | done |
378 | done |
| 378 | else |
379 | else |
| 379 | pushd "${ED}" > /dev/null |
380 | pushd "${ED}" > /dev/null |
| 380 | for i in $(find usr/bin -maxdepth 1 -type f 2>/dev/null) ; do |
381 | for i in $(find usr/bin -maxdepth 1 -type f 2>/dev/null) ; do |
| 381 | mv ${i}{,-${PV}-${P}} || die |
382 | mv ${i}{,-${PV}-${P}} || die |
| 382 | DUALLIFESCRIPTS[${#DUALLIFESCRIPTS[*]}]=${i##*/} |
383 | #DUALLIFESCRIPTS[${#DUALLIFESCRIPTS[*]}]=${i##*/} |
| 383 | if [[ -f usr/share/man/man1/${i##*/}.1 ]] ; then |
384 | DUALLIFESCRIPTS[${#DUALLIFESCRIPTS[*]}]=${i} |
| 384 | mv usr/share/man/man1/${i##*/}{.1,-${PV}-${P}.1} || die |
385 | done |
| 385 | fi |
386 | for i in $(find usr/share/man/man1 -maxdepth 1 -type f 2>/dev/null) ; do |
|
|
387 | mv ${i} ${i%.1}-${PV}-${P}.1 || die |
|
|
388 | DUALLIFEMAN[${#DUALLIFEMAN[*]}]=${i} |
| 386 | done |
389 | done |
| 387 | popd > /dev/null |
390 | popd > /dev/null |
| 388 | fi |
391 | fi |
| 389 | } |
392 | } |
| 390 | |
393 | |