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
>

Reply via email to