summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-util/netbeans/Manifest3
-rw-r--r--dev-util/netbeans/netbeans-6.9-r4.ebuild1310
2 files changed, 1313 insertions, 0 deletions
diff --git a/dev-util/netbeans/Manifest b/dev-util/netbeans/Manifest
new file mode 100644
index 0000000..b99bcaa
--- /dev/null
+++ b/dev-util/netbeans/Manifest
@@ -0,0 +1,3 @@
+DIST netbeans-6.9-l10n.tar.bz2 12352439 RMD160 f923d0a8dfbc520cd5d18c9bb97fa1fb0b15ba3a SHA1 4f2530fca18b2a7a28fc527e53d581bf077dec99 SHA256 ce09b2b121bda7da68de3e355b8f9954d4e33afdf346e4df64d7249a26fc0495
+DIST netbeans-6.9.tar.bz2 258605390 RMD160 30f1bb44ba024590f39af8c421eed5a0f3bc9ae7 SHA1 cb3429ebbfb2878f73ac72bd412f1b4f66c127b3 SHA256 3521abee5e6c5f68f406f4aef67898742f777a87b782fb4116945e20e625993c
+EBUILD netbeans-6.9-r4.ebuild 47304 RMD160 9f69cddc73921c82b78d9125b8a3e46d6d50949c SHA1 bda492f07134ce8d3c666ac7767eb7eb87b6f409 SHA256 32671d0f76c1c07d77c0fe7260b1985befe264721cf47e9d6544aecfff48e156
diff --git a/dev-util/netbeans/netbeans-6.9-r4.ebuild b/dev-util/netbeans/netbeans-6.9-r4.ebuild
new file mode 100644
index 0000000..30badc6
--- /dev/null
+++ b/dev-util/netbeans/netbeans-6.9-r4.ebuild
@@ -0,0 +1,1310 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/netbeans/netbeans-6.9-r3.ebuild,v 1.2 2010/07/19 20:24:40 fordfrog Exp $
+
+EAPI="2"
+WANT_SPLIT_ANT="true"
+inherit eutils java-pkg-2 java-ant-2
+
+DESCRIPTION="NetBeans IDE for Java"
+HOMEPAGE="http://www.netbeans.org"
+
+SLOT="6.9"
+# netbeans distributes sources without jar files now so we need our own tarball
+# netbeans does not distribute tarball with localizations at all
+SRC_URI="mirror://gentoo/netbeans-6.9.tar.bz2
+ mirror://gentoo/netbeans-6.9-l10n.tar.bz2"
+
+LICENSE="|| ( CDDL GPL-2-with-linking-exception )"
+KEYWORDS="~amd64 ~x86"
+
+IUSE_NETBEANS_MODULES="
+ +netbeans_modules_apisupport
+ netbeans_modules_cnd
+ netbeans_modules_dlight
+ netbeans_modules_enterprise
+ netbeans_modules_ergonomics
+ netbeans_modules_groovy
+ +netbeans_modules_harness
+ +netbeans_modules_ide
+ netbeans_modules_identity
+ +netbeans_modules_java
+ netbeans_modules_mobility
+ +netbeans_modules_nb
+ netbeans_modules_php
+ netbeans_modules_profiler
+ netbeans_modules_ruby
+ +netbeans_modules_websvccommon"
+IUSE_LINGUAS="
+ linguas_af
+ linguas_ar
+ linguas_ca
+ linguas_cs
+ linguas_de
+ linguas_el
+ linguas_es
+ linguas_fr
+ linguas_gl
+ linguas_hi_IN
+ linguas_id
+ linguas_it
+ linguas_ja
+ linguas_ko
+ linguas_lt
+ linguas_nl
+ linguas_pl
+ linguas_pt_BR
+ linguas_pt_PT
+ linguas_ro
+ linguas_ru
+ linguas_sq
+ linguas_sr
+ linguas_sv
+ linguas_tl
+ linguas_tr
+ linguas_vi
+ linguas_zh_CN
+ linguas_zh_TW"
+IUSE="debug doc keychain ${IUSE_NETBEANS_MODULES} ${IUSE_LINGUAS}"
+
+RDEPEND=">=virtual/jdk-1.6
+ java-virtuals/jdk-with-com-sun
+ >=dev-java/javahelp-2:0
+ dev-java/jna:0
+ >=dev-java/swing-layout-1:1
+ keychain? (
+ net-misc/keychain:0
+ net-misc/x11-ssh-askpass:0
+ )
+ netbeans_modules_enterprise? (
+ >=dev-java/antlr-2.7.7:0[java]
+ >=dev-java/asm-3.1:3
+ dev-java/bsf:2.3
+ dev-java/commons-beanutils:1.7
+ dev-java/commons-collections:0
+ dev-java/commons-digester:0
+ >=dev-java/commons-fileupload-1:0
+ >=dev-java/commons-io-1.1:1
+ >=dev-java/commons-logging-1.1:0
+ >=dev-java/commons-validator-1.3:0
+ dev-java/glassfish-deployment-api:1.2
+ >=dev-java/httpunit-1.6:0
+ dev-java/jakarta-jstl:0
+ >=dev-java/jakarta-oro-2:2.0
+ >=dev-java/jettison-1.0:0
+ dev-java/jsr311-api:0
+ )
+ netbeans_modules_harness? (
+ >=dev-java/asm-3.1:3
+ >=dev-java/jakarta-oro-2:2.0
+ >=dev-java/log4j-1.2:0
+ )
+ netbeans_modules_ide? (
+ >=dev-java/commons-codec-1.3:0
+ >=dev-java/commons-httpclient-3.1:3
+ >=dev-java/commons-io-1.1:1
+ >=dev-java/commons-lang-2.3:2.1
+ >=dev-java/commons-logging-1.1:0
+ >=dev-java/commons-net-1.4:0
+ >=dev-java/flute-1.3:0
+ >=dev-java/freemarker-2.3.8:2.3
+ >=dev-java/jakarta-oro-2:2.0
+ >=dev-java/jdbc-mysql-5.1:0
+ >=dev-java/jdbc-postgresql-8.3_p603:0
+ >=dev-java/jsch-0.1.39:0
+ dev-java/jsr173:0
+ >=dev-java/jzlib-1.0.7:0
+ >=dev-java/jvyamlb-0.2.3:0
+ dev-java/lucene:2.4
+ >=dev-java/sac-1.3:0
+ dev-java/sun-jaf:0
+ ~dev-java/tomcat-servlet-api-3:2.2
+ >=dev-java/xerces-2.8.1:2
+ >=dev-vcs/subversion-1.6:0[java]
+ )
+ netbeans_modules_java? (
+ >=dev-java/ant-1.7:0
+ >=dev-java/antlr-2.7.7:0[java]
+ >=dev-java/appframework-1.03:0
+ dev-java/asm:2.2
+ >=dev-java/beansbinding-1.2.1:0
+ >=dev-java/cglib-2.2_beta:2.2
+ dev-java/commons-collections:0
+ >=dev-java/dom4j-1.6:1
+ dev-java/ehcache:1.2
+ dev-java/fastinfoset:0
+ dev-java/glassfish-persistence:0
+ dev-java/glassfish-transaction-api:0
+ dev-java/hibernate:3.5
+ dev-java/javassist:3
+ >=dev-java/jdom-1.0:1.0
+ dev-java/jsr181:0
+ dev-java/jsr250:0
+ dev-java/jsr67:0
+ dev-java/jtidy:0
+ dev-java/junit:4
+ dev-java/saaj:0
+ dev-java/stax-ex:0
+ >=dev-java/swing-worker-1.1:0
+ dev-java/xmlstreambuffer:0
+ )
+ netbeans_modules_mobility? (
+ >=dev-java/ant-contrib-1.0_beta:0
+ >=dev-java/commons-codec-1.3:0
+ dev-java/commons-httpclient:3
+ dev-java/jakarta-slide-webdavclient:0
+ dev-java/jdom:1.0
+ >=dev-java/proguard-4.2:0
+ )
+ netbeans_modules_php? (
+ >=dev-java/javacup-0.11a_beta20060608:0
+ )
+ netbeans_modules_ruby? (
+ dev-java/asm:3
+ dev-java/jline:0
+ dev-java/jna-posix:0
+ dev-java/joda-time:0
+ dev-java/joni:0
+ >=dev-java/jruby-1.5:0
+ dev-util/jay:0[java]
+ )"
+
+DEPEND=">=virtual/jdk-1.6
+ java-virtuals/jdk-with-com-sun
+ >=dev-java/ant-core-1.7.1:0
+ >=dev-java/ant-nodeps-1.7.1:0
+ dev-java/ant-trax:0
+ >=dev-java/javahelp-2:0
+ dev-java/jna:0
+ >=dev-java/swing-layout-1:1
+ netbeans_modules_cnd? (
+ >=dev-java/stringtemplate-3.2:0
+ )
+ netbeans_modules_enterprise? (
+ >=dev-java/commons-fileupload-1:0
+ dev-java/glassfish-deployment-api:1.2
+ >=dev-java/httpunit-1.6:0
+ dev-java/jakarta-jstl:0
+ dev-java/tomcat-servlet-api:2.3
+ )
+ netbeans_modules_harness? (
+ >=dev-java/asm-3.1:3
+ >=dev-java/jakarta-oro-2:2.0
+ >=dev-java/log4j-1.2:0
+ )
+ netbeans_modules_ide? (
+ >=dev-java/commons-codec-1.3:0
+ >=dev-java/commons-httpclient-3.1:3
+ >=dev-java/commons-io-1.1:1
+ >=dev-java/commons-lang-2.3:2.1
+ >=dev-java/commons-logging-1.1:0
+ >=dev-java/commons-net-1.4.1:0
+ >=dev-java/flute-1.3:0
+ >=dev-java/freemarker-2.3.8:2.3
+ >=dev-java/jakarta-oro-2:2.0
+ >=dev-java/javacc-3.2:0
+ >=dev-java/jdbc-mysql-5.1:0
+ >=dev-java/jdbc-postgresql-8.3_p603:0
+ >=dev-java/jsch-0.1.39:0
+ dev-java/jsr173:0
+ >=dev-java/jzlib-1.0.7:0
+ dev-java/jvyamlb:0
+ dev-java/lucene:2.4
+ >=dev-java/sac-1.3:0
+ dev-java/sun-jaf:0
+ ~dev-java/tomcat-servlet-api-3:2.2
+ >=dev-java/xerces-2.8.1:2
+ >=dev-vcs/subversion-1.6:0[java]
+ )
+ netbeans_modules_java? (
+ >=dev-java/appframework-1.03:0
+ dev-java/beansbinding:0
+ >=dev-java/cglib-2.2_beta:2.2
+ dev-java/jdom:1.0
+ >=dev-java/junit-3.8:0
+ >=dev-java/swing-worker-1.1:0
+ )
+ netbeans_modules_mobility? (
+ >=dev-java/ant-contrib-1.0_beta:0
+ >=dev-java/commons-codec-1.3:0
+ dev-java/commons-httpclient:3
+ dev-java/jakarta-slide-webdavclient:0
+ dev-java/jdom:1.0
+ >=dev-java/proguard-4.2:0
+ )
+ netbeans_modules_php? (
+ >=dev-java/javacup-0.11a_beta20060608:0
+ )
+ netbeans_modules_ruby? (
+ dev-util/jay:0
+ )"
+
+S="${WORKDIR}"
+BUILDDESTINATION="${S}/nbbuild/netbeans"
+MY_FDIR="${FILESDIR}/${SLOT}"
+DESTINATION="/usr/share/netbeans-${SLOT}"
+JAVA_PKG_BSFIX="off"
+
+pkg_setup() {
+ local need_apisupport=""
+ local need_cnd=""
+ local need_dlight=""
+ local need_enterprise=""
+ local need_ergonomics=""
+ local need_groovy=""
+ local need_harness=""
+ local need_ide=""
+ local need_identity=""
+ local need_java=""
+ local need_mobility=""
+ local need_nb=""
+ local need_php=""
+ local need_profiler=""
+ local need_ruby=""
+ local need_websvccommon=""
+
+ # direct deps: harness, ide, java
+ if use netbeans_modules_apisupport ; then
+ need_harness="1"
+ need_ide="1"
+ need_java="1"
+ fi
+
+ # direct deps: dlight, harness, ide
+ if use netbeans_modules_cnd ; then
+ need_dlight="1"
+ need_harness="1"
+ need_ide="1"
+ fi
+
+ # direct deps: ide
+ if use netbeans_modules_dlight ; then
+ need_ide="1"
+ fi
+
+ # direct deps: harness, ide, java, profiler
+ if use netbeans_modules_enterprise ; then
+ need_harness="1"
+ need_ide="1"
+ need_java="1"
+ need_profiler="1"
+ fi
+
+ # direct deps: ide
+ if use netbeans_modules_ergonomics ; then
+ need_ide="1"
+ fi
+
+ # direct deps: ide, java
+ if use netbeans_modules_groovy ; then
+ need_ide="1"
+ need_java="1"
+ fi
+
+ # direct deps: enterprise, ide, java
+ if use netbeans_modules_identity ; then
+ need_enterprise="1"
+ need_ide="1"
+ need_java="1"
+ fi
+
+ # direct deps: harness, ide, websvccommon
+ if use netbeans_modules_java ; then
+ #need_harness="1"
+ need_ide="1"
+ need_websvccommon="1"
+ fi
+
+ # direct deps: apisupport, enterprise, ide, java
+ # dependency on enterprise cluster: http://netbeans.org/bugzilla/show_bug.cgi?id=158064
+ if use netbeans_modules_mobility ; then
+ need_apisupport="1"
+ need_enterprise="1"
+ need_ide="1"
+ need_java="1"
+ fi
+
+ # direct deps: harness, ide
+ if use netbeans_modules_nb ; then
+ need_harness="1"
+ need_ide="1"
+ fi
+
+ # direct deps: ide, websvccommon
+ if use netbeans_modules_php ; then
+ need_ide="1"
+ need_websvccommon="1"
+ fi
+
+ # direct deps: ide, java
+ if use netbeans_modules_profiler ; then
+ need_ide="1"
+ need_java="1"
+ fi
+
+ # direct deps: harness, ide
+ if use netbeans_modules_ruby ; then
+ need_harness="1"
+ need_ide="1"
+ fi
+
+ # direct deps: ide
+ if use netbeans_modules_websvccommon ; then
+ need_ide="1"
+ fi
+
+ # currently we require all clusters when building javadoc, can be tested
+ # what clusters are really needed to build javadoc
+ # disabled for now as building javadoc now fails with providing clusters
+ # so trying to drop this requirement
+ #if use doc ; then
+ # need_apisupport="1"
+ # need_cnd="1"
+ # need_dlight="1"
+ # need_enterprise="1"
+ # need_ergonomics="1"
+ # need_groovy="1"
+ # need_harness="1"
+ # need_ide="1"
+ # need_identity="1"
+ # need_java="1"
+ # need_mobility="1"
+ # need_nb="1"
+ # need_php="1"
+ # need_profiler="1"
+ # need_ruby="1"
+ # need_websvccommon="1"
+ #fi
+
+ if [ -n "${need_apisupport}" ] ; then
+ need_harness="1"
+ need_ide="1"
+ need_java="1"
+ fi
+
+ if [ -n "${need_dlight}" ] ; then
+ need_ide="1"
+ fi
+
+ if [ -n "${need_enterprise}" ] ; then
+ need_ide="1"
+ need_java="1"
+ need_profiler="1"
+ fi
+
+ if [ -n "${need_groovy}" ] ; then
+ need_ide="1"
+ need_java="1"
+ fi
+
+ if [ -n "${need_profiler}" ] ; then
+ need_ide="1"
+ need_java="1"
+ fi
+
+ if [ -n "${need_java}" ] ; then
+ need_ide="1"
+ need_websvccommon="1"
+ fi
+
+ if [ -n "${need_nb}" ] ; then
+ need_harness="1"
+ need_ide="1"
+ fi
+
+ if [ -n "${need_websvccommon}" ] ; then
+ need_ide="1"
+ fi
+
+ local missing=""
+ [ -n "${need_apisupport}" ] && ! use netbeans_modules_apisupport && missing="${missing} apisupport"
+ [ -n "${need_cnd}" ] && ! use netbeans_modules_cnd && missing="${missing} cnd"
+ [ -n "${need_dlight}" ] && ! use netbeans_modules_dlight && missing="${missing} dlight"
+ [ -n "${need_enterprise}" ] && ! use netbeans_modules_enterprise && missing="${missing} enterprise"
+ [ -n "${need_ergonomics}" ] && ! use netbeans_modules_ergonomics && missing="${missing} ergonomics"
+ [ -n "${need_groovy}" ] && ! use netbeans_modules_groovy && missing="${missing} groovy"
+ [ -n "${need_harness}" ] && ! use netbeans_modules_harness && missing="${missing} harness"
+ [ -n "${need_ide}" ] && ! use netbeans_modules_ide && missing="${missing} ide"
+ [ -n "${need_identity}" ] && ! use netbeans_modules_identity && missing="${missing} identity"
+ [ -n "${need_java}" ] && ! use netbeans_modules_java && missing="${missing} java"
+ [ -n "${need_mobility}" ] && ! use netbeans_modules_mobility && missing="${missing} mobility"
+ [ -n "${need_nb}" ] && ! use netbeans_modules_nb && missing="${missing} nb"
+ [ -n "${need_php}" ] && ! use netbeans_modules_php && missing="${missing} php"
+ [ -n "${need_profiler}" ] && ! use netbeans_modules_profiler && missing="${missing} profiler"
+ [ -n "${need_ruby}" ] && ! use netbeans_modules_ruby && missing="${missing} ruby"
+ [ -n "${need_websvccommon}" ] && ! use netbeans_modules_websvccommon && missing="${missing} websvccommon"
+
+ if [ -n "${missing}" ] ; then
+ eerror "You need to add these modules to NETBEANS_MODULES because they are needed by modules you have selected."
+ # use doc && eerror "With \"doc\" USE flag enabled, all modules are required."
+ eerror " Missing NETBEANS_MODULES:${missing}"
+ die "Missing NETBEANS_MODULES"
+ fi
+
+ if ! use netbeans_modules_nb ; then
+ ewarn "You are building netbeans without 'nb' module, this way you will build only specified"
+ ewarn "clusters, not a functional IDE. In case you want functional IDE, add 'nb' to NETBEANS_MODULES."
+ epause 5
+ fi
+
+ java-pkg-2_pkg_setup
+}
+
+src_prepare () {
+ # We need to disable downloading of jars
+ epatch "${FILESDIR}"/${SLOT}/nbbuild_build.xml.patch \
+ "${FILESDIR}"/${SLOT}/nbbuild_templates_projectized.xml.patch
+
+ if use keychain ; then
+ epatch "${FILESDIR}"/${SLOT}/netbeans-keychain.patch
+ fi
+
+ if [ -z "${JAVA_PKG_NB_TRY_JRUBY}" ] ; then
+ epatch "${FILESDIR}"/${SLOT}/o.jruby.distro_disable.patch
+ fi
+
+ # Support for custom patches
+ if [ -n "{NETBEANS_PATCHES_DIR}" -a -d "${NETBEANS_PATCHES_DIR}" ] ; then
+ local files=`find "${NETBEANS_PATCHES_DIR}" -type f`
+
+ if [ -n "${files}" ] ; then
+ einfo "Applying custom patches:"
+
+ for file in ${files} ; do
+ epatch "${file}"
+ done
+ fi
+ fi
+
+ # Clean up nbbuild
+ einfo "Removing prebuilt *.class files from nbbuild"
+ local class_files=`find "${S}" -name "*.class"`
+
+ if [ -n "${class_files}" ] ; then
+ rm -v ${class_files}
+ fi
+
+ if [ -z "${JAVA_PKG_NB_USE_BUNDLED}" ] ; then
+ place_unpack_symlinks
+ fi
+
+ if [ -z "${JAVA_PKG_NB_KEEP_BUNDLED}" ] ; then
+ # We do not remove the jars that we ar not able to unbundle atm
+ # More info at: https://overlays.gentoo.org/proj/java/wiki/Netbeans_Maintenance
+
+ local tmpfile="${T}/bundled.txt"
+
+ einfo "Removing rest of the bundled jars..."
+ find "${S}" -type f -name "*.jar" > ${tmpfile} || die "Cannot put jars in tmp file"
+
+ filter_file "libs.felix/external/felix-2.0.3.jar" ${tmpfile}
+ filter_file "libs.felix/external/felix-main-2.0.2.jar" ${tmpfile}
+ filter_file "libs.junit4/external/junit-4.5.jar" ${tmpfile}
+ filter_file "libs.osgi/external/osgi.cmpn-4.2.jar" ${tmpfile}
+ filter_file "libs.osgi/external/osgi.core-4.2.jar" ${tmpfile}
+
+ if use netbeans_modules_cnd ; then
+ filter_file "cnd.antlr3/external/antlr-3.1.3.jar" ${tmpfile}
+ filter_file "cnd.antlr3/external/antlr-runtime-3.1.3.jar" ${tmpfile}
+ fi
+
+ if use netbeans_modules_dlight ; then
+ filter_file "dlight.db.derby/external/derby-10.2.2.0.jar" ${tmpfile}
+ filter_file "dlight.libs.h2/external/h2-1.0.79.jar" ${tmpfile}
+ fi
+
+ if use netbeans_modules_enterprise ; then
+ filter_file "javaee.api/external/javaee-api-6.0.jar" ${tmpfile}
+ filter_file "javaee.api/external/javaee-web-api-6.0.jar" ${tmpfile}
+ filter_file "javaee.api/external/javax.annotation.jar" ${tmpfile}
+ filter_file "javaee.api/external/jaxb-api-osgi.jar" ${tmpfile}
+ filter_file "javaee.api/external/webservices-api-osgi.jar" ${tmpfile}
+ filter_file "j2ee.sun.appsrv81/external/appservapis-2.0.58.3.jar" ${tmpfile}
+ filter_file "j2ee.sun.appsrv81/external/org-netbeans-modules-j2ee-sun-appsrv81.jar" ${tmpfile}
+ filter_file "libs.glassfish_logging/external/glassfish-logging-2.0.jar" ${tmpfile}
+ # http://www.netbeans.org/issues/show_bug.cgi?id=164334
+ filter_file "servletjspapi/external/servlet2.5-jsp2.1-api.jar" ${tmpfile}
+ filter_file "spring.webmvc/external/spring-webmvc-2.5.6.SEC01.jar" ${tmpfile}
+ filter_file "web.jspparser/external/glassfish-jspparser-2.0.jar" ${tmpfile}
+ # api documentation packaged as jar
+ filter_file "websvc.restlib/external/jersey-client-1.1.5.1-javadoc.jar" ${tmpfile}
+ filter_file "websvc.restlib/external/jersey-core-1.1.5.1-javadoc.jar" ${tmpfile}
+ filter_file "websvc.restlib/external/jersey-json-1.1.5.1-javadoc.jar" ${tmpfile}
+ filter_file "websvc.restlib/external/jersey-spring-1.1.5.1-javadoc.jar" ${tmpfile}
+ filter_file "websvc.restlib/external/jsr311-api-1.1.1-javadoc.jar" ${tmpfile}
+ filter_file "websvc.restlib/external/oauth-client-1.1.5.1-javadoc.jar" ${tmpfile}
+ filter_file "websvc.restlib/external/oauth-signature-1.1.5.1-javadoc.jar" ${tmpfile}
+ fi
+
+ if use netbeans_modules_groovy ; then
+ # heavily repackaged
+ filter_file "groovy.editor/external/groovy-all-1.6.4.jar" ${tmpfile}
+ fi
+
+ if use netbeans_modules_harness ; then
+ filter_file "apisupport.harness/external/bindex-2.2.jar" ${tmpfile}
+ filter_file "apisupport.tc.cobertura/external/cobertura-1.9.3.jar" ${tmpfile}
+ filter_file "jemmy/external/jemmy-2.3.0.0.jar" ${tmpfile}
+ fi
+
+ if use netbeans_modules_ide ; then
+ filter_file "extexecution.destroy/external/libpam4j-1.1.jar" ${tmpfile}
+ # org.netbeans.processtreekiller package
+ filter_file "extexecution.destroy/external/processtreekiller-1.0.1.jar" ${tmpfile}
+ filter_file "extexecution.destroy/external/winp-1.14-patched.jar" ${tmpfile}
+ # very old stuff
+ filter_file "httpserver/external/tomcat-webserver-3.2.jar" ${tmpfile}
+ filter_file "libs.bugtracking/external/org.eclipse.mylyn.commons.core_3.3.1.jar" ${tmpfile}
+ filter_file "libs.bugtracking/external/org.eclipse.mylyn.commons.net_3.3.0.jar" ${tmpfile}
+ filter_file "libs.bugtracking/external/org.eclipse.mylyn.tasks.core_3.3.1.jar" ${tmpfile}
+ filter_file "libs.bugzilla/external/org.eclipse.mylyn.bugzilla.core_3.3.1.jar" ${tmpfile}
+ filter_file "libs.bytelist/external/bytelist-0.1.jar" ${tmpfile}
+ filter_file "libs.ini4j/external/ini4j-0.4.1.jar" ${tmpfile}
+ filter_file "libs.svnClientAdapter/external/svnClientAdapter-1.6.0.jar" ${tmpfile}
+ filter_file "libs.swingx/external/swingx-0.9.5.jar" ${tmpfile}
+ filter_file "libs.smack/external/smack.jar" ${tmpfile}
+ filter_file "libs.smack/external/smackx.jar" ${tmpfile}
+ # packaged in a different way than we do (also netbeans seems to require JAXB 2.2)
+ filter_file "libs.jaxb/external/jaxb-impl.jar" ${tmpfile}
+ filter_file "libs.jaxb/external/jaxb1-impl.jar" ${tmpfile}
+ # packaged in a different way than we do
+ filter_file "libs.jaxb/external/jaxb-xjc.jar" ${tmpfile}
+ # patched version of apache resolver
+ filter_file "o.apache.xml.resolver/external/resolver-1.2.jar" ${tmpfile}
+ filter_file "swing.validation/external/ValidationAPI.jar" ${tmpfile}
+ # system core-renderer.jar causes deadlocks (in logging) when openning css files
+ filter_file "web.flyingsaucer/external/core-renderer-R7final.jar" ${tmpfile}
+ filter_file "xml.jaxb.api/external/jaxb-api.jar" ${tmpfile}
+ fi
+
+ if use netbeans_modules_java ; then
+ filter_file "j2ee.eclipselink/external/eclipselink-2.0.2.jar" ${tmpfile}
+ filter_file "j2ee.eclipselink/external/eclipselink-javax.persistence-2.0.jar" ${tmpfile}
+ # netbeans bundles also toplink-essentials in the jar
+ filter_file "j2ee.toplinklib/external/glassfish-persistence-v2ur1-build-09d.jar" ${tmpfile}
+ # a patch
+ filter_file "junit/external/Ant-1.8.0-binary-patch-72080.jar" ${tmpfile}
+ # junit sources
+ filter_file "junit/external/junit-4.5-src.jar" ${tmpfile}
+ # some netbeans stuff
+ filter_file "libs.javacapi/external/javac-api-nb-7.0-b07.jar" ${tmpfile}
+ # some netbeans stuff
+ filter_file "libs.javacimpl/external/javac-impl-nb-7.0-b07.jar" ${tmpfile}
+ filter_file "libs.springframework/external/spring-2.5.6.SEC01.jar" ${tmpfile}
+ # maven stuff - ignoring for now
+ filter_file "maven.embedder/external/maven-dependency-tree-1.2.jar" ${tmpfile}
+ # maven stuff - ignoring for now
+ filter_file "maven.embedder/external/maven-embedder-2.1-20080623-patched.jar" ${tmpfile}
+ # maven stuff - ignoring for now
+ filter_file "maven.indexer/external/nexus-indexer-2.0.0-shaded.jar" ${tmpfile}
+ fi
+
+ if use netbeans_modules_mobility ; then
+ # if not commented, the jars are probably some netbeans jars related to mobility
+ #
+ # i didn't find sources of this
+ filter_file "j2me.cdc.project.ricoh/external/RicohAntTasks-2.0.jar" ${tmpfile}
+ filter_file "mobility.databindingme/lib/netbeans_databindingme.jar" ${tmpfile}
+ filter_file "mobility.databindingme/lib/netbeans_databindingme_pim.jar" ${tmpfile}
+ filter_file "mobility.databindingme/lib/netbeans_databindingme_svg.jar" ${tmpfile}
+ # retired project
+ filter_file "mobility.deployment.webdav/external/jakarta-slide-ant-webdav-2.1.jar" ${tmpfile}
+ filter_file "mobility.j2meunit/external/jmunit4cldc10-1.2.1.jar" ${tmpfile}
+ filter_file "mobility.j2meunit/external/jmunit4cldc11-1.2.1.jar" ${tmpfile}
+ filter_file "o.n.mobility.lib.activesync/external/nbactivesync-5.0.jar" ${tmpfile}
+ filter_file "svg.perseus/external/perseus-nb-1.0.jar" ${tmpfile}
+ filter_file "vmd.components.midp/netbeans_midp_components_basic/dist/netbeans_midp_components_basic.jar" ${tmpfile}
+ filter_file "vmd.components.midp.pda/netbeans_midp_components_pda/dist/netbeans_midp_components_pda.jar" ${tmpfile}
+ filter_file "vmd.components.midp.wma/netbeans_midp_components_wma/dist/netbeans_midp_components_wma.jar" ${tmpfile}
+ filter_file "vmd.components.svg/nb_svg_midp_components/dist/nb_svg_midp_components.jar" ${tmpfile}
+ fi
+
+ if use netbeans_modules_ruby ; then
+ filter_file "libs.jrubyparser/external/jruby-parser-0.1.jar" ${tmpfile}
+ filter_file "o.kxml2/external/kxml2-2.3.0.jar" ${tmpfile}
+ filter_file "o.rubyforge.debugcommons/external/debug-commons-java-0.10.0.jar" ${tmpfile}
+ fi
+
+ if [ -n "${NB_FILTERFILESFAILED}" ] ; then
+ die "Some files that should be filtered do not exist"
+ fi
+
+ for file in `cat ${tmpfile}` ; do
+ rm -v ${file}
+ done
+ fi
+}
+
+src_compile() {
+ local antflags="-Dstop.when.broken.modules=true"
+
+ if use debug; then
+ antflags="${antflags} -Dbuild.compiler.debug=true"
+ antflags="${antflags} -Dbuild.compiler.deprecation=true"
+ else
+ antflags="${antflags} -Dbuild.compiler.debug=false"
+ antflags="${antflags} -Dbuild.compiler.deprecation=false"
+ fi
+
+ local clusters="-Dnb.clusters.list=nb.cluster.platform"
+ for netbeans_module in ${IUSE_NETBEANS_MODULES} ; do
+ netbeans_module=${netbeans_module/[+]/}
+ local short_netbeans_module=${netbeans_module/netbeans_modules_/}
+ use ${netbeans_module} && clusters="${clusters},nb.cluster.${short_netbeans_module}"
+ done
+
+ local build_target=""
+ if use netbeans_modules_nb ; then
+ build_target="build-nozip"
+ else
+ build_target="build-clusters"
+ mkdir -p "${BUILDDESTINATION}" || die
+ fi
+
+ local extra_flags=""
+ if use netbeans_modules_ergonomics ; then
+ mkdir "${S}"/nbbuild/ergonomics_build_fix || die
+ extra_flags="-Dergonomic.clusters.extra=../../ergonomics_build_fix"
+ fi
+
+ # Fails to compile
+ java-pkg_filter-compiler ecj-3.2 ecj-3.3 ecj-3.4 ecj-3.5
+
+ ANT_TASKS="ant-nodeps ant-trax" ANT_OPTS="-Xmx1g -Djava.awt.headless=true" \
+ eant ${antflags} ${clusters} -f nbbuild/build.xml ${extra_flags} ${build_target}
+
+ if use doc ; then
+ ANT_TASKS="ant-nodeps ant-trax" ANT_OPTS="-Xmx1536m -Djava.awt.headless=true" \
+ eant ${antflags} -f nbbuild/build.xml ${extra_flags} build-javadoc
+ fi
+
+ local locales=""
+ for lang in ${IUSE_LINGUAS} ; do
+ local mylang=${lang/linguas_/}
+
+ if [[ "${mylang}" = "ar" ]] ; then
+ mylang="ar_EG,ar_SA"
+ elif [[ "${mylang}" = "es" ]] ; then
+ mylang="es,es_CO"
+ elif [[ "${mylang}" = "gl" ]] ; then
+ mylang="gl_ES"
+ elif [[ "${mylang}" = "id" ]] ; then
+ mylang="in_ID"
+ elif [[ "${mylang}" = "nl" ]] ; then
+ mylang="nl_BE,nl_NL"
+ elif [[ "${mylang}" = "tl" ]] ; then
+ mylang="fil_PH"
+ fi
+
+ if use ${lang} ; then
+ if [ -z "${locales}" ] ; then
+ locales="${mylang}"
+ else
+ locales="${locales},${mylang}"
+ fi
+ fi
+ done
+
+ if [ -n "${locales}" ] ; then
+ einfo "Compiling support for locales: ${locales}"
+ eant ${antflags} -Dlocales=${locales} -Ddist.dir=../nbbuild/netbeans -Dnbms.dir="" -Dnbms.dist.dir="" \
+ -f l10n/build.xml build
+ fi
+
+ # Remove non-Linux binaries
+ einfo "Removing libraries and scripts for non-linux archs..."
+ find "${BUILDDESTINATION}" -type f \
+ -name "*.exe" -o \
+ -name "*.cmd" -o \
+ -name "*.bat" -o \
+ -name "*.dll" \
+ | grep -v "/profiler3/" | xargs rm -fv
+
+ if use netbeans_modules_cnd ; then
+ rm -fv "${BUILDDESTINATION}"/cnd/bin/*-SunOS-*
+ rm -fv "${BUILDDESTINATION}"/cnd/bin/*-Mac_OS_X-*
+ fi
+
+ # Use the system ant
+ if use netbeans_modules_java ; then
+ cd "${BUILDDESTINATION}"/java/ant || die "Cannot cd to "${BUILDDESTINATION}"/java/ant"
+ rm -fr lib
+ rm -fr bin
+ rm -fr etc
+ fi
+
+ # Set initial default jdk
+ if [[ -e "${BUILDDESTINATION}"/etc/netbeans.conf ]]; then
+ echo "netbeans_jdkhome=\"\$(java-config -O)\"" >> "${BUILDDESTINATION}"/etc/netbeans.conf
+ fi
+
+ # Install Gentoo Netbeans ID
+ # This ID is used to identify our netbeans package while contacting update center
+ mkdir -p "${BUILDDESTINATION}"/nb/config || die
+ echo "NBGNT" > "${BUILDDESTINATION}"/nb/config/productid || die "Could not set Gentoo Netbeans ID"
+
+ # fix paths per bug# 163483
+ if [[ -e "${BUILDDESTINATION}"/bin/netbeans ]]; then
+ sed -i -e 's:"$progdir"/../etc/:/etc/netbeans-6.9/:' "${BUILDDESTINATION}"/bin/netbeans
+ sed -i -e 's:"${userdir}"/etc/:/etc/netbeans-6.9/:' "${BUILDDESTINATION}"/bin/netbeans
+ fi
+}
+
+src_install() {
+ insinto ${DESTINATION}
+
+ einfo "Installing the program..."
+ cd "${BUILDDESTINATION}"
+ doins -r *
+
+ # Remove the build helper files
+ rm -f "${D}"/${DESTINATION}/nb.cluster.*
+ rm -f "${D}"/${DESTINATION}/*.built
+ rm -f "${D}"/${DESTINATION}/moduleCluster.properties
+ rm -f "${D}"/${DESTINATION}/module_tracking.xml
+ rm -f "${D}"/${DESTINATION}/build_info
+
+ # Change location of etc files
+ if [[ -e "${BUILDDESTINATION}"/etc ]]; then
+ insinto /etc/${PN}-${SLOT}
+ doins "${BUILDDESTINATION}"/etc/*
+ rm -fr "${D}"/${DESTINATION}/etc
+ dosym /etc/${PN}-${SLOT} ${DESTINATION}/etc
+ fi
+
+ # Replace bundled jars with system jars
+ if [ -z "${JAVA_PKG_NB_USE_BUNDLED}" ] ; then
+ symlink_extjars
+ fi
+
+ # Correct permissions on executables and possibly remove executables that are not needed on linux
+ local nbexec_exe="${DESTINATION}/platform${PLATFORM}/lib/nbexec"
+ fperms 775 ${nbexec_exe} || die
+ if [[ -e "${D}"/${DESTINATION}/bin/netbeans ]] ; then
+ fperms 755 "${DESTINATION}/bin/netbeans" || die
+ fi
+ if use netbeans_modules_cnd ; then
+ cd "${D}"/${DESTINATION}/cnd/bin || die
+ for file in *.sh ; do
+ fperms 755 ${file} || die
+ done
+ for file in `find -name "*.so"` ; do
+ fperms 755 ${file} || die
+ done
+ fi
+ if use netbeans_modules_ide ; then
+ cd "${D}"/${DESTINATION}/ide/bin/nativeexecution || die
+ fperms 755 dorun.sh || die
+ fi
+ if use netbeans_modules_profiler ; then
+ cd "${D}"/${DESTINATION}/profiler/remote-pack-defs || die
+ for file in *.sh ; do
+ fperms 755 ${file} || die
+ done
+ fi
+
+ # DISABLED FOR NOW BECAUSE BUILDING BUNDLED JRUBY FAILS
+ # see: http://netbeans.org/bugzilla/show_bug.cgi?id=186736
+ if [ -n "${JAVA_PKG_NB_TRY_JRUBY}" ] ; then
+ if use netbeans_modules_ruby ; then
+ cd "${D}"/${DESTINATION}/ruby/jruby-1.5.0/bin || die
+ for file in * ; do
+ fperms 755 ${file} || die
+ done
+ fi
+ fi
+
+ # Link netbeans executable from bin
+ if [[ -f "${D}"/${DESTINATION}/bin/netbeans ]]; then
+ dosym ${DESTINATION}/bin/netbeans /usr/bin/${PN}-${SLOT}
+ else
+ dosym ${DESTINATION}/platform/lib/nbexec /usr/bin/${PN}-${SLOT}
+ fi
+
+ # Ant installation
+ if use netbeans_modules_java ; then
+ local ANTDIR="${DESTINATION}/java/ant"
+ dosym /usr/share/ant/lib ${ANTDIR}/lib
+ dosym /usr/share/ant-core/bin ${ANTDIR}/bin
+ dosym /usr/share/ant-core/etc ${ANTDIR}/etc
+ fi
+
+ # Documentation
+ einfo "Installing Documentation..."
+
+ cd "${D}"/${DESTINATION}
+ dohtml CREDITS.html README.html netbeans.css
+ rm -f build_info CREDITS.html README.html netbeans.css
+
+ if use doc ; then
+ rm "${S}"/nbbuild/build/javadoc/*.zip
+ java-pkg_dojavadoc "${S}"/nbbuild/build/javadoc
+ fi
+
+ # Icons and shortcuts
+ if use netbeans_modules_nb ; then
+ einfo "Installing icon..."
+ dodir /usr/share/icons/hicolor/32x32/apps
+ dosym ${DESTINATION}/nb/netbeans.png /usr/share/icons/hicolor/32x32/apps/netbeans-${SLOT}.png
+ dodir /usr/share/icons/hicolor/128x128/apps
+ cp "${FILESDIR}"/${SLOT}/netbeans.png "${D}"/usr/share/icons/hicolor/128x128/apps/netbeans-${SLOT}.png
+ dosym /usr/share/icons/hicolor/128x128/apps/netbeans-${SLOT}.png /usr/share/pixmaps/netbeans-${SLOT}.png
+ fi
+
+ make_desktop_entry netbeans-${SLOT} "Netbeans ${SLOT}" netbeans-${SLOT} Development
+}
+
+pkg_postinst() {
+ if use netbeans_modules_nb ; then
+ einfo "Netbeans automatically starts with the locale you have set in your user profile, if"
+ einfo "the locale is built for netbeans."
+ einfo "If you want to force specific locale, use --locale argument, for example:"
+ einfo "${PN}-${SLOT} --locale de"
+ einfo "${PN}-${SLOT} --locale pt:BR"
+ fi
+
+ if use linguas_ar ; then
+ einfo
+ einfo "You selected Arabic locale so you can choose either ar:EG or ar:SA variant."
+ fi
+
+ if use linguas_es ; then
+ einfo
+ einfo "You selected Spanish locale so you can choose either es or es:CO variant."
+ fi
+
+ if use linguas_gl ; then
+ einfo
+ einfo "You selected Galician locale which has locale code gl:ES in Netbeans."
+ fi
+
+ if use linguas_id ; then
+ einfo
+ einfo "You selected Indonesian locale which has locale code in:ID in Netbeans."
+ fi
+
+ if use linguas_nl ; then
+ einfo
+ einfo "You selected Dutch locale so you can choose either nl:BE or nl:NL variant."
+ fi
+
+ if use linguas_tl ; then
+ einfo
+ einfo "You selected Tagalog locale which has for Filipino locale code fil:PH in Netbeans."
+ fi
+
+ if use netbeans_modules_ruby ; then
+ einfo
+ ewarn "Due to issue with building jruby-1.5.0, bundled jruby is completely removed from"
+ ewarn "build, and also Glassfish JRuby module is removed. Nevertheless you should be able"
+ ewarn "to use Gentoo JRuby package with Netbeans without any problems."
+ fi
+
+ if use keychain ; then
+ einfo
+ einfo "You enabled keychain support, that means NetBeans will use keychain for managing"
+ einfo "your keys while connecting to ssh protected repositories. If you want to load some"
+ einfo "keys on NetBeans startup, create file keychain-keys.txt in your userdir"
+ einfo "(~/.netbeans/${SLOT}/keychain-keys.txt) and put names of your keys in the file,"
+ einfo "each key on single line, for example:"
+ einfo "id_dsa"
+ einfo "id_dsa_gentoo"
+ einfo "If on NetBeans startup key will not be handled by keychain yet, you will be asked"
+ einfo "for key password (only this time and never again). You can find more information"
+ einfo "about keychain at http://www.gentoo.org/doc/en/keychain-guide.xml"
+ fi
+}
+
+# Supporting functions for this ebuild
+
+place_unpack_symlinks() {
+ local target=""
+
+ einfo "Symlinking compilation-time jars"
+
+ dosymcompilejar "apisupport.harness/external" javahelp jhall.jar jsearch-2.0_05.jar
+ dosymcompilejar "javahelp/external" javahelp jh.jar jh-2.0_05.jar
+ dosymcompilejar "o.jdesktop.layout/external" swing-layout-1 swing-layout.jar swing-layout-1.0.4.jar
+ dosymcompilejar "libs.jna/external" jna jna.jar jna-3.0.9.jar
+
+ if use netbeans_modules_cnd ; then
+ dosymcompilejar "cnd.antlr3/external" stringtemplate stringtemplate.jar stringtemplate-3.2.jar
+ fi
+
+ if use netbeans_modules_enterprise ; then
+ dosymcompilejar "j2eeapis/external" glassfish-deployment-api-1.2 glassfish-deployment-api.jar jsr88javax.jar
+ dosymcompilejar "libs.commons_fileupload/external" commons-fileupload commons-fileupload.jar commons-fileupload-1.0.jar
+ dosymcompilejar "libs.httpunit/external" httpunit httpunit.jar httpunit-1.6.2.jar
+ dosymcompilejar "web.jstl11/external" jakarta-jstl jstl.jar jstl-1.1.2.jar
+ dosymcompilejar "web.jstl11/external" jakarta-jstl standard.jar standard-1.1.2.jar
+ dosymcompilejar "web.monitor/external" tomcat-servlet-api-2.3 servlet.jar servlet-2.3.jar
+ fi
+
+ if use netbeans_modules_harness ; then
+ dosymcompilejar "apisupport.tc.cobertura/external" asm-3 asm.jar asm-3.0.jar
+ dosymcompilejar "apisupport.tc.cobertura/external" asm-3 asm-tree.jar asm-tree-3.0.jar
+ dosymcompilejar "apisupport.tc.cobertura/external" jakarta-oro-2.0 jakarta-oro.jar jakarta-oro-2.0.8.jar
+ dosymcompilejar "apisupport.tc.cobertura/external" log4j log4j.jar log4j-1.2.9.jar
+ fi
+
+ if use netbeans_modules_ide ; then
+ dosymcompilejar "extexecution.destroy/external" commons-io-1 commons-io.jar commons-io-1.4.jar
+ dosymcompilejar "libs.commons_codec/external" commons-codec commons-codec.jar apache-commons-codec-1.3.jar
+ dosymcompilejar "libs.commons_logging/external" commons-logging commons-logging.jar commons-logging-1.1.jar
+ dosymcompilejar "libs.bugtracking/external" commons-httpclient-3 commons-httpclient.jar commons-httpclient-3.1.jar
+ dosymcompilejar "libs.bugtracking/external" commons-lang-2.1 commons-lang.jar commons-lang-2.3.jar
+ dosymcompilejar "libs.jsch/external" jsch jsch.jar jsch-0.1.41.jar
+ dosymcompilejar "libs.jvyamlb/external" jvyamlb jvyamlb.jar jvyamlb-0.2.3.jar
+ dosymcompilejar "libs.jzlib/external" jzlib jzlib.jar jzlib-1.0.7.jar
+ dosymcompilejar "libs.svnClientAdapter/external" subversion svn-javahl.jar svnjavahl-1.6.0.jar
+ dosymcompilejar "libs.lucene/external" lucene-2.4 lucene-core.jar lucene-core-2.4.1.jar
+ dosymcompilejar "css.visual/external" sac sac.jar sac-1.3.jar
+ dosymcompilejar "css.visual/external" flute flute.jar flute-1.3.jar
+ dosymcompilejar "db.drivers/external" jdbc-mysql jdbc-mysql.jar mysql-connector-java-5.1.6-bin.jar
+ dosymcompilejar "db.drivers/external" jdbc-postgresql jdbc-postgresql.jar postgresql-8.3-603.jdbc3.jar
+ dosymcompilejar "db.sql.visualeditor/external" javacc javacc.jar javacc-3.2.jar
+ dosymcompilejar "servletapi/external" tomcat-servlet-api-2.2 servlet.jar servlet-2.2.jar
+ dosymcompilejar "libs.xerces/external" xerces-2 xercesImpl.jar xerces-2.8.0.jar
+ dosymcompilejar "libs.jakarta_oro/external" jakarta-oro-2.0 jakarta-oro.jar jakarta-oro-2.0.8.jar
+ dosymcompilejar "libs.commons_net/external" commons-net commons-net.jar commons-net-1.4.1.jar
+ dosymcompilejar "libs.freemarker/external" freemarker-2.3 freemarker.jar freemarker-2.3.8.jar
+ dosymcompilejar "xml.jaxb.api/external" jsr173 jsr173.jar jsr173_api.jar
+ dosymcompilejar "xml.jaxb.api/external" sun-jaf activation.jar activation.jar
+ fi
+
+ if use netbeans_modules_java ; then
+ dosymcompilejar "o.jdesktop.beansbinding/external" beansbinding beansbinding.jar beansbinding-1.2.1.jar
+ dosymcompilejar "maven.embedder/external" jdom-1.0 jdom.jar jdom-1.0.jar
+ dosymcompilejar "junit/external" junit junit.jar junit-3.8.2.jar
+ dosymcompilejar "libs.cglib/external" cglib-2.2 cglib.jar cglib-2.2.jar
+ dosymcompilejar "swingapp/external" appframework appframework.jar appframework-1.0.3.jar
+ dosymcompilejar "swingapp/external" swing-worker swing-worker.jar swing-worker-1.1.jar
+ fi
+
+ if use netbeans_modules_mobility ; then
+ dosymcompilejar "j2me.cdc.project.ricoh/external" commons-codec commons-codec.jar commons-codec-1.3.jar
+ dosymcompilejar "j2me.cdc.project.ricoh/external" commons-httpclient-3 commons-httpclient.jar commons-httpclient-3.0.jar
+ dosymcompilejar "mobility.antext/external" ant-contrib ant-contrib.jar ant-contrib-1.0b3.jar
+ dosymcompilejar "mobility.deployment.webdav/external" commons-httpclient-3 commons-httpclient.jar commons-httpclient-3.0.1.jar
+ dosymcompilejar "mobility.deployment.webdav/external" jdom-1.0 jdom.jar jdom-1.0.jar
+ dosymcompilejar "mobility.deployment.webdav/external" jakarta-slide-webdavclient jakarta-slide-webdavlib.jar jakarta-slide-webdavlib-2.1.jar
+ dosymcompilejar "mobility.proguard/external" proguard proguard.jar proguard4.4.jar
+ fi
+
+ if use netbeans_modules_php ; then
+ dosymcompilejar "libs.javacup/external" javacup javacup.jar java-cup-11a.jar
+ fi
+
+ if use netbeans_modules_ruby ; then
+ dosymcompilejar "libs.yydebug/external" jay yydebug.jar yydebug-1.0.2.jar
+ fi
+
+ if [ -n "${NB_DOSYMCOMPILEJARFAILED}" ] ; then
+ die "Some compilation-time jars could not be symlinked"
+ fi
+}
+
+symlink_extjars() {
+ local targetdir=""
+
+ einfo "Symlinking runtime jars"
+
+ targetdir="platform/modules/ext"
+ dosyminstjar ${targetdir} javahelp jh.jar jh-2.0_05.jar
+ dosyminstjar ${targetdir} jna jna.jar jna-3.0.9.jar
+ dosyminstjar ${targetdir} swing-layout-1 swing-layout.jar swing-layout-1.0.4.jar
+
+ if use netbeans_modules_dlight ; then
+ targetdir="dlight/modules/ext"
+ # derby-10.2.2.0.jar
+ # h2-1.0.79.jar
+ fi
+
+ if use netbeans_modules_enterprise ; then
+ targetdir="/enterprise/modules/ext"
+ dosyminstjar ${targetdir} commons-fileupload commons-fileupload.jar commons-fileupload-1.0.jar
+ # glassfish-jspparser-2.0.jar
+ # glassfish-logging-2.0.jar
+ dosyminstjar ${targetdir} httpunit httpunit.jar httpunit-1.6.2.jar
+ dosyminstjar ${targetdir} jakarta-jstl jstl.jar jstl.jar
+ dosyminstjar ${targetdir} jakarta-jstl standard.jar standard.jar
+ dosyminstjar ${targetdir} glassfish-deployment-api-1.2 glassfish-deployment-api.jar jsr88javax.jar
+ # servlet2.5-jsp2.1-api.jar
+ targetdir="enterprise/modules/ext/spring"
+ # spring-webmvc-2.5.jar
+ targetdir="enterprise/modules/ext/jsf-1_2"
+ dosyminstjar ${targetdir} commons-beanutils-1.7 commons-beanutils.jar commons-beanutils.jar
+ dosyminstjar ${targetdir} commons-collections commons-collections.jar commons-collections.jar
+ dosyminstjar ${targetdir} commons-digester commons-digester.jar commons-digester.jar
+ dosyminstjar ${targetdir} commons-logging commons-logging.jar commons-logging.jar
+ # jsf-api.jar
+ # jsf-impl.jar
+ targetdir="enterprise/modules/ext/struts"
+ dosyminstjar ${targetdir} antlr antlr.jar antlr-2.7.2.jar
+ dosyminstjar ${targetdir} bsf-2.3 bsf.jar bsf-2.3.0.jar
+ dosyminstjar ${targetdir} commons-beanutils-1.7 commons-beanutils.jar commons-beanutils-1.7.0.jar
+ # commons-chain-1.1.jar
+ dosyminstjar ${targetdir} commons-digester commons-digester.jar commons-digester-1.8.jar
+ dosyminstjar ${targetdir} commons-fileupload commons-fileupload.jar commons-fileupload-1.1.1.jar
+ dosyminstjar ${targetdir} commons-io-1 commons-io.jar commons-io-1.1.jar
+ dosyminstjar ${targetdir} commons-logging commons-logging.jar commons-logging-1.0.4.jar
+ dosyminstjar ${targetdir} commons-validator commons-validator.jar commons-validator-1.3.1.jar
+ dosyminstjar ${targetdir} jakarta-jstl jstl.jar jstl-1.0.2.jar
+ dosyminstjar ${targetdir} jakarta-jstl standard.jar standard-1.0.2.jar
+ dosyminstjar ${targetdir} jakarta-oro-2.0 jakarta-oro.jar oro-2.0.8.jar
+ # struts-core-1.3.8.jar
+ # struts-el-1.3.8.jar
+ # struts-extras-1.3.8.jar
+ # struts-faces-1.3.8.jar
+ # struts-mailreader-dao-1.3.8.jar
+ # struts-scripting-1.3.8.jar
+ # struts-taglib-1.3.8.jar
+ # struts-tiles-1.3.8.jar
+ targetdir="enterprise/modules/ext/metro"
+ # webservices-api.jar
+ # webservices-extra.jar
+ # webservices-extra-api.jar
+ # webservices-rt.jar
+ # webservices-tools.jar
+ targetdir="/enterprise/modules/ext/rest"
+ dosyminstjar ${targetdir} asm-3 asm.jar asm-3.1.jar
+ # grizzly-servlet-webserver-1.7.3.2.jar
+ # http.jar - com.sun.net.httpserver - part of JavaSE 6
+ # jersey.jar
+ # jersey-spring.jar
+ dosyminstjar ${targetdir} jettison jettison.jar jettison-1.1.jar
+ dosyminstjar ${targetdir} jsr311-api jsr311-api.jar jsr311-api-1.1.1.jar
+ # wadl2java.jar - atm do not know what to do with it
+ fi
+
+ # if use netbeans_modules_groovy ; then
+ # groovy-all.jar - heavily repackaged
+ # fi
+
+ if use netbeans_modules_harness ; then
+ targetdir="harness/antlib"
+ dosyminstjar ${targetdir} javahelp jhall.jar jsearch-2.0_05.jar
+ # openjdk-javac-6-b12.jar
+ targetdir="harness/testcoverage/cobertura"
+ # cobertura-1.9.jar
+ targetdir="harness/testcoverage/cobertura/lib"
+ dosyminstjar ${targetdir} asm-3 asm.jar asm-3.0.jar
+ dosyminstjar ${targetdir} asm-3 asm-tree.jar asm-tree-3.0.jar
+ dosyminstjar ${targetdir} jakarta-oro-2.0 jakarta-oro.jar jakarta-oro-2.0.8.jar
+ dosyminstjar ${targetdir} log4j log4j.jar log4j-1.2.9.jar
+ fi
+
+ if use netbeans_modules_ide ; then
+ targetdir="ide/modules/ext"
+ # bytelist-0.1.jar
+ dosyminstjar ${targetdir} commons-codec commons-codec.jar apache-commons-codec-1.3.jar
+ dosyminstjar ${targetdir} commons-httpclient-3 commons-httpclient.jar commons-httpclient-3.1.jar
+ dosyminstjar ${targetdir} commons-io-1 commons-io.jar commons-io-1.4.jar
+ dosyminstjar ${targetdir} commons-lang-2.1 commons-lang.jar commons-lang-2.3.jar
+ dosyminstjar ${targetdir} commons-logging commons-logging.jar commons-logging-1.1.jar
+ dosyminstjar ${targetdir} commons-net commons-net.jar commons-net-1.4.1.jar
+ dosyminstjar ${targetdir} flute flute.jar flute-1.3.jar
+ # core-renderer.jar - flyingsaucer - system one causes deadlock
+ dosyminstjar ${targetdir} freemarker-2.3 freemarker.jar freemarker-2.3.8.jar
+ # ini4j-0.4.1.jar
+ dosyminstjar ${targetdir} jakarta-oro-2.0 jakarta-oro.jar jakarta-oro-2.0.8.jar
+ dosyminstjar ${targetdir} jdbc-mysql jdbc-mysql.jar mysql-connector-java-5.1.6-bin.jar
+ dosyminstjar ${targetdir} jdbc-postgresql jdbc-postgresql.jar postgresql-8.3-603.jdbc3.jar
+ dosyminstjar ${targetdir} jsch jsch.jar jsch-0.1.41.jar
+ dosyminstjar ${targetdir} jvyamlb jvyamlb.jar jvyamlb-0.2.3.jar
+ dosyminstjar ${targetdir} jzlib jzlib.jar jzlib-1.0.7.jar
+ dosyminstjar ${targetdir} lucene-2.4 lucene-core.jar lucene-core-2.4.1.jar
+ # org.eclipse.mylyn.bugzilla.core_3.0.5.jar
+ # org.eclipse.mylyn.commons.core_3.0.5.jar
+ # org.eclipse.mylyn.commons.net_3.0.5.jar
+ # org.eclipse.mylyn.tasks.core_3.0.5.jar
+ # org-mozilla-rhino-patched.jar - some patched stuff
+ dosyminstjar ${targetdir} sac sac.jar sac-1.3.jar
+ # smack.jar
+ # smackx.jar
+ # resolver-1.2.jar - probably patched apache resolver
+ # svnClientAdapter-1.6.0.jar
+ dosyminstjar ${targetdir} subversion svn-javahl.jar svnjavahl-1.6.0.jar
+ # swingx-0.9.5.jar
+ dosyminstjar ${targetdir} tomcat-servlet-api-2.2 servlet.jar servlet-2.2.jar
+ # webserver.jar
+ dosyminstjar ${targetdir} xerces-2 xercesImpl.jar xerces-2.8.0.jar
+ # jaxb-impl.jar
+ # jaxb-xjc.jar
+ targetdir="ide/modules/ext/jaxb/api"
+ # jaxb-api.jar
+ dosyminstjar ${targetdir} jsr173 jsr173.jar jsr173_api.jar
+ targetdir="ide/modules/ext/jaxb"
+ dosyminstjar ${targetdir} sun-jaf activation.jar activation.jar
+ fi
+
+ if use netbeans_modules_java ; then
+ targetdir="java/ant/nblib"
+ # bridge.jar
+ targetdir="java/ant/patches"
+ # 72080.jar
+ targetdir="java/modules"
+ # org-apache-tools-ant-module.jar
+ targetdir="java/modules/ext"
+ dosyminstjar ${targetdir} appframework appframework.jar appframework-1.0.3.jar
+ dosyminstjar ${targetdir} beansbinding beansbinding.jar beansbinding-1.2.1.jar
+ dosyminstjar ${targetdir} cglib-2.2 cglib.jar cglib-2.2.jar
+ # javac-api-nb-7.0-b07.jar
+ # javac-impl-nb-7.0-b07.jar
+ dosyminstjar ${targetdir} jdom-1.0 jdom.jar jdom-1.0.jar
+ # maven-dependency-tree-1.2.jar
+ # maven-embedder-2.1-20080623-patched.jar
+ # nexus-indexer-2.0.0-shaded.jar
+ dosyminstjar ${targetdir} junit junit.jar junit-3.8.2.jar
+ dosyminstjar ${targetdir} swing-worker swing-worker.jar swing-worker-1.1.jar
+ targetdir="java/modules/ext/jaxws22"
+ dosyminstjar ${targetdir} fastinfoset fastinfoset.jar FastInfoset.jar
+ # gmbal-api-only.jar
+ # http.jar
+ # jaxws-rt.jar
+ # jaxws-tools.jar
+ # management-api.jar
+ # mimepull.jar - atm do not know what to do with it
+ # policy.jar
+ dosyminstjar ${targetdir} saaj saaj.jar saaj-impl.jar
+ dosyminstjar ${targetdir} stax-ex stax-ex.jar stax-ex.jar
+ dosyminstjar ${targetdir} xmlstreambuffer streambuffer.jar streambuffer.jar
+ # woodstox.jar
+ targetdir="java/modules/ext/jaxws22/api"
+ # jaxws-api.jar
+ dosyminstjar ${targetdir} jsr250 jsr250.jar jsr250-api.jar
+ dosyminstjar ${targetdir} jsr67 jsr67.jar saaj-api.jar
+ dosyminstjar ${targetdir} jsr181 jsr181.jar jsr181-api.jar
+ targetdir="java/modules/ext/hibernate"
+ dosyminstjar ${targetdir} antlr antlr.jar antlr-2.7.6.jar
+ dosyminstjar ${targetdir} asm-2.2 asm.jar asm.jar
+ dosyminstjar ${targetdir} asm-2.2 asm-attrs.jar asm-attrs.jar
+ dosyminstjar ${targetdir} cglib-2.2 cglib.jar cglib-2.1.3.jar
+ dosyminstjar ${targetdir} commons-collections commons-collections.jar commons-collections-2.1.1.jar
+ dosyminstjar ${targetdir} dom4j-1 dom4j.jar dom4j-1.6.1.jar
+ dosyminstjar ${targetdir} ehcache-1.2 ehcache.jar ehcache-1.2.3.jar
+ dosyminstjar ${targetdir} glassfish-persistence glassfish-persistence.jar ejb3-persistence.jar
+ dosyminstjar ${targetdir} glassfish-transaction-api jta.jar jta.jar
+ dosyminstjar ${targetdir} hibernate-3.1 hibernate3.jar hibernate3.jar
+ # hibernate-annotations.jar
+ # hibernate-commons-annotations.jar
+ # hibernate-entitymanager.jar
+ # hibernate-tools.jar
+ dosyminstjar ${targetdir} javassist-3 javassist.jar javassist.jar
+ # jdbc2_0-stdext.jar - obsolete package
+ dosyminstjar ${targetdir} jtidy Tidy.jar jtidy-r8-20060801.jar
+ targetdir="java/modules/ext/spring"
+ # spring-2.5.jar
+ targetdir="java/modules/ext/toplink"
+ # toplink-essentials.jar
+ # toplink-essentials-agent.jar
+ fi
+
+ if use netbeans_modules_mobility ; then
+ targetdir="mobility/modules/ext"
+ dosyminstjar ${targetdir} ant-contrib ant-contrib.jar ant-contrib-1.0b3.jar
+ # cdc-agui-swing-layout.jar - atm do not know what to do with it
+ # cdc-pp-awt-layout.jar - atm do not know what to do with it
+ dosyminstjar ${targetdir} commons-codec commons-codec.jar commons-codec-1.3.jar
+ dosyminstjar ${targetdir} commons-httpclient-3 commons-httpclient.jar commons-httpclient-3.0.jar
+ dosyminstjar ${targetdir} commons-httpclient-3 commons-httpclient.jar commons-httpclient-3.0.1.jar
+ dosyminstjar ${targetdir} jakarta-slide-webdavclient jakarta-slide-webdavlib.jar jakarta-slide-webdavlib-2.1.jar
+ # jakarta-slide-ant-webdav-2.1.jar - retired package
+ dosyminstjar ${targetdir} jdom-1.0 jdom.jar jdom-1.0.jar
+ # jmunit4cldc10-1.2.1.jar
+ # jmunit4cldc11-1.2.1.jar
+ # perseus-nb-1.0.jar
+ # RicohAntTasks-2.0.jar
+ targetdir="mobility/external/proguard"
+ dosyminstjar ${targetdir} proguard proguard.jar proguard4.4.jar
+ fi
+
+ if use netbeans_modules_php ; then
+ targetdir="php/modules/ext"
+ dosyminstjar ${targetdir} javacup javacup.jar java-cup-11a.jar
+ fi
+
+ if use netbeans_modules_ruby ; then
+ targetdir="ruby/modules/ext"
+ dosyminstjar ${targetdir} asm-3 asm.jar asm-3.0.jar
+ dosyminstjar ${targetdir} asm-3 asm-analysis.jar asm-analysis-3.0.jar
+ dosyminstjar ${targetdir} asm-3 asm-commons.jar asm-commons-3.0.jar
+ dosyminstjar ${targetdir} asm-3 asm-tree.jar asm-tree-3.0.jar
+ dosyminstjar ${targetdir} asm-3 asm-util.jar asm-util-3.0.jar
+ # debug-commons-java-0.10.0.jar
+ # dynalang-0.3.jar
+ dosyminstjar ${targetdir} jline jline.jar jline-0.9.93.jar
+ dosyminstjar ${targetdir} jna-posix jna-posix.jar jna-posix.jar
+ dosyminstjar ${targetdir} joda-time joda-time.jar joda-time-1.5.1.jar
+ dosyminstjar ${targetdir} joni joni.jar joni.jar
+ # jruby-parser-0.1.jar
+ # kxml2-2.3.0.jar
+ dosyminstjar ${targetdir} jay yydebug.jar yydebug-1.0.2.jar
+ fi
+
+ if [ -n "${NB_DOSYMINSTJARFAILED}" ] ; then
+ die "Some runtime jars could not be symlinked"
+ fi
+}
+
+dosymcompilejar() {
+ if [ -z "${JAVA_PKG_NB_BUNDLED}" ] ; then
+ local dest="${1}"
+ local package="${2}"
+ local jar_file="${3}"
+ local target_file="${4}"
+
+ # We want to know whether the target jar exists and fail if it doesn't so we know
+ # something is wrong
+ local target="${S}/${dest}/${target_file}"
+ if [ -e "${target}" ] ; then
+ java-pkg_jar-from --build-only --into "${S}"/${dest} ${package} ${jar_file} ${target_file}
+ else
+ ewarn "Target jar does not exist so will not create link: ${target}"
+ NB_DOSYMCOMPILEJARFAILED="1"
+ fi
+ fi
+}
+
+dosyminstjar() {
+ if [ -z "${JAVA_PKG_NB_BUNDLED}" ] ; then
+ local dest="${1}"
+ local package="${2}"
+ local jar_file="${3}"
+ local target_file=""
+ if [ -z "${4}" ]; then
+ target_file="${3}"
+ else
+ target_file="${4}"
+ fi
+
+ # We want to know whether the target jar exists and fail if it doesn't so we know
+ # something is wrong
+ local source="/usr/share/${package}/lib/${jar_file}"
+ if [ ! -e "${source}" ] ; then
+ ewarn "Cannot link jar, ${source} does not exist!"
+ NB_DOSYMINSTJARFAILED="1"
+ fi
+
+ local target="${DESTINATION}/${dest}/${target_file}"
+ if [ -e "${D}/${target}" ] ; then
+ dosym /usr/share/${package}/lib/${jar_file} ${target}
+ else
+ ewarn "Target jar does not exist so will not create link: ${D}/${target}"
+ NB_DOSYMINSTJARFAILED="1"
+ fi
+ fi
+}
+
+filter_file() {
+ local filter_file="${1}"
+ local tmp_file="${2}"
+
+ if [ -f "${filter_file}" ] ; then
+ local adjusted=$(echo "${filter_file}" | sed -e "s%\\/%\\\/%g" | sed -e "s/\./\\\./g")
+ sed -e "/${adjusted}/d" -i "${tmp_file}" || die
+ else
+ ewarn "File that should be kept does not exist: ${filter_file}"
+ NB_FILTERFILESFAILED="1"
+ fi
+}