freebsd-ports/lang/eperl/Makefile
Greg Larkin 8713aeb15a - Add support for and unbreak after Perl default version bump to 5.12
- Add support for and fix compilation on Perl 5.14 after a symbol name
  change
- Patch the configure script so PERL_VERSION supplies the Perl version
  number directly, instead of attempting to parse the often-changed
  output of "perl -v"

Reported by:	pointyhat (via erwin & pav)
2011-05-18 20:24:24 +00:00

86 lines
2.3 KiB
Makefile

# New ports collection makefile for: eperl
# Date created: 03-Sep-1997
# Whom: Ralf S. Engelschall <rse@engelschall.com>
#
# $FreeBSD$
#
PORTNAME= eperl
PORTVERSION= 2.2.14
PORTREVISION= 4
CATEGORIES= lang www perl5
MASTER_SITES= ${MASTER_SITE_OSSP}
MASTER_SITE_SUBDIR= tool/${PORTNAME}
MAINTAINER= glarkin@FreeBSD.org
COMMENT= Embedded Perl 5 Language
# User-controlled variables list
# INSTALL_ALSO_AS_SSSL
# install ePerl also as a Server-Side
# Scripting Language (SSSL) for Apache
#INSTALL_ALSO_AS_SSSL= yes
.if defined(INSTALL_ALSO_AS_SSSL)
RUN_DEPENDS= ${PREFIX}/etc/apache/srm.conf:${PORTSDIR}/${APACHE_PORT}
PLIST_SUB= SSSL=""
.else
PLIST_SUB= SSSL="@comment "
.endif
USE_PERL5= yes
HAS_CONFIGURE= yes
CONFIGURE_ARGS= --with-perl=${PERL5}
MAN1= eperl.1
.include <bsd.port.pre.mk>
# Remove the strndup function from eperl, since
# certain versions of FreeBSD include it
.if ${OSVERSION} >= 701101
EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-eperl_proto.h \
${PATCHDIR}/extra-patch-eperl_parse.c
.if ${ARCH} == "sparc64"
BROKEN= Does not compile on sparc64: duplicate definition of strndup
.endif
.endif
# Perl 5.14 changed some symbol names
.if ${PERL_LEVEL} >= 501400
EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-eperl_perl5.c
.endif
test:
@(cd ${WRKSRC}; ${MAKE} test)
post-patch:
@${FIND} ${WRKSRC} -type f -name "*.[ch]" | \
${XARGS} ${GREP} -l strnstr | \
${XARGS} ${PERL} -pi -e 's|strnstr|ePerl_strnstr|g'
@${REINPLACE_CMD} -e 's#%%PERL_VERSION%%#${PERL_VERSION}#g' \
${WRKSRC}/configure
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/eperl ${PREFIX}/bin/eperl
${INSTALL_MAN} ${WRKSRC}/eperl.1 ${PREFIX}/man/man1/eperl.1
.if !defined(NOPORTEXAMPLES)
${INSTALL} -d ${EXAMPLESDIR}
${CP} ${WRKSRC}/eg/* ${EXAMPLESDIR}/
.endif
.if defined(INSTALL_ALSO_AS_SSSL)
${INSTALL} -d ${PREFIX}/www/cgi-bin; \
${INSTALL_PROGRAM} ${WRKSRC}/eperl ${PREFIX}/www/cgi-bin/nph-eperl
@if [ ".`${GREP} x-httpd-eperl ${PREFIX}/etc/apache/srm.conf`" = . ]; then \
${ECHO_CMD} "AddType application/x-httpd-eperl .phtml .eperl .epl" \
>>${PREFIX}/etc/apache/srm.conf; \
${ECHO_CMD} "Action application/x-httpd-eperl /cgi-bin/nph-eperl" \
>>${PREFIX}/etc/apache/srm.conf; \
${ECHO} "Added knowledge about ePerl to Apache's srm.conf"; \
else \
${ECHO} "Apache srm.conf is already aware of ePerl"; \
fi
.endif
.include <bsd.port.post.mk>