I've had several tentative diffs to update clisp, but every time
I delete them because of frustrations with the build system.

This has to stop!

Here's a tentative diff, probably not perfect.  I did not enable the use
of shared modules, cause I don't know how to use them.  There are a few
missing entries in the PLIST, I did not investigate further yet.

Passes make test, builds a working sbcl on amd64.  Dunno about other
archs.

Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/clisp/Makefile,v
retrieving revision 1.43
diff -u -p -r1.43 Makefile
--- Makefile    21 Mar 2013 08:46:32 -0000      1.43
+++ Makefile    28 Sep 2015 23:07:04 -0000
@@ -4,8 +4,7 @@ ONLY_FOR_ARCHS =        amd64 i386 powerpc spar
 
 COMMENT =              ANSI Common Lisp implementation
 
-DISTNAME=              clisp-2.48
-REVISION =             3
+DISTNAME=              clisp-2.49
 CATEGORIES=            lang
 HOMEPAGE=              http://clisp.cons.org/
 MAINTAINER =           Joshua Elsasser <jo...@openbsd.org>
@@ -35,7 +34,9 @@ CONFIGURE_ARGS=               --fsstnd=openbsd \
                        --docdir=${PREFIX}/share/doc/clisp \
                        --elispdir=${PREFIX}/share/emacs/site-lisp \
                        --vimdir=${PREFIX}/share/doc/clisp \
-                       --srcdir=${WRKSRC} ${WRKBUILD}
+                       --srcdir=${WRKSRC} ${WRKBUILD} \
+                       --without-dynamic-modules
+
 CONFIGURE_ENV =                ac_cv_prog_DVIPDF=''
 
 .if ${MACHINE_ARCH} == "sparc64"
@@ -49,5 +50,8 @@ LDFLAGS +=            -nopie
 .else
 CONFIGURE_ARGS +=      --without-gmalloc
 .endif
+
+pre-build:
+       ln -sf ${LOCALBASE}/bin/gmake ${WRKDIR}/bin/make
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/lang/clisp/distinfo,v
retrieving revision 1.10
diff -u -p -r1.10 distinfo
--- distinfo    18 Jan 2015 03:14:18 -0000      1.10
+++ distinfo    28 Sep 2015 18:58:02 -0000
@@ -1,2 +1,2 @@
-SHA256 (clisp-2.48.tar.bz2) = Bbg/VghZojZ5zPwHOhKKU3f+lInXNEMaPcMu+I8MPcI=
-SIZE (clisp-2.48.tar.bz2) = 7885098
+SHA256 (clisp-2.49.tar.bz2) = gTL/NTr6pw5rGTZ6Ja49WkNicnnCVkfCIGQf7QD46JA=
+SIZE (clisp-2.49.tar.bz2) = 8091011
Index: patches/patch-configure
===================================================================
RCS file: /cvs/ports/lang/clisp/patches/patch-configure,v
retrieving revision 1.3
diff -u -p -r1.3 patch-configure
--- patches/patch-configure     7 Jan 2010 10:55:28 -0000       1.3
+++ patches/patch-configure     28 Sep 2015 23:14:55 -0000
@@ -1,7 +1,7 @@
 $OpenBSD: patch-configure,v 1.3 2010/01/07 10:55:28 edd Exp $
---- configure.orig     Thu Jan 15 08:37:34 2009
-+++ configure  Wed Dec 30 01:35:49 2009
-@@ -389,7 +389,7 @@ do
+--- configure.orig     Mon Dec 14 15:37:22 2009
++++ configure  Tue Sep 29 01:08:02 2015
+@@ -383,7 +383,7 @@ do
          passnext=both ;;
  
        --elispdir=* | --elispdi=* | --elispd=* | --elisp=* | --elis=* | 
--eli=* | --el=*)
@@ -10,7 +10,7 @@ $OpenBSD: patch-configure,v 1.3 2010/01/
          makemake_args="$makemake_args --elispdir="`getarg "$arg"` ;;
  
        --elispdir | --elispdi | --elispd | --elisp | --elis | --eli | --el)
-@@ -399,7 +399,7 @@ do
+@@ -393,7 +393,7 @@ do
          passnext=both ;;
  
        --vimdir=* | --vimdi=* | --vimd=* | --vim=* | --vi=*)
@@ -19,7 +19,7 @@ $OpenBSD: patch-configure,v 1.3 2010/01/
          makemake_args="$makemake_args --vimdir="`getarg "$arg"` ;;
  
        --vimdir | --vimdi | --vimd | --vim | --vi)
-@@ -744,8 +744,7 @@ stacksizelimit=`ulimit -s 2>/dev/null || :` # cygwin /
+@@ -723,8 +723,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;
Index: patches/patch-src_clisp-link_in
===================================================================
RCS file: /cvs/ports/lang/clisp/patches/patch-src_clisp-link_in,v
retrieving revision 1.1
diff -u -p -r1.1 patch-src_clisp-link_in
--- patches/patch-src_clisp-link_in     7 Jan 2010 10:55:28 -0000       1.1
+++ patches/patch-src_clisp-link_in     28 Sep 2015 19:00:58 -0000
@@ -1,11 +1,11 @@
 $OpenBSD: patch-src_clisp-link_in,v 1.1 2010/01/07 10:55:28 edd Exp $
---- src/clisp-link.in.orig     Wed Jun 17 19:30:31 2009
-+++ src/clisp-link.in  Sat Jan  2 19:08:19 2010
-@@ -336,6 +336,7 @@ case "$1" in
-       link_some "$sourcedir" "$destinationdir" ${LISPRUN} lispinit.mem 
modules.h modules.o makevars ${FILES};
+--- src/clisp-link.in.orig     Tue May 25 21:54:54 2010
++++ src/clisp-link.in  Mon Sep 28 20:59:27 2015
+@@ -382,6 +382,7 @@ case "$1" in
+       lncp_some "$sourcedir" "$destinationdir" ${LISPRUN} lispinit.mem 
modules.h modules.o makevars ${FILES};
      else
        cp "$sourcedir"/modules.h "$destinationdir"/modules.h
-+      chmod +w "$destinationdir"/modules.h
-       FILES=`link_some "$sourcedir" "$destinationdir" ${FILES}`
++      chmod +w ""$destinationdir"/modules.h"
+       FILES=`lncp_some "$sourcedir" "$destinationdir" ${FILES}`
        # Prepare the module directories and read their variables
        PRELOAD=''
Index: patches/patch-src_configure
===================================================================
RCS file: patches/patch-src_configure
diff -N patches/patch-src_configure
--- patches/patch-src_configure 7 Jan 2010 10:55:28 -0000       1.5
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,47 +0,0 @@
-$OpenBSD: patch-src_configure,v 1.5 2010/01/07 10:55:28 edd Exp $
---- src/configure.orig Tue Jul 28 23:10:12 2009
-+++ src/configure      Mon Dec 28 21:08:14 2009
-@@ -22606,43 +22606,6 @@ $as_echo "no" >&6; }
- fi
- 
- 
--# Extract the first word of "dvipdf", so it can be a program name with args.
--set dummy dvipdf; ac_word=$2
--{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
--$as_echo_n "checking for $ac_word... " >&6; }
--if test "${ac_cv_prog_DVIPDF+set}" = set; then
--  $as_echo_n "(cached) " >&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"
--    $as_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
--  { $as_echo "$as_me:$LINENO: result: $DVIPDF" >&5
--$as_echo "$DVIPDF" >&6; }
--else
--  { $as_echo "$as_me:$LINENO: result: no" >&5
--$as_echo "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: /cvs/ports/lang/clisp/patches/patch-src_makemake_in,v
retrieving revision 1.11
diff -u -p -r1.11 patch-src_makemake_in
--- patches/patch-src_makemake_in       23 Sep 2010 13:42:22 -0000      1.11
+++ patches/patch-src_makemake_in       28 Sep 2015 22:29:44 -0000
@@ -3,18 +3,32 @@ $OpenBSD: patch-src_makemake_in,v 1.11 2
 Override broken compiler test, attempting to build 32-bit clisp on a
 64-bit patform will not work out very well.
 
---- src/makemake.in.orig       Tue Jul 28 06:58:03 2009
-+++ src/makemake.in    Mon Sep 20 16:32:15 2010
-@@ -1108,6 +1108,8 @@ esac
- #   cpu=hppa ;;
+Use the correct recipe to build shared modules on OpenBSD.
+
+--- src/makemake.in.orig       Wed Jul  7 17:15:35 2010
++++ src/makemake.in    Tue Sep 29 00:28:57 2015
+@@ -1150,6 +1150,7 @@ esac
  # esac
  
+ test -z "$cpu" && cpu=${host_cpu}
 +test "$cpu" = "${host_cpu%*64}" && cpu=${host_cpu}
-+
- if [ "${verbose}" = true -o "${verbose}" = yes ]; then
+ 
+ test "${verbose}" = true -o "${verbose}" = yes && \
    cat <<EOF >&2
- # host system:
-@@ -1916,7 +1918,7 @@ echol "# This can also be used for pre-test and post-r
+@@ -1421,10 +1422,10 @@ if [ "${with_dynamic_modules}" != no ]; then
+     freebsd2.2*)
+       XCC_CREATESHARED='ld -Bshareable -o $lib $libs /usr/lib/c++rt0.o'
+       ;;
+-    freebsd2* | netbsd* | openbsd*)
++    freebsd2* | netbsd* )
+       XCC_CREATESHARED='ld -Bshareable -o $lib $libs'
+       ;;
+-    freebsd3* | gnu* | linux* | cygwin* | mingw* | k*bsd* | dragonfly*)
++    freebsd3* | gnu* | linux* | cygwin* | mingw* | k*bsd* | dragonfly* | 
openbsd* )
+       XCC_CREATESHARED='${CC} ${CFLAGS} ${CLFLAGS} -shared -o $lib $libs'
+       ;;
+     hpux9* | hpux10*)
+@@ -1904,7 +1905,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"
@@ -23,7 +37,7 @@ Override broken compiler test, attemptin
  echol
  echol '# Directories used by "make install":'
  echol "prefix = ${PREFIX}"
-@@ -3002,7 +3004,7 @@ fi
+@@ -2931,7 +2932,7 @@ fi
  CLISP_="${HERE_}lisp${LEXE} -M ${HERE_}lispinit.mem 
${localeflags}${someflags}"
  
  if [ $CROSS = false ] ; then
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/lang/clisp/pkg/PLIST,v
retrieving revision 1.15
diff -u -p -r1.15 PLIST
--- pkg/PLIST   9 Nov 2010 21:28:36 -0000       1.15
+++ pkg/PLIST   28 Sep 2015 20:44:12 -0000
@@ -1,48 +1,55 @@
 @comment $OpenBSD: PLIST,v 1.15 2010/11/09 21:28:36 naddy Exp $
 @bin bin/clisp
+bin/clisp-link
 lib/clisp/
 lib/clisp/base/
+lib/clisp/base/bogomips.o
 lib/clisp/base/calls.o
 lib/clisp/base/gettext.o
+lib/clisp/base/libgnu_cl.a
+lib/clisp/base/libgnu_rx.a
+lib/clisp/base/libgnu_sc.a
 lib/clisp/base/libnoreadline.a
 lib/clisp/base/lisp.a
 @bin lib/clisp/base/lisp.run
 lib/clisp/base/lispinit.mem
-lib/clisp/base/localcharset.o
 lib/clisp/base/makevars
 lib/clisp/base/modules.h
 lib/clisp/base/modules.o
 lib/clisp/base/readline.o
-lib/clisp/base/regex.o
 lib/clisp/base/regexi.o
-lib/clisp/base/regexp.dvi
-lib/clisp/base/uniname.o
-lib/clisp/base/width.o
-lib/clisp/clisp-link
+lib/clisp/build-aux/
+lib/clisp/build-aux/arg-nonnull.h
+lib/clisp/build-aux/c++defs.h
+lib/clisp/build-aux/config.guess
+lib/clisp/build-aux/config.rpath
+lib/clisp/build-aux/config.sub
+lib/clisp/build-aux/depcomp
+lib/clisp/build-aux/warn-on-use.h
 lib/clisp/data/
 lib/clisp/data/Symbol-Table.text
 lib/clisp/data/UnicodeDataFull.txt
 lib/clisp/full/
+lib/clisp/full/bogomips.o
 lib/clisp/full/calls.o
 lib/clisp/full/gettext.o
+lib/clisp/full/libgnu_cl.a
+lib/clisp/full/libgnu_rx.a
+lib/clisp/full/libgnu_sc.a
 lib/clisp/full/libnoreadline.a
 lib/clisp/full/lisp.a
 @bin lib/clisp/full/lisp.run
 lib/clisp/full/lispinit.mem
-lib/clisp/full/localcharset.o
 lib/clisp/full/makevars
 lib/clisp/full/modules.h
 lib/clisp/full/modules.o
 lib/clisp/full/readline.o
-lib/clisp/full/regex.o
 lib/clisp/full/regexi.o
-lib/clisp/full/regexp.dvi
-lib/clisp/full/uniname.o
-lib/clisp/full/width.o
 lib/clisp/linkkit/
 lib/clisp/linkkit/clisp.h
 lib/clisp/linkkit/modprep.lisp
 lib/clisp/linkkit/modules.c
+@man man/man1/clisp-link.1
 @man man/man1/clisp.1
 share/aclocal/clisp.m4
 share/doc/clisp/
@@ -57,8 +64,10 @@ share/doc/clisp/README
 share/doc/clisp/README.de
 share/doc/clisp/README.es
 share/doc/clisp/SUMMARY
+share/doc/clisp/clisp-link.1
+share/doc/clisp/clisp-link.html
+share/doc/clisp/clisp-link.ps
 share/doc/clisp/clisp.1
-share/doc/clisp/clisp.dvi
 share/doc/clisp/clisp.html
 share/doc/clisp/clisp.png
 share/doc/clisp/clisp.ps


-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to