Skip to content

Commit

Permalink
sci-biology/augustus: version bump, fix awful Makefile's
Browse files Browse the repository at this point in the history
Do not require static libraries. Only bamtools are really needed.
htslib is not needed. For bam2wig samtools-0.2 series is needed.

I decided to blindly install some of the binaries created but not
copied into `./bin/`.

`src/Makefile` will gladly define mysql and sqlite together, probably
a non-sense. We force mysql as we check for it first. Not sure if
sqlite should be preferred.

I documented in the augustus-3.3.2.ebuild other "forgotten" files,
like gbrowse.conf and a template for gff2ps.

I dropped `-O3` but left in `-ggdb` in the `CXXFLAGS`.

Gaius-Augustus/Augustus#14
Gaius-Augustus/Augustus#50
Gaius-Augustus/Augustus#51
Gaius-Augustus/Augustus#52
Gaius-Augustus/Augustus#53

Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Martin Mokrejs <mmokrejs@fold.natur.cuni.cz>
  • Loading branch information
Martin Mokrejs committed Mar 29, 2019
1 parent a0dc9fc commit f291caf
Show file tree
Hide file tree
Showing 4 changed files with 120 additions and 71 deletions.
2 changes: 1 addition & 1 deletion sci-biology/augustus/Manifest
@@ -1 +1 @@
DIST augustus-3.3.tar.gz 125296783 BLAKE2B 37479eb1eb8cf702438e4c0da659bf43133fb8268960c3e4f0357c105b740447d903a198cb9de06cbbc4d237dd03daefd662afdc35615edefe5f36ddc832ed2c SHA512 c6acfc5cb358cac60b68da7e726a871ad898654e154ccb83d86f1a13aa45643b0e63f2af1017a8ab12616677818709abefb1df4b40b6f7b971c18dbc7519837f
DIST augustus-3.3.2.tar.gz 235794642 BLAKE2B 626b8a3d11431582d7ff3eb24815e64b67394e2beff068b084f0dc4d6d7249548f42dc6ddbf0fbfab0ca7f7e2285f7fc80c588f9be3ecc68181fe1fe4a22d22a SHA512 2c2857d4f873e171454e49436636ee62fc639126bfb165f26615fbcab4988783a02a265a3b1e4b6257d276badd602e1a42f079374b360d25f7712057755ecd44
115 changes: 115 additions & 0 deletions sci-biology/augustus/augustus-3.3.2.ebuild
@@ -0,0 +1,115 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit eutils toolchain-funcs

DESCRIPTION="Eukaryotic gene predictor"
HOMEPAGE="http://bioinf.uni-greifswald.de/augustus
https://github.com/Gaius-Augustus/Augustus"
SRC_URI="https://github.com/Gaius-Augustus/Augustus/archive/3.3.2.tar.gz -> ${P}.tar.gz"

LICENSE="GPL-3"
# temporary drop in licensing scheme, see http://stubber.math-inf.uni-greifswald.de/bioinf/augustus/binaries/HISTORY.TXT
# http://stubber.math-inf.uni-greifswald.de/bioinf/augustus/binaries/LICENCE.TXT
# LICENSE="Artistic"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="bam2wig examples man mysql sqlite"

RDEPEND="
bam2wig? ( sci-biology/samtools:0.1-legacy )
sci-biology/bamtools
>=sci-mathematics/lpsolve-5.5
sci-libs/gsl
sci-libs/suitesparse
sqlite? ( dev-db/sqlite:3 )
mysql? ( dev-db/mysql++ )
>=dev-libs/boost-1.49.0
sys-libs/zlib"
DEPEND="${RDEPEND}
sys-devel/flex"
S="${WORKDIR}/Augustus-${PV}"

src_prepare() {
# TODO: do we need anything from the 2.5.5 patch?
# epatch "${FILESDIR}"/${P}-sane-build.patch
default
tc-export CC CXX
# lets respect upstream's wish and keep -ggdb
sed -e 's#-ggdb -O3#-ggdb#' -i src/Makefile || die
sed -e 's#TOOLDIR=$(HOME)/tools#TOOLDIR='"${EPREFIX}/usr/include#" \
-i auxprogs/bam2wig/Makefile || die
sed -e "s#INCLUDES=#INCLUDES=-I${EPREFIX}/usr/include/bam-0.1-legacy #" \
-i auxprogs/bam2wig/Makefile || die
# https://github.com/Gaius-Augustus/Augustus/issues/53
sed -e 's#$(SAMTOOLS)/libbam.a $(HTSLIB)/libhts.a -lcurses -lm -lz -lpthread -lcurl -lssl -lcrypto#-lbam-0.1-legacy#' -i auxprogs/bam2wig/Makefile || die
sed -e 's#-lbz2 -llzma##' -i auxprogs/bam2wig/Makefile || die
# enable comparative gene prediction (CGP, needs c++11 compiler),
# this needs sci-mathematics/lpsolve
sed -e 's/^# COMPGENEPRED/COMPGENEPRED/' -i common.mk || die
# enable compressed gzip input
sed -e 's/^#ZIPINPUT/ZIPINPUT/' -i common.mk || die
# comparative (multi-species, CGP) AUGUSTUS with MySQL or SQLite
# supposedly pick only either a single-one
if use mysql; then
sed -e 's/^#MYSQL/MYSQL/' -i common.mk || die
elif use sqlite; then
# comparative (mutli-species, CGP) AUGUSTUS with SQLite
sed -e 's/^# SQLITE/SQLITE/' -i common.mk || die
fi
# respect $EPREFIX in all Makefile's
find . -name Makefile | while read f; do \
sed -s "s#/usr/include#${EPREFIX}/usr/include#g" -i $f || die;
done
}

src_compile() {
emake clean && default

# compile stuff not compiled by default
# https://github.com/Gaius-Augustus/Augustus/issues/52
cd auxprogs/aln2wig || die
emake
}

src_install() {
dobin bin/*

exeinto /usr/libexec/${PN}
doexe scripts/*.{pl,pm,py} scripts/checkUTR
insinto /usr/libexec/${PN}
doins scripts/*.conf

insinto /usr/share/${PN}
doins -r config

echo "AUGUSTUS_CONFIG_PATH=\"/usr/share/${PN}/config\"" > "${S}/99${PN}"
doenvd "${S}/99${PN}"

insinto /usr/libexec/${PN}/gbrowse
doins scripts/gbrowse.conf
insinto /usr/libexec/${PN}/gfftools
doins scripts/gff2ps_mycustom # config setting

dodoc README.md README-cgp.txt HISTORY.TXT auxprogs/homGeneMapping/README.TXT
dodoc -r docs/*.{pdf,txt}

if use examples; then
insinto /usr/share/${PN}/
doins -r docs/tutorial examples
fi

use man && doman mansrc/*.1

# install stuff not compiled but not written into bin/
# https://github.com/Gaius-Augustus/Augustus/issues/14
dobin auxprogs/utrrnaseq/Debug/utrrnaseq
dodoc auxprogs/utrrnaseq/doc/reference.pdf
# https://github.com/Gaius-Augustus/Augustus/issues/51
dobin auxprogs/checkTargetSortedness/checkTargetSortedness \
auxprogs/compileSpliceCands/compileSpliceCands

# ./augustus-training/ contains web application and setup
}
70 changes: 0 additions & 70 deletions sci-biology/augustus/augustus-3.3.ebuild

This file was deleted.

4 changes: 4 additions & 0 deletions sci-biology/augustus/metadata.xml
Expand Up @@ -5,4 +5,8 @@
<email>sci-biology@gentoo.org</email>
<name>Gentoo Biology Project</name>
</maintainer>
<use>
<flag name="man">install preformatted manual pages</flag>
<flag name="bam2wig">compile and install bam2wig conversion utility</flag>
</use>
</pkgmetadata>

0 comments on commit f291caf

Please sign in to comment.