diff options
author | Miroslav Šulc <fordfrog@gentoo.org> | 2010-07-17 18:54:42 +0000 |
---|---|---|
committer | Miroslav Šulc <fordfrog@gentoo.org> | 2010-07-17 18:54:42 +0000 |
commit | 0397ae342ea136d2b31718f8c5a1f5364bb1c4fd (patch) | |
tree | 61615b28686380055eb2ab5f980e489256c55f0a /dev-util/netbeans | |
parent | Version bump wrt #324297 by Tim Harder. (diff) | |
download | gentoo-2-0397ae342ea136d2b31718f8c5a1f5364bb1c4fd.tar.gz gentoo-2-0397ae342ea136d2b31718f8c5a1f5364bb1c4fd.tar.bz2 gentoo-2-0397ae342ea136d2b31718f8c5a1f5364bb1c4fd.zip |
netbeans: added support for keychain
(Portage version: 2.1.8.3/cvs/Linux x86_64)
Diffstat (limited to 'dev-util/netbeans')
-rw-r--r-- | dev-util/netbeans/ChangeLog | 6 | ||||
-rw-r--r-- | dev-util/netbeans/files/6.9/netbeans-keychain.patch | 23 | ||||
-rw-r--r-- | dev-util/netbeans/metadata.xml | 17 | ||||
-rw-r--r-- | dev-util/netbeans/netbeans-6.9-r3.ebuild | 1297 |
4 files changed, 1335 insertions, 8 deletions
diff --git a/dev-util/netbeans/ChangeLog b/dev-util/netbeans/ChangeLog index cd1c2b1eafef..45edb9b55655 100644 --- a/dev-util/netbeans/ChangeLog +++ b/dev-util/netbeans/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for dev-util/netbeans # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-util/netbeans/ChangeLog,v 1.144 2010/07/17 17:46:33 fordfrog Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-util/netbeans/ChangeLog,v 1.145 2010/07/17 18:54:42 fordfrog Exp $ + + 17 Jul 2010; Miroslav Šulc <fordfrog@gentoo.org> + +files/6.9/netbeans-keychain.patch, metadata.xml: + Added support for keychain in netbeans 17 Jul 2010; Miroslav Šulc <fordfrog@gentoo.org> -files/5.5.1/jdbcstorage-build.xml-comments.patch, diff --git a/dev-util/netbeans/files/6.9/netbeans-keychain.patch b/dev-util/netbeans/files/6.9/netbeans-keychain.patch new file mode 100644 index 000000000000..86c38508ea7c --- /dev/null +++ b/dev-util/netbeans/files/6.9/netbeans-keychain.patch @@ -0,0 +1,23 @@ +--- ide/launcher/unix/netbeans.orig 2010-07-17 20:08:48.778263924 +0200 ++++ ide/launcher/unix/netbeans 2010-07-17 20:11:28.547222625 +0200 +@@ -169,6 +169,20 @@ + then + sh=/bin/bash + fi ++ keychain=`which keychain` ++ if [ -n "$keychain" ]; then ++ $keychain -q ++ . $HOME/.keychain/$HOSTNAME-sh ++ if [ -e $userdir/keychain-keys.txt ]; then ++ for key in `cat $userdir/keychain-keys.txt`; do ++ SSH_ASKPASS=`which x11-ssh-askpass` ++ export SSH_ASKPASS ++ if [ -n "$key" ]; then ++ keychain $key ++ fi ++ done ++ fi ++ fi + if [ "${founduserdir}" = "yes" ]; then + exec $sh "$nbexec" "$@" + else diff --git a/dev-util/netbeans/metadata.xml b/dev-util/netbeans/metadata.xml index 311de871add7..7eaf536eecb8 100644 --- a/dev-util/netbeans/metadata.xml +++ b/dev-util/netbeans/metadata.xml @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>dev-tools</herd> - <herd>java</herd> - <maintainer> - <email>fordfrog@gentoo.org</email> - <name>Miroslav Šulc</name> - </maintainer> - <longdescription> + <herd>dev-tools</herd> + <herd>java</herd> + <maintainer> + <email>fordfrog@gentoo.org</email> + <name>Miroslav Šulc</name> + </maintainer> + <longdescription> NetBeans is dedicated to providing rock solid software development products (NetBeans IDE, NetBeans Platform) that address the needs of developers, users and the businesses who rely on NetBeans as a basis for their products. NetBeans is also a vibrant community where people from just about any country you can think of, have the ability ask questions, give advice, make a wide variety of @@ -18,4 +18,7 @@ In June of 2000 NetBeans was made Open Source by Sun Microsystems who remains th NetBeans IDE and NetBeans Platform. Both products are free for commercial and noncommercial use. The source code to both are available to anyone, to reuse as they see fit, under the terms of use. </longdescription> + <use> + <flag name="keychain">enables support for keychain in netbeans start script</flag> + </use> </pkgmetadata> diff --git a/dev-util/netbeans/netbeans-6.9-r3.ebuild b/dev-util/netbeans/netbeans-6.9-r3.ebuild new file mode 100644 index 000000000000..1edfb7934a31 --- /dev/null +++ b/dev-util/netbeans/netbeans-6.9-r3.ebuild @@ -0,0 +1,1297 @@ +# 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.1 2010/07/17 18:54:42 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.1 + 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-3.8.2:0 + 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 + + # 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 +} |