diff --git a/lang/eperl/Makefile b/lang/eperl/Makefile index 3bc98670ba76..8efb665bb848 100644 --- a/lang/eperl/Makefile +++ b/lang/eperl/Makefile @@ -7,7 +7,7 @@ PORTNAME= eperl PORTVERSION= 2.2.14 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= lang www perl5 MASTER_SITES= ${MASTER_SITE_OSSP} MASTER_SITE_SUBDIR= tool/${PORTNAME} @@ -40,8 +40,11 @@ MAN1= eperl.1 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-configure .endif -.if ${OSVERSION} >= 800058 -BROKEN= does not build +# 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 .endif test: diff --git a/lang/eperl/files/extra-patch-eperl_parse.c b/lang/eperl/files/extra-patch-eperl_parse.c new file mode 100644 index 000000000000..ca2e3af50a83 --- /dev/null +++ b/lang/eperl/files/extra-patch-eperl_parse.c @@ -0,0 +1,19 @@ +--- eperl_parse.c.orig 2009-01-29 16:05:29.000000000 -0500 ++++ eperl_parse.c 2009-01-29 16:05:37.000000000 -0500 +@@ -326,16 +326,6 @@ + return NULL; + } + +-char *strndup(char *buf, int n) +-{ +- char *cp; +- +- cp = (char *)malloc(n+1); +- strncpy(cp, buf, n); +- return cp; +-} +- +- + /* + ** convert buffer from bristled format to plain format + */ diff --git a/lang/eperl/files/extra-patch-eperl_proto.h b/lang/eperl/files/extra-patch-eperl_proto.h new file mode 100644 index 000000000000..576af2d20a87 --- /dev/null +++ b/lang/eperl/files/extra-patch-eperl_proto.h @@ -0,0 +1,10 @@ +--- eperl_proto.h.orig 2009-01-29 16:05:55.000000000 -0500 ++++ eperl_proto.h 2009-01-29 16:06:01.000000000 -0500 +@@ -83,7 +83,6 @@ + extern char *strnchr(char *buf, char chr, int n); + extern char *ePerl_ePerl_strnstr(char *buf, char *str, int n); + extern char *strncasestr(char *buf, char *str, int n); +-extern char *strndup(char *buf, int n); + extern char *ePerl_Bristled2Plain(char *cpBuf); + + /* eperl_pp.c */