summaryrefslogtreecommitdiff
blob: 55a63b2f0b66cf2642867dc38198e3b9ada4d7b8 (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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-java/ant-tasks/ant-tasks-1.7.0-r2.ebuild,v 1.1 2007/03/28 09:36:43 caster Exp $

inherit java-pkg-2 eutils

DESCRIPTION="Meta-package for Apache Ant's optional tasks."
HOMEPAGE="http://ant.apache.org/"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
IUSE="jai javamail noantlr nobcel nobsf nocommonsnet nocommonslogging nojdepend
	nojmf nojsch nolog4j nooro noregexp noresolver noswing noxalan"
# nobeanutils nobsh nojython norhino noxerces

RDEPEND=">=virtual/jre-1.4
	~dev-java/ant-core-${PV}
	~dev-java/ant-nodeps-${PV}
	~dev-java/ant-junit-${PV}
	!dev-java/ant-optional
	!noantlr? ( ~dev-java/ant-antlr-${PV} )
	!nobcel? ( ~dev-java/ant-apache-bcel-${PV} )
	!nobsf? ( ~dev-java/ant-apache-bsf-${PV} )
	!nolog4j? ( ~dev-java/ant-apache-log4j-${PV} )
	!nooro? ( ~dev-java/ant-apache-oro-${PV} )
	!noregexp? ( ~dev-java/ant-apache-regexp-${PV} )
	!noresolver? ( ~dev-java/ant-apache-resolver-${PV} )
	!nocommonslogging? ( ~dev-java/ant-commons-logging-${PV} )
	!nocommonsnet? ( ~dev-java/ant-commons-net-${PV} )
	jai? ( ~dev-java/ant-jai-${PV} )
	javamail? ( ~dev-java/ant-javamail-${PV} )
	!nojdepend? ( ~dev-java/ant-jdepend-${PV} )
	!nojmf? ( ~dev-java/ant-jmf-${PV} )
	!nojsch? ( ~dev-java/ant-jsch-${PV} )
	!noswing? ( ~dev-java/ant-swing-${PV} )
	!noxalan? ( ~dev-java/ant-trax-${PV} )"

# 	TODO: consider those
# 	!noxerces? ( >=dev-java/xerces-2.6.2-r1 )
# 	!nobsh? ( >=dev-java/bsh-1.2-r7 )
# 	!nobeanutils? ( =dev-java/commons-beanutils-1.6* )
# 	!norhino? ( =dev-java/rhino-1.5* )
# 	!nojython? ( >=dev-java/jython-2.1-r5 )

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

S="${WORKDIR}"

src_compile() { :; }

my_reg_jars() {
	# Recording jars to get the same behaviour as before
	local oldifs="${IFS}"
	IFS=":"
	for jar in $(java-pkg_getjars ${1}); do
		# these two are only for tasks, not core
		if [[ "${1}" != ant-core ]]; then
			# this one for package.env, thus java-config -p etc
			java-pkg_regjar "${jar}"
			# this one for broken stuff with hardcoded paths
			dosym ${jar} /usr/share/${PN}/lib/
		fi
		# this one for the non-split $ANT_HOME/lib expected by stuff that
		# doesn't use the launcher
		dosym ${jar} /usr/share/ant/lib/
	done
	IFS="${oldifs}"
}

src_install() {
	# create the fake ANT_HOME with symlinks to all ant jars
	# starting with ant-core
	dodir /usr/share/ant/lib
	my_reg_jars ant-core
	# just in case
	dosym /usr/share/ant-core/bin /usr/share/ant/bin

	# now process the tasks
	my_reg_jars ant-nodeps
	use !noantlr && my_reg_jars ant-antlr
	use !nobcel && my_reg_jars ant-apache-bcel
	use !nobsf && my_reg_jars ant-apache-bsf
	use !nolog4j && my_reg_jars ant-apache-log4j
	use !nooro && my_reg_jars ant-apache-oro
	use !noregexp && my_reg_jars ant-apache-regexp
	use !noresolver && my_reg_jars ant-apache-resolver
	use !nocommonslogging && my_reg_jars ant-commons-logging
	use !nocommonsnet && my_reg_jars ant-commons-net
	use jai && my_reg_jars ant-jai
	use javamail && my_reg_jars ant-javamail
	use !nojdepend && my_reg_jars ant-jdepend
	use !nojmf && my_reg_jars ant-jmf
	use !nojsch && my_reg_jars ant-jsch
	my_reg_jars ant-junit
	use !noswing && my_reg_jars ant-swing
	use !noxalan && my_reg_jars ant-trax

	# point ANT_HOME to the one with all symlinked jars
	# ant-core startup script will ignore this one anyway
	echo "ANT_HOME=\"/usr/share/ant\"" > ${T}/21ant-tasks
	doenvd ${T}/21ant-tasks || die "failed to install env.d file"
}

pkg_postinst() {
	local noset=false
	for x in ${IUSE} ; do
		if [ "${x:0:2}" == "no" ] ; then
			use ${x} && noset=true
		fi
	done
	if [ ${noset} == "true" ]; then
		ewarn "You have disabled some of the ant tasks. Be advised that this may"
		ewarn "break building some of the Java packages!!"
		ewarn ""
		ewarn "We can only offer very limited support in cases where dev-java/ant-tasks"
		ewarn "has been build with essential features disabled."
	fi
}