5 PORTVERSION= ${PERL_VERSION}
7 CATEGORIES= lang devel perl5
9 ${MASTER_SITE_LOCAL:S/$/:local/} \
10 http://protey.ru/freebsd/distfiles/:local
11 MASTER_SITE_SUBDIR= ../../src \
13 DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
14 BSDPAN-${BSDPAN_VERSION}${EXTRACT_SUFX}:local
17 MAINTAINER= perl@FreeBSD.org
18 COMMENT= Practical Extraction and Report Language
23 CONFLICTS_INSTALL= perl5.12-* perl5.14-* perl5.16-* perl5.18-*
25 OPTIONS_DEFINE= DEBUG GDBM PERL_MALLOC PERL_64BITINT THREADS PTHREAD \
26 MULTIPLICITY SITECUSTOMIZE USE_PERL
27 OPTIONS_DEFAULT= PERL_64BITINT THREADS PTHREAD USE_PERL
29 GDBM_DESC= GDBM_File extension
30 PERL_MALLOC_DESC= Use Perl malloc
31 PERL_64BITINT_DESC= Use 64 bit integers (on i386)
32 THREADS_DESC= Build threaded perl
33 PTHREAD_DESC= Build with -pthread
34 MULTIPLICITY_DESC= Use multiplicity
35 SITECUSTOMIZE_DESC= Run-time customization of @INC
36 USE_PERL_DESC= Rewrite links in /usr/bin
38 DEPRECATED= Consider switching to a more recent version of Perl
39 EXPIRATION_DATE= 2014-02-14
41 PORTSCOUT= limitw:1,even
44 PERL_VER= ${PERL_VERSION:C/\.[0-9]+$//}
46 SITE_PERL_REL?= lib/perl5/site_perl/${PERL_VER}
47 SITE_PERL?= ${LOCALBASE}/${SITE_PERL_REL}
51 CONFIGURE_SCRIPT=Configure
52 CONFIGURE_ARGS= -sde -Dprefix=${PREFIX} \
53 -Darchlib=${PREFIX}/lib/perl5/${PERL_VER}/${PERL_ARCH} \
54 -Dprivlib=${PREFIX}/lib/perl5/${PERL_VER} \
55 -Dman3dir=${PREFIX}/lib/perl5/${PERL_VER}/perl/man/man3 \
56 -Dman1dir=${PREFIX}/man/man1 \
57 -Dsitearch=${PREFIX}/${SITE_PERL_REL}/${PERL_ARCH} \
58 -Dsitelib=${PREFIX}/${SITE_PERL_REL} -Dscriptdir=${PREFIX}/bin \
59 -Dsiteman3dir=${PREFIX}/lib/perl5/${PERL_VER}/man/man3 \
60 -Dsiteman1dir=${PREFIX}/man/man1 \
61 -Ui_malloc -Ui_iconv -Uinstallusrbinperl \
62 -Dcc="${CC}" -Duseshrplib -Dinc_version_list=none \
63 -Dccflags=-DAPPLLIB_EXP=\"${BSDPAN_DEST}\"
64 LOCALE_CLEANUP= LANG="" LC_ALL="" LC_COLLATE="" LC_CTYPE="" \
65 LC_MESSAGES="" LC_MONETARY="" LC_NUMERIC="" \
67 CONFIGURE_ENV+= ${LOCALE_CLEANUP} UNAME_v="$$(uname -v | sed 'y/=/ /')"
68 MAKE_ENV+= ${LOCALE_CLEANUP}
70 .include <bsd.port.pre.mk>
71 .include "${PORTSDIR}/Mk/bsd.default-versions.mk"
73 # if this port is default due PERL5_DEFAULT
74 # change PKGNAME to reflect this
75 .if ${PERL_VER} == ${PERL5_DEFAULT}
76 PKGNAMESUFFIX= ${PERL_VERSION:C/\.[0-9]+\.[0-9]+$//}
78 # make PKGNAME unique among other lang/perl5.x
79 PKGNAMESUFFIX= ${PERL_VER}
80 # always add default perl5 pkgname to conflicts
81 CONFLICTS_INSTALL+= perl5-*
84 .if defined(PERL_VENDOR_PREFIX)
86 -Dvendorprefix=${PERL_VENDOR_PREFIX} \
87 -Dvendorarch=${PERL_VENDOR_PREFIX}/lib/perl5/${PERL_VER}/${PERL_ARCH} \
88 -Dvendorbin=${PERL_VENDOR_PREFIX}/bin \
89 -Dvendorlib=${PERL_VENDOR_PREFIX}/lib/perl5/${PERL_VER} \
90 -Dvendorman3dir=${PERL_VENDOR_PREFIX}/lib/perl5/${PERL_VER}/man/man3 \
91 -Dvendorman1dir=${PERL_VENDOR_PREFIX}/man/man1
94 MAN3PREFIX= ${PREFIX}/lib/perl5/${PERL_VER}/perl
95 MANDIRS+= ${MAN3PREFIX}
97 PLIST_SUB+= PERL_VERSION=${PERL_VERSION} \
98 PERL_VER=${PERL_VER} \
99 PERL_ARCH=${PERL_ARCH} \
100 MAN3=${MAN3PREFIX:S|^${LOCALBASE}/||}/man/man3 \
101 SITE_PERL=${SITE_PERL:S|^${LOCALBASE}/||}
103 .if ${PORT_OPTIONS:MDEBUG}
104 CONFIGURE_ARGS+= -Doptimize="-g" -DDEBUGGING
108 CONFIGURE_ARGS+= -Doptimize="${CFLAGS}"
111 .if ${PORT_OPTIONS:MGDBM}
112 CONFIGURE_ARGS+= -Di_gdbm
113 LIB_DEPENDS+= libgdbm.so:${PORTSDIR}/databases/gdbm
115 CONFIGURE_ARGS+= -Ui_gdbm
118 .if ${OSVERSION} >= 900022
119 PLIST_SUB+= MANCONF=""
121 PLIST_SUB+= MANCONF="@comment "
124 .if ${PORT_OPTIONS:MTHREADS}
125 #XXX .if ${ARCH} == "x86_64"
126 #XXX IGNORE= Threaded perl does not pass tests on ${ARCH}
128 CONFIGURE_ARGS+= -Dusethreads=y
130 # it seems perl malloc has problems with threaded perl on FreeBSD
131 PORT_OPTIONS:= ${PORT_OPTIONS:O:u}
132 PORT_OPTIONS:= ${PORT_OPTIONS:NPERL_MALLOC}
134 CONFIGURE_ARGS+= -Dusethreads=n
137 .if ${PORT_OPTIONS:MPERL_MALLOC}
138 CONFIGURE_ARGS+= -Dusemymalloc=y
140 CONFIGURE_ARGS+= -Dusemymalloc=n
143 .if ${PORT_OPTIONS:MPERL_64BITINT}
144 CONFIGURE_ARGS+= -Duse64bitint
147 .if ${PORT_OPTIONS:MMULTIPLICITY}
148 CONFIGURE_ARGS+= -Dusemultiplicity=y
151 .if ${PORT_OPTIONS:MSITECUSTOMIZE}
152 CONFIGURE_ARGS+= -Dusesitecustomize
155 .if ${PORT_OPTIONS:MUSE_PERL}
163 BSDPAN_DEST= ${PREFIX}/lib/perl5/${PERL_VER}/BSDPAN
164 BSDPAN_FILES= BSDPAN.pm BSDPAN/Override.pm Config.pm \
165 ExtUtils/MM_Unix.pm \
166 ExtUtils/MakeMaker.pm \
168 BSDPAN_VERSION= 20111107
169 BSDPAN_WRKSRC= ${WRKDIR}/BSDPAN-${BSDPAN_VERSION}
171 PKGINSTALL= ${WRKDIR}/pkg-install
172 PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
175 ${SED} -e 's|%%PREFIX%%|${PREFIX}|g;' \
176 -e 's|%%PERL_VERSION%%|${PERL_VERSION}|g;' \
177 -e 's|%%PERL_VER%%|${PERL_VER}|g;' \
178 -e 's|%%PERL_ARCH%%|${PERL_ARCH}|g;' \
179 -e 's|%%PERL5_SIGNATURE%%|${LOCALBASE}/etc/perl5_version|g;' \
180 -e 's|%%LINK_USRBIN%%|${LINK_USRBIN}|g;' \
181 ${FILESDIR}/use.perl \
183 ${SED} -e 's|%%PREFIX%%|${PREFIX}|g;' \
184 -e 's|%%PERL_VER%%|${PERL_VER}|g;' \
185 ${FILESDIR}/perl-man.conf \
186 > ${WRKDIR}/perl-man.conf
187 ${CP} ${WRKDIR}/use.perl ${PKGINSTALL}
188 ${CP} ${WRKDIR}/use.perl ${PKGDEINSTALL}
189 ${SED} -i '' -e 's|%%PERL_PKGNAME%%|${PKGNAME}|g; s|%%PERL_VER%%|${PERL_VER}|g;' \
190 -e 's!%%BSDPAN_VERSION%%!${BSDPAN_VERSION}!g;' \
191 ${BSDPAN_WRKSRC}/ExtUtils/*.pm
192 ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
193 ${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh
194 .if ${PORT_OPTIONS:MPTHREAD}
195 ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g;' \
196 -e 's|%%PTHREAD_CFLAGS%%|${PTHREAD_CFLAGS}|g;' \
197 ${WRKSRC}/hints/freebsd.sh
199 ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%||g;' \
200 -e 's|%%PTHREAD_CFLAGS%%||g;' \
201 ${WRKSRC}/hints/freebsd.sh
205 @${MKDIR} ${STAGEDIR}${PREFIX}/lib/perl5/${PERL_VER}/man/man3
206 @${MKDIR} ${STAGEDIR}${SITE_PERL}/${PERL_ARCH}/auto
207 @${MKDIR} ${STAGEDIR}${SITE_PERL}/${PERL_ARCH}/machine
208 @${MKDIR} ${STAGEDIR}${SITE_PERL}/${PERL_ARCH}/sys
209 @${MKDIR} ${STAGEDIR}${SITE_PERL}/auto
210 @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION}
211 .if ${OSVERSION} >= 900022
212 @${INSTALL_DATA} ${WRKDIR}/perl-man.conf ${STAGEDIR}${PREFIX}/etc/man.d/perl${PERL_VER}.conf
214 .for files in ${BSDPAN_FILES}
215 ${MKDIR} ${STAGEDIR}${BSDPAN_DEST}/${files:H}
217 ${BSDPAN_WRKSRC}/${files} ${STAGEDIR}${BSDPAN_DEST}/${files}
221 @(cd ${WRKSRC}; TEST_JOBS=${MAKE_JOBS_NUMBER} make test_harness)
223 regression-test: test
225 .include <bsd.port.post.mk>