Stuart Henderson wrote:
On 2009/04/10 21:11, James Wright wrote:
Attached patch for EPIC4 adding a perl flavor which lets you run perl scripts. Also included is 'CFLAGS+= -O0' which fixes a problem (on i386 at least), where hitting ctl-C (to add colours), hangs EPIC. If the latter needs to stay in my private tree until a better solution is found, I can submit a modified diff without it if needed.

To get source/perl.c compiled I had to remove the define for HAVE_SYS_SYSCTL_H which triggered the #include-ing of sys/sysctl.h which brings in uvm/uvm_map.h. This causes a conflict, since
#define min_offset              header.start
#define max_offset              header.end

rather than patch, I think it's better to use this in the Makefile:

# conflict between Perl embed headers and uvm_map's {max,min}_offset defines.
CONFIGURE_ENV=  ac_cv_header_sys_sysctl_h=no

Updated patch to do that. The autotools are not some of my favourite things, so I don't always see the auto* solution if a patch of a .in or .am file works. But I always prefer the more correct fix, like this, even if has to be shown to me, heh.

Index: Makefile
===================================================================
RCS file: /cvs/ports/net/epic4/Makefile,v
retrieving revision 1.65
diff -u -r1.65 Makefile
--- Makefile    31 Mar 2009 13:31:18 -0000      1.65
+++ Makefile    11 Apr 2009 11:46:06 -0000
@@ -5,7 +5,7 @@
 VERSION=       2.10
 HELP_DATE=     20050315
 DISTNAME=      epic4-${VERSION}
-PKGNAME=       ${DISTNAME}p0
+PKGNAME=       ${DISTNAME}p1
 CATEGORIES=    net
 MASTER_SITES=  ftp://ftp.epicsol.org/pub/epic/EPIC4-PRODUCTION/
 DISTFILES=     epic4-${VERSION}.tar.bz2 epic4-help-${HELP_DATE}.tar.gz
@@ -17,6 +17,10 @@
 PERMIT_PACKAGE_FTP=    Yes
 PERMIT_DISTFILES_CDROM=        Yes
 PERMIT_DISTFILES_FTP=  Yes
+
+FLAVORS=        perl
+FLAVOR ?=
+
 WANTLIB=       c crypto m ncurses ssl
 
 DESTDIRNAME=   IP
@@ -25,8 +29,20 @@
 
 SEPARATE_BUILD=        simple
 CONFIGURE_STYLE=       gnu
-CONFIGURE_ARGS=        --without-perl \
-               --without-tcl
+# conflict between Perl embed headers and uvm_map's 
+# {max,min}_offset defines.
+CONFIGURE_ENV=         ac_cv_header_sys_sysctl_h=no
+# use a lower optimisation level prevents random hangs
+CFLAGS+= -O0
+
+CONFIGURE_ARGS=        --without-tcl
+
+.if ${FLAVOR:L:Mperl}
+CONFIGURE_ARGS+=--enable-perl
+WANTLIB+=       perl util
+.else
+CONFIGURE_ARGS+=--without-perl
+.endif
 
 INSTALL_TARGET=        install installhelp
 
Index: pkg/DESCR
===================================================================
RCS file: /cvs/ports/net/epic4/pkg/DESCR,v
retrieving revision 1.4
diff -u -r1.4 DESCR
--- pkg/DESCR   15 Dec 2003 21:55:02 -0000      1.4
+++ pkg/DESCR   11 Apr 2009 11:46:06 -0000
@@ -3,3 +3,6 @@
 compatibility is undesirable have been found and fixed. No gratuitous 
 incompatibilities have been added, but lots of new code has been added to 
 make EPIC the best ircII client available.
+
+Flavor:
+  perl: script and control EPIC4 with Perl
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/epic4/pkg/PLIST,v
retrieving revision 1.36
diff -u -r1.36 PLIST
--- pkg/PLIST   14 Jun 2008 02:01:10 -0000      1.36
+++ pkg/PLIST   11 Apr 2009 11:46:06 -0000
@@ -1,5 +1,5 @@
 @comment $OpenBSD: PLIST,v 1.36 2008/06/14 02:01:10 pvalchev Exp $
-...@bin bin/epic
+bin/epic
 @bin bin/epic-EPIC4-${VERSION}
 @bin libexec/wserv4
 @man man/man1/epic.1

Reply via email to