summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey Gardner <je_fro@gentoo.org>2008-04-15 01:21:30 +0000
committerJeffrey Gardner <je_fro@gentoo.org>2008-04-15 01:21:30 +0000
commit209abb8538227fa33bbd56b6fcdc02c12a3c3fa2 (patch)
treef56c2af0b0ed7b6a86d6337c7a7f8b1a7298a5f0 /sci-biology
parentStable for "alpha amd64 hppa ia64 ppc ppc64 sparc x86" (bug #217047) (diff)
downloadgentoo-2-209abb8538227fa33bbd56b6fcdc02c12a3c3fa2.tar.gz
gentoo-2-209abb8538227fa33bbd56b6fcdc02c12a3c3fa2.tar.bz2
gentoo-2-209abb8538227fa33bbd56b6fcdc02c12a3c3fa2.zip
Latest release from NCBI.
(Portage version: 2.1.5_rc3)
Diffstat (limited to 'sci-biology')
-rw-r--r--sci-biology/ncbi-tools/ChangeLog7
-rw-r--r--sci-biology/ncbi-tools/ncbi-tools-20080302.ebuild218
2 files changed, 224 insertions, 1 deletions
diff --git a/sci-biology/ncbi-tools/ChangeLog b/sci-biology/ncbi-tools/ChangeLog
index 8cbe72babd70..d71a45a9227a 100644
--- a/sci-biology/ncbi-tools/ChangeLog
+++ b/sci-biology/ncbi-tools/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sci-biology/ncbi-tools
# Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-biology/ncbi-tools/ChangeLog,v 1.60 2008/04/08 21:35:34 dberkholz Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-biology/ncbi-tools/ChangeLog,v 1.61 2008/04/15 01:21:30 je_fro Exp $
+
+*ncbi-tools-20080302 (15 Apr 2008)
+
+ 15 Apr 2008; Jeff Gardner <je_fro@gentoo.org> +ncbi-tools-20080302.ebuild:
+ Latest release from NCBI.
08 Apr 2008; Donnie Berkholz <dberkholz@gentoo.org>; Manifest:
Fix manifest, connection dropped mid-commit.
diff --git a/sci-biology/ncbi-tools/ncbi-tools-20080302.ebuild b/sci-biology/ncbi-tools/ncbi-tools-20080302.ebuild
new file mode 100644
index 000000000000..e0b5b49b6a10
--- /dev/null
+++ b/sci-biology/ncbi-tools/ncbi-tools-20080302.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-biology/ncbi-tools/ncbi-tools-20080302.ebuild,v 1.1 2008/04/15 01:21:30 je_fro Exp $
+
+inherit flag-o-matic toolchain-funcs eutils autotools
+
+DESCRIPTION="Development toolkit and applications for computational biology"
+LICENSE="public-domain"
+HOMEPAGE="http://www.ncbi.nlm.nih.gov/"
+SRC_URI="mirror://gentoo/${P}.tar.gz
+ doc? ( mirror://gentoo/${PN}-sdk-doc.tar.bz2 )"
+
+# mpi? ( mirror://gentoo/mpiblast-20070826.tar.gz )
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+
+# IUSE="doc mpi X"
+# mpiblast 1.5.0beta1 doesn't compile as advertised with this ncbi release.
+# Currently seeking a fix.
+
+IUSE="doc X"
+
+DEPEND="app-shells/tcsh
+ dev-lang/perl
+ media-libs/libpng
+ sys-devel/pmake
+ X? ( virtual/motif )"
+
+# mpi? ( virtual/mpi )
+
+S="${WORKDIR}/ncbi"
+
+EXTRA_VIB="asn2all asn2asn"
+
+pkg_setup() {
+ echo
+ ewarn 'Please note that the NCBI toolkit (and especially the X'
+ ewarn 'applications) are known to have compilation and run-time'
+ ewarn 'problems when compiled with agressive compilation flags. The'
+ ewarn '"-O3" flag is filtered by the ebuild on the x86 architecture if'
+ ewarn 'X support is enabled.'
+ echo
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}"/${PN}-extra_vib.patch
+
+ if use ppc64; then
+ epatch "${FILESDIR}"/${PN}-lop.patch
+ fi
+
+# if use mpi; then
+# cd "${WORKDIR}"
+# epatch "${WORKDIR}"/mpiblast/ncbi_Mar2007_evalue.patch
+# fi
+
+ if ! use X; then
+ cd "${S}"/make
+ sed -e "s:\#set HAVE_OGL=0:set HAVE_OGL=0:" \
+ -e "s:\#set HAVE_MOTIF=0:set HAVE_MOTIF=0:" \
+ -i makedis.csh || die
+ else
+ if use x86; then
+ # X applications segfault on startup on x86 with -O3.
+ replace-flags '-O3' '-O2'
+ fi
+ fi
+
+ # Apply user C flags...
+ cd "${S}"/platform
+ # ... on x86...
+ sed -e "s/NCBI_CFLAGS1 = -c/NCBI_CFLAGS1 = -c ${CFLAGS}/" \
+ -e "s/NCBI_LDFLAGS1 = -O3 -mcpu=pentium4/NCBI_LDFLAGS1 = ${CFLAGS}/" \
+ -e "s/NCBI_OPTFLAG = -O3 -mcpu=pentium4/NCBI_OPTFLAG = ${CFLAGS}/" \
+ -i linux-x86.ncbi.mk || die
+ # ... on alpha...
+ sed -e "s/NCBI_CFLAGS1 = -c/NCBI_CFLAGS1 = -c ${CFLAGS}/" \
+ -e "s/NCBI_LDFLAGS1 = -O3 -mieee/NCBI_LDFLAGS1 = -mieee ${CFLAGS}/" \
+ -e "s/NCBI_OPTFLAG = -O3 -mieee/NCBI_OPTFLAG = -mieee ${CFLAGS}/" \
+ -i linux-alpha.ncbi.mk || die
+ # ... on hppa...
+ sed -e "s/NCBI_CFLAGS1 = -c/NCBI_CFLAGS1 = -c ${CFLAGS}/" \
+ -e "s/NCBI_LDFLAGS1 = -O2/NCBI_LDFLAGS1 = ${CFLAGS}/" \
+ -e "s/NCBI_OPTFLAG = -O2/NCBI_OPTFLAG = ${CFLAGS}/" \
+ -i hppalinux.ncbi.mk || die
+ # ... on ppc...
+ sed -e "s/NCBI_CFLAGS1 = -c/NCBI_CFLAGS1 = -c ${CFLAGS}/" \
+ -e "s/NCBI_LDFLAGS1 = -O2/NCBI_LDFLAGS1 = ${CFLAGS}/" \
+ -e "s/NCBI_OPTFLAG = -O2/NCBI_OPTFLAG = ${CFLAGS}/" \
+ -i ppclinux.ncbi.mk || die
+ # ... on generic 64-bit Linux...
+ sed -e "s/NCBI_CFLAGS1 = -c/NCBI_CFLAGS1 = -c ${CFLAGS}/" \
+ -e "s/NCBI_LDFLAGS1 = -O3/NCBI_LDFLAGS1 = ${CFLAGS}/" \
+ -e "s/NCBI_OPTFLAG = -O3/NCBI_OPTFLAG = ${CFLAGS}/" \
+ -i linux64.ncbi.mk || die
+ # ... on generic Linux.
+ sed -e "s/NCBI_CFLAGS1 = -c/NCBI_CFLAGS1 = -c ${CFLAGS}/" \
+ -e "s/NCBI_LDFLAGS1 = -O3/NCBI_LDFLAGS1 = ${CFLAGS}/" \
+ -e "s/NCBI_OPTFLAG = -O3/NCBI_OPTFLAG = ${CFLAGS}/" \
+ -i linux.ncbi.mk || die
+
+ # Put in our MAKEOPTS (doesn't work).
+ # sed -e "s:make \$MFLG:make ${MAKEOPTS}:" -i ncbi/make/makedis.csh
+
+ # Set C compiler...
+ # ... on x86...
+ sed -i -e "s/NCBI_CC = gcc/NCBI_CC = $(tc-getCC)/" linux-x86.ncbi.mk || die
+ # ... on alpha...
+ sed -i -e "s/NCBI_CC = gcc/NCBI_CC = $(tc-getCC)/" linux-alpha.ncbi.mk || die
+ # ... on hppa...
+ sed -i -e "s/NCBI_CC = gcc/NCBI_CC = $(tc-getCC)/" hppalinux.ncbi.mk || die
+ # ... on ppc...
+ sed -i -e "s/NCBI_CC = gcc/NCBI_CC = $(tc-getCC)/" ppclinux.ncbi.mk || die
+ # ... on generic 64-bit Linux...
+ sed -i -e "s/NCBI_CC = gcc/NCBI_CC = $(tc-getCC)/" linux64.ncbi.mk || die
+ # ... on generic Linux.
+ sed -i -e "s/NCBI_CC = gcc/NCBI_CC = $(tc-getCC)/" linux.ncbi.mk || die
+
+ # We use dynamic libraries
+ sed -i -e "s/-Wl,-Bstatic//" *linux*.ncbi.mk || die
+
+ # GNU make 3.81 is confused by those nightmarish Makefiles, so we use pmake
+ # instead. The right solution would be to fix the Makefiles. (Be my guest.)
+ cd "${S}"/make
+ sed -i -e "s%CMD='make%CMD='/usr/bin/pmake%" makedis.csh || die \
+ "Failed to replace make by pmake."
+}
+
+src_compile() {
+ export EXTRA_VIB
+ cd "${WORKDIR}"
+ ncbi/make/makedis.csh || die
+ mkdir "${S}"/cgi
+ mkdir "${S}"/real
+ mv "${S}"/bin/*.cgi "${S}"/cgi || die
+ mv "${S}"/bin/*.REAL "${S}"/real || die
+
+# mpiblast fails to compile... perhaps mpiblast2 contain a fix
+# if use mpi; then
+# cd "${WORKDIR}"/mpiblast
+# AM_OPT="-a"
+# eautoreconf
+# econf --with-ncbi="${WORKDIR}"/ncbi --with-mpi=/usr || die
+# emake || die
+# fi
+}
+
+src_install() {
+ dobin "${S}"/bin/* || die "Failed to install binaries."
+ for i in ${EXTRA_VIB}; do
+ dobin "${S}"/build/${i} || die "Failed to install binaries."
+ done
+ dolib "${S}"/lib/* || die "Failed to install libraries."
+ mkdir -p "${D}"/usr/include/ncbi
+ cp -RL "${S}"/include/* "${D}"/usr/include/ncbi || \
+ die "Failed to install headers."
+
+# if use mpi; then
+# cd "${WORKDIR}"/mpiblast
+# make install DESTDIR="${D}" || die "Failed to install MPI blast."
+# fi
+
+ # TODO: Web apps
+ #insinto /usr/share/ncbi/lib/cgi
+ #doins ${S}/cgi/*
+ #insinto /usr/share/ncbi/lib/real
+ #doins ${S}/real/*
+ # TODO: Add support for wwwblast.
+
+ # Basic documentation
+ dodoc "${S}"/{README,VERSION,doc/{*.txt,README.asn2xml}} || \
+ die "Failed to install basic documentation."
+ newdoc "${S}"/doc/fa2htgs/README README.fa2htgs || \
+ die "Failed renaming fa2htgs documentation."
+ newdoc "${S}"/config/README README.config || \
+ die "Failed renaming config documentation."
+ newdoc "${S}"/network/encrypt/README README.encrypt || \
+ die "Failed renaming encrypt documentation."
+ newdoc "${S}"/network/nsclilib/readme README.nsclilib || \
+ die "Failed renaming nsclilib documentation."
+ newdoc "${S}"/sequin/README README.sequin || \
+ die "Failed renaming sequin documentation."
+ doman "${S}"/doc/man/* || \
+ die "Failed to install man pages."
+
+ # Hypertext user documentation
+ dohtml "${S}"/{README.htm,doc/{*.html,*.gif}} || \
+ die "Failed to install HTML documentation."
+ insinto /usr/share/doc/${PF}/html/blast
+ doins "${S}"/doc/blast/* || die "Failed to install blast HTML documentation."
+
+ # Developer documentation
+ if use doc; then
+ # Hypertext SDK documentation
+ insinto /usr/share/doc/${PF}/html/sdk
+ doins "${WORKDIR}"/${PN}-sdk-doc/* || die
+
+ # Demo programs
+ mkdir "${D}"/usr/share/ncbi
+ mv "${S}"/demo "${D}"/usr/share/ncbi/demo || die
+ fi
+
+ # Shared data (similarity matrices and such) and database directory.
+ insinto /usr/share/ncbi/data
+ doins "${S}"/data/* || die "Failed to install shared data."
+ dodir /usr/share/ncbi/formatdb || die
+
+ # Default config file to set the path for shared data.
+ insinto /etc/ncbi
+ newins "${FILESDIR}"/ncbirc .ncbirc || die "Failed to install config file."
+
+ # Env file to set the location of the config file and BLAST databases.
+ newenvd "${FILESDIR}"/21ncbi-r1 21ncbi || die "Failed to install env file."
+}