# Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/dev-scheme/tinyscheme/tinyscheme-1.40.ebuild,v 1.2 2011/11/30 14:51:15 grobian Exp $ EAPI="3" inherit flag-o-matic multilib DESCRIPTION="Lightweight scheme interpreter" HOMEPAGE="http://tinyscheme.sourceforge.net" SRC_URI="mirror://sourceforge/tinyscheme/${P}.tar.gz" LICENSE="BSD" SLOT="0" KEYWORDS="~amd64 ~ppc ~x86 ~ppc-macos ~x64-macos" IUSE="" DEPEND="" RDEPEND="" #S=${WORKDIR}/${MY_P} src_prepare() { # cp makefile makefile.old #separate lines, because shell comments are weak sed 's/CC = gcc -fpic/CC = gcc -fpic ${CFLAGS}/' -i makefile sed 's/LDFLAGS/LOCAL_LDFLAGS/g' -i makefile sed 's/LOCAL_LDFLAGS = -shared/LOCAL_LDFLAGS = -shared ${LDFLAGS}/' -i makefile sed 's/DEBUG=-g -Wno-char-subscripts -O/DEBUG=/' -i makefile sed "s/LD)/& -Wl,-soname,lib${PN}.so.${PV}/" -i makefile if [[ ${CHOST} == *-darwin* ]] ; then append-flags -DOSX sed -i \ -e 's/SOsuf=so/SOsuf=dylib/' \ -e "s|\(\$(LD)\)[^\$]\+\(\$(\)|\1 -Wl,-install_name,${EPREFIX}/usr/lib/lib${PN}.${PV}.dylib \2|" \ makefile || die fi # diff -u makefile.old makefile } src_install() { newbin scheme ${PN} || die "newbin failed" if [[ ${CHOST} == *-darwin* ]] ; then # this should be done for ELF (all other systems) as well, but only # Darwin/MachO is strict in the install_name (soname) actually pointing # somewhere, so we won't change the ELF scheme here (up to maintainer) mv libtinyscheme$(get_libname) libtinyscheme$(get_libname ${PV}) || die ln -s libtinyscheme$(get_libname ${PV}) libtinyscheme$(get_libname) || die dolib libtinyscheme$(get_libname ${PV}) || die "dolib failed" fi dolib libtinyscheme.a libtinyscheme$(get_libname) || die "dolib failed" dodoc Manual.txt || die "dodoc failed" # Bug 328967: dev-scheme/tinyscheme-1.39-r1 doesn't install header file insinto /usr/include/ newins scheme.h tinyscheme.h || die "newins scheme.h tinyscheme.h failed" local INIT_DIR=/usr/share/${PN}/ insinto ${INIT_DIR} doins init.scm || die "doins failed" dodir /etc/env.d/ && echo "TINYSCHEMEINIT=\"${EPREFIX}${INIT_DIR}init.scm\"" > "${ED}"/etc/env.d/50tinyscheme }