# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 inherit eutils java-pkg-2 DESCRIPTION="ABCL is an implementation of ANSI Common Lisp that runs in a Java VM" HOMEPAGE="http://armedbear.org/abcl.html" SRC_URI="http://armedbear.org/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="~x86" IUSE="jad clisp cmucl" RDEPEND=">=virtual/jre-1.4 jad? ( dev-java/jad-bin )" DEPEND=">=virtual/jdk-1.4 dev-lang/python !cmucl? ( !clisp? ( dev-lisp/sbcl ) ) cmucl? ( dev-lisp/cmucl ) clisp? ( dev-lisp/clisp )" src_unpack() { unpack ${A} cat > "${S}/customizations.lisp" <"${S}/build.lisp" <<'EOF' (progn (load "build-abcl") (funcall (intern "BUILD-ABCL" "BUILD-ABCL") :clean t :full t) #+sbcl (sb-ext:quit) #+clisp (ext:quit) #+cmu (extensions:quit)) EOF } getutfvars() { python << EOF import os for key,value in os.environ.iteritems(): try: value.encode() except UnicodeDecodeError: print key EOF } src_compile() { local lisp_compiler lisp_compiler_args if use clisp; then lisp_compiler="clisp" lisp_compiler_args="-ansi build.lisp" elif use cmucl; then lisp_compiler="lisp" lisp_compiler_args="-noinit -nositeinit -batch -load build.lisp" else lisp_compiler="sbcl" lisp_compiler_args="--sysinit /dev/null --userinit /dev/null --disable-debugger --load build.lisp" fi einfo "Filtering non ASCII environment variables" for var in $(getutfvars); do einfo " ${var}" unset ${var} done $lisp_compiler $lisp_compiler_args || die } src_install() { java-pkg_dolauncher ${PN} --java_args "-Xmx256M -Xrs" --main org.armedbear.lisp.Main java-pkg_doso src/org/armedbear/lisp/libabcl.so java-pkg_dojar abcl.jar dodoc README || die }