a project to simplify installation of open source software
on Mac OS X and Darwin
# $Id: Portfile 22478 2007-03-02 05:16:40Z pipping@macports.org $
PortSystem 1.0
name clisp
version 2.40
categories lang
maintainers nomaintainer@macports.org
platforms darwin
description The Clisp Common Lisp Implementation
long_description \
CLISP is a Common Lisp implementation by Bruno Haible, \
formerly of Karlsruhe University, and Michael Stoll, \
formerly of Munich University, both in Germany. \
It mostly supports the Lisp described in the \
ANSI Common Lisp standard. \
CLISP includes an interpreter, a compiler, almost all \
of CLOS, a foreign language interface and a socket interface. \
An X11 interface is available through CLX and Garnet. \
Command line editing is provided by readline.
homepage http://clisp.cons.org/
master_sites gnu:clisp/release/${version} \
sourceforge
depends_lib port:readline \
port:gettext \
port:libsigsegv
checksums md5 3115dbdbb89602c2c91f82696214fede
patchfiles patch-documentation.lisp
build.dir ${worksrcpath}/src
configure.env CPPFLAGS=-I${prefix}/include \
LDFLAGS=-L${prefix}/lib
variant dynffi {
ui_msg "enabling dynamic foreign function interface"
}
variant nolibsigsegv {
depends_lib-delete port:libsigsegv
configure.args-append --ignore-absence-of-libsigsegv
}
platform darwin 6 {
ui_msg "clisp is not supported on Jaguar (OS X 10.2.x)"
exit 1
}
platform darwin 7 {
depends_lib-delete port:libsigsegv
configure.args-append --ignore-absence-of-libsigsegv
if { [variant_isset dynffi] } {
post-configure { cd ${build.dir}
system "./makemake --prefix=${prefix} \
--with-unicode \
--with-readline \
--with-dynamic-ffi \
--with-export-syscalls \
--with-gettext > Makefile && \
make config.lisp"
reinplace "s|CLFLAGS =|CLFLAGS = -L${prefix}/lib|g" Makefile
}
} else {
post-configure { cd ${build.dir}
system "./makemake --prefix=${prefix} \
--with-unicode \
--with-readline \
--without-dynamic-ffi \
--with-export-syscalls \
--with-gettext > Makefile && \
make config.lisp"
reinplace "s|CLFLAGS =|CLFLAGS = -L${prefix}/lib|g" Makefile
}
}
}
platform darwin 8 {
if { [variant_isset dynffi] } {
post-configure { cd ${build.dir}
system "./makemake --prefix=${prefix} \
--with-unicode \
--with-readline \
--with-dynamic-ffi \
--with-export-syscalls \
--with-gettext > Makefile && \
make config.lisp"
reinplace "s|CLFLAGS =|CLFLAGS = -L${prefix}/lib|g" Makefile
}
} else {
post-configure { cd ${build.dir}
system "./makemake --prefix=${prefix} \
--with-unicode \
--with-readline \
--without-dynamic-ffi \
--with-export-syscalls \
--with-gettext > Makefile && \
make config.lisp"
reinplace "s|CLFLAGS =|CLFLAGS = -L${prefix}/lib|g" Makefile
}
}
}
#
# The repetition of the CPPFLAGS and LDFLAGS is necessary because of clisp's
# hand written (and very fragile) configuration process, as is the clearing
# of the configuration cache.
#
build { system "ulimit -s 8192 && cd ${build.dir}"
system "rm ./config.cache"
system "CPPFLAGS=-I${prefix}/include LDFLAGS=-L${prefix}/lib make"
system "CPPFLAGS=-I${prefix}/include LDFLAGS=-L${prefix}/lib make check"
}
pre-destroot { cd ${build.dir} }