summaryrefslogtreecommitdiff
blob: 92c0659546a735008d5efa828eccb6424999083f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/embassy.eclass,v 1.17 2008/11/03 22:17:50 ribosome Exp $

# Author Olivier Fisette <ribosome@gentoo.org>

# This eclass is used to install EMBASSY programs (EMBOSS add-ons).

# The inheriting ebuild should provide a "DESCRIPTION", "KEYWORDS" and, if
# necessary, add "(R|P)DEPEND"encies. Additionnaly, the inheriting ebuild's
# name must begin by "embassy-". Also, before inheriting, the ebuild should
# specify what version of EMBOSS is required by setting EBOV.

inherit eutils multilib

# 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="$(echo ${EN} | tr "[:lower:]" "[:upper:]")-${PV}"

DESCRIPTION="Based on the $ECLASS eclass"
HOMEPAGE="http://emboss.sourceforge.net/"
LICENSE="LGPL-2 GPL-2"
SRC_URI="ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-${EBOV}.tar.gz
	ftp://emboss.open-bio.org/pub/EMBOSS/${EF}.tar.gz"

SLOT="0"
IUSE="X png"

DEPEND="=sci-biology/emboss-${EBOV}*
	!<sci-biology/emboss-${EBOV}
	X? ( x11-libs/libX11 )
	png? ( sys-libs/zlib
		media-libs/libpng
		>=media-libs/gd-1.8
	)"

S=${WORKDIR}/EMBOSS-${EBOV}/embassy/${EF}

embassy_src_unpack() {
	unpack ${A}
	mkdir EMBOSS-${EBOV}/embassy
	mv ${EF} EMBOSS-${EBOV}/embassy/
	cp /usr/$(get_libdir)/libplplot.la EMBOSS-${EBOV}/plplot/
	cp /usr/$(get_libdir)/libeplplot.la EMBOSS-${EBOV}/plplot/
	cp /usr/$(get_libdir)/libajax.la EMBOSS-${EBOV}/ajax/
	cp /usr/$(get_libdir)/libajaxg.la EMBOSS-${EBOV}/ajax/
	cp /usr/$(get_libdir)/libnucleus.la EMBOSS-${EBOV}/nucleus/
	if [ -e "${FILESDIR}"/${PF}.patch ]; then
		cd "${S}"
		epatch "${FILESDIR}"/${PF}.patch
	fi
}

embassy_src_compile() {
	local PREFIX="${ROOT}/usr"
	local EXTRA_CONF
	! use X && EXTRA_CONF="${EXTRA_CONF} --without-x"
	! use png && EXTRA_CONF="${EXTRA_CONF} --without-pngdriver"
	./configure \
			"--bindir=${PREFIX}/bin" \
			"--sbindir=${PREFIX}/sbin" \
			"--libexecdir=${PREFIX}/libexec" \
			"--sysconfdir=${ROOT}/etc" \
			"--sharedstatedir=${ROOT}/var" \
			"--localstatedir=${ROOT}/var" \
			"--libdir=${PREFIX}/$(get_libdir)" \
			"--includedir=${PREFIX}/include" \
			"--datarootdir=${PREFIX}/share" \
			"--datadir=${PREFIX}/share" \
			"--infodir=${PREFIX}/share/info" \
			"--localedir=${PREFIX}/share/locale" \
			"--mandir=${PREFIX}/share/man" \
			${EXTRA_CONF} || die
	emake || die "Before reporting this error as a bug, please make sure you compiled
    EMBOSS and the EMBASSY packages with the same \"USE\" flags. Failure to
    do so may prevent the compilation of some EMBASSY packages, or cause
    runtime problems with some EMBASSY programs. For example, if you
    compile EMBOSS with \"png\" support and then try to build DOMAINATRIX
    without \"png\" support, compilation will fail when linking the binaries."
}

embassy_src_install() {
	emake DESTDIR="${D}" install || die "Install failed"
	dodoc AUTHORS ChangeLog NEWS README
	dodir /usr/share
	mv "${D}"/usr/local/share/* "${D}"/usr/share/
	rmdir "${D}"/usr/local/share
	rmdir "${D}"/usr/local
}

EXPORT_FUNCTIONS src_unpack src_compile src_install