# Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ inherit eutils autotools python DESCRIPTION="Library interface to IPMI" HOMEPAGE="http://sourceforge.net/projects/openipmi/" MY_PN="OpenIPMI" MY_P="${MY_PN}-${PV}" SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" LICENSE="LGPL-2.1 GPL-2" SLOT="0" KEYWORDS="~amd64 ~ia64 ~ppc ~x86" IUSE="crypt snmp perl tcl python" S="${WORKDIR}/${MY_P}" RESTRICT='test' RDEPEND="dev-libs/glib sys-libs/gdbm crypt? ( dev-libs/openssl ) snmp? ( net-analyzer/net-snmp ) perl? ( dev-lang/perl ) python? ( dev-lang/python ) tcl? ( dev-lang/tcl )" DEPEND="${RDEPEND} >=dev-lang/swig-1.3.21 virtual/pkgconfig" # Gui is broken! # python? ( tcl? ( tk? ( dev-lang/tk dev-tcltk/tix ) ) )" # Upstream doesn't use --without properly use_yesno() { yesmsg="yes" [ -n "$3" ] && yesmsg="$3" if use $1; then echo "--with-$2=${yesmsg}" else echo "--without-$2" fi } src_unpack() { unpack ${A} # Bug #338499: The installed OpenIPMIpthread.pc depends on a non-existing # pthread.pc. We patch it to link -lpthread directly instead. epatch "${FILESDIR}/${P}-pthreads.patch" # Bug #290763: The buildsys tries to compile+optimize the py file during # install, when the .so might not be been added yet. We just skip the files # and use python_mod_optimize ourselves later instead. sed -r -i \ -e '/INSTALL.*\.py[oc] /d' \ -e '/install-exec-local/s,OpenIPMI.pyc OpenIPMI.pyo,,g' \ "${S}"/swig/python/Makefile.{am,in} # Bug #298250: parallel install fix. sed -r -i \ -e '/^install-data-local:/s,$, install-exec-am,g' \ "${S}"/cmdlang/Makefile.{am,in} # We touch the .in and .am above because if we use the below, the Perl stuff # is very fragile, and often fails to link. #cd "${S}" #elibtoolize #eautoreconf } src_compile() { local myconf="" myconf="${myconf} `use_with snmp ucdsnmp yes`" myconf="${myconf} `use_with crypt openssl yes`" myconf="${myconf} `use_with perl perl yes`" myconf="${myconf} `use_with tcl tcl yes`" myconf="${myconf} `use_with python python yes`" # GUI is broken #use tk && use python && use !tcl && \ # ewarn "Not building Tk GUI because it needs both Python AND Tcl" #if use python && use tcl; then # myconf="${myconf} `use_yesno tk tkinter yes`" #else # myconf="${myconf} `use_yesno tk tkinter no`" #fi myconf="${myconf} --without-tkinter" myconf="${myconf} --with-glib --with-swig" # these binaries are for root! econf ${myconf} --bindir=/usr/sbin || die "econf failed" emake || die "emake $i failed" } src_install() { emake DESTDIR="${D}" install || die dodoc README* FAQ ChangeLog TODO doc/IPMI.pdf lanserv/README.emulator newdoc cmdlang/README README.cmdlang } pkg_postinst() { use python && python_mod_optimize $(python_get_sitedir)/OpenIPMI.py } pkg_postrm() { use python && python_mod_cleanup $(python_get_sitedir)/OpenIPMI.py }