On Sun, Apr 12, 2009 at 03:24:00PM -0400, Taylor Venable wrote:
> On Sun, Apr 12, 2009 at 02:22:27PM -0400, Taylor Venable wrote:
> > On 2009-03-06 I sent out a patch to update CLISP from 2.43p0 to 2.47;
> > I haven't heard anything back on that, so I've updated that patch to
> > reflect the fact that CLISP is now at 2.43p1 and I am resending it.
> 
> I forgot that this needs to be a unified diff; it is attached.

I have been working on a clisp update as well. I've mainly been
focusing on getting clisp working on other platforms like sparc64, but
I still have a couple of cleanups and fixes that you should take a
look at.

In particular your LIB_DEPENDS line looks wrong, and you can just add
ac_cv_prog_DVIPDF='' to CONFIGURE_ENV to avoid patching the
autoconf-generated configure script. You also don't need to run
makemake anymore, the toplevel configure script does that now.


Index: Makefile
===================================================================
RCS file: /home/cvsync/openbsd/ports/lang/clisp/Makefile,v
retrieving revision 1.31
diff -u -N Makefile
--- Makefile    5 Mar 2009 23:44:38 -0000       1.31
+++ Makefile    13 Apr 2009 04:34:47 -0000
@@ -2,10 +2,9 @@
 
 ONLY_FOR_ARCHS= amd64 i386
 
-COMMENT=       ANSI Common Lisp compiler
+COMMENT=       ANSI Common Lisp implementation
 
-DISTNAME=      clisp-2.43
-PKGNAME=       ${DISTNAME}p1
+DISTNAME=      clisp-2.47
 CATEGORIES=    lang
 HOMEPAGE=      http://clisp.cons.org/
 
@@ -17,7 +16,8 @@
 
 MODULES=       devel/gettext
 
-LIB_DEPENDS=   sigsegv::devel/libsigsegv
+LIB_DEPENDS=   avcall,callback:ffcall->=1.10p0:devel/ffcall \
+               sigsegv::devel/libsigsegv
 WANTLIB=       c m ncurses readline
 
 MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=clisp/}
@@ -25,28 +25,16 @@
 
 USE_LIBTOOL=   Yes
 CONFIGURE_STYLE=gnu old
-CONFIGURE_ARGS= --with-gmalloc \
-               --srcdir=${WRKSRC} ${WRKBUILD}
-MAKEMAKE_ARGS= --fsstnd=openbsd \
-               --prefix=${PREFIX} \
-               --with-dynamic-ffi \
-               --with-gmalloc \
+CONFIGURE_ARGS=        --srcdir=${WRKSRC} \
+               --fsstnd=openbsd \
                --mandir=${PREFIX}/man \
+               --docdir=${PREFIX}/share/doc/clisp \
                --vimdir=${PREFIX}/share/doc/clisp \
-               --docdir=${PREFIX}/share/doc/clisp
-.if ${MACHINE_ARCH} == "amd64"
-MAKEMAKE_ARGS+=        --disable-mmap
-.endif
+               --with-gmalloc \
+               --disable-mmap \
+               ${WRKBUILD}
+CONFIGURE_ENV= ac_cv_prog_DVIPDF=''
 SEPARATE_BUILD=        simple
-MODGNU_CONFIG_GUESS_DIRS=      ${WRKSRC}/ffcall/autoconf
 USE_GMAKE=     Yes
-MAKE_FLAGS=    INSTALL='install -c' \
-               INSTALL_PROGRAM='install -c -s -m 555' \
-               INSTALL_DATA='install -c -m 644'
-
-
-post-configure:
-       @cd ${WRKBUILD} && ./makemake ${MAKEMAKE_ARGS} >Makefile && \
-       make config.lisp
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /home/cvsync/openbsd/ports/lang/clisp/distinfo,v
retrieving revision 1.8
diff -u -N distinfo
--- distinfo    25 Nov 2007 22:16:21 -0000      1.8
+++ distinfo    4 Apr 2009 03:19:27 -0000
@@ -1,5 +1,5 @@
-MD5 (clisp-2.43.tar.bz2) = Rc96tijKuD6Zzqp1qogLYw==
-RMD160 (clisp-2.43.tar.bz2) = MIgTJUPJIOArSCyQMXQro08v4Bc=
-SHA1 (clisp-2.43.tar.bz2) = hePo9iazHfsVgQDmMeoXv0g2T60=
-SHA256 (clisp-2.43.tar.bz2) = tSE8zFnWXBkPR8Dk8E1WihpmvLKK5e1ZcF5ZxrixHoM=
-SIZE (clisp-2.43.tar.bz2) = 8143871
+MD5 (clisp-2.47.tar.bz2) = j6ibsT6GX8fHFQuCaC81rw==
+RMD160 (clisp-2.47.tar.bz2) = 03awsWaUu69g5h/DRlv831dw4JM=
+SHA1 (clisp-2.47.tar.bz2) = Y3Sb8HQJzuE0wZVUfm2RFVS2GdY=
+SHA256 (clisp-2.47.tar.bz2) = VlJWpQyspEqWm3RAyYazIDoLlnm6vQ8dvLxhpPRiLts=
+SIZE (clisp-2.47.tar.bz2) = 7543689
Index: patches/patch-configure
===================================================================
RCS file: /home/cvsync/openbsd/ports/lang/clisp/patches/patch-configure,v
retrieving revision 1.2
diff -u -N patches/patch-configure
--- patches/patch-configure     25 Nov 2007 22:16:21 -0000      1.2
+++ patches/patch-configure     4 Apr 2009 22:25:25 -0000
@@ -1,7 +1,22 @@
+The src/ configure script chokes on --vimdir, so don't pass it through.
+XXX is it really necessary to patch the stack check to always fail?
+
 $OpenBSD: patch-configure,v 1.2 2007/11/25 22:16:21 jasper Exp $
---- configure.orig     Sun Nov 11 22:42:57 2007
-+++ configure  Sun Nov 25 21:16:30 2007
-@@ -731,8 +731,7 @@ stacksizelimit=`ulimit -s 2>/dev/null || :` # cygwin /
+--- configure.orig     Thu Oct 23 15:29:53 2008
++++ configure  Sat Apr  4 13:44:31 2009
+@@ -402,11 +402,9 @@ do
+         passnext=both ;;
+ 
+       --vimdir=* | --vimdi=* | --vimd=* | --vim=* | --vi=*)
+-        subdir_configure_args="$subdir_configure_args $arg"
+         makemake_args="$makemake_args --vimdir="`getarg "$arg"` ;;
+ 
+       --vimdir | --vimdi | --vimd | --vim | --vi)
+-        subdir_configure_args="$subdir_configure_args $arg"
+         makemake_args="$makemake_args --vimdir="
+         prev=vimdir
+         passnext=both ;;
+@@ -726,8 +724,7 @@ stacksizelimit=`ulimit -s 2>/dev/null || :` # cygwin /
  # need 3 separate test calls because of "integer expression expected" errors
  # when $stacksizelimit is "" or "unlimited" (no short-circuiting!)
  set +e;
@@ -10,4 +25,4 @@
 +STACK_TOO_SMALL=0      # 0=true => need to reset; 1=false => big enough
  set -e
  
- cd $ABS_DIRNAME
+ cd "$ABS_DIRNAME"
Index: patches/patch-src_configure
===================================================================
RCS file: /home/cvsync/openbsd/ports/lang/clisp/patches/patch-src_configure,v
retrieving revision 1.4
diff -u -N patches/patch-src_configure
--- patches/patch-src_configure 25 Nov 2007 22:16:21 -0000      1.4
+++ /dev/null   13 Apr 2009 04:34:06 -0000
@@ -1,47 +0,0 @@
-$OpenBSD: patch-src_configure,v 1.4 2007/11/25 22:16:21 jasper Exp $
---- src/configure.orig Sun Nov 25 21:14:31 2007
-+++ src/configure      Sun Nov 25 21:14:54 2007
-@@ -21713,43 +21713,6 @@ echo "${ECHO_T}no" >&6; }
- fi
- 
- 
--# Extract the first word of "dvipdf", so it can be a program name with args.
--set dummy dvipdf; ac_word=$2
--{ echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
--if test "${ac_cv_prog_DVIPDF+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
--  if test -n "$DVIPDF"; then
--  ac_cv_prog_DVIPDF="$DVIPDF" # Let the user override the test.
--else
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  for ac_exec_ext in '' $ac_executable_extensions; do
--  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x 
"$as_dir/$ac_word$ac_exec_ext"; }; then
--    ac_cv_prog_DVIPDF="dvipdf"
--    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
--    break 2
--  fi
--done
--done
--IFS=$as_save_IFS
--
--fi
--fi
--DVIPDF=$ac_cv_prog_DVIPDF
--if test -n "$DVIPDF"; then
--  { echo "$as_me:$LINENO: result: $DVIPDF" >&5
--echo "${ECHO_T}$DVIPDF" >&6; }
--else
--  { echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6; }
--fi
--
--
- for ac_prog in gzip zip compress
- do
-   # Extract the first word of "$ac_prog", so it can be a program name with 
args.
Index: patches/patch-src_makemake_in
===================================================================
RCS file: /home/cvsync/openbsd/ports/lang/clisp/patches/patch-src_makemake_in,v
retrieving revision 1.9
diff -u -N patches/patch-src_makemake_in
--- patches/patch-src_makemake_in       25 Nov 2007 22:16:21 -0000      1.9
+++ patches/patch-src_makemake_in       5 Apr 2009 01:19:12 -0000
@@ -1,7 +1,9 @@
+Executable images are broken on OpenBSD, so skip the check-exec-image test.
+
 $OpenBSD: patch-src_makemake_in,v 1.9 2007/11/25 22:16:21 jasper Exp $
---- src/makemake.in.orig       Sun Nov 25 21:15:04 2007
-+++ src/makemake.in    Sun Nov 25 21:15:40 2007
-@@ -1872,7 +1872,7 @@ echol "# This can also be used for pre-test and post-r
+--- src/makemake.in.orig       Thu Oct 23 15:27:58 2008
++++ src/makemake.in    Sat Apr  4 15:16:03 2009
+@@ -1826,7 +1826,7 @@ echol "# This can also be used for pre-test and post-r
  echol "#   make distrib VERSION_SUFFIX=pre"
  echol "VERSION_SUFFIX="
  echol "# The distribution's top directory"
@@ -10,3 +12,12 @@
  echol
  echol '# Directories used by "make install":'
  echol "prefix = ${PREFIX}"
+@@ -2932,7 +2932,7 @@ fi
+ CLISP_="${HERE_}lisp${LEXE} -M ${HERE_}lispinit.mem 
${localeflags}${someflags}"
+ 
+ if [ $CROSS = false ] ; then
+-  CHECK_DEPS="check-recompile check-fresh-line check-script check-exec-image 
check-tests"
++  CHECK_DEPS="check-recompile check-fresh-line check-script check-tests"
+ 
+   echol "# check the sources:"
+   echol "# 1. subr.d, fsubr.d, subrkw.d and all the LISPFUNs must add up"
Index: patches/patch-tests_socket_tst
===================================================================
RCS file: patches/patch-tests_socket_tst
diff -u -N patches/patch-tests_socket_tst
--- /dev/null   12 Apr 2009 21:40:14 -0000
+++ patches/patch-tests_socket_tst      4 Apr 2009 23:54:41 -0000
@@ -0,0 +1,27 @@
+Patch this test to pass even if a nonblocking connect() to localhost
+fails immediately with ECONNREFUSED, instead of failing on the first
+read attempt.
+
+$OpenBSD$
+--- tests/socket.tst.orig      Mon Jun 30 12:33:01 2008
++++ tests/socket.tst   Sat Apr  4 16:37:44 2009
+@@ -515,10 +515,15 @@ 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
++(or (null (setq *socket-1* (ignore-errors (socket:socket-connect
++                                           12345 "localhost" :timeout 0))))
++    (open-stream-p *socket-1*)) T
++(if (null *socket-1*)
++    (error "dummy")
++    (read-line *socket-1*)) ERROR ; ECONNREFUSED
++(if (null *socket-1*)
++    T
++    (close *socket-1*)) T
+ 
+ (let ((interfaces '(nil "localhost" "0.0.0.0" "127.0.0.1")))
+   (mapcar (lambda (i)
Index: pkg/PLIST
===================================================================
RCS file: /home/cvsync/openbsd/ports/lang/clisp/pkg/PLIST,v
retrieving revision 1.11
diff -u -N pkg/PLIST
--- pkg/PLIST   5 Mar 2009 23:44:38 -0000       1.11
+++ pkg/PLIST   4 Apr 2009 21:39:38 -0000
@@ -4,8 +4,6 @@
 lib/clisp/base/
 lib/clisp/base/calls.o
 lib/clisp/base/gettext.o
-lib/clisp/base/libavcall.a
-lib/clisp/base/libcallback.a
 lib/clisp/base/libnoreadline.a
 lib/clisp/base/lisp.a
 @bin lib/clisp/base/lisp.run
@@ -27,8 +25,6 @@
 lib/clisp/full/
 lib/clisp/full/calls.o
 lib/clisp/full/gettext.o
-lib/clisp/full/libavcall.a
-lib/clisp/full/libcallback.a
 lib/clisp/full/libnoreadline.a
 lib/clisp/full/lisp.a
 @bin lib/clisp/full/lisp.run
@@ -47,7 +43,6 @@
 lib/clisp/linkkit/clisp.h
 lib/clisp/linkkit/modprep.lisp
 lib/clisp/linkkit/modules.c
-lib/clisp/linkkit/modules.d
 @man man/man1/clisp.1
 share/doc/clisp/
 share/doc/clisp/ANNOUNCE

Reply via email to