# Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/dev-util/netbeans/netbeans-6.9.1.ebuild,v 1.5 2011/01/23 00:13:35 fordfrog Exp $ EAPI="3" 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/${P}.tar.bz2 mirror://gentoo/${P}-l10n.tar.bz2 mirror://gentoo/${PN}-${SLOT}.png" 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 } # Custom unpack function to prevent warning about not being able to unpack netbeans-6.9.png src_unpack () { unpack ${P}.tar.bz2 unpack ${P}-l10n.tar.bz2 } src_prepare () { # We need to disable downloading of jars epatch "${FILESDIR}"/${SLOT}/nbbuild_build.xml.patch \ "${FILESDIR}"/${SLOT}/nbbuild_templates_projectized.xml.patch \ "${FILESDIR}"/${SLOT}/cnd.model.services-build.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.1-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 "${DISTDIR}"/${PN}-${SLOT}.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 ${PV}" 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" # felix-2.0.3.jar - not packaged # felix-main-2.0.2.jar - not packaged dosyminstjar ${targetdir} javahelp jh.jar jh-2.0_05.jar dosyminstjar ${targetdir} jna jna.jar jna-3.0.9.jar # junit-4.5.jar - out does not contain hamcrest classes # osgi.core-4.2.jar - not packaged # osgi.cmpn-4.2.jar - not packaged dosyminstjar ${targetdir} swing-layout-1 swing-layout.jar swing-layout-1.0.4.jar if use netbeans_modules_cnd ; then targetdir="cnd/modules/ext" # antlr-3.1.3.jar - upstream contains more classes # antlr-runtime-3.1.3.jar - subset of antlr classes # stringtemplate-3.2.jar fi if use netbeans_modules_dlight ; then targetdir="dlight/modules/ext" # derby-10.2.2.0.jar - not packaged # h2-1.0.79.jar - not packaged fi if use netbeans_modules_enterprise ; then targetdir="/enterprise/modules/ext" dosyminstjar ${targetdir} commons-fileupload commons-fileupload.jar commons-fileupload-1.0.jar dosyminstjar ${targetdir} glassfish-deployment-api-1.2 glassfish-deployment-api.jar jsr88javax.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 # javaee-api-6.0.jar # javaee-web-api-6.0.jar # servlet2.5-jsp2.1-api.jar targetdir="enterprise/modules/ext/javaee6-endorsed" # javax.annotation.jar # jaxb-api-osgi.jar # webservices-api-osgi.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/jsf-2_0" # jsf-api.jar # jsf-impl.jar targetdir="enterprise/modules/ext/metro" # webservices-api.jar # webservices-extra-api.jar # webservices-extra.jar # webservices-rt.jar # webservices-tools.jar targetdir="enterprise/modules/ext/rest" dosyminstjar ${targetdir} asm-3 asm.jar asm-3.1.jar # jackson-core-asl-1.1.1.jar # jersey-client-1.1.5.1.jar # jersey-core-1.1.5.1.jar # jersey-json-1.1.5.1.jar # jersey-server-1.1.5.1.jar # jersey-spring-1.1.5.1.jar dosyminstjar ${targetdir} jettison jettison.jar jettison-1.1.jar dosyminstjar ${targetdir} jsr311-api jsr311-api.jar jsr311-api-1.1.1.jar # oauth-client-1.1.5.1.jar # oauth-signature-1.1.5.1.jar targetdir="enterprise/modules/ext/spring" # servlet2.5-jsp2.1-api.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 fi # if use netbeans_modules_groovy ; then # groovy-all.jar - heavily repackaged # fi if use netbeans_modules_harness ; then targetdir="harness/antlib" # bindex-2.2.jar dosyminstjar ${targetdir} javahelp jhall.jar jsearch-2.0_05.jar targetdir="harness/testcoverage/cobertura" # cobertura-1.9.3.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" # org-mozilla-rhino-patched.jar - some patched stuff 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 # libpam4j-1.1.jar dosyminstjar ${targetdir} lucene-2.4 lucene-core.jar lucene-core-2.4.1.jar # org.eclipse.mylyn.bugzilla.core_3.3.1.jar # org.eclipse.mylyn.commons.core_3.3.1.jar # org.eclipse.mylyn.commons.net_3.3.0.jar # org.eclipse.mylyn.tasks.core_3.3.1.jar dosyminstjar ${targetdir} sac sac.jar sac-1.3.jar # resolver-1.2.jar - probably patched apache resolver # smack.jar # smackx.jar # 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 # winp-1.14-patched.jar dosyminstjar ${targetdir} xerces-2 xercesImpl.jar xerces-2.8.0.jar targetdir="ide/modules/ext/jaxb" # jaxb-impl.jar # jaxb-xjc.jar # jaxb1-impl.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/eclipselink" # eclipselink-javax.persistence-2.0.jar # eclipselink-2.0.2.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/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/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/spring" # spring-2.5.6.SEC01.jar targetdir="java/modules/ext/spring-3.0" # spring-aop-3.0.2.RELEASE.jar # spring-asm-3.0.2.RELEASE.jar # spring-aspects-3.0.2.RELEASE.jar # spring-beans-3.0.2.RELEASE.jar # spring-context-support-3.0.2.RELEASE.jar # spring-context-3.0.2.RELEASE.jar # spring-core-3.0.2.RELEASE.jar # spring-expression-3.0.2.RELEASE.jar # spring-instrument-tomcat-3.0.2.RELEASE.jar # spring-instrument-3.0.2.RELEASE.jar # spring-jdbc-3.0.2.RELEASE.jar # spring-jms-3.0.2.RELEASE.jar # spring-orm-3.0.2.RELEASE.jar # spring-oxm-3.0.2.RELEASE.jar # spring-struts-3.0.2.RELEASE.jar # spring-test-3.0.2.RELEASE.jar # spring-tx-3.0.2.RELEASE.jar # spring-webmvc-portlet-3.0.2.RELEASE.jar # spring-webmvc-3.0.2.RELEASE.jar # spring-web-3.0.2.RELEASE.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" # org-jruby.jar # org-kxml2.jar # org-rubyforge-debugcommons.jar 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 }