aboutsummaryrefslogtreecommitdiff
blob: fffadc1d7c92802fcc6cbaf3a9dc676aec1dde4d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: f652574f2b5c7a723d14b5a4c75d7b9fc7b11382 $

EAPI=5

inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing prefix

PATCH_VER=1

PERL_OLDVERSEN="5.20.0 5.20.1"
MODULE_AUTHOR=SHAY

SHORT_PV="${PV%.*}"
MY_P="perl-${PV/_rc/-RC}"
MY_PV="${PV%_rc*}"

DESCRIPTION="Larry Wall's Practical Extraction and Report Language"

SRC_URI="
	mirror://cpan/src/5.0/${MY_P}.tar.bz2
	mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MY_P}.tar.bz2
	mirror://gentoo/${MY_P}-patches-${PATCH_VER}.tar.xz
	https://dev.gentoo.org/~dilfridge/distfiles/${MY_P}-patches-${PATCH_VER}.tar.xz
"
HOMEPAGE="http://www.perl.org/"

LICENSE="|| ( Artistic GPL-1+ )"
SLOT="0/${SHORT_PV}"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="berkdb debug doc gdbm ithreads"

RDEPEND="
	berkdb? ( sys-libs/db:* )
	gdbm? ( >=sys-libs/gdbm-1.8.3 )
	app-arch/bzip2
	sys-libs/zlib
"
DEPEND="${RDEPEND}
	!prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) )
"
PDEPEND="
	>=app-admin/perl-cleaner-2.5
	>=virtual/perl-File-Temp-0.230.400-r2
	>=virtual/perl-Data-Dumper-2.154.0
"
# bug 390719, bug 523624

S="${WORKDIR}/${MY_P}"

dual_scripts() {
	src_remove_dual      perl-core/Archive-Tar        1.960.0      ptar ptardiff ptargrep
	src_remove_dual      perl-core/Digest-SHA         5.880.0      shasum
	src_remove_dual      perl-core/CPAN               2.50.0      cpan
	src_remove_dual      perl-core/Encode             2.600.0      enc2xs piconv
	src_remove_dual      perl-core/ExtUtils-MakeMaker 6.980.0      instmodsh
	src_remove_dual      perl-core/ExtUtils-ParseXS   3.240.0      xsubpp
	src_remove_dual      perl-core/IO-Compress        2.64.0       zipdetails
	src_remove_dual      perl-core/JSON-PP            2.272.30      json_pp
	src_remove_dual      perl-core/Module-CoreList    5.201.502.140 corelist
	src_remove_dual      perl-core/Pod-Parser         1.620.0      pod2usage podchecker podselect
	src_remove_dual      perl-core/Pod-Perldoc        3.230.0      perldoc
	src_remove_dual      perl-core/Test-Harness       3.330.0      prove
	src_remove_dual      perl-core/podlators          2.5.3        pod2man pod2text
	src_remove_dual_man  perl-core/podlators          2.5.3        /usr/share/man/man1/perlpodstyle.1
	if [[ ${EBUILD_PHASE} == "install" ]] ; then #553726
		rm "${ED}"/usr/bin/config_data "${ED}"/usr/share/man/man1/config_data.1 || die
	fi
}

# eblit-include [--skip] <function> [version]
eblit-include() {
	local skipable=false
	[[ $1 == "--skip" ]] && skipable=true && shift
	[[ $1 == pkg_* ]] && skipable=true

	local e v func=$1 ver=$2
	[[ -z ${func} ]] && die "Usage: eblit-include <function> [version]"
	for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
		e="${FILESDIR}/eblits/${func}${v}.eblit"
		if [[ -e ${e} ]] ; then
			. "${e}"
			return 0
		fi
	done
	${skipable} && return 0
	die "Could not locate requested eblit '${func}' in ${FILESDIR}/eblits/"
}

# eblit-run-maybe <function>
# run the specified function if it is defined
eblit-run-maybe() {
	[[ $(type -t "$@") == "function" ]] && "$@"
}

# eblit-run <function> [version]
# aka: src_unpack() { eblit-run src_unpack ; }
eblit-run() {
	eblit-include --skip common "${*:2}"
	eblit-include "$@"
	eblit-run-maybe eblit-$1-pre
	eblit-${PN}-$1
	eblit-run-maybe eblit-$1-post
}

#src_unpack()	{ eblit-run src_unpack    v50160001 ; }
src_prepare() {
	sed -i -e 's:/etc/ssl/certs/ca-certificates.crt:@GENTOO_PORTAGE_EPREFIX@/etc/ssl/certs/ca-certificates.crt:' \
		"${S}"/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm || die "Patching HTTP::Tiny.pm for prefix failed"
	eprefixify "${S}"/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm || die "eprefixifying HTTP::Tiny.pm failed"

	eblit-run src_prepare   v50160001
}
src_configure()	{ eblit-run src_configure v50180002 ; }
#src_compile()	{ eblit-run src_compile   v50160001 ; }
src_test()		{
	export NO_GENTOO_NETWORK_TESTS=1;
	eblit-run src_test      v50160001 ;
}
src_install()	{ eblit-run src_install   v50200001 ; }

# FILESDIR might not be available during binpkg install
# FIXME: version passing
for x in setup {pre,post}{inst,rm} ; do
	e="${FILESDIR}/eblits/pkg_${x}-v50160001.eblit"
	if [[ -e ${e} ]] ; then
		. "${e}"
		eval "pkg_${x}() { eblit-run pkg_${x} v50160001 ; }"
	fi
done