summaryrefslogtreecommitdiff
blob: cb56950eed1af2ba98060e429c7ecf637e303c74 (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
94
95
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI="2"

# The globus-build tools do not require java to be installed, BUT
# configure still expects it...
inherit eutils java-pkg-2 java-utils-2

MY_P="gt${PV}-all-source-installer"

DESCRIPTION="The Globus Toolkit Build Tools"
HOMEPAGE="http://www.globus.org/toolkit/"

SRC_URI="http://www-unix.globus.org/ftppub/gt${PV:0:1}/${PV}/installers/src/${MY_P}.tar.bz2"

LICENSE="GTPL"

SLOT="4"
KEYWORDS="~x86"

IUSE="condor iodbc lsf odbc pbs"

RDEPEND="
	dev-java/ant
	sys-libs/zlib
	dev-lang/perl
	app-admin/sudo
	dev-libs/openssl
	dev-db/postgresql
	dev-perl/XML-Parser
	virtual/mpi
	iodbc? ( dev-db/libiodbc )
	odbc? ( !iodbc? ( dev-db/unixODBC ) )"

DEPEND=">=virtual/jdk-1.5
	${RDEPEND}"

S="${WORKDIR}/${MY_P}"

GLOBUS="/opt/globus${PV:0:1}"

pkg_setup() {
	enewgroup globus
	enewuser  globus -1 -1 /var/globus globus
}

src_prepare() {
	mkdir "${S}"/build || die "making build directory failed"

	sed -e "s|%%GLOBUS%%|${GLOBUS}|" \
		"${FILESDIR}"/21globus-build > "${T}"/21globus-build \
			|| die "sed envfile failed"
}

src_configure() {
	local myconfig

	# should we use odbc with iodbc or unixodbc
	if use iodbc ; then
		myconfig="--with-iodbc-libs=$(iodbc-config --prefix)/lib"
		myconfig="${myconfig} --with-iodbc-includes=$(iodbc-config --prefix)/include/iodbc"
	elif use odbc ; then
		myconfig="--with-unixodbc-libs=/usr/lib"
		myconfig="${myconfig} --with-unixodbc-includes=/usr/include/unixodbc"
	fi

	# even though globus does not use java we still need all the junk to
	# make configure happy...
	java-pkg_switch-vm

	econf --prefix="${S}/build/${GLOBUS}" \
		  --with-gptlocation="${S}/build/${GLOBUS}" \
		  $(use_enable condor wsgram-condor) \
		  $(use_enable lsf wsgram-lsf) \
		  $(use_enable pbs wsgram-pbs) ${myconfig}
}

src_compile() {
	emake gpt || die "compile failed"
}

src_install() {
	einfo "Hand installing..."
	# The supplied Makefile install violates standard practices.  The
	# following simulates a "make DESTDIR=${D}" and moves the built
	# programs/files into ${D}
	mv "${S}"/build/* "${D}/" || die "mv failed"

	doenvd "${T}"/21globus-build || die "install env.d/globus-build died"

	einfo "Updating ownership and permissions..."
	fowners -R globus:globus * || die "fowners failed"
}