summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorasau <asau>2010-07-09 18:08:05 +0000
committerasau <asau>2010-07-09 18:08:05 +0000
commit1d4cb6aff79bf3e435afdf2a52b00a6feec8eb9b (patch)
tree625169ffdcec75a83fda7f1fd2c6ca40b18f2aee /lang
parent8ca6e1dafaf5c3e88f12d72c110e740b5f0a4633 (diff)
downloadpkgsrc-1d4cb6aff79bf3e435afdf2a52b00a6feec8eb9b.tar.gz
Update to CLISP 2.49.
pkgsrc changes: desupport build options that are turned into module packages. 2.49 (2010-07-07) ================= User visible changes -------------------- * New command line option -disable-readline lets working around bugs and incompatibilities between readline CLISP was built against and the library actually installed. See <http://clisp.cons.org/impnotes/clisp.html#opt-norl> for details. * FFI:OPEN-FOREIGN-LIBRARY now accepts the :REQUIRE argument. See <http://clisp.cons.org/impnotes/dffi.html#dffi-open-lib> for details. * New user variable CUSTOM:*USER-LIB-DIRECTORY* is respected by REQUIRE and used by "clisp-link install". Dynamic modules are now the default build option. See <http://clisp.cons.org/impnotes/require.html> and <http://clisp.cons.org/impnotes/clisp-link.html> for details. * Function RENAME-FILE now accepts :IF-EXISTS argument which determines the action when the destination exists, unless, of course, *ANSI* is T. See <http://clisp.cons.org/impnotes/file-func.html#rename-file> for details. * The replacement value entered by the user in STORE-VALUE and USE-VALUE restarts is now EVALuated. * The old user variable CUSTOM:*PRINT-CLOSURE* now controls interpreted closure output too (RFE#3001956). This is a tricky feature, read up! See <http://clisp.cons.org/impnotes/multi-rep.html#pr-closure>. * Module readline now supports readline 6.1. (Older versions are, of course, still supported). See <http://clisp.cons.org/impnotes/readline-mod.html> for details. * Module pcre now supports pcre 8.01. (Older versions are, of course, still supported). See <http://clisp.cons.org/impnotes/pcre.html> for details. * Module libsvm does not come with the upstream sources anymore, install locally and pass --with-libsvm-prefix to the top-level configure instead. All upstream versions up to 2.91 are supported. See <http://clisp.cons.org/impnotes/libsvm.html> for details. * Module berkeley-db now supports Berkeley-DB 4.8. (Older versions are, of course, still supported). See <http://clisp.cons.org/impnotes/berkeley-db.html> for details. * Module postgresql now supports PostgreSQL 8.4. (Older versions are, of course, still supported). See <http://clisp.cons.org/impnotes/postgresql.html> for details. * Module pari has been updated to support both 64 & 32 bit platforms with and without GMP. See <http://clisp.cons.org/impnotes/pari.html> for details. * New functions OS:VERSION-COMPARE et al call strverscmp. See <http://clisp.cons.org/impnotes/syscalls.html#strverscmp> for details. * Bug fixes: + Do not eliminate function calls which are advertised to have exceptional situation in unsafe code (bug#2868166). + Fix an internal error in DECLAIM on bad OPTIMIZE quality (bug#2868147). + CLEAR-INPUT now clears the EOF condition on file streams (bug#2902716). + When quitting on a signal, never enter the debugger (bug#2795278). + Respect :FULL T in DIRECTORY :WILD-INFERIORS (bug#3009966). + Handle TWO-WAY-STREAM and ECHO-STREAM correctly by (SETF STREAM-EXTERNAL-FORMAT) (bug#3020933). + Fix unbuffered output pipe stream initialization (bug#3024887). * ANSI compliance: + Implement the ANSI issue COMPILER-DIAGNOSTICS:USE-HANDLER: use the CL Condition System for compiler diagnostics. + STREAM-ELEMENT-TYPE on empty CONCATENATED-STREAMs now returns NIL because nothing can be read from such streams (bug#3014921).
Diffstat (limited to 'lang')
-rw-r--r--lang/clisp/Makefile4
-rw-r--r--lang/clisp/PLIST55
-rw-r--r--lang/clisp/buildlink3.mk15
-rw-r--r--lang/clisp/distinfo11
-rw-r--r--lang/clisp/module.mk33
-rw-r--r--lang/clisp/options.mk91
-rw-r--r--lang/clisp/patches/patch-aa117
-rw-r--r--lang/clisp/patches/patch-ac71
8 files changed, 263 insertions, 134 deletions
diff --git a/lang/clisp/Makefile b/lang/clisp/Makefile
index 69a2e729ae3..ddc8c340a2a 100644
--- a/lang/clisp/Makefile
+++ b/lang/clisp/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.76 2009/12/29 06:39:15 asau Exp $
+# $NetBSD: Makefile,v 1.77 2010/07/09 18:08:05 asau Exp $
#
-DISTNAME= clisp-2.48
+DISTNAME= clisp-2.49
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=clisp/}
#EXTRACT_SUFX= .tar.bz2
diff --git a/lang/clisp/PLIST b/lang/clisp/PLIST
index 4c9a3cbd6cb..b0dddceaeef 100644
--- a/lang/clisp/PLIST
+++ b/lang/clisp/PLIST
@@ -1,54 +1,34 @@
-@comment $NetBSD: PLIST,v 1.19 2009/12/15 23:22:06 asau Exp $
+@comment $NetBSD: PLIST,v 1.20 2010/07/09 18:08:05 asau Exp $
bin/clisp
+bin/clisp-link
+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
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
+${PLIST.readline}lib/clisp/base/readline.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/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/Symbol-Table.text
lib/clisp/data/UnicodeDataFull.txt
-${PLIST.bdb}lib/clisp/full/bdb.o
-lib/clisp/full/calls.o
-${PLIST.mit-clx}lib/clisp/full/clx.o
-${PLIST.new-clx}lib/clisp/full/clx.o
-${PLIST.pcre}lib/clisp/full/cpcre.o
-${PLIST.fastcgi}lib/clisp/full/fastcgi.o
-${PLIST.fastcgi}lib/clisp/full/fastcgi_wrappers.o
-lib/clisp/full/gettext.o
-${PLIST.gdbm}lib/clisp/full/gdbm.o
-${PLIST.gtk2}lib/clisp/full/gtk.o
-lib/clisp/full/libnoreadline.a
-lib/clisp/full/lisp.a
-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
-${PLIST.pgsql}lib/clisp/full/postgresql.o
-${PLIST.rawsock}lib/clisp/full/rawsock.o
-lib/clisp/full/readline.o
-lib/clisp/full/regexi.o
-lib/clisp/full/regexp.dvi
-lib/clisp/full/uniname.o
-lib/clisp/full/width.o
-${PLIST.wildcard}lib/clisp/full/wildcard.dvi
-${PLIST.wildcard}lib/clisp/full/wildcard.o
-${PLIST.zlib}lib/clisp/full/zlib.o
lib/clisp/linkkit/clisp.h
lib/clisp/linkkit/modprep.lisp
lib/clisp/linkkit/modules.c
+man/man1/clisp-link.1
man/man1/clisp.1
share/aclocal/clisp.m4
share/clisp/emacs/clhs.el
@@ -68,8 +48,11 @@ 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.pdf
+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.pdf
share/doc/clisp/clisp.png
diff --git a/lang/clisp/buildlink3.mk b/lang/clisp/buildlink3.mk
new file mode 100644
index 00000000000..05fff083d6d
--- /dev/null
+++ b/lang/clisp/buildlink3.mk
@@ -0,0 +1,15 @@
+# $NetBSD: buildlink3.mk,v 1.1 2010/07/09 18:08:05 asau Exp $
+
+# BUILDLINK_DEPMETHOD.clisp?= build # -- not checked yet
+
+BUILDLINK_TREE+= clisp
+
+.if !defined(CLISP_BUILDLINK3_MK)
+CLISP_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.clisp+= clisp>=2.49
+BUILDLINK_PKGSRCDIR.clisp?= ../../lang/clisp
+
+.endif # CLISP_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -clisp
diff --git a/lang/clisp/distinfo b/lang/clisp/distinfo
index 5096b710b45..b96c7d0fc98 100644
--- a/lang/clisp/distinfo
+++ b/lang/clisp/distinfo
@@ -1,7 +1,8 @@
-$NetBSD: distinfo,v 1.25 2010/04/14 13:10:33 hans Exp $
+$NetBSD: distinfo,v 1.26 2010/07/09 18:08:05 asau Exp $
-SHA1 (clisp-2.48.tar.gz) = ad4e1bcdb1e5bedbb1981269b887eb8ed7edac23
-RMD160 (clisp-2.48.tar.gz) = 28d6b89326249fd82c0c09d8f0711e6cf4c14919
-Size (clisp-2.48.tar.gz) = 9599162 bytes
-SHA1 (patch-aa) = a55f88c1b8924fa4bdb60209172c8405912ae6b4
+SHA1 (clisp-2.49.tar.gz) = 1743e7917013162400c955af441e991db43b3323
+RMD160 (clisp-2.49.tar.gz) = ae30f3b681cb023e885c6e4ed12210ee5ba14c76
+Size (clisp-2.49.tar.gz) = 9823111 bytes
+SHA1 (patch-aa) = 1a0af21eb2c2de898a7cb3500ce72f15581bfeb8
SHA1 (patch-ab) = 225873ed24e4a1f343acc8e3163c8151e9958c77
+SHA1 (patch-ac) = c31fcd65d7d37aeaf69c0eee9499bff596b6619b
diff --git a/lang/clisp/module.mk b/lang/clisp/module.mk
new file mode 100644
index 00000000000..d826be82329
--- /dev/null
+++ b/lang/clisp/module.mk
@@ -0,0 +1,33 @@
+# $NetBSD: module.mk,v 1.1 2010/07/09 18:08:05 asau Exp $
+
+# Used variables:
+# CLISP_MODULE - name of module and subdirectory in "modules"
+
+CLISP_VERSION= 2.49
+DISTNAME= clisp-$(CLISP_VERSION)
+
+# Sparc64 has assembler code problems, see
+# http://sourceforge.net/tracker/index.php?func=detail&aid=952681&group_id=1355&atid=101355
+NOT_FOR_PLATFORM= *-*-sparc64
+NOT_FOR_PLATFORM+= *-*-arm
+
+PKG_INSTALLATION_TYPES= overwrite pkgviews
+PKG_DESTDIR_SUPPORT= user-destdir
+
+
+CONFIGURE_DIRS= modules/$(CLISP_MODULE)
+GNU_CONFIGURE= YES
+BUILD_TARGET= clisp-module # converting to "all"
+
+CONFIGURE_ENV+= ac_install_sh="install -c"
+CONFIGURE_ENV+= ac_aux_dir=$(PREFIX)/lib/clisp/build-aux/
+#TEST_TARGET= check mod-check
+
+INSTALLATION_DIRS= lib/clisp
+
+do-install:
+ $(INSTALL_DATA_DIR) $(DESTDIR)$(PREFIX)/lib/clisp/dynmod
+ cd $(WRKSRC)/modules; \
+ $(SETENV) DESTDIR=$(DESTDIR:Q) sh $(LOCALBASE)/bin/clisp-link install $(CLISP_MODULE)
+
+.include "../../lang/clisp/buildlink3.mk"
diff --git a/lang/clisp/options.mk b/lang/clisp/options.mk
index 42f959036d5..f01c15527fe 100644
--- a/lang/clisp/options.mk
+++ b/lang/clisp/options.mk
@@ -1,11 +1,11 @@
-# $NetBSD: options.mk,v 1.3 2008/10/27 18:07:23 tnn Exp $
+# $NetBSD: options.mk,v 1.4 2010/07/09 18:08:05 asau Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.clisp
# this option is essential for some others to work:
PKG_SUPPORTED_OPTIONS+= ffcall
-PKG_SUPPORTED_OPTIONS+= pgsql gdbm bdb pcre rawsock pari fastcgi wildcard gtk2 zlib
+PKG_SUPPORTED_OPTIONS+= bdb pari wildcard
PKG_SUPPORTED_OPTIONS+= readline
PKG_OPTIONS_OPTIONAL_GROUPS= x11-bindings
@@ -13,7 +13,7 @@ PKG_OPTIONS_GROUP.x11-bindings= mit-clx new-clx
PKG_SUPPORTED_OPTIONS+= gmalloc
-PKG_SUGGESTED_OPTIONS+= ffcall pcre rawsock readline zlib
+PKG_SUGGESTED_OPTIONS+= ffcall readline
# CLISP doesn't work with jemalloc:
.if ${OPSYS} == "NetBSD"
@@ -37,26 +37,11 @@ PLIST.${option}= yes
CONFIGURE_ARGS+= --with-gmalloc
.endif
-# ffcall is required for other options to work
-.if !empty(PKG_OPTIONS:Mpgsql) && empty(PKG_OPTIONS:Mffcall)
-PKG_OPTIONS+= ffcall
-.endif
-
.if !empty(PKG_OPTIONS:Mffcall)
CONFIGURE_ARGS+= --with-dynamic-ffi
. include "../../devel/ffcall/buildlink3.mk"
.endif
-.if !empty(PKG_OPTIONS:Mpgsql)
-CONFIGURE_ARGS+= --with-module=postgresql
-. include "../../mk/pgsql.buildlink3.mk"
-.endif
-
-.if !empty(PKG_OPTIONS:Mgdbm)
-CONFIGURE_ARGS+= --with-module=gdbm
-. include "../../databases/gdbm/buildlink3.mk"
-.endif
-
.if !empty(PKG_OPTIONS:Mbdb)
# it requires version 4, not anything older
CONFIGURE_ARGS+= --with-module=berkeley-db
@@ -64,25 +49,11 @@ BUILDLINK_TRANSFORM+= l:db:db46
. include "../../databases/db46/buildlink3.mk"
.endif
-.if !empty(PKG_OPTIONS:Mpcre)
-CONFIGURE_ARGS+= --with-module=pcre
-. include "../../devel/pcre/buildlink3.mk"
-.endif
-
-.if !empty(PKG_OPTIONS:Mrawsock)
-CONFIGURE_ARGS+= --with-module=rawsock
-.endif
-
.if !empty(PKG_OPTIONS:Mpari)
CONFIGURE_ARGS+= --with-module=pari
. include "../../math/pari/buildlink3.mk"
.endif
-.if !empty(PKG_OPTIONS:Mfastcgi)
-CONFIGURE_ARGS+= --with-module=fastcgi
-. include "../../www/fcgi/buildlink3.mk"
-.endif
-
.if !empty(PKG_OPTIONS:Mnew-clx)
CONFIGURE_ARGS+= --with-module=clx/new-clx
. include "../../x11/libX11/buildlink3.mk"
@@ -95,24 +66,56 @@ CONFIGURE_ARGS+= --with-module=clx/mit-clx
. include "../../x11/libXau/buildlink3.mk"
.endif
-.if !empty(PKG_OPTIONS:Mgtk2)
-CONFIGURE_ARGS+= --with-module=gtk2
-. include "../../devel/libglade/buildlink3.mk"
-. include "../../x11/gtk2/buildlink3.mk"
-.endif
-
.if !empty(PKG_OPTIONS:Mwildcard)
CONFIGURE_ARGS+= --with-module=wildcard
.endif
-.if !empty(PKG_OPTIONS:Mzlib)
-CONFIGURE_ARGS+= --with-module=zlib
-BUILDLINK_API_DEPENDS.zlib+= zlib>=1.2
-.include "../../devel/zlib/buildlink3.mk"
-.endif
-
.if !empty(PKG_OPTIONS:Mreadline)
USE_GNU_READLINE= YES
CONFIGURE_ARGS+= --with-readline
.include "../../devel/readline/buildlink3.mk"
.endif
+
+
+# Options for those who wishes to build "static" CLISP:
+
+# .if !empty(PKG_OPTIONS:Mpgsql)
+# CONFIGURE_ARGS+= --with-module=postgresql
+# . include "../../mk/pgsql.buildlink3.mk"
+# .endif
+
+# .if !empty(PKG_OPTIONS:Mgdbm)
+# CONFIGURE_ARGS+= --with-module=gdbm
+# . include "../../databases/gdbm/buildlink3.mk"
+# .endif
+
+# .if !empty(PKG_OPTIONS:Mpcre)
+# CONFIGURE_ARGS+= --with-module=pcre
+# . include "../../devel/pcre/buildlink3.mk"
+# .endif
+
+# .if !empty(PKG_OPTIONS:Mrawsock)
+# CONFIGURE_ARGS+= --with-module=rawsock
+# .endif
+
+# .if !empty(PKG_OPTIONS:Mfastcgi)
+# CONFIGURE_ARGS+= --with-module=fastcgi
+# . include "../../www/fcgi/buildlink3.mk"
+# .endif
+
+# .if !empty(PKG_OPTIONS:Mgtk2)
+# CONFIGURE_ARGS+= --with-module=gtk2
+# . include "../../devel/libglade/buildlink3.mk"
+# . include "../../x11/gtk2/buildlink3.mk"
+# .endif
+
+# .if !empty(PKG_OPTIONS:Mzlib)
+# CONFIGURE_ARGS+= --with-module=zlib
+# BUILDLINK_API_DEPENDS.zlib+= zlib>=1.2
+# .include "../../devel/zlib/buildlink3.mk"
+# .endif
+
+## ffcall is required for some other options to work:
+# .if !empty(PKG_OPTIONS:Mpgsql) && empty(PKG_OPTIONS:Mffcall)
+# PKG_OPTIONS+= ffcall
+# .endif
diff --git a/lang/clisp/patches/patch-aa b/lang/clisp/patches/patch-aa
index ffe8de31ba6..846961fae8d 100644
--- a/lang/clisp/patches/patch-aa
+++ b/lang/clisp/patches/patch-aa
@@ -1,60 +1,83 @@
-$NetBSD: patch-aa,v 1.17 2009/12/15 23:22:06 asau Exp $
+$NetBSD: patch-aa,v 1.18 2010/07/09 18:08:05 asau Exp $
Override library subdirectory name for consistency.
Don't use cache file to avoid trailing space problem.
-Fix scripts installation.
+Support staged installation of modules.
---- src/makemake.in.orig 2009-07-28 17:58:03.000000000 +0400
-+++ src/makemake.in 2009-12-15 22:06:10.000000000 +0300
-@@ -538,6 +538,7 @@
- RANLIB='@RANLIB@' # either 'ranlib' or ':'
- INSTALL='@INSTALL@' # either 'install -c' or 'cp'
- INSTALL_PROGRAM='@INSTALL_PROGRAM@' # either 'install -c' or 'cp'
-+INSTALL_SCRIPT='@INSTALL_SCRIPT@' # as above only never strip
- INSTALL_DATA='@INSTALL_DATA@' # either 'install -c -m 644' or 'cp'
- GROFF='@GROFF@' # either 'groff' or ''
- DVIPDF='@DVIPDF@' # either 'dvipdf' or ''
-@@ -995,6 +996,7 @@
- if [ -z "$INSTALL" ] ; then
- INSTALL=$CP
- INSTALL_PROGRAM='$(INSTALL)'
-+ INSTALL_SCRIPT='$(INSTALL)'
- INSTALL_DATA='$(INSTALL)'
- fi
-
-@@ -1930,7 +1932,7 @@
+--- src/makemake.in.orig 2010-07-07 19:15:35.000000000 +0400
++++ src/makemake.in 2010-07-08 01:39:27.000000000 +0400
+@@ -1416,42 +1416,42 @@
+ XCC_PICFLAG=''
+ ;;
+ esac
+- XCC_CREATESHARED='create-shared-lib -o $lib $libs' # dummy command
++ XCC_CREATESHARED='create-shared-lib -o "${DESTDIR}$lib" $libs' # dummy command
+ case "$host_os" in
+ freebsd2.2*)
+- XCC_CREATESHARED='ld -Bshareable -o $lib $libs /usr/lib/c++rt0.o'
++ XCC_CREATESHARED='ld -Bshareable -o "${DESTDIR}$lib" $libs /usr/lib/c++rt0.o'
+ ;;
+ freebsd2* | netbsd* | openbsd*)
+- XCC_CREATESHARED='ld -Bshareable -o $lib $libs'
++ XCC_CREATESHARED='ld -Bshareable -o "${DESTDIR}$lib" $libs'
+ ;;
+ freebsd3* | gnu* | linux* | cygwin* | mingw* | k*bsd* | dragonfly*)
+- XCC_CREATESHARED='${CC} ${CFLAGS} ${CLFLAGS} -shared -o $lib $libs'
++ XCC_CREATESHARED='${CC} ${CFLAGS} ${CLFLAGS} -shared -o "${DESTDIR}$lib" $libs'
+ ;;
+ hpux9* | hpux10*)
+- XCC_CREATESHARED='ld -b +s -o $lib $libs'
++ XCC_CREATESHARED='ld -b +s -o "${DESTDIR}$lib" $libs'
+ ;;
+ irix5* | irix6*)
+ case " $CC $CFLAGS " in
+- *" -32 "*) XCC_CREATESHARED='ld -32 -shared -o $lib $libs' ;;
+- *" -n32 "*) XCC_CREATESHARED='ld -n32 -shared -o $lib $libs' ;;
+- *" -64 "*) XCC_CREATESHARED='ld -64 -shared -o $lib $libs' ;;
+- *) XCC_CREATESHARED='ld -shared -o $lib $libs' ;;
++ *" -32 "*) XCC_CREATESHARED='ld -32 -shared -o "${DESTDIR}$lib" $libs' ;;
++ *" -n32 "*) XCC_CREATESHARED='ld -n32 -shared -o "${DESTDIR}$lib" $libs' ;;
++ *" -64 "*) XCC_CREATESHARED='ld -64 -shared -o "${DESTDIR}$lib" $libs' ;;
++ *) XCC_CREATESHARED='ld -shared -o "${DESTDIR}$lib" $libs' ;;
+ esac
+ ;;
+ osf3* | osf4*)
+- XCC_CREATESHARED='ld -shared -expect_unresolved -o $lib $libs -lc'
++ XCC_CREATESHARED='ld -shared -expect_unresolved -o "${DESTDIR}$lib" $libs -lc'
+ ;;
+ sco3.2v5*)
+- XCC_CREATESHARED='ld -G -o $lib $libs'
++ XCC_CREATESHARED='ld -G -o "${DESTDIR}$lib" $libs'
+ ;;
+ solaris2*)
+- XCC_CREATESHARED='ld -G -z text -o $lib $libs'
++ XCC_CREATESHARED='ld -G -z text -o "${DESTDIR}$lib" $libs'
+ ;;
+ sunos4*)
+- XCC_CREATESHARED='ld -assert pure-text -Bstatic -o $lib $libs'
++ XCC_CREATESHARED='ld -assert pure-text -Bstatic -o "${DESTDIR}$lib" $libs'
+ ;;
+ darwin*)
+- XCC_CREATESHARED='${CC} -bundle -flat_namespace -undefined suppress -o $lib $libs'
++ XCC_CREATESHARED='${CC} -bundle -flat_namespace -undefined suppress -o "${DESTDIR}$lib" $libs'
+ ;;
+ *) echo "$0: how do you create a shared library on ${host_os}?" >&2;
+ ;;
+@@ -1917,7 +1917,7 @@
echol "psdir = ${PSDIR}"
echol "pdfdir = ${PDFDIR}"
echol "libdir = ${LIBDIR}"
-echol "lisplibdir = \$(libdir)${NEXT_}\$(TOPDIR)"
+echol "lisplibdir = \$(libdir)${NEXT_}clisp"
- if [ -n "$USE_GETTEXT" ] ; then
- echol "localedir = ${LOCALEDIR}"
- fi
-@@ -2082,6 +2084,7 @@
- echol '# Programs used by "make install":'
- echol "INSTALL = ${INSTALL}"
- echol "INSTALL_PROGRAM = ${INSTALL_PROGRAM}"
-+echol "INSTALL_SCRIPT = ${INSTALL_SCRIPT}"
- echol "INSTALL_DATA = ${INSTALL_DATA}"
- echol
- echol '# Programs used by "make distrib":'
-@@ -3348,7 +3351,7 @@
+ test -n "$USE_GETTEXT" && echol "localedir = ${LOCALEDIR}"
+ echol "elispdir = ${ELISPDIR}"
+ echol "vimdir = ${VIMDIR}"
+@@ -3315,7 +3315,7 @@
done
# we must use $(SHELL) for sub-configures because when the top CONFIG_SHELL
# is bash, config.cache may be unparsable with sh on Solaris
--echotab " \$(SHELL) ./configure --cache-file=\$\${cache} --srcdir=\$\$m \$(MODULE_CONFIGURE_FLAGS);\\"
-+echotab " \$(SHELL) ./configure --srcdir=\$\$m \$(MODULE_CONFIGURE_FLAGS);\\"
- echotab " else \$(SHELL) ./configure --srcdir=\$\$m \$(MODULE_CONFIGURE_FLAGS); \\"
+-echotab " \$(SHELL) \$\$m/configure --with-clisp=\"${HEREP}/clisp -K boot ${someflags}\" --cache-file=\$\${cache} --srcdir=\$\$m \$(MODULE_CONFIGURE_FLAGS);\\"
++echotab " \$(SHELL) \$\$m/configure --with-clisp=\"${HEREP}/clisp -K boot ${someflags}\" --srcdir=\$\$m \$(MODULE_CONFIGURE_FLAGS);\\"
+ echotab " else \\"
+ echotab " \$(SHELL) \$\$m/configure --srcdir=\$\$m \$(MODULE_CONFIGURE_FLAGS); \\"
echotab " fi ) ;\\"
- echotab "fi"
-@@ -3608,7 +3611,8 @@
- echotab "(cd \$(DESTDIR)\$(lisplibdir) && \$(RMRF) base full)"
- echotab "mkdir \$(DESTDIR)\$(lisplibdir)/base"
- echotab "mkdir \$(DESTDIR)\$(lisplibdir)/full"
-- echotab "for f in clisp-link linkkit/* base/* full/*; do \\"
-+ echotab "\$(INSTALL_SCRIPT) clisp-link \$(DESTDIR)\$(lisplibdir)/clisp-link"
-+ echotab "for f in linkkit/* base/* full/*; do \\"
- echotab " case \$\$f in \\"
- echotab " */lisp${LEXE}|clisp-link) \$(INSTALL_PROGRAM) \$\$f \$(DESTDIR)\$(lisplibdir)/\$\$f;; \\"
- echotab " *) \$(INSTALL_DATA) \$\$f \$(DESTDIR)\$(lisplibdir)/\$\$f;; \\"
diff --git a/lang/clisp/patches/patch-ac b/lang/clisp/patches/patch-ac
new file mode 100644
index 00000000000..ec7c38d09cb
--- /dev/null
+++ b/lang/clisp/patches/patch-ac
@@ -0,0 +1,71 @@
+$NetBSD: patch-ac,v 1.13 2010/07/09 18:08:05 asau Exp $
+
+Support staged installation.
+
+--- src/clisp-link.in.orig 2010-05-25 23:54:54.000000000 +0400
++++ src/clisp-link.in 2010-07-09 00:17:46.000000000 +0400
+@@ -145,8 +145,8 @@
+ LIBDIR=""
+ set_dynamic_module_location() {
+ if test -z "${LIBDIR}"; then
+- if touch ${CLISP_LIBDIR}/${DYNMOD}/.abazonk 2>/dev/null; then
+- rm -f ${CLISP_LIBDIR}/${DYNMOD}/.abazonk
++ if touch "${DESTDIR}${CLISP_LIBDIR}/${DYNMOD}/.abazonk" 2>/dev/null; then
++ rm -f "${DESTDIR}${CLISP_LIBDIR}/${DYNMOD}/.abazonk"
+ LIBDIR=${CLISP_LIBDIR}
+ else # cf. src/m4/clisp.m4
+ CLISP_LIBDIR_USER=`clisp_eval '(and *user-lib-directory* (namestring *user-lib-directory*))'`
+@@ -194,29 +194,29 @@
+ done
+ # create the REQUIRE file
+ reqfile=${dyndir}/${firstmod}.lisp
+- rm -f ${reqfile}
++ rm -f "${DESTDIR}${reqfile}"
+ for f in ${TO_PRELOAD}; do
+ # preload files are not compiled
+- echo "(cl:load (cl:merge-pathnames \"../${moduledir}/${f}\" cl:*load-truename*))" >> ${reqfile}
++ echo "(cl:load (cl:merge-pathnames \"../${moduledir}/${f}\" cl:*load-truename*))" >> "${DESTDIR}${reqfile}"
+ done
+ # dll has SHREXT extension
+ DM="(sys::dynload-modules (cl:merge-pathnames \"${dll}\" cl:*load-truename*) (quote ("
+ for m in ${NEW_MODULES}; do
+ DM=${DM}" \"$m\""
+ done
+- echo ${DM}" )))" >> ${reqfile}
++ echo ${DM}" )))" >> "${DESTDIR}${reqfile}"
+ if test -n "${TO_LOAD}"; then
+- echo ";; for def-call-out to non-existent functions" >> ${reqfile}
+- echo "(ext:appease-cerrors" >> ${reqfile}
++ echo ";; for def-call-out to non-existent functions" >> "${DESTDIR}${reqfile}"
++ echo "(ext:appease-cerrors" >> "${DESTDIR}${reqfile}"
+ for f in ${TO_LOAD}; do
+ # module files must be compiled
+- echo " (cl:load (cl:merge-pathnames \"../${moduledir}/${f}.fas\" cl:*load-truename*))" >> ${reqfile}
++ echo " (cl:load (cl:merge-pathnames \"../${moduledir}/${f}.fas\" cl:*load-truename*))" >> "${DESTDIR}${reqfile}"
+ done
+- echo ")" >> ${reqfile}
++ echo ")" >> "${DESTDIR}${reqfile}"
+ fi
+ # create links to the REQUIRE file
+ for m in ${othermods}; do
+- ln ${dyndir}/$m.lisp ${reqfile}
++ ln ${dyndir}/$m.lisp "${DESTDIR}${reqfile}"
+ done
+ fi
+ }
+@@ -556,12 +556,12 @@
+ absolute_moduledir=`/bin/pwd`
+ . ./link.sh
+ prepare_dynamic_module # sets LIBDIR
+- mkdir -p "${LIBDIR}/$moduledir"
++ mkdir -p "${DESTDIR}${LIBDIR}/$moduledir"
+ # when running "CLISP=./clisp ./clisp-link install <modname>"
+ # in the build directory, avoid "cp: `...' and `...' are the same file"
+- absolute_distribdir=`cd "${LIBDIR}/$moduledir"; /bin/pwd`
++ absolute_distribdir=`cd "${DESTDIR}${LIBDIR}/$moduledir"; /bin/pwd`
+ test "${absolute_moduledir}" = "${absolute_distribdir}" || \
+- make clisp-module-distrib LN=cp distribdir="${LIBDIR}/$moduledir"
++ make clisp-module-distrib LN=cp distribdir="${DESTDIR}${LIBDIR}/$moduledir"
+ cd "$absolute_currentdir"
+ done
+ ;;