The included patch allows clisp to build and pass all it's tests on powerpc. The emacs lisp files are also moved to someplace where emacs can actually find them, like other ports do. Note that this adds a file in patches/.
Index: lang/clisp/Makefile =================================================================== RCS file: /home/cvsync/openbsd/ports/lang/clisp/Makefile,v retrieving revision 1.32 diff -u -N lang/clisp/Makefile --- lang/clisp/Makefile 7 Jan 2010 10:55:28 -0000 1.32 +++ lang/clisp/Makefile 31 Jul 2010 14:25:31 -0000 @@ -1,10 +1,11 @@ # $OpenBSD: Makefile,v 1.32 2010/01/07 10:55:28 edd Exp $ -ONLY_FOR_ARCHS= amd64 i386 +ONLY_FOR_ARCHS = amd64 i386 powerpc -COMMENT= ANSI Common Lisp compiler +COMMENT = ANSI Common Lisp implementation DISTNAME= clisp-2.48 +REVISION = 0 CATEGORIES= lang HOMEPAGE= http://clisp.cons.org/ @@ -16,9 +17,9 @@ MODULES= devel/gettext -LIB_DEPENDS= sigsegv::devel/libsigsegv \ - avcall,callback::devel/ffcall -WANTLIB= c m ncurses readline +LIB_DEPENDS = ::devel/libsigsegv \ + ::devel/ffcall +WANTLIB = avcall c callback m ncurses readline sigsegv MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=clisp/} EXTRACT_SUFX= .tar.bz2 @@ -31,15 +32,13 @@ CONFIGURE_STYLE= gnu old CONFIGURE_ARGS= --fsstnd=openbsd \ --with-gmalloc \ + --disable-mmap \ --with-gettext \ --mandir=${PREFIX}/man \ --docdir=${PREFIX}/share/doc/clisp \ - --elispdir=${PREFIX}/share/doc/clisp \ + --elispdir=${PREFIX}/share/emacs/site-lisp \ --vimdir=${PREFIX}/share/doc/clisp \ --srcdir=${WRKSRC} ${WRKBUILD} - -.if ${MACHINE_ARCH} == "amd64" -CONFIGURE_ARGS+= --disable-mmap -.endif +CONFIGURE_ENV = ac_cv_prog_DVIPDF='' .include <bsd.port.mk> Index: lang/clisp/patches/patch-tests_socket_tst =================================================================== RCS file: lang/clisp/patches/patch-tests_socket_tst diff -u -N lang/clisp/patches/patch-tests_socket_tst --- /dev/null 31 Jul 2010 07:45:52 -0000 +++ lang/clisp/patches/patch-tests_socket_tst 30 Jul 2010 18:16:41 -0000 @@ -0,0 +1,26 @@ +$OpenBSD$ + +This test assumes that a nonblocking connect to a closed port will +never fail, the failure will always occur when trying to read from the +socket. + +--- tests/socket.tst.orig Wed Nov 26 01:10:25 2008 ++++ tests/socket.tst Fri Jul 30 11:16:17 2010 +@@ -515,10 +515,13 @@ T + ;; no one should be listening on 12345 + ;; <http://article.gmane.org/gmane.lisp.clisp.general/12286> + (socket:socket-connect 12345 "localhost" :timeout 30) ERROR ; ECONNREFUSED +-(open-stream-p (setq *socket-1* (socket:socket-connect +- 12345 "localhost" :timeout 0))) T +-(read-line *socket-1*) ERROR ; ECONNREFUSED +-(close *socket-1*) T ++(and (setq *socket-1* nil ++ *socket-1* (socket:socket-connect ++ 12345 "localhost" :timeout 0)) ++ (open-stream-p *socket-1*) ++ (read-line *socket-1*)) ERROR ; ECONNREFUSED ++(or (null *socket-1*) ++ (close *socket-1*)) T + + (let ((interfaces '(nil "localhost" "0.0.0.0" "127.0.0.1"))) + (mapcar (lambda (i) Index: lang/clisp/pkg/PLIST =================================================================== RCS file: /home/cvsync/openbsd/ports/lang/clisp/pkg/PLIST,v retrieving revision 1.12 diff -u -N lang/clisp/pkg/PLIST --- lang/clisp/pkg/PLIST 7 Jan 2010 10:55:28 -0000 1.12 +++ lang/clisp/pkg/PLIST 31 Jul 2010 14:23:29 -0000 @@ -57,11 +57,6 @@ share/doc/clisp/README.de share/doc/clisp/README.es share/doc/clisp/SUMMARY -share/doc/clisp/clhs.el -share/doc/clisp/clisp-coding.el -share/doc/clisp/clisp-ffi.el -share/doc/clisp/clisp-indent.el -share/doc/clisp/clisp-indent.lisp share/doc/clisp/clisp.1 share/doc/clisp/clisp.dvi share/doc/clisp/clisp.html @@ -70,6 +65,11 @@ share/doc/clisp/impnotes.css share/doc/clisp/impnotes.html share/doc/clisp/lisp.vim +share/emacs/site-lisp/clhs.el +share/emacs/site-lisp/clisp-coding.el +share/emacs/site-lisp/clisp-ffi.el +share/emacs/site-lisp/clisp-indent.el +share/emacs/site-lisp/clisp-indent.lisp share/locale/da/LC_MESSAGES/clisp.mo share/locale/da/LC_MESSAGES/clisplow.mo share/locale/de/LC_MESSAGES/clisp.mo
