From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- eclass/emboss-r2.eclass | 163 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 eclass/emboss-r2.eclass (limited to 'eclass/emboss-r2.eclass') diff --git a/eclass/emboss-r2.eclass b/eclass/emboss-r2.eclass new file mode 100644 index 000000000000..4d97091d280e --- /dev/null +++ b/eclass/emboss-r2.eclass @@ -0,0 +1,163 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: emboss-r2.eclass +# @MAINTAINER: +# sci-biology@gentoo.org +# jlec@gentoo.org +# ted.tanberry@gmail.com +# @AUTHOR: +# Original author: Author Olivier Fisette +# Next gen author: Justin Lecher +# Next gen author: Ted Tanberry +# @BLURB: Use this to easy install EMBOSS and EMBASSY programs (EMBOSS add-ons). +# @DESCRIPTION: +# The inheriting ebuild must set at least EAPI=6 and provide EBO_DESCRIPTION before the inherit line. +# KEYWORDS should be set. Additionally "(R|P)DEPEND"encies and other standard +# ebuild variables can be extended (FOO+=" bar"). +# +# Example: +# +# EAPI=6 +# +# EBO_DESCRIPTION="applications from the CBS group" +# +# inherit emboss-r2 + +# @ECLASS-VARIABLE: EBO_DESCRIPTION +# @DEFAULT_UNSET +# @DESCRIPTION: +# Should be set. Completes the generic description of the embassy module as follows: +# +# EMBOSS integrated version of ${EBO_DESCRIPTION}, e.g. +# +# "EMBOSS integrated version of applications from the CBS group" +# +# Defaults to the upstream name of the module. + +if [[ ! ${_EMBOSS_R2} ]]; then + +case ${EAPI:-0} in + 6) ;; + *) die "EAPI=${EAPI} is not supported" ;; +esac + +inherit autotools flag-o-matic + +EXPORT_FUNCTIONS src_prepare src_configure src_install + +HOMEPAGE="http://emboss.sourceforge.net/" +LICENSE="LGPL-2 GPL-2" + +SLOT="0" +IUSE="mysql pdf png postgres static-libs X" + +RDEPEND=" + dev-libs/expat + dev-libs/libpcre:3 + sci-libs/plplot:= + sys-libs/zlib + mysql? ( virtual/mysql ) + pdf? ( media-libs/libharu:= ) + png? ( media-libs/gd:2=[png] ) + postgres? ( dev-db/postgresql:= ) + X? ( x11-libs/libXt )" + +if [[ ${PN} == embassy-* ]]; then + EMBASSY_PACKAGE=yes + # The EMBASSY package name, retrieved from the inheriting ebuild's name + EN=${PN:8} + # The full name and version of the EMBASSY package (excluding the Gentoo + # revision number) + EF="${EN^^}-${PV}" + + [[ ${EBO_DESCRIPTION} ]] || die "EBO_DESCRIPTION was not set before inheriting emboss-r2.eclass" + + DESCRIPTION="EMBOSS integrated version of ${EBO_DESCRIPTION}" + SRC_URI="ftp://emboss.open-bio.org/pub/EMBOSS/${EF}.tar.gz -> embassy-${EN}-${PV}.tar.gz" + RDEPEND+=" >=sci-biology/emboss-6.6.0-r1[mysql=,pdf=,png=,postgres=,static-libs=,X=]" + + S="${WORKDIR}/${EF}" +fi + +DEPEND="${RDEPEND}" + +# @ECLASS-VARIABLE: EBO_EAUTORECONF +# @DEFAULT_UNSET +# @DESCRIPTION: +# If set, run eautoreconf from autotools.eclass after applying patches +# in emboss-r2_src_prepare. + +# @FUNCTION: emboss-r2_src_prepare +# @DESCRIPTION: +# Does the following things +# +# 1. Renames configure.in to configure.ac, if possible +# 2. Calls default_src_prepare (i.e. +# applies Gentoo and user patches in EAPI>=6) +# 3. If EBO_EAUTORECONF is set, run eautoreconf +# + +emboss-r2_src_prepare() { + if [[ -e configure.in ]]; then + mv configure.{in,ac} || die + fi + + default + [[ ${EBO_EAUTORECONF} ]] && eautoreconf +} + +# @FUNCTION: emboss-r2_src_configure +# @DESCRIPTION: +# runs econf with following options. +# +# --enable-shared +# $(use_enable static-libs static) +# $(use_with X x) +# $(use_with png pngdriver) +# $(use_with pdf hpdf) +# $(use_with mysql mysql) +# $(use_with postgres postgresql) +# --enable-large +# --without-java +# --enable-systemlibs +# +# can be appended to like econf, e.g. +# emboss-r2_src_configure --disable-shared + +emboss-r2_src_configure() { + local myconf=( + --enable-shared + $(use_enable static-libs static) + $(use_with X x) + $(use_with png pngdriver "${EPREFIX}/usr") + $(use_with pdf hpdf "${EPREFIX}/usr") + $(use_with mysql mysql "${EPREFIX}/usr/bin/mysql_config") + $(use_with postgres postgresql "${EPREFIX}/usr/bin/pg_config") + --enable-large + --without-java + --enable-systemlibs + ) + + [[ ${EMBASSY_PACKAGE} == yes ]] && \ + append-cppflags "-I${EPREFIX}/usr/include/emboss" + + econf "${myconf[@]}" "$@" +} + +# @FUNCTION: emboss-r2_src_install +# @DESCRIPTION: +# Installs the package into the staging area and removes +# extraneous .la files, if USE="-static-libs" + +emboss-r2_src_install() { + default + + # delete .la files + if ! use static-libs; then + find "${D}" -name '*.la' -delete || die + fi +} + +_EMBOSS_R2=1 +fi -- cgit v1.2.3