# Prevent brp-java-repack-jars from being run. %define __jar_repack %{nil} %define __alternatives %{_sbindir}/alternatives %define with_java7 1 %define nb_ netbeans %define nb_org %{nb_}.org %define nb_ver_major 7.0 %define nb_bugfix_ver 1 %define nb_ver %{nb_ver_major}.%{nb_bugfix_ver} %define nb_alt_priority 701 %define nb_release_time 201107282000 %define nb_home %{_datadir}/%{nb_} %define nb_dir %{nb_home}/%{nb_ver_major} %define nb_legaldoc_dir ide.branding/release-toplevel %define nb_license %{nb_legaldoc_dir}/LICENSE.txt %define nb_platform_ver 13 %define nb_platform platform %define nb_platform_dir %{nb_home}/%{nb_platform}%{nb_platform_ver} %define nb_platform_pkg %{nb_}-platform %define nb_platform_vpkg %{nb_}-%{nb_platform}%{nb_platform_ver} %define nb_harness harness %define nb_harness_dir %{nb_home}/%{nb_harness} %define nb_harness_pkg %{nb_platform_pkg}-%{nb_harness} %define nb_ide_ver 14 %define nb_ide ide %define nb_ide_dir %{nb_home}/%{nb_ide}%{nb_ide_ver} %define nb_ide_pkg %{nb_}-%{nb_ide} %define nb_ide_vpkg %{nb_}-%{nb_ide}%{nb_ide_ver} %define nb_java_ver 5 %define nb_java java %define nb_java_dir %{nb_home}/%{nb_java}%{nb_java_ver} %define nb_java_pkg %{nb_}-%{nb_java} %define nb_java_vpkg %{nb_}-%{nb_java}%{nb_java_ver} %define nb_apisupport_ver 3 %define nb_apisupport apisupport %define nb_apisupport_dir %{nb_home}/%{nb_apisupport}%{nb_apisupport_ver} %define nb_apisupport_pkg %{nb_}-%{nb_apisupport} %define nb_apisupport_vpkg %{nb_}-%{nb_apisupport}%{nb_apisupport_ver} %define nb_nb nb %define nb_nb_dir %{nb_dir}/%{nb_nb} %define nb_bin_dir %{nb_dir}/bin %define nb_etc_dir %{nb_dir}/etc %define nb_nb_config_dir %{nb_nb_dir}/config %define nb_cvsclient cvsclient %define nb_cvsclient_pkg %{nb_}-%{nb_cvsclient} %define nb_cvsclient_jar org-netbeans-lib-cvsclient.jar %define nb_cvsclient_dir %{nb_ide_dir}/modules #define nb_cvsclient_sysjar netbeans-cvsclient-%{nb_ver}.jar %define nb_cvsclient_sysjar netbeans-cvsclient-6.9.jar %define nb_cvsclient_sysln netbeans-cvsclient.jar # See http://wiki.netbeans.org/NBDistroIDs %define nb_distro_id NBFC %define nb_javadoc_site http://bits.netbeans.org/%{nb_ver}/javadoc %define cluster base %define nb_icon %{nb_nb_dir}/netbeans.png %define nb_launcher %{nb_bin_dir}/netbeans %define nb_desktop %{name}-ide-%{version}.desktop %define compiler_opt -Dbuild.compiler.deprecation=false -Dbuild.compiler.debug=false %if %with_java7 %define jdk_opt -Dpermit.jdk6.builds=true -Dpermit.jdk7.builds=true %else %define jdk_opt -Dpermit.jdk6.builds=true %endif %define verify_opt -Dverify.checkout=false # Note: use the Ant option -v to get build log with details %define ant_nb_opt %{ant} %{jdk_opt} %{compiler_opt} %{verify_opt} %define build_nb_dir nbbuild/netbeans # Layout defined by the ant package %define ant_bin_dir /usr/bin %define ant_etc_dir %{_datadir}/ant/etc %define ant_lib_dir %{_datadir}/java %define ant_lib_dir2 %{_datadir}/java/ant # Used xml resolver %define xml_resolver netbeans-resolver %define xml_resolver_ver 6.7.1 %define xml_resolver_jar %{xml_resolver}-%{xml_resolver_ver}.jar # Used svn client adapter %define svnclientadapter netbeans-svnclientadapter %define svnclientadapter_ver 6.7.1 %define svnclientadapter_jar %{svnclientadapter}.jar %define javaparser_ver 7.0.1 # existing commons-logging-1.0.4.jar instead of required commons-logging-1.1.jar %define commons_logging_ver 1.1 # existing ini4j-0.3.2.jar instead of required ini4j-0.4.1.jar %define ini4j_ver 0.5.1 %define svnjavahl_ver 1.6.0 # Prevents use of autoupdate on the specified directory. # %%{1} the directory being prevented for autoupdate. %define noautoupdate() echo > %{1}/.noautoupdate # Creates the time stamp of the last modification for the NetBeans cluster. # See: # %%{nb_javadoc_site}/org-netbeans-bootstrap/overview-summary.html#java.io.File-.lastModified # # %%{1} the directory of the NetBeans cluster. %define lastModified() echo > %{1}/.lastModified # Creates artifacts of the NetBeans cluster. # %%{1} the directory of the NetBeans cluster. %define nbCluster() \ %{expand:%%noautoupdate %{1}} ; %{expand:%%lastModified %{1}} ; # Links the system JAR. # %%{1} - the sys jar # %%{2} - the symlink name/path (optional) %global lnSysJAR() \ if [ -f %{_javadir}/%{1} ] ; then \ %__ln_s -f %{_javadir}/%{*} ; \ else \ echo "%{1} doesn't exist." ; exit 1 ; \ fi ; # Links the system JAR. # %%{1} - the sys jar # %%{2} - the symlink name/path (optional) %global lnSys() \ if [ -f %{1} ] ; then \ %__ln_s -f %{*} ; \ else \ echo "%{1} doesn't exist." ; exit 1 ; \ fi ; %global rm_files_log ./rmFiles.lst # Removes all specified files, and creates the file rmFiles.lst. # %%{1} - the iname value, e.g. "*.zip" %global rmFiles() \ find . -type f \\( -iname %{1} \\) | \ tee -a %{rm_files_log} | xargs -t %__rm -f ; Name: %{nb_} Version: %{nb_ver} Release: %mkrel 3 Summary: Integrated Development Environment (IDE) Group: Development/Java License: GPLv2 with exceptions or CDDL URL: http://www.netbeans.org # Officially released zip is used: Source0: http://download.netbeans.org/%{nb_}/%{version}/final/zip/%{nb_}-%{version}-%{nb_release_time}-src.zip Source1: %{name}-ide.desktop-template %define nb_desktop_template %{SOURCE1} Source2: http://bits.netbeans.org/maven2/org/netbeans/api/org-netbeans-lib-cvsclient/RELEASE701/org-netbeans-lib-cvsclient-RELEASE701.pom # Do not relese binary files Patch0: do-not-release-external-jars.patch # create a smaller netbeans cluster Patch1: smaller-netbeans.patch Patch2: remove-dependencies-on-unbuilt-clusters.patch # do not distribute non-linux bits Patch3: only-linux-native-libs.patch # do not distribute windows launchers Patch4: no-windows-exec.patch Patch5: do-not-copy-windows-launcher.patch Patch6: no-windows-binaries.patch # compat with newer mylyn Patch7: mylyn-internal-api-changes.patch # compat with java-1.7.0-openjdk Patch8: db-jdk7-compat.patch # no ant-libs Patch9: no-ant-libs.patch # no -werror Patch10: werror-is-a-bad-idea.patch # compatibility with netbeans-javaparser Patch11: netbeans-javaparser-7.0.1-compat.patch # changes to the launcher Patch12: ide-launcher.patch # add missing xml apis to classpath # fix for https://bugzilla.redhat.com/show_bug.cgi?id=670303 Patch13: add-xml-commons-apis-to-classpath.patch Patch14: svn-support.patch Patch15: netbeans-7.0.1-00-updatecenters.patch BuildArch: noarch BuildRequires: jpackage-utils BuildRequires: java-devel >= 0:1.6.0 BuildRequires: ant >= 0:1.7.0 BuildRequires: ant-junit >= 0:1.7.0 BuildRequires: antlr3-java BuildRequires: apache-commons-codec BuildRequires: appframework >= 1.03 BuildRequires: beansbinding >= 1.2.1 BuildRequires: bindex >= 2.2 BuildRequires: bytelist BuildRequires: desktop-file-utils BuildRequires: eclipse-mylyn BuildRequires: eclipse-mylyn-commons BuildRequires: eclipse-mylyn-tasks-bugzilla BuildRequires: eclipse-subclipse BuildRequires: felix-osgi-core >= 1.4.0 BuildRequires: felix-osgi-compendium >= 1.4.0 BuildRequires: felix-main >= 1.4.0 BuildRequires: flute BuildRequires: freemarker >= 2.3.8 BuildRequires: ini4j BuildRequires: jakarta-commons-logging >= 1.0.4 BuildRequires: jakarta-oro >= 2.0.8 BuildRequires: jakarta-commons-net >= 1.4.1 BuildRequires: javahelp2 >= 2.0.05 BuildRequires: jna >= 3.0.9 BuildRequires: jna-contrib BuildRequires: jsch BuildRequires: junit >= 3.8.2 BuildRequires: junit4 >= 4.5 BuildRequires: jvyamlb BuildRequires: jzlib BuildRequires: libicns-utils BuildRequires: lucene >= 2.4.1 BuildRequires: netbeans-javaparser >= %{javaparser_ver} BuildRequires: netbeans-svnclientadapter >= %{svnclientadapter_ver} #BuildRequires: %{nb_harness_pkg} >= %{version} #BuildRequires: %{nb_platform_vpkg} >= %{version} BuildRequires: sac BuildRequires: simplevalidation BuildRequires: stringtemplate BuildRequires: svn-javahl BuildRequires: swing-layout >= 0:1.0 BuildRequires: swingx BuildRequires: unzip BuildRequires: xerces-j2 >= 2.7.1 BuildRequires: %{xml_resolver} >= %{xml_resolver_ver} BuildRequires: jemmy Requires: jpackage-utils Requires: java >= 0:1.6.0 Requires: %{nb_apisupport_vpkg} >= %{version} Requires: %{nb_harness_pkg} >= %{version} Requires: %{nb_ide_vpkg} >= %{version} Requires: %{nb_java_vpkg} >= %{version} Requires: %{nb_platform_vpkg} >= %{version} Requires: lucene >= 2.4.1 Requires: junit >= 3.8.2 Requires: junit4 >= 4.5 %description NetBeans IDE is an Integrated Development Environment (IDE) for Java/JavaFX, C/C++, Ruby, PHP, etc. The NetBeans IDE is oriented on wide audience of developers from beginners up to experts. A developer can find useful set of the development tools that are embedded in the IDE or can be integrated with. The NetBeans IDE is the modular system and it can be configured according to user needs. Please, visit http://www.netbeans.org/ for more information about this open-source project. %package %{nb_apisupport} Summary: Common NetBeans Platform Development Related Libraries for NetBeans Group: Development/Java Requires: jpackage-utils Requires: java >= 0:1.6.0 Requires: %{nb_ide_vpkg} >= %{version} Requires: %{nb_java_vpkg} >= %{version} Requires: %{nb_platform_vpkg} >= %{version} Requires: %{nb_harness_pkg} >= %{version} Provides: %{nb_apisupport_vpkg} = %{version}-%{release} %description %{nb_apisupport} The NetBeans appisupport cluster, version %{nb_apisupport_ver}. Common libraries for development of NetBeans Platform modular extensions. %package %{nb_ide} Summary: Integrated Development Environment (IDE) Libraries for NetBeans Group: Development/Java Requires: jpackage-utils Requires: java >= 0:1.6.0 Requires: antlr3-java Requires: bytelist Requires: flute Requires: freemarker >= 2.3.8 Requires: ini4j Requires: jakarta-commons-logging >= 1.0.4 Requires: jakarta-commons-net >= 1.4.1 Requires: jakarta-oro >= 2.0.8 Requires: jsch Requires: jvyamlb Requires: jzlib # A requirement for an owner of the /usr/share/netbeans directory Requires: netbeans-svnclientadapter >= %{svnclientadapter_ver} Requires: %{nb_cvsclient_pkg} >= %{version} Requires: sac Requires: subversion-javahl Requires: swingx Requires: xerces-j2 >= 2.7.1 Requires: %{xml_resolver} >= %{xml_resolver_ver} Requires: %{nb_platform_vpkg} >= %{version} Provides: %{nb_ide_vpkg} = %{version}-%{release} %description %{nb_ide} The NetBeans ide cluster, version %{nb_ide_ver}. Common languages independent libraries for use in the IDE. %package %{nb_java} Summary: Common Java Related Libraries for NetBeans Group: Development/Java Requires: jpackage-utils Requires: java >= 0:1.6.0 Requires: java-sdk >= 0:1.6.0 Requires: java-javadoc >= 0:1.6.0 Requires: ant >= 1.7.0 Requires: ant-junit >= 1.7.0 Requires: ant-nodeps >= 1.7.0 Requires: ant-trax >= 1.7.0 Requires: appframework >= 1.03 Requires: beansbinding >= 1.2.1 Requires: netbeans-javaparser >= %{javaparser_ver} Requires: %{nb_ide_vpkg} >= %{version} # A requirement for an owner of the /usr/share/netbeans directory Requires: %{nb_platform_vpkg} >= %{version} Provides: %{nb_java_vpkg} = %{version}-%{release} %description %{nb_java} The NetBeans java cluster, version %{nb_java_ver}. Common libraries for the NetBeans Java IDE. %package %{nb_cvsclient} Summary: NetBeans CVS Client Library Group: Development/Java Requires: jpackage-utils Requires: java >= 0:1.6.0 %description %{nb_cvsclient} Implementation of the client side of CVS server connection. Local connections are not supported. %prep %setup -q -c # delete binaries shipped with netbeans %rmFiles "binaries-list" %rmFiles "*.dll" %rmFiles "*.exe" %rmFiles "*.jar" %rmFiles "*.ser" %rmFiles "*.so" %rmFiles "*.zip" rm -rf dlight.nativeexecution/release %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1 %patch14 -p1 %build #ln -sf %{_javadir} o.apache.tools.ant.module/external/lib IDE_EXT_DIR=%{build_nb_dir}/%{nb_ide}/modules/ext %{__mkdir_p} ${IDE_EXT_DIR} %lnSysJAR %{xml_resolver_jar} ${IDE_EXT_DIR}/resolver-1.2.jar %lnSysJAR ValidationAPI.jar ${IDE_EXT_DIR}/ValidationAPI.jar # The freemarker 2.2 isn't compatible with 2.3. It means that future versions can be incompatible too. # Therefore, we must use the freemarker-2.3.jar link instead of freemarker.jar %lnSysJAR antlr3-runtime.jar ${IDE_EXT_DIR}/antlr-runtime-3.1.3.jar %lnSysJAR flute.jar ${IDE_EXT_DIR}/flute-1.3.jar %lnSysJAR freemarker.jar ${IDE_EXT_DIR}/freemarker-2.3.8.jar %lnSysJAR %{svnclientadapter_jar} ${IDE_EXT_DIR}/svnClientAdapter-1.6.13.jar %lnSysJAR xerces-j2.jar ${IDE_EXT_DIR}/xerces-2.8.0.jar %lnSysJAR commons-logging.jar ${IDE_EXT_DIR}/commons-logging-%{commons_logging_ver}.jar %lnSysJAR jakarta-oro.jar ${IDE_EXT_DIR}/jakarta-oro-2.0.8.jar %lnSysJAR commons-net.jar ${IDE_EXT_DIR}/commons-net-1.4.1.jar %lnSysJAR jzlib.jar ${IDE_EXT_DIR}/jzlib-1.0.7.jar %lnSysJAR bytelist.jar ${IDE_EXT_DIR}/bytelist-0.1.jar %lnSysJAR jvyamlb.jar ${IDE_EXT_DIR}/jvyamlb-0.2.3.jar %lnSysJAR sac.jar ${IDE_EXT_DIR}/sac-1.3.jar %lnSysJAR svn-javahl.jar ${IDE_EXT_DIR}/svnjavahl-%{svnjavahl_ver}.jar %lnSysJAR swingx.jar ${IDE_EXT_DIR}/swingx-0.9.5.jar JAVA_EXT_DIR=%{build_nb_dir}/%{nb_java}/modules/ext %{__mkdir_p} ${JAVA_EXT_DIR} %lnSysJAR netbeans-javaparser-api.jar ${JAVA_EXT_DIR}/javac-api-nb-7.0-b07.jar %lnSysJAR netbeans-javaparser-impl.jar ${JAVA_EXT_DIR}/javac-impl-nb-7.0-b07.jar %lnSysJAR appframework.jar ${JAVA_EXT_DIR}/appframework-1.0.3.jar %lnSysJAR beansbinding.jar ${JAVA_EXT_DIR}/beansbinding-1.2.1.jar %lnSysJAR junit.jar ${JAVA_EXT_DIR}/junit-3.8.2.jar %lnSysJAR junit4.jar ${JAVA_EXT_DIR}/junit-4.5.jar # To build the netbeans modules the installed jars will be used instead of pre-packaged ones %{__mkdir_p} apisupport.harness/external %lnSysJAR apache-commons-codec.jar libs.commons_codec/external/apache-commons-codec-1.3.jar %lnSysJAR commons-httpclient.jar libs.bugtracking/external/commons-httpclient-3.1.jar %lnSysJAR commons-lang.jar libs.bugtracking/external/commons-lang-2.3.jar %lnSysJAR commons-logging.jar libs.commons_logging/external/commons-logging-1.1.jar %lnSysJAR bindex.jar apisupport.harness/external/bindex-2.2.jar %lnSys %{_datadir}/eclipse/dropins/mylyn/eclipse/plugins/org.eclipse.mylyn.tasks.core_3.6.0.v20110608-1400.jar libs.bugtracking/external/org.eclipse.mylyn.tasks.core_3.3.1.jar %lnSys %{_datadir}/eclipse/dropins/mylyn/eclipse/plugins/org.eclipse.mylyn.tasks.core_3.6.0.v20110608-1400.jar libs.bugtracking/external/org.eclipse.mylyn.commons.core_3.3.1.jar %lnSys %{_datadir}/eclipse/dropins/mylyn-commons/eclipse/plugins/org.eclipse.mylyn.commons.net_3.6.0.v20110608-1400.jar libs.bugtracking/external/org.eclipse.mylyn.commons.net_3.3.0.jar %lnSys %{_datadir}/eclipse/dropins/mylyn-bugzilla/eclipse/plugins/org.eclipse.mylyn.bugzilla.core_3.6.0.v20110608-1400.jar libs.bugzilla/external/org.eclipse.mylyn.bugzilla.core_3.3.1.jar #%lnSys %{_datadir}/eclipse/dropins/subclipse-clientadapter/eclipse/plugins/org.tigris.subversion.clientadapter_1.6.12.jar libs.svnClientAdapter/external/svnClientAdapter-main-1.6.13.jar %lnSysJAR felix/org.osgi.core.jar libs.osgi/external/osgi.core-4.2.jar %lnSysJAR felix/org.osgi.compendium.jar libs.osgi/external/osgi.cmpn-4.2.jar %lnSysJAR javahelp2.jar apisupport.harness/external/jsearch-2.0_05.jar %lnSysJAR javahelp2.jar javahelp/external/jhall-2.0_05.jar %lnSysJAR lucene.jar libs.lucene/external/lucene-core-3.0.3.jar %lnSysJAR ini4j.jar libs.ini4j/external/ini4j-0.5.1.jar %lnSysJAR javahelp2.jar javahelp/external/jhall-2.0_05.jar %lnSysJAR jemmy.jar jemmy/external/jemmy-2.3.0.0.jar %lnSysJAR jna.jar libs.jna/external/jna-3.2.7.jar %lnSysJAR jna/platform.jar core.nativeaccess/external/platform-3.2.7.jar %lnSysJAR jsch.jar libs.jsch/external/jsch-0.1.44.jar %lnSysJAR junit4.jar libs.junit4/external/junit-4.8.2.jar %lnSysJAR netbeans-javaparser-api.jar libs.javacapi/external/javac-api-nb-7.0-b07.jar %lnSysJAR netbeans-javaparser-impl.jar libs.javacimpl/external/javac-impl-nb-7.0-b07.jar %lnSysJAR netbeans-svnclientadapter.jar libs.svnClientAdapter.javahl/external/svnClientAdapter-1.6.13.jar %lnSysJAR swing-layout.jar o.jdesktop.layout/external/swing-layout-1.0.4.jar # # HACK. We build all of netbeans (including platform/harness), but we do not # install platform or harness. Use the separate netbeans-platform package # instead. # # build netbeans %{ant_nb_opt} \ -Dlibs.beans-binding.classpath=%{_javadir}/beansbinding.jar \ -Dext.binaries.downloaded=true \ -Dcluster.config=basic \ -f nbbuild/build.xml build-nozip # Generate higher quality png icons icns2png -x ide.branding/release/netbeans.icns # Build desktop file %{__cp} -p %{nb_desktop_template} %{nb_desktop} sed --in-place "s|<nb_ver>|%{nb_ver}|g" %{nb_desktop} sed --in-place "s|<nb_launcher>|%{nb_launcher}|g" %{nb_desktop} sed --in-place "s|<nb_icon>|%{nb_}|g" %{nb_desktop} rm -f %{build_nb_dir}/%{nb_harness}/suite.xml.orig %install # Installs the specified source(s) in the destination directory. # $1 the destination directory. # $2 the source(s), e.g. nbbuild/netbeans/platform8/* . install_package() { DISTDIR=$1 shift SOURCES=$* %{__mkdir_p} ${DISTDIR} %{__cp} -pr ${SOURCES} ${DISTDIR} } %{__rm} -rf %{buildroot} # Install apisupport install_package %{buildroot}%{nb_apisupport_dir} %{build_nb_dir}/%{nb_apisupport}/* %nbCluster %{buildroot}%{nb_apisupport_dir} # Install ide install_package %{buildroot}%{nb_ide_dir} %{build_nb_dir}/%{nb_ide}/* %nbCluster %{buildroot}%{nb_ide_dir} # linking the ide to the external JARs pushd %{buildroot}%{nb_ide_dir}/modules/ext # %lnSysJAR jsch.jar jsch-0.1.41.jar # %lnSysJAR %{xml_resolver_jar} resolver-1.2.jar # %lnSysJAR ini4j.jar ini4j-%{ini4j_ver}.jar # The freemarker 2.2 isn't compatible with 2.3. It means that future versions can be incompatible too. # Therefore, we must use the freemarker-2.3.jar link instead of freemarker.jar # %lnSysJAR freemarker.jar freemarker-2.3.8.jar # %lnSysJAR %{svnclientadapter_jar} svnClientAdapter-1.6.0.jar # %lnSysJAR svn-javahl.jar svnjavahl-%{svnjavahl_ver}.jar # %lnSysJAR xerces-j2.jar xerces-2.8.0.jar # %lnSysJAR lucene.jar lucene-core-2.4.1.jar # %lnSysJAR commons-logging.jar commons-logging-%{commons_logging_ver}.jar # %lnSysJAR jakarta-oro.jar jakarta-oro-2.0.8.jar # %lnSysJAR jzlib.jar jzlib-1.0.7.jar # %lnSysJAR bytelist.jar bytelist-0.1.jar # %lnSysJAR jvyamlb.jar jvyamlb-0.2.3.jar # %lnSysJAR swingx.jar swingx-0.2.3.jar popd # Install cvsclient (extract from ide) install -d -m 0755 %{buildroot}%{_javadir} # jar install -m 644 %{buildroot}%{nb_cvsclient_dir}/%{nb_cvsclient_jar} \ %{buildroot}%{_javadir}/%{nb_cvsclient_sysjar} # versionless link to the system jar (cd %{buildroot}%{_javadir} && \ %__ln_s %{nb_cvsclient_sysjar} %{nb_cvsclient_sysln}) # linking the ide to the system jar (cd %{buildroot}%{nb_cvsclient_dir} && \ %__ln_s -f %{_javadir}/%{nb_cvsclient_sysjar} %{nb_cvsclient_jar}) # Install java install_package %{buildroot}%{nb_java_dir} %{build_nb_dir}/%{nb_java}/* # install java ant install -d -m 755 %{buildroot}%{nb_java_dir}/ant/bin install -d -m 755 %{buildroot}%{nb_java_dir}/ant/lib %nbCluster %{buildroot}%{nb_java_dir} # "linking" Java API javadoc %define nb_java_cSP_dir %{nb_java_dir}/config/Services/Platforms %define JDK_ver 1.6 %{__mkdir_p} %{buildroot}%{nb_java_cSP_dir}/org-netbeans-api-java-Platform/ cat <<KONEC >%{buildroot}%{nb_java_cSP_dir}/org-netbeans-api-java-Platform/default_platform.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE platform PUBLIC "-//NetBeans//DTD Java PlatformDefinition 1.0//EN" "http://www.netbeans.org/dtds/java-platformdefinition-1_0.dtd"> <platform default="yes" name="JDK %{JDK_ver} (Default)"> <properties> <property name="platform.ant.name" value="default_platform"/> </properties> <javadoc> <resource>file:/usr/share/javadoc/java/</resource> </javadoc> </platform> KONEC # linking the java to the external JARs #pushd %{buildroot}%{nb_java_dir}/modules/ext # %lnSysJAR netbeans-javaparser-api.jar javac-api-nb-7.0-b07.jar # %lnSysJAR netbeans-javaparser-impl.jar javac-impl-nb-7.0-b07.jar # %lnSysJAR appframework.jar appframework-1.0.3.jar # %lnSysJAR beansbinding.jar beansbinding-1.2.1.jar # %lnSysJAR junit4.jar junit-4.5.jar # %lnSysJAR junit.jar junit-3.8.2.jar #popd # linking the Ant components pushd %{buildroot}%{nb_java_dir}/ant %{__ln_s} -f %{ant_bin_dir}/ant bin/ant %{__ln_s} -f %{ant_bin_dir}/antRun bin/antRun %{__ln_s} -f %{ant_etc_dir} etc # - jars pushd lib %{__ln_s} -f %{ant_lib_dir}/ant.jar ant.jar %{__ln_s} -f %{ant_lib_dir}/ant-launcher.jar ant-launcher.jar %{__ln_s} -f %{ant_lib_dir2}/ant-junit.jar ant-junit.jar %{__ln_s} -f %{ant_lib_dir2}/ant-nodeps.jar ant-nodeps.jar # %{__ln_s} -f %{ant_lib_dir2}/ant-trax.jar ant-trax.jar popd popd # Install nb install_package %{buildroot}%{nb_nb_dir} %{build_nb_dir}/%{nb_nb}/* # install nb bin (launcher) install_package %{buildroot}%{nb_bin_dir} %{build_nb_dir}/bin/* # install nb etc (netbeans.conf, netbeans.clusters) install_package %{buildroot}%{nb_etc_dir} %{build_nb_dir}/etc/* # inistall nb/nbX.X config echo -n "%{nb_distro_id}" > %{buildroot}%{nb_nb_config_dir}/productid %nbCluster %{buildroot}%{nb_nb_dir} # Links to nbX.X components pushd %{buildroot}%{nb_dir} %{__ln_s} ../%{nb_harness} %{nb_harness} %{__ln_s} ../%{nb_apisupport}%{nb_apisupport_ver} %{nb_apisupport} %{__ln_s} ../%{nb_ide}%{nb_ide_ver} %{nb_ide} %{__ln_s} ../%{nb_java}%{nb_java_ver} %{nb_java} %{__ln_s} ../%{nb_platform}%{nb_platform_ver} %{nb_platform} popd # Install icons %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/16x16/apps cp -a netbeans_16x16x32.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/netbeans.png %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/32x32/apps cp -a netbeans_32x32x32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/netbeans.png %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/48x48/apps cp -a netbeans_48x48x32.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/netbeans.png %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/128x128/apps cp -a netbeans_128x128x32.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/netbeans.png # Install desktop file desktop-file-validate %{nb_desktop} install -d -m 755 %{buildroot}%{_datadir}/applications/%{nb_org} desktop-file-install --vendor="" \ --dir=%{buildroot}%{_datadir}/applications/%{nb_org} \ %{nb_desktop} mkdir -p %{buildroot}%{_mavenpomdir} install -pm 644 %{SOURCE2} %{buildroot}%{_mavenpomdir}/JPP-netbeans-cvsclient.pom %add_maven_depmap -f cvsclient JPP-netbeans-cvsclient.pom netbeans-cvsclient.jar -a "org.netbeans.lib:cvsclient" %clean %{__rm} -rf %{buildroot} %post %{__alternatives} --install %{_bindir}/%{nb_} %{nb_} %{nb_launcher} %{nb_alt_priority} %preun if [ "$1" = "0" ]; then %{__alternatives} --remove %{nb_} %{nb_launcher} fi %files %defattr(-,root,root,-) %dir %{nb_dir}/ %{nb_dir}/ %docdir %{nb_nb_dir}/docs %dir %{nb_bin_dir}/ %attr(755,root,root) %{nb_launcher} %{nb_etc_dir}/ %dir %{_datadir}/applications/%{nb_org}/ %{_datadir}/applications/%{nb_org}/%{nb_desktop} %{_datadir}/icons/hicolor/*/apps/netbeans.png %doc %{nb_legaldoc_dir}/* %files %{nb_apisupport} %defattr(-,root,root,-) %{nb_apisupport_dir}/ %doc %{nb_license} %files %{nb_ide} %defattr(-,root,root,-) %{nb_ide_dir}/ %doc %{nb_license} %files %{nb_java} %defattr(-,root,root,-) %{nb_java_dir}/ %doc %{nb_license} %files %{nb_cvsclient} %defattr(-,root,root,-) %{_javadir}/* %doc %{nb_license} %{_mavenpomdir}/* %{_mavendepmapfragdir}/* %changelog * Sun Feb 12 2012 gil <gil> 7.0.1-3.mga2 + Revision: 207985 - try to fix icon in desktop entry - build fix added cvsclient pom - build fix - added cvsclien pom * Sun Dec 04 2011 gil <gil> 7.0.1-2.mga2 + Revision: 176057 - build fix edit desktop file - build fix edit desktop file * Fri Dec 02 2011 gil <gil> 7.0.1-1.mga2 + Revision: 175121 - added ini4j.jar in %%nb_ide_dir/modules/ext - added ini4j.jar in %%nb_ide_dir/modules/ext - edit %%nb_dir - update to 7.0.1-201107282000 * Thu Sep 15 2011 dmorgan <dmorgan> 6.9.1-1.mga2 + Revision: 144086 - Fix P4 - Remove hardcoded Vendor tag - Fix %%mkrel - imported package netbeans + gil <gil> - update to 6.9.1-201007282301 * Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.9-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Wed Sep 01 2010 Victor G. Vasilyev <victor.vasilyev@sun.com> 6.9-2 - Fix for https://netbeans.org/bugzilla/show_bug.cgi?id=189196 * Mon Feb 15 2010 Victor G. Vasilyev <victor.vasilyev@sun.com> 6.9-1 - introduce the cvsclient subpackage https://bugzilla.redhat.com/show_bug.cgi?id=572165 - re-base for the NetBeans 6.9 * Mon Feb 15 2010 Victor G. Vasilyev <victor.vasilyev@sun.com> 6.8-6 - Provide vpkg for all cluster packages, but not harness - stub jar files: jsr223, swing-worker - swingx * Thu Feb 11 2010 Victor G. Vasilyev <victor.vasilyev@sun.com> 6.8-5 - add dependencies on Jruby's pkgs: bytelist, jvyamlb - clean up comments * Wed Feb 10 2010 Victor G. Vasilyev <victor.vasilyev@sun.com> 6.8-4 - set priority of alternatives to 680 - remove the fake tag 'provides' needed only for rebuilding maven-scm * Mon Feb 08 2010 Victor G. Vasilyev <victor.vasilyev@sun.com> 6.8-3 - a fake tag 'provides' needed only for rebuilding maven-scm * Sat Feb 06 2010 Victor G. Vasilyev <victor.vasilyev@sun.com> 6.8-2 - remove dependencies on Jruby's pkgs: bytelist, jvyamlb * Thu Nov 26 2009 Victor G. Vasilyev <victor.vasilyev@sun.com> 6.8-1 - re-base for the NetBeans 6.8 * Sat May 23 2009 Victor G. Vasilyev <victor.vasilyev@sun.com> 6.7.1-1 - re-base for the NetBeans 6.7.1