# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI=5 PYTHON_COMPAT=( python2_7 ) inherit eutils python-single-r1 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 ~hppa ~ia64 ~ppc ~x86" IUSE="crypt snmp perl tcl python" S="${WORKDIR}/${MY_P}" RESTRICT='test' RDEPEND="dev-libs/popt dev-libs/glib sys-libs/gdbm crypt? ( dev-libs/openssl ) snmp? ( net-analyzer/net-snmp ) perl? ( dev-lang/perl ) python? ( ${PYTHON_DEPS} ) 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 ) ) )" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" # 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 } pkg_setup() { use python && python-single-r1_pkg_setup } src_prepare() { # Bug #338499: The installed OpenIPMIpthread.pc depends on a non-existing # pthread.pc. We patch it to link -lpthread directly instead. epatch "${FILESDIR}/${PN}-2.0.16-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' \ swig/python/Makefile.{am,in} || die # Bug #298250: parallel install fix. sed -r -i \ -e '/^install-data-local:/s,$, install-exec-am,g' \ cmdlang/Makefile.{am,in} || die # 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_configure() { 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" myconf="${myconf} --with-marvell-bmc" # these binaries are for root! econf ${myconf} --bindir=/usr/sbin } src_install() { default dodoc README* FAQ ChangeLog TODO doc/IPMI.pdf lanserv/README.vm newdoc cmdlang/README README.cmdlang prune_libtool_files use python && python_optimize "${ED}"/$(python_get_sitedir) }