I can probably set up build tests on i386 and sparc64 and eventually macppc if that would help.
.... Ken On 28 September 2015 at 19:39, Jérémie Courrèges-Anglas <j...@wxcvbn.org> wrote: > > 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 >