# 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.2 2003/09/06 22:35:54 msterret 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.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 }