diff options
Diffstat (limited to 'sci-biology/meme/meme-3.5.7.ebuild')
-rw-r--r-- | sci-biology/meme/meme-3.5.7.ebuild | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/sci-biology/meme/meme-3.5.7.ebuild b/sci-biology/meme/meme-3.5.7.ebuild new file mode 100644 index 000000000000..4ab0643740ca --- /dev/null +++ b/sci-biology/meme/meme-3.5.7.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-biology/meme/meme-3.5.7.ebuild,v 1.1 2008/09/12 14:06:53 markusle Exp $ + +inherit autotools eutils toolchain-funcs + +DESCRIPTION="The MEME/MAST system - Motif discovery and search" +HOMEPAGE="http://meme.sdsc.edu/meme" +SRC_URI="http://meme.nbcr.net/downloads/${PN}_${PV}.tar.gz" +LICENSE="meme" + +SLOT="0" +KEYWORDS="~x86 ~amd64" +# Other possible USE flags include "debug", "client", "server", "web", +# "queue". Other variables must be set at compile time, but only when +# the Web server is built. Right now, Web server and client are disabled. +IUSE="mpi" + +# Works only with LAM-MPI. +DEPEND=">=dev-lang/perl-5.6.1 + mpi? ( sys-cluster/lam-mpi )" + +S="${WORKDIR}/${PN}_${PV}" + +pkg_setup() { + # generate meme group to restrict logging to + # /var/log/meme + enewgroup meme +} + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}/${PN}-3.5.4-Makefile.am.patch" + einfo "Regenerating autotools files..." + eautoreconf +} + +src_compile() { + local EXTRA_CONF + # Build system is too bugy to make the programs use standard locations. + # Put everything in "/opt" instead. + EXTRA_CONF="${EXTRA_CONF} --prefix=/opt/${PN}" + EXTRA_CONF="${EXTRA_CONF} --with-logs=/var/log/${PN}" + # Connect hyperlinks to official Web site. + EXTRA_CONF="${EXTRA_CONF} --with-url=http://meme.nbcr.net/meme" + # Disable Web server, client and Web site. + EXTRA_CONF="${EXTRA_CONF} --disable-server --disable-client --disable-web" + # Parallel implementation + if ! use mpi; then + EXTRA_CONF="${EXTRA_CONF} --enable-serial" + fi + + ./configure ${EXTRA_CONF} || die "Configure failed." + CC="$(tc-getCC)" ac_cc_opt="${CFLAGS}" make -e || die "Make failed." + +# Install parallel files only on x86, otherwise the install fails with the error: +# i386 architecture of input file `mp.o' is incompatible with i386:x86-64 output + if [[ "${ARCH}" == "x86" ]] ; then + if use mpi; then + cd src/parallel + make || die "Parallel make failed." + fi + fi +} + +src_install() { + make install DESTDIR="${D}" || die "Failed to install program files." + exeinto "/opt/${PN}/bin" + if [[ "${ARCH}" == "x86" ]] ; then + if use mpi; then + doexe "${S}/src/parallel/${PN}_p" || \ + die "Failed to install parallel MEME implementation." + fi + fi + + # allow logging only for members of meme group + diropts -m 0770 -g meme -o root + keepdir "/var/log/${PN}" +} + +pkg_postinst() { + echo + einfo 'Prior to using MEME/MAST, you should source "/opt/meme/etc/meme.sh"' + einfo '(or "/opt/meme/etc/meme.csh" if you use a csh-style shell). To do' + einfo 'this automatically with bash, add the following statement to your' + einfo '"~/.bashrc" file (without the quotes): "source /opt/meme/etc/meme.sh".' + echo + einfo 'Log files are produced in the "/var/log/meme" directory. Users' + einfo 'need to be part of the meme group to use this facility.' + echo +} + +src_test() { + make test || die "Regression tests failed." +} |