I have been trying to update the clisp port, but have run into a snag.
First, the patch:
=====
diff -u /usr/ports/lang/clisp/Makefile
/usr/ports/mystuff/clisp/Makefile
--- /usr/ports/lang/clisp/Makefile Mon Feb 27 12:22:09 2006
+++ /usr/ports/mystuff/clisp/Makefile Mon Jun 4 01:21:56 2007
@@ -4,8 +4,8 @@
COMMENT= "ANSI Common Lisp compiler"
-DISTNAME= clisp-2.33.2
-PKGNAME= ${DISTNAME}p1
+DISTNAME= clisp-2.41
+PKGNAME= ${DISTNAME}
CATEGORIES= lang
HOMEPAGE= http://clisp.cons.org/
@@ -14,7 +14,7 @@
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
-WANTLIB= c ncurses readline
+WANTLIB= c ncurses readline sigsegv
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=clisp/}
EXTRACT_SUFX= .tar.bz2
@@ -22,7 +22,7 @@
MODULES= devel/gettext
CONFIGURE_STYLE=gnu old
-CONFIGURE_ARGS= --srcdir=${WRKSRC} ${WRKBUILD}
+CONFIGURE_ARGS= --with-gmalloc --srcdir=${WRKSRC} ${WRKBUILD}
SEPARATE_BUILD= simple
MODGNU_CONFIG_GUESS_DIRS= ${WRKSRC}/src/autoconf \
${WRKSRC}/ffcall/autoconf \
@@ -35,7 +35,7 @@
post-configure:
@cd ${WRKBUILD} && \
./makemake --fsstnd=openbsd --prefix=${PREFIX} \
- --with-dynamic-ffi >Makefile && \
+ --with-dynamic-ffi --with-gmalloc >Makefile && \
make config.lisp
.include <bsd.port.mk>
=====
As of 2.39, a configure option, --with-gmalloc, was added to use the
included GNU malloc instead of OpenBSD's (due to conflicts with
clisp's memory management), but attempts to build it eventually grind
to a halt with an error in gmalloc.c itself:
make
===> Building for clisp-2.41
cc -I/usr/local/include -O2 -pipe -W -Wswitch -Wcomment
-Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations
-Wno-sign-compare -O2 -fexpensive-optimizations -falign-functions=4
-DUNICODE -DDYNAMIC_FFI -I. -DUSG -DMEMMOVE_MISSING -c
/usr/ports/mystuff/clisp/w-clisp-2.41/clisp-2.41/src/malloc/gmalloc.c
-o gmalloc.o
/usr/ports/mystuff/clisp/w-clisp-2.41/clisp-2.41/src/malloc/gmalloc.c:360:
error: conflicting types for `__morecore'
/usr/ports/mystuff/clisp/w-clisp-2.41/clisp-2.41/src/malloc/gmalloc.c:240:
error: previous declaration of `__morecore'
/usr/ports/mystuff/clisp/w-clisp-2.41/clisp-2.41/src/malloc/gmalloc.c:909:
warning: no previous declaration for `_malloc'
/usr/ports/mystuff/clisp/w-clisp-2.41/clisp-2.41/src/malloc/gmalloc.c:916:
warning: no previous declaration for `_free'
/usr/ports/mystuff/clisp/w-clisp-2.41/clisp-2.41/src/malloc/gmalloc.c:923:
warning: no previous declaration for `_realloc'
/usr/ports/mystuff/clisp/w-clisp-2.41/clisp-2.41/src/malloc/gmalloc.c:1244:
warning: no previous declaration for `cfree'
/usr/ports/mystuff/clisp/w-clisp-2.41/clisp-2.41/src/malloc/gmalloc.c:
In function `__default_morecore':
/usr/ports/mystuff/clisp/w-clisp-2.41/clisp-2.41/src/malloc/gmalloc.c:1588:
warning: implicit declaration of function `sbrk'
*** Error code 1
Stop in /usr/ports/mystuff/clisp/w-clisp-2.41/build-i386 (line 2360 of
Makefile).
*** Error code 1
Stop in /usr/ports/mystuff/clisp (line 2063 of
/usr/ports/infrastructure/mk/bsd.port.mk).
Any thoughts? Also, I just submitted libsigsegv, which is a new dependency.
Scott
----
"For a successful technology, reality must take precedence over public
relations, for Nature cannot be fooled." -- Richard P. Feynman