# Prevent brp-java-repack-jars from being run. %global __jar_repack %{nil} %global __alternatives %{_sbindir}/alternatives %global nb_ netbeans %global nb_org %{nb_}.org %global nb_ver_major 7.2 %global nb_ver_minor 1 %global nb_ver %{nb_ver_major}.%{nb_ver_minor} %global nb_alt_priority 721 %global nb_release_time 201210100934 %global nb_home %{_datadir}/%{nb_} %global nb_dir %{nb_home}/%{nb_ver_major} %global nb_legaldoc_dir ide.branding/release-toplevel %global nb_license %{nb_legaldoc_dir}/LICENSE.txt %global nb_platform_ver 16 %global nb_platform platform %global nb_platform_dir %{nb_home}/%{nb_platform}%{nb_platform_ver} %global nb_platform_pkg %{nb_}-platform %global nb_platform_vpkg %{nb_}-%{nb_platform}%{nb_platform_ver} %global nb_harness harness %global nb_harness_dir %{nb_home}/%{nb_harness} %global nb_harness_pkg %{nb_platform_pkg}-%{nb_harness} %global nb_ide_ver 16 %global nb_ide ide %global nb_ide_dir %{nb_home}/%{nb_ide}%{nb_ide_ver} %global nb_ide_pkg %{nb_}-%{nb_ide} %global nb_ide_vpkg %{nb_}-%{nb_ide}%{nb_ide_ver} %global nb_java_ver 7 %global nb_java java %global nb_java_dir %{nb_home}/%{nb_java}%{nb_java_ver} %global nb_java_pkg %{nb_}-%{nb_java} %global nb_java_vpkg %{nb_}-%{nb_java}%{nb_java_ver} %global nb_apisupport_ver 5 %global nb_apisupport apisupport %global nb_apisupport_dir %{nb_home}/%{nb_apisupport}%{nb_apisupport_ver} %global nb_apisupport_pkg %{nb_}-%{nb_apisupport} %global nb_apisupport_vpkg %{nb_}-%{nb_apisupport}%{nb_apisupport_ver} %global nb_nb nb %global nb_nb_dir %{nb_dir}/%{nb_nb} %global nb_bin_dir %{nb_dir}/bin %global nb_etc_dir %{nb_dir}/etc %global nb_nb_config_dir %{nb_nb_dir}/config # See http://wiki.netbeans.org/NBDistroIDs %global nb_distro_id NBFC %global nb_javadoc_site http://bits.netbeans.org/%{nb_ver}/javadoc %global cluster base %global nb_launcher %{nb_bin_dir}/netbeans %global nb_desktop %{name}-ide-%{version}.desktop %global compiler_opt -Dbuild.compiler.deprecation=false -Dbuild.compiler.debug=false %global jdk_opt -Dpermit.jdk7.builds=true %global verify_opt -Dverify.checkout=false # Note: use the Ant option -v to get build log with details %global ant_nb_opt %{ant} %{jdk_opt} %{compiler_opt} %{verify_opt} %global build_nb_dir nbbuild/netbeans # Layout defined by the ant package %global ant_bin_dir /usr/bin %global ant_etc_dir %{_datadir}/ant/etc %global ant_lib_dir %{_datadir}/java %global ant_lib_dir2 %{_datadir}/java/ant # Used xml resolver %global xml_resolver netbeans-resolver %global xml_resolver_ver 6.7.1 %global xml_resolver_jar %{xml_resolver}-%{xml_resolver_ver}.jar # Used svn client adapter %global svnclientadapter netbeans-svnclientadapter %global svnclientadapter_ver 7.2.1 %global svnclientadapter_jar %{svnclientadapter}.jar %global javaparser_ver 6.9 # existing commons-logging-1.0.4.jar instead of required commons-logging-1.1.jar %global commons_logging_ver 1.1 %global ini4j_ver 0.5.1 %global svnjavahl_ver 1.7.5 # 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) %define lnSys() \ if [ -f %{1} ] ; then \ %__ln_s -f %{*} ; \ else \ echo "%{1} doesn't exist." ; exit 1 ; \ fi ; %define rm_files_log ./rmFiles.lst # Removes all specified files, and creates the file rmFiles.lst. # %%{1} - the iname value, e.g. "*.zip" %define rmFiles() \ find . -type f \\( -iname %{1} \\) | \ tee -a %{rm_files_log} | xargs -t %__rm -f ; Name: %{nb_} Version: %{nb_ver} Release: 1%{?dist} Summary: Integrated Development Environment (IDE) Group: Development/Tools License: GPLv2 with exceptions or CDDL Vendor: netbeans.org URL: http://www.netbeans.org # Officially released zip is used: Source0: http://dlc.sun.com.edgesuite.net/netbeans/7/final/zip/netbeans/%{nb_}-%{version}-%{nb_release_time}-src.zip Source1: %{name}-ide.desktop-template %global nb_desktop_template %{SOURCE1} # Disables the Update Center Patch0: %{name}-%{version}-00-updatecenters.patch # Removes actions against binary files Patch1: %{name}-%{version}-10-o.apache.tools.ant.module.patch # Removes windows components # Avoids run of the task checkmoduleconfigs # Disables the checkmoduleconfigs task Patch3: %{name}-%{version}-20-build-xml.patch # Adapts IDE launcher for Fedora # - unset DESKTOP_STARTUP_ID # - set progdir # - exec /etc/netbeans.conf # - avoid interactive accepting license # http://wiki.netbeans.org/Fedora10PackagingNBIDELauncher # https://bugzilla.redhat.com/show_bug.cgi?id=464820 # https://bugzilla.redhat.com/show_bug.cgi?id=467546 # add missing xml apis to classpath # https://bugzilla.redhat.com/show_bug.cgi?id=670303 Patch4: %{name}-%{version}-30-ide-launcher.patch # Avoids releasing binary files # Avoids copying the external binaries # (*.exe *.dll) from the o.n.bootstrup/build.xml # Avoid looking for non-linux jna bits # Prevents from releasing zip files (swing-layout-1.0.4-doc.zip, # swing-layout-1.0.4-src.zip) in the o.jdesktop.layout module Patch5: %{name}-%{version}-40-build_copy.patch # Sets up IDE configuration Patch6: %{name}-%{version}-50-small-ide-cluster.patch Patch7: %{name}-%{version}-60-cluster-properties.patch # Avoids including windows components in NB app zip # https://netbeans.org/bugzilla/show_bug.cgi?id=189196 Patch8: %{name}-%{version}-70-suite-xml.patch # disable svnClientAdapter.javahl module Patch9: %{name}-%{version}-80-nosvnkit.patch # Do not copy non-linux jni libaries # Do not build windows cleaners Patch10: %{name}-%{version}-90-remove-non-linux-jni-libs.patch # Build native libraries Patch11: %{name}-%{version}-100-build-native-code.patch # Fix path to native build dir #Patch5: native-build-properties.patch Patch12: %{name}-%{version}-110-fix-native-dir-paths.patch # Do not special case so names Patch13: %{name}-%{version}-120-do-not-name-sos-based-on-arch.patch # Fix paths and flags in jnilib native build Patch14: %{name}-%{version}-130-jnilib-build-uniformly-across-archs.patch # TODO require testng >= 6.5.1 Patch15: %{name}-%{version}-140-disable-testng-support.patch # disable profiler modules Patch16: %{name}-%{version}-61-cluster-properties.patch # disable apache commons-codec commons-io commons-lang commons-httpclient ws-commons-util xmlrpc Patch17: %{name}-%{version}-62-cluster-properties.patch BuildArch: noarch BuildRequires: jpackage-utils BuildRequires: java-devel >= 1:1.6.0 BuildRequires: ant >= 0:1.7.0 BuildRequires: ant-junit >= 0:1.7.0 BuildRequires: bytelist BuildRequires: junit >= 4.5 BuildRequires: jvyamlb BuildRequires: jzlib BuildRequires: libicns-utils BuildRequires: swing-layout >= 0:1.0 BuildRequires: javahelp2 >= 2.0.05 BuildRequires: lucene >= 2.4.1 BuildRequires: unzip BuildRequires: desktop-file-utils BuildRequires: netbeans-javaparser >= %{javaparser_ver} BuildRequires: xerces-j2 >= 2.7.1 BuildRequires: appframework >= 1.03 BuildRequires: beansbinding >= 1.2.1 BuildRequires: freemarker >= 2.3.8 BuildRequires: jsch BuildRequires: %{xml_resolver} >= %{xml_resolver_ver} BuildRequires: ini4j BuildRequires: netbeans-svnclientadapter >= %{svnclientadapter_ver} BuildRequires: subversion-javahl BuildRequires: swingx BuildRequires: jakarta-oro >= 2.0.8 BuildRequires: apache-commons-net >= 1.4.1 BuildRequires: %{nb_harness_pkg} >= %{version} BuildRequires: %{nb_platform_vpkg} >= %{version} BuildRequires: simplevalidation >= 1.0 BuildRequires: antlr3-java BuildRequires: apache-commons-logging # BuildRequires: testng >= 6.5.1 Requires: jpackage-utils Requires: java >= 1: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 >= 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/Tools Requires: jpackage-utils Requires: java >= 1: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/Tools Requires: jpackage-utils Requires: java >= 1:1.6.0 Requires: jsch Requires: %{xml_resolver} >= %{xml_resolver_ver} Requires: ini4j Requires: freemarker >= 2.3.8 Requires: xerces-j2 >= 2.7.1 Requires: netbeans-svnclientadapter >= %{svnclientadapter_ver} Requires: subversion-javahl Requires: apache-commons-logging >= 1.0.4 Requires: jakarta-oro >= 2.0.8 Requires: apache-commons-net >= 1.4.1 Requires: bytelist Requires: jvyamlb Requires: jzlib Requires: swingx # A requirement for an owner of the /usr/share/netbeans directory Requires: %{nb_platform_vpkg} >= %{version} Requires: antlr3-java Requires: simplevalidation >= 1.0 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/Tools Requires: jpackage-utils Requires: java >= 1:1.6.0 Requires: java-sdk >= 1:1.6.0 Requires: java-javadoc >= 0:1.6.0 Requires: netbeans-javaparser >= %{javaparser_ver} Requires: appframework >= 1.03 Requires: beansbinding >= 1.2.1 Requires: ant >= 1.7.0 Requires: ant-junit >= 1.7.0 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. %prep %setup -q -c %rmFiles "binaries-list" %rmFiles "*.dll" %rmFiles "*.exe" %rmFiles "*.jar" %rmFiles "*.ser" %rmFiles "*.so" %rmFiles "*.zip" %rmFiles "*.jnilib" %rmFiles "*.sl" %rmFiles "*.bat" #%%rmFiles "*.map" %rmFiles "buildnative-hpux*.sh" %rmFiles "buildnative-solaris*.sh" %rmFiles "buildnative-mac*.sh" rm -rf dlight.nativeexecution/release %patch0 -p0 -b .updatecenters %patch1 -p0 -b .ant-module %patch3 -p0 -b .build-xml %patch4 -p0 -b .ide-launcher %patch5 -p1 -b .build-copy %patch6 -p1 -b .small-ide-cluster %patch7 -p1 -b .cluster-properties %patch8 -p0 -b .suite-xml %patch9 -p0 -b .nosvnkit %patch10 -p0 -b .remove-non-linux-jni-libs %patch11 -p0 -b .build-native-code %patch12 -p0 -b .fix-native-dir-paths %patch13 -p0 -b .do-not-name-sos-based-on-arch %patch14 -p1 -b .jnilib-build-uniformly-across-archs %patch15 -p1 -b .disable-testng-support %patch16 -p0 -b .profiler %patch17 -p0 %build %{__mkdir_p} %{build_nb_dir} %{__ln_s} -f %{nb_platform_dir} %{build_nb_dir}/%{nb_platform} %{__ln_s} -f %{nb_harness_dir} %{build_nb_dir}/%{nb_harness} IDE_EXT_DIR=%{build_nb_dir}/%{nb_ide}/modules/ext %{__mkdir_p} ${IDE_EXT_DIR} %lnSys %{_javadir}/jsch.jar ${IDE_EXT_DIR}/jsch-0.1.45.jar %lnSys %{_javadir}/%{xml_resolver_jar} ${IDE_EXT_DIR}/resolver-1.2.jar %lnSys %{_javadir}/ini4j.jar ${IDE_EXT_DIR}/ini4j-%{ini4j_ver}.jar %lnSys %{_javadir}/ValidationAPI.jar ${IDE_EXT_DIR}/ValidationAPI.jar %lnSys %{_javadir}/antlr3-runtime.jar ${IDE_EXT_DIR}/antlr-runtime-3.3.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 %lnSys %{_javadir}/freemarker.jar ${IDE_EXT_DIR}/freemarker-2.3.8.jar %lnSys %{_javadir}/%{svnclientadapter_jar} ${IDE_EXT_DIR}/svnClientAdapter-main-1.8.14.jar %lnSys %{_javadir}/svn-javahl.jar ${IDE_EXT_DIR}/svnjavahl-%{svnjavahl_ver}.jar %lnSys %{_javadir}/xerces-j2.jar ${IDE_EXT_DIR}/xerces-2.8.0.jar %lnSys %{_javadir}/lucene-core.jar ${IDE_EXT_DIR}/lucene-core-3.5.0.jar %lnSys %{_javadir}/commons-logging.jar ${IDE_EXT_DIR}/commons-logging-%{commons_logging_ver}.jar %lnSys %{_javadir}/jakarta-oro.jar ${IDE_EXT_DIR}/jakarta-oro-2.0.8.jar %lnSys %{_javadir}/commons-net.jar ${IDE_EXT_DIR}/commons-net-1.4.1.jar %lnSys %{_javadir}/jzlib.jar ${IDE_EXT_DIR}/jzlib-1.0.7.jar %lnSys %{_javadir}/bytelist.jar ${IDE_EXT_DIR}/bytelist-0.1.jar %lnSys %{_javadir}/jvyamlb.jar ${IDE_EXT_DIR}/jvyamlb-0.2.3.jar %lnSys %{_javadir}/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} %lnSys %{_javadir}/netbeans-javaparser-api.jar ${JAVA_EXT_DIR}/nb-javac-api.jar %lnSys %{_javadir}/netbeans-javaparser-impl.jar ${JAVA_EXT_DIR}/nb-javac-impl.jar %lnSys %{_javadir}/appframework.jar ${JAVA_EXT_DIR}/appframework-1.0.3.jar %lnSys %{_javadir}/beansbinding.jar ${JAVA_EXT_DIR}/beansbinding-1.2.1.jar %lnSys %{_javadir}/junit.jar ${JAVA_EXT_DIR}/junit-4.10.jar %lnSys %{_javadir}/junit.jar libs.junit4/external/junit-4.10.jar # To build the netbeans modules the installed jars will be used instead of pre-packaged ones # - at least java.editor requires: # - at least java.examples/ClientEditor requires: %lnSys %{_javadir}/swing-layout.jar o.jdesktop.layout/external/swing-layout-1.0.4.jar # - javahelp2.jar is required in the build target "bootstrap" for "JavaHelp indexing". # see also classpath in the jhindexer task in nbbuild/templates/projectized.xml (334) %lnSys %{_javadir}/javahelp2.jar javahelp/external/jhall-2.0_05.jar pushd apisupport.harness/external %lnSys %{_javadir}/javahelp2.jar jsearch-2.0_05.jar popd %lnSys %{_javadir}/svn-javahl.jar libs.svnClientAdapter.javahl/external/svnjavahl-%{svnjavahl_ver}.jar %lnSys %{_javadir}/%{svnclientadapter_jar} libs.svnClientAdapter.javahl/external/svnClientAdapter-javahl-1.8.14.jar %lnSys %{_javadir}/jsch.jar c.jcraft.jsch/external/jsch-0.1.45.jar %lnSys %{_javadir}/jzlib.jar c.jcraft.jzlib/external/jzlib-1.0.7.jar #%%lnSys %%{_javadir}/testng.jar libs.testng/external/testng-6.5.1-dist.jar %global build_nb_platform_dir $(pwd)/%{build_nb_dir}/%{nb_platform} %{ant_nb_opt} \ -Do.n.core.dir=%{build_nb_platform_dir} \ -Dcore.dir=%{build_nb_platform_dir} \ -Dcore.startup.dir=%{build_nb_platform_dir} \ -Dopenide.awt.dir=%{build_nb_platform_dir} \ -Dlibs.beans-binding.classpath=%{_javadir}/beansbinding.jar \ -Dext.binaries.downloaded=true \ -Dnb.cluster.platform-is-built=true \ -Dnb.cluster.harness-is-built=true \ -Ddo-not-rebuild-clusters=true \ -Dcluster.config=basic \ -f nbbuild/build.xml build-nozip # ugly workaround for bug in building netbeans with icedtea6 # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=691 if [ x"$failed" = x"1" ] ; then \ %{ant_nb_opt} \ -Do.n.core.dir=%{build_nb_platform_dir} \ -Dcore.dir=%{build_nb_platform_dir} \ -Dcore.startup.dir=%{build_nb_platform_dir} \ -Dopenide.awt.dir=%{build_nb_platform_dir} \ -Dlibs.beans-binding.classpath=%{_javadir}/beansbinding.jar \ -Dext.binaries.downloaded=true \ -Dnb.cluster.platform-is-built=true \ -Dnb.cluster.harness-is-built=true \ -Ddo-not-rebuild-clusters=true \ -Dcluster.config=basic \ -f nbbuild/build.xml build-nozip fi # 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}|g" %{nb_desktop} sed --in-place "s||%{nb_launcher}|g" %{nb_desktop} # clean up links to ext jars for the ide module pushd ${IDE_EXT_DIR} %{__rm} -f ValidationAPI.jar %{__rm} -f antlr-runtime-3.3.jar %{__rm} -f bytelist-0.1.jar %{__rm} -f commons-logging-%{commons_logging_ver}.jar %{__rm} -f commons-net-1.4.1.jar %{__rm} -f freemarker-2.3.8.jar %{__rm} -f ini4j-0.5.1.jar %{__rm} -f jakarta-oro-2.0.8.jar %{__rm} -f jsch-0.1.45.jar %{__rm} -f jvyamlb-0.2.3.jar %{__rm} -f jzlib-1.0.7.jar %{__rm} -f lucene-core-3.5.0.jar %{__rm} -f resolver-1.2.jar %{__rm} -f svnClientAdapter-main-1.8.14.jar %{__rm} -f svnjavahl-%{svnjavahl_ver}.jar %{__rm} -f swingx-0.9.5.jar %{__rm} -f xerces-2.8.0.jar popd pushd nbbuild/netbeans/ide/modules %{__rm} -f com-jcraft-jsch.jar %{__rm} -f com-jcraft-jzlib.jar popd # clean up links to ext jars for the java module pushd ${JAVA_EXT_DIR} %{__rm} -f appframework-1.0.3.jar %{__rm} -f beansbinding-1.2.1.jar %{__rm} -f junit-4.10.jar %{__rm} -f nb-javac-api.jar %{__rm} -f nb-javac-impl.jar popd %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} } # 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 %lnSys %{_javadir}/ValidationAPI.jar ValidationAPI.jar %lnSys %{_javadir}/antlr3-runtime.jar antlr-runtime-3.3.jar %lnSys %{_javadir}/bytelist.jar bytelist-0.1.jar %lnSys %{_javadir}/commons-logging.jar commons-logging-%{commons_logging_ver}.jar %lnSys %{_javadir}/commons-net.jar commons-net-1.4.1.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 %lnSys %{_javadir}/freemarker.jar freemarker-2.3.8.jar %lnSys %{_javadir}/ini4j.jar ini4j-%{ini4j_ver}.jar %lnSys %{_javadir}/jakarta-oro.jar jakarta-oro-2.0.8.jar %lnSys %{_javadir}/jsch.jar jsch-0.1.45.jar %lnSys %{_javadir}/jvyamlb.jar jvyamlb-0.2.3.jar %lnSys %{_javadir}/jzlib.jar jzlib-1.0.7.jar %lnSys %{_javadir}/lucene-core.jar lucene-core-3.5.0.jar %lnSys %{_javadir}/%{xml_resolver_jar} resolver-1.2.jar %lnSys %{_javadir}/%{svnclientadapter_jar} svnClientAdapter-main-1.8.14.jar %lnSys %{_javadir}/svn-javahl.jar svnjavahl-%{svnjavahl_ver}.jar %lnSys %{_javadir}/swingx.jar swingx-0.9.5.jar %lnSys %{_javadir}/xerces-j2.jar xerces-2.8.0.jar popd pushd %{buildroot}%{nb_ide_dir}/modules %lnSys %{_javadir}/jsch.jar com-jcraft-jsch.jar %lnSys %{_javadir}/jzlib.jar com-jcraft-jzlib.jar popd # 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 %global nb_java_cSP_dir %{nb_java_dir}/config/Services/Platforms %global JDK_ver 1.6 %{__mkdir_p} %{buildroot}%{nb_java_cSP_dir}/org-netbeans-api-java-Platform/ cat <%{buildroot}%{nb_java_cSP_dir}/org-netbeans-api-java-Platform/default_platform.xml file:/usr/share/javadoc/java/ KONEC # linking the java to the external JARs pushd %{buildroot}%{nb_java_dir}/modules/ext %lnSys %{_javadir}/netbeans-javaparser-api.jar nb-javac-api.jar %lnSys %{_javadir}/netbeans-javaparser-impl.jar nb-javac-impl.jar %lnSys %{_javadir}/appframework.jar appframework-1.0.3.jar %lnSys %{_javadir}/beansbinding.jar beansbinding-1.2.1.jar %lnSys %{_javadir}/junit.jar junit-4.10.jar popd # linking the Ant components pushd %{buildroot}%{nb_java_dir}/ant mkdir -p bin %{__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 mkdir -p lib 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 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} %post %{__alternatives} --install %{_bindir}/%{nb_} %{nb_} %{nb_launcher} %{nb_alt_priority} /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : %preun if [ "$1" = "0" ]; then %{__alternatives} --remove %{nb_} %{nb_launcher} fi %postun if [ $1 -eq 0 ] ; then /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : fi %posttrans /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %files %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} %{nb_apisupport_dir}/ %doc %{nb_license} %files %{nb_ide} %{nb_ide_dir}/ %doc %{nb_license} %files %{nb_java} %{nb_java_dir}/ %doc %{nb_license} %changelog * Mon Dec 10 2012 gil cattaneo 7.2.1-1 - Update to 7.2.1 * Thu Sep 22 2011 Omair Majid - 6.9-5 - Fix rhbz670303 * Mon Sep 19 2011 Omair Majid - 6.9-4 - Fix rhbz715654 - Fix rhbz702842 * Tue Feb 08 2011 Fedora Release Engineering - 6.9-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Wed Sep 01 2010 Victor G. Vasilyev 6.9-2 - Fix for https://netbeans.org/bugzilla/show_bug.cgi?id=189196 * Mon Feb 15 2010 Victor G. Vasilyev 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 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 6.8-5 - add dependencies on Jruby's pkgs: bytelist, jvyamlb - clean up comments * Wed Feb 10 2010 Victor G. Vasilyev 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 6.8-3 - a fake tag 'provides' needed only for rebuilding maven-scm * Sat Feb 06 2010 Victor G. Vasilyev 6.8-2 - remove dependencies on Jruby's pkgs: bytelist, jvyamlb * Thu Nov 26 2009 Victor G. Vasilyev 6.8-1 - re-base for the NetBeans 6.8 * Sat May 23 2009 Victor G. Vasilyev 6.7.1-1 - re-base for the NetBeans 6.7.1