blob: 4af1588c7ae500912ad803d6faa262f95a4b0160 (
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
121
122
123
124
125
126
127
128
129
130
131
|
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
WANT_ANT_TASKS="ant-nodeps"
inherit eutils java-pkg-2 java-ant-2
DESCRIPTION="Netbeans Platform"
HOMEPAGE="http://netbeans.org/features/platform/"
SLOT="9999"
SOURCE_URL="http://bits.netbeans.org/download/trunk/nightly/2012-03-25_04-01-18/zip/netbeans-trunk-nightly-201203250401-src.zip"
SRC_URI="${SOURCE_URL}
http://dev.gentoo.org/~fordfrog/distfiles/netbeans-9999-r2-build.xml.patch.bz2
http://hg.netbeans.org/binaries/14F630EDF137F54188636B5139432986D5FB19B7-felix-4.0.2.jar
http://hg.netbeans.org/binaries/2D80F93B8803250F232902C46EBA850BF1F3E67F-org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar
http://hg.netbeans.org/binaries/972E6455724DC6ADB1C1912F53B5E3D7DF20C5FD-osgi.cmpn-4.2.jar
http://hg.netbeans.org/binaries/30B192ADACF0EBA1096F18B3AC445123E212CFC9-osgi.core-4.3.jar
http://hg.netbeans.org/binaries/1C7FE319052EF49126CF07D0DB6953CB7007229E-swing-layout-1.0.4-doc.zip
http://hg.netbeans.org/binaries/7946DC68552946622BD86FBF7A47D75B0C83C52D-testng-6.5beta-dist.jar
http://hg.netbeans.org/binaries/DE34E27064497584DFE5E1A650F04C607617D9F1-testng-6.5beta-javadoc.zip"
LICENSE="|| ( CDDL GPL-2-with-linking-exception )"
KEYWORDS="~amd64 ~x86"
IUSE=""
S="${WORKDIR}"
CDEPEND="dev-java/javahelp:0
>=dev-java/jna-3.2.7:0
dev-java/swing-layout:1[source]"
DEPEND="virtual/jdk:1.6
app-arch/unzip
${CDEPEND}"
RDEPEND=">=virtual/jdk-1.6
${CDEPEND}"
INSTALL_DIR="/usr/share/${PN}-${SLOT}"
EANT_BUILD_XML="nbbuild/build.xml"
EANT_BUILD_TARGET="rebuild-cluster"
EANT_EXTRA_ARGS="-Drebuild.cluster.name=nb.cluster.platform -Dext.binaries.downloaded=true -Djava.awt.headless=true"
EANT_FILTER_COMPILER="ecj-3.3 ecj-3.4 ecj-3.5 ecj-3.6 ecj-3.7"
JAVA_PKG_BSFIX="off"
src_unpack() {
unpack $(basename ${SOURCE_URL})
einfo "Deleting bundled jars..."
find -name "*.jar" -type f -delete
unpack netbeans-9999-r2-build.xml.patch.bz2
pushd "${S}" >/dev/null || die
ln -s "${DISTDIR}"/14F630EDF137F54188636B5139432986D5FB19B7-felix-4.0.2.jar libs.felix/external/felix-4.0.2.jar || die
ln -s "${DISTDIR}"/2D80F93B8803250F232902C46EBA850BF1F3E67F-org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar netbinox/external/org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar || die
ln -s "${DISTDIR}"/972E6455724DC6ADB1C1912F53B5E3D7DF20C5FD-osgi.cmpn-4.2.jar libs.osgi/external/osgi.cmpn-4.2.jar || die
ln -s "${DISTDIR}"/30B192ADACF0EBA1096F18B3AC445123E212CFC9-osgi.core-4.3.jar libs.osgi/external/osgi.core-4.3.jar || die
ln -s "${DISTDIR}"/1C7FE319052EF49126CF07D0DB6953CB7007229E-swing-layout-1.0.4-doc.zip o.jdesktop.layout/external/swing-layout-1.0.4-doc.zip || die
ln -s "${DISTDIR}"/7946DC68552946622BD86FBF7A47D75B0C83C52D-testng-6.5beta-dist.jar libs.testng/external/testng-6.5beta-dist.jar || die
ln -s "${DISTDIR}"/DE34E27064497584DFE5E1A650F04C607617D9F1-testng-6.5beta-javadoc.zip libs.testng/external/testng-6.5beta-javadoc.zip || die
popd >/dev/null || die
}
src_prepare() {
einfo "Deleting bundled class files..."
find -name "*.class" -type f | xargs rm -vf
epatch netbeans-9999-r2-build.xml.patch
# upstream jna jar contains bundled binary libraries so we disable that feature
# Support for custom patches
if [ -n "${NETBEANS9999_PATCHES_DIR}" -a -d "${NETBEANS9999_PATCHES_DIR}" ] ; then
local files=`find "${NETBEANS9999_PATCHES_DIR}" -type f`
if [ -n "${files}" ] ; then
einfo "Applying custom patches:"
for file in ${files} ; do
epatch "${file}"
done
fi
fi
einfo "Symlinking external libraries..."
java-pkg_jar-from --into core.nativeaccess/external jna platform.jar platform-3.2.7.jar
java-pkg_jar-from --into javahelp/external javahelp jhall.jar jhall-2.0_05.jar
java-pkg_jar-from --into libs.jna/external jna jna.jar jna-3.2.7.jar
java-pkg_jar-from --into o.jdesktop.layout/external swing-layout-1 swing-layout.jar swing-layout-1.0.4.jar
ln -s /usr/share/swing-layout-1/sources/swing-layout-src.zip o.jdesktop.layout/external/swing-layout-1.0.4-src.zip || die
java-pkg-2_src_prepare
}
src_compile() {
unset DISPLAY
eant -f ${EANT_BUILD_XML} ${EANT_EXTRA_ARGS} ${EANT_BUILD_TARGET} || die "Compilation failed"
}
src_install() {
pushd nbbuild/netbeans/platform >/dev/null || die
java-pkg_dojar lib/*.jar
grep -E "/platform$" ../moduleCluster.properties > "${D}"/${INSTALL_DIR}/moduleCluster.properties || die
insinto ${INSTALL_DIR}
doins -r *
rm "${D}"/${INSTALL_DIR}/docs/swing-layout-1.0.4-src.zip || die
dosym /usr/share/swing-layout-1/sources/swing-layout-src.zip ${INSTALL_DIR}/docs/swing-layout-1.0.4-src.zip
find "${D}"/${INSTALL_DIR} -name "*.exe" -delete
find "${D}"/${INSTALL_DIR} -name "*.dll" -delete
rm -fr "${D}"/modules/lib || die
popd >/dev/null || die
fperms 775 ${INSTALL_DIR}/lib/nbexec
dosym ${INSTALL_DIR}/lib/nbexec /usr/bin/nbexec-${SLOT}
local instdir=${INSTALL_DIR}/modules/ext
pushd "${D}"/${instdir} >/dev/null || die
# felix-main-2.0.2.jar
# felix-4.0.2.jar
rm jhall-2.0_05.jar && dosym /usr/share/javahelp/lib/jhall.jar ${instdir}/jhall-2.0_05.jar || die
rm jna-3.2.7.jar && dosym /usr/share/jna/lib/jna.jar ${instdir}/jna-3.2.7.jar || die
# osgi.cmpn-4.2.jar
# osgi.core-4.3.jar
rm platform-3.2.7.jar && dosym /usr/share/jna/lib/platform.jar ${instdir}/platform-3.2.7.jar || die
rm swing-layout-1.0.4.jar && dosym /usr/share/swing-layout-1/lib/swing-layout.jar ${instdir}/swing-layout-1.0.4.jar || die
# updater.jar
popd >/dev/null || die
dosym ${INSTALL_DIR} /usr/share/netbeans-nb-${SLOT}/platform
}
|