# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI="5" SUPPORT_PYTHON_ABIS="1" RESTRICT_PYTHON_ABIS="*-jython" inherit eutils multilib perl-module python toolchain-funcs DESCRIPTION="A library which implements a curses-based widget set for text terminals" HOMEPAGE="http://www.clifford.at/stfl/" SRC_URI="http://www.clifford.at/${PN}/${P}.tar.gz" LICENSE="LGPL-3" SLOT="0" KEYWORDS="amd64 ~ppc x86" IUSE="examples perl python ruby static-libs" COMMON_DEPEND="sys-libs/ncurses[unicode] perl? ( dev-lang/perl ) ruby? ( dev-lang/ruby ) python? ( dev-lang/python )" DEPEND="${COMMON_DEPEND} perl? ( dev-lang/swig ) python? ( >=dev-lang/swig-1.3.40 ) ruby? ( dev-lang/swig )" RDEPEND="${COMMON_DEPEND}" pkg_setup() { use python && python_pkg_setup } src_prepare() { sed -i \ -e 's/-Os -ggdb//' \ -e 's/^\(all:.*\) example/\1/' \ -e 's/$(CC) -shared/$(CC) $(LDFLAGS) -shared/' \ -e 's/ -o $@ $(LDLIBS) $^/ $^ $(LDLIBS) -o $@/' \ -e 's/-lncursesw/-lncursesw -pthread/' \ Makefile || die "sed failed" if ! use static-libs ; then sed -i -e "/install .* libstfl.a/d" Makefile || die fi epatch "${FILESDIR}"/${PN}-0.21-python.patch epatch "${FILESDIR}"/${P}-soname-symlink.patch epatch "${FILESDIR}"/${P}-ruby-sharedlib.patch if use perl ; then echo "FOUND_PERL5=1" >> Makefile.cfg else echo "FOUND_PERL5=0" >> Makefile.cfg fi if use ruby ; then echo "FOUND_RUBY=1" >> Makefile.cfg else echo "FOUND_RUBY=0" >> Makefile.cfg fi echo "FOUND_PYTHON=0" >> Makefile.cfg } src_configure() { :; } src_compile() { emake CC="$(tc-getCC)" if use python ; then python_copy_sources python # Based on code from python/Makefile.snippet. building() { echo swig -python -threads stfl.i swig -python -threads stfl.i echo "$(tc-getCC)" ${CFLAGS} ${LDFLAGS} -shared -pthread -fPIC stfl_wrap.c -I$(python_get_includedir) -I.. ../libstfl.so.${PV} -lncursesw -o _stfl.so "$(tc-getCC)" ${CFLAGS} ${LDFLAGS} -shared -pthread -fPIC stfl_wrap.c -I$(python_get_includedir) -I.. ../libstfl.so.${PV} -lncursesw -o _stfl.so } python_execute_function -s --source-dir python building fi } src_install() { emake prefix="/usr" DESTDIR="${D}" libdir="$(get_libdir)" install if use python ; then installation() { insinto $(python_get_sitedir) doins stfl.py _stfl.so } python_execute_function -s --source-dir python installation fi dodoc README local exdir="/usr/share/doc/${PF}/examples" if use examples ; then insinto ${exdir} doins example.{c,stfl} insinto ${exdir}/python doins python/example.py if use perl ; then insinto ${exdir}/perl doins perl5/example.pl fi if use ruby ; then insinto ${exdir}/ruby doins ruby/example.rb fi fi perl_delete_localpod } pkg_postinst() { use python && python_mod_optimize stfl.py } pkg_postrm() { use python && python_mod_cleanup stfl.py }