diff options
Diffstat (limited to 'dev-scheme/gambit/gambit-4.1.2.ebuild')
-rw-r--r-- | dev-scheme/gambit/gambit-4.1.2.ebuild | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/dev-scheme/gambit/gambit-4.1.2.ebuild b/dev-scheme/gambit/gambit-4.1.2.ebuild new file mode 100644 index 000000000000..4a1bf18f21fa --- /dev/null +++ b/dev-scheme/gambit/gambit-4.1.2.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-scheme/gambit/gambit-4.1.2.ebuild,v 1.1 2007/12/17 21:32:54 hkbst Exp $ + +inherit eutils elisp-common check-reqs autotools multilib + +MY_PN=gambc +MY_PV=${PV//./_} +MY_P=${MY_PN}-v${MY_PV} + +DESCRIPTION="Gambit-C is a native Scheme to C compiler and interpreter." +HOMEPAGE="http://www.iro.umontreal.ca/~gambit/" +SRC_URI="http://www.iro.umontreal.ca/~gambit/download/gambit/v${PV%.*}/source/${MY_P}.tgz" + +LICENSE="|| ( Apache-2.0 LGPL-2.1 )" +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~x86" + +DEPEND="emacs? ( virtual/emacs )" + +SITEFILE="50gambit-gentoo.el" + +S=${WORKDIR}/${MY_P} + +IUSE="big-iron emacs static" + +pkg_setup() { + if ! use big-iron; then + ewarn "NOT compiling each Scheme module as a single C function" + ewarn "NOT using gcc specific optimizations" + ewarn "approximately 0.5GB ram will be needed" + ewarn "if you experience thrashing, try disabling parallel building or setting -O1" + # need this much memory in MBytes (does *not* check swap) + CHECKREQS_MEMORY="768" check_reqs + else + ewarn "compiling each Scheme module as a single C function" + ewarn "using gcc specific optimizations" + ewarn "approximately 2GB ram will be needed instead of 0.5GB" + ewarn "this will cause heavy thrashing of your system" + ewarn "and may cause your compiler to crash when it runs out of memory" + ewarn "unless your system is BIG IRON" + # need this much memory in MBytes (does *not* check swap) + CHECKREQS_MEMORY="2560" check_reqs + fi +} + +src_unpack() { + unpack ${A}; cd "${S}" +# cp configure.ac configure.ac.old + sed -e 's:PACKAGE_SUBDIR="/$PACKAGE_VERSION"::' \ + -e 's:#PACKAGE_SUBDIR="":PACKAGE_SUBDIR="":' -i configure.ac + #don't force -O1 + sed 's:$DASH_O1::' -i configure.ac + eautoreconf +# diff -u configure.ac.old configure.ac +} + +src_compile() { + econf $(use_enable !static shared) $(use_enable big-iron single-host) $(use_enable big-iron gcc-opts) + + emake || die "emake failed" + + if use emacs; then + ( cd misc; elisp-comp *.el ) + fi +} + +src_install() { + einstall docdir="${D}"/usr/share/doc/${PF} || die "einstall failed" + + rm "${D}"/usr/current + + mv "${D}"/usr/syntax-case.scm "${D}"/usr/$(get_libdir) + + # rename the /usr/bin/gsc to avoid collision with gsc from ghostscript + mv "${D}"/usr/bin/gsc "${D}"/usr/bin/gsc-gambit + + # remove emacs/site-lisp/gambit.el + rm -r "${D}"/usr/share/emacs + if use emacs; then + elisp-install ${PN} misc/*.{el,elc} + elisp-site-file-install "${FILESDIR}"/${SITEFILE} + fi + + dodoc INSTALL.txt README + insinto /usr/share/doc/${PF} + doins -r examples + + # create some more explicit names + dosym gsc-gambit usr/bin/gambit-compiler + dosym gsi usr/bin/gambit-interpreter + + echo "GAMBCOPT=\"=/usr/\"" > "${T}"/50gambit && doenvd "${T}"/50gambit +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} |