blob: d0a6200c052bda719699501e5847b54398fa3399 (
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
|
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
inherit java-pkg-2
MY_PN=apache-${PN%%-bin}
MY_PV=${PV/_alpha/-alpha-}
MY_P="${MY_PN}-${MY_PV}"
MY_MV="${PV%%.*}"
DESCRIPTION="Project Management and Comprehension Tool for Java"
SRC_URI="mirror://apache/maven/maven-${MY_MV}/${PV}/binaries/${MY_P}-bin.tar.gz"
HOMEPAGE="http://maven.apache.org/"
LICENSE="Apache-2.0"
SLOT="3.3"
KEYWORDS="amd64 x86"
# TODO: Needs further resolution:
#
# - https://bugs.gentoo.org/show_bug.cgi?id=472850
# - https://bugs.gentoo.org/show_bug.cgi?id=477436
#
CDEPEND="
dev-java/juel:0
dev-java/log4j:0
dev-java/jsoup:0
dev-java/jsr250:0
dev-java/commons-io:1
dev-java/aopalliance:1
dev-java/commons-cli:1
dev-java/javax-inject:0
dev-java/osgi-core-api:0
dev-java/commons-logging:0
java-virtuals/interceptor-api:0
java-virtuals/servlet-api:3.0"
DEPEND="
${CDEPEND}
app-eselect/eselect-java
|| ( dev-java/commons-logging:0 dev-java/log4j:0 )
>=virtual/jdk-1.7"
RDEPEND="
${CDEPEND}
>=virtual/jre-1.7"
S="${WORKDIR}/${MY_P}"
MAVEN="${PN}-${SLOT}"
MAVEN_SHARE="/usr/share/${MAVEN}"
MAVEN_DEPENDENCIES=(
juel
jsoup
log4j
jsr250
javax-inject
commons-io-1
osgi-core-api
aopalliance-1
commons-cli-1
commons-logging
interceptor-api
servlet-api-3.0
)
java_prepare() {
rm -v bin/*.cmd lib/{aopalliance,commons-cli,javax.inject,jsr250}-*.jar || die
chmod 644 boot/*.jar lib/*.jar conf/settings.xml || die
# Symlink jars.
cd lib || die
# Link deps.
for mvn_dep in "${MAVEN_DEPENDENCIES[@]}"; do
java-pkg_jar-from "${mvn_dep}"
done
}
# TODO: We should use jars from packages, instead of what is bundled.
src_install() {
dodir "${MAVEN_SHARE}"
cp -Rp bin boot conf lib "${ED}/${MAVEN_SHARE}" || die "failed to copy"
java-pkg_regjar "${ED}/${MAVEN_SHARE}"/boot/*.jar
java-pkg_regjar "${ED}/${MAVEN_SHARE}"/lib/*.jar
dodoc NOTICE README.txt
dodir /usr/bin
dosym "${MAVEN_SHARE}/bin/mvn" /usr/bin/mvn-${SLOT}
# See bug #342901.
echo "CONFIG_PROTECT=\"${MAVEN_SHARE}/conf\"" > "${T}/25${MAVEN}" || die
doenvd "${T}/25${MAVEN}"
}
pkg_postinst() {
eselect maven update mvn-${SLOT}
}
pkg_postrm() {
eselect maven update
}
|