summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lisp/clisp/clisp-2.31.ebuild')
-rw-r--r--dev-lisp/clisp/clisp-2.31.ebuild86
1 files changed, 86 insertions, 0 deletions
diff --git a/dev-lisp/clisp/clisp-2.31.ebuild b/dev-lisp/clisp/clisp-2.31.ebuild
new file mode 100644
index 000000000000..c5938fd62cc5
--- /dev/null
+++ b/dev-lisp/clisp/clisp-2.31.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/clisp/clisp-2.31.ebuild,v 1.1 2003/09/05 03:21:37 mkennedy Exp $
+
+IUSE="X threads fastcgi postgres ldap"
+
+DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
+HOMEPAGE="http://clisp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/clisp/${P}.tar.bz2"
+S=${WORKDIR}/${P}
+DEPEND="dev-libs/libsigsegv
+ dev-lisp/common-lisp-controller
+ fastcgi? ( dev-libs/fcgi )
+ postgres? ( dev-db/postgresql )
+ X? ( x11-base/xfree )
+ ldap? ( net-nds/openldap )"
+
+LICENSE="GPL-2"
+SLOT="2"
+KEYWORDS="~x86 ~ppc"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ patch -p1 <${FILESDIR}/${PV}/bindings-glibc-linux.lisp-gentoo.patch || die
+ patch -p1 <${FILESDIR}/${PV}/bindings-wildcard-fnmatch.c-gentoo.patch || die
+}
+
+src_compile() {
+ local myconf="--with-dynamic-ffi
+ --with-unicode
+ --with-module=regexp
+ --with-module=syscalls
+ --with-module=bindings/glibc
+ --with-module=wildcard
+ --with-module=queens"
+# --with-module=netica (netica is non-free, so there is little point in supporting it)
+ use X && myconf="${myconf} --with-module=clx/new-clx"
+ use postgres && myconf="${myconf} --with-module=postgresql"
+ use fastcgi && myconf="${myconf} --with-module=fastcgi"
+# use ldap && myconf="${myconf} --with-module=dirkey" # openldap is currently broken
+ use threads && myconf="${myconf} --with-threads=POSIX_THREADS"
+ unset CFLAGS
+ ./configure --prefix=/usr ${myconf} || die "./configure failed"
+ cd src
+ ./makemake ${myconf} >Makefile
+ make config.lisp
+ sed 's,"vi","nano",g' <config.lisp >config.gentoo && mv config.gentoo config.lisp || die
+ make || die
+}
+
+src_install() {
+ cd src && make DESTDIR=${D} prefix=/usr install-bin || die
+ doman clisp.1 clreadline.3
+ dodoc SUMMARY README* NEWS MAGIC.add GNU-GPL COPYRIGHT \
+ ANNOUNCE clisp.dvi clisp.html clreadline.dvi clreadline.html
+
+ rm -f ${D}/usr/lib/clisp/base/*
+ (cd ${D}/usr/lib/clisp/base && ln -s ../full/* .)
+ chmod a+x ${D}/usr/lib/clisp/clisp-link
+
+ # install common-lisp-controller profile
+ exeinto /usr/lib/common-lisp/bin
+ doexe ${FILESDIR}/clisp.sh
+ insinto /usr/lib/clisp
+ doins ${FILESDIR}/install-clc.lisp
+}
+
+pkg_preinst() {
+ local clisp_dir=/usr/lib/clisp
+ local old_mem=$clisp_dir/full/lispinit.mem
+ local new_mem=$clisp_dir/full/lispinit-new.mem
+ local clean_mem=$clisp_dir/full/lispinit-clean.mem
+ local lisp_run=$clisp_dir/full/lisp.run
+
+ rm -f $old_mem $new_mem $clean_mem $lisp_run
+}
+
+pkg_postinst() {
+ /usr/sbin/register-common-lisp-implementation clisp
+}
+
+pkg_prerm() {
+ /usr/sbin/unregister-common-lisp-implementation clisp
+}
+