diff --git a/sys-libs/openipmi/Manifest b/sys-libs/openipmi/Manifest new file mode 100644 index 0000000..689cbe6 --- /dev/null +++ b/sys-libs/openipmi/Manifest @@ -0,0 +1 @@ +DIST OpenIPMI-2.0.21.tar.gz 3473323 SHA256 37b844d02119b94b31e2bb2bd8062ffdf6cd3eb4bc75fa6c47184e8b14fe95b8 SHA512 b684259ee5d47c36273fe6b47d60d0481c96b64b2e9421ce3190d9514e4f450b0db28d12c86a8814dcce23ba3ecfcecbbe9251d298244f1e9194a9f7563862a5 WHIRLPOOL 577da7215effe5f2e26616b4c744da42fd261263834d4d3d264220f95c4a60b3955c642d27c32af30dbf2ce0821078a463fa140edc9d3475daec7e6f84361958 diff --git a/sys-libs/openipmi/files/openipmi-2.0.16-pthreads.patch b/sys-libs/openipmi/files/openipmi-2.0.16-pthreads.patch new file mode 100644 index 0000000..7666e34 --- /dev/null +++ b/sys-libs/openipmi/files/openipmi-2.0.16-pthreads.patch @@ -0,0 +1,12 @@ +diff -ruN OpenIPMI-2.0.16.orig/OpenIPMIpthread.pc.in OpenIPMI-2.0.16/OpenIPMIpthread.pc.in +--- OpenIPMI-2.0.16.orig/OpenIPMIpthread.pc.in 2005-08-17 05:56:02.000000000 +0200 ++++ OpenIPMI-2.0.16/OpenIPMIpthread.pc.in 2010-10-31 21:35:56.126933520 +0100 +@@ -6,6 +6,6 @@ + Name: OpenIPMIpthread + Description: Pthread OS handler for OpenIPMI + Version: @VERSION@ +-Requires: OpenIPMI pthread +-Libs: -L${libdir} -lOpenIPMIutils -lOpenIPMIpthread ++Requires: OpenIPMI ++Libs: -L${libdir} -lOpenIPMIutils -lOpenIPMIpthread -lpthread + Cflags: -I${includedir} diff --git a/sys-libs/openipmi/openipmi-2.0.21.ebuild b/sys-libs/openipmi/openipmi-2.0.21.ebuild new file mode 100644 index 0000000..3b4b1ca --- /dev/null +++ b/sys-libs/openipmi/openipmi-2.0.21.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 +PYTHON_COMPAT=( python{2_6,2_7} ) + +inherit eutils autotools 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) +}