aboutsummaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
Diffstat (limited to 'lang')
-rw-r--r--lang/eperl/Makefile9
-rw-r--r--lang/eperl/files/extra-patch-eperl_parse.c19
-rw-r--r--lang/eperl/files/extra-patch-eperl_proto.h10
3 files changed, 35 insertions, 3 deletions
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 */