%define javadoc_url http://bits.netbeans.org/%{version}/javadoc %define noautoupdate() echo > %1/.noautoupdate # See: http://bits.netbeans.org/dev/javadoc/org-netbeans-bootstrap/overview-summary.html#java.io.File-.lastModified %define lastModified() echo > %{1}/.lastModified %define nbCluster() %{expand:%%noautoupdate %{1}} ; %{expand:%%lastModified %{1}} ; %define platform_version 12 %define platform platform #%define platform_date 201006111053 %define platform_date 201011281701 %define netbeans_dir %{_datadir}/netbeans %define platform_dir %{netbeans_dir}/%{platform}%{platform_version} %define harness_dir %{netbeans_dir}/harness Name: netbeans-platform Version: 6.9.1 Release: 3mamba Summary: NetBeans Platform Group: Development/Libraries Vendor: netbeans.org Distribution: netbeans.%{version} Packager: gil URL: http://platform.netbeans.org #Source: http://bits.netbeans.org/netbeans/%{version}/community/fcs/zip/netbeans-%{version}-%{platform_date}-platform-src.zip Source: http://download.netbeans.org/netbeans/%{version}/final/zip/netbeans-%{version}-%{platform_date}-platform-src.zip #Source: http://bits.netbeans.org/netbeans/%{version}/community/fcs/zip/netbeans-%{version}-%{platform_date}-platform-src.zip #http://download.netbeans.org/netbeans/6.9/final/zip/netbeans-6.9-201006101454-platform-src.zip License: Common Development and Distribution License 1.0, GPL # remove windows launcher components Patch0: netbeans-platform-6.8-bootstrap-build_xml.patch Patch1: netbeans-platform-6.8-jdesktop_layout-project_properties.patch # remove openJDK 1.5 components Patch2: netbeans-platform-6.8-apisupport_harness-project_properties.patch # avoids spam in the log if the -XX:+HeapDumpOnOutOfMemoryError option is not supported by the JVM Patch3: netbeans-platform-6.8-bootstrap-nbexec.patch Patch4: netbeans-platform-6.9-00-bootstrap-project_properties.patch Patch5: netbeans-platform-6.9-10-nbbuild_build_xml_downloadbinaries.patch Patch6: netbeans-platform-6.9-11-nbbuild_templates_projectized_xml_downloadbinaries.patch Patch7: netbeans-platform-6.9-20-harness_jdkhome_conf.patch Patch8: netbeans-platform-6.9-30-nbi_engine_native_build_properties.patch Patch9: netbeans-platform-6.9-31-nbi_engine_native_build_xml.patch Patch10: netbeans-platform-6.9-32-nbi_engine_build_xml.patch BuildRequires: apache-ant BuildRequires: apache-ant-junit BuildRequires: apache-ant-nodeps BuildRequires: apache-ant-trax BuildRequires: apache-felix-framework BuildRequires: apache-felix-main BuildRequires: apache-felix-osgi-compendium BuildRequires: apache-felix-osgi-core BuildRequires: apache-log4j BuildRequires: jakarta-oro BuildRequires: java-bindex BuildRequires: java-cobertura BuildRequires: javahelp2 BuildRequires: java-jemmy BuildRequires: java-jetty6-core BuildRequires: java-jetty6-servlet-2.5-api BuildRequires: java-jna BuildRequires: java-junit48 BuildRequires: java-swing-layout BuildRequires: jpackage-utils BuildRequires: objectweb-asm = 3.2 Requires: apache-felix-framework Requires: apache-felix-main Requires: apache-felix-osgi-compendium Requires: apache-felix-osgi-core Requires: java-bindex Requires: javahelp2 Requires: java-jna Requires: java-junit48 Requires: java-swing-layout Requires: jpackage-utils Provides: libnb-%{platform} = %{version} BuildRoot: %{_tmppath}/%{name}-%{version}-root %description NetBeans Platform is a framework for development of Rich Client Swing Applications. It contains powerful module system and a set of modules providing various functionalities needed for simplification of development of modular desktop applications. %package javadoc Summary: Javadoc documentation for NetBeans Platform %{platform_version} Group: Documentation %description javadoc NetBeans Platform is a set of modules, each providing their own APIs and working together or in a standalone mode. This package provides one master javadoc to all of them. %package harness Summary: Build harness for NetBeans Platform %{platform_version} Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: apache-ant Requires: apache-log4j Requires: jakarta-oro Requires: java-cobertura Requires: javahelp2 Requires: java-jemmy Requires: jpackage-utils Provides: libnb-%{platform}-devel = %{version} Requires: objectweb-asm = 3.2 %description harness Harness with build scripts and ant tasks for everyone who build an application on top of NetBeans Platform %prep %setup -q -c %{name}-%{version} for j in $(find -name "*.jar"); do mv $j $j.no done for j in $(find -name "*.zip"); do rm $j -rf done for j in $(find -name "*.exe"); do rm $j -rf done for j in $(find -name "binaries-list"); do rm $j -rf done find . -type d | xargs -t chmod 755 find . -type f -exec chmod 644 {} ";" mkdir -p libs.jsr223/src/javax/script echo "package javax.script; class empty { }" > libs.jsr223/src/javax/script/empty.java mkdir -p libs.jsr223/external jar cf libs.jsr223/external/jsr223-api.jar libs.jsr223/src/javax/script/empty.java ln -sf %{_javadir}/javahelp2.jar javahelp/external/jh-2.0_05.jar ln -sf %{_javadir}/jemmy.jar jemmy/external/jemmy-2.3.0.0.jar ln -sf %{_javadir}/jna.jar libs.jna/external/jna-3.0.9.jar ln -sf %{_javadir}/junit48.jar libs.junit4/external/junit-4.5.jar ln -sf %{_javadir}/swing-layout.jar o.jdesktop.layout/external/swing-layout-1.0.4.jar ln -sf %{_javadir}/jetty6/jetty.jar nbi/engine/lib/jetty-6.0.2.jar ln -sf %{_javadir}/jetty6/jetty-util.jar nbi/engine/lib/jetty-util-6.0.2.jar ln -sf %{_javadir}/jetty6/servlet-2.5-api.jar nbi/engine/lib/servlet-api-2.5-6.0.2.jar ln -sf %{_javadir}/felix/org.osgi.core.jar libs.osgi/external/osgi.core-4.2.jar ln -sf %{_javadir}/felix/org.osgi.foundation.jar libs.osgi/external/osgi.cmpn-4.2.jar ln -sf %{_javadir}/felix/org.apache.felix.framework.jar libs.felix/external/felix-2.0.3.jar ln -sf %{_javadir}/felix/org.apache.felix.main.jar libs.felix/external/felix-main-2.0.2.jar pushd apisupport.harness/external ln -sf %{_javadir}/javahelp2.jar jsearch-2.0_05.jar ln -sf %{_javadir}/cobertura.jar cobertura-1.9.3.jar ln -sf %{_javadir}/objectweb-asm/asm-all.jar asm-3.0.jar ln -sf %{_javadir}/objectweb-asm/asm-all.jar asm-tree-3.0.jar ln -sf %{_javadir}/log4j.jar log4j-1.2.9.jar ln -sf %{_javadir}/oro.jar jakarta-oro-2.0.8.jar ln -sf %{_javadir}/bindex.jar bindex-2.2.jar popd pushd apisupport.tc.cobertura/external ln -sf %{_javadir}/objectweb-asm/asm-all.jar asm-3.0.jar ln -sf %{_javadir}/objectweb-asm/asm-all.jar asm-tree-3.0.jar ln -sf %{_javadir}/cobertura.jar cobertura-1.9.3.jar ln -sf %{_javadir}/log4j.jar log4j-1.2.9.jar ln -sf %{_javadir}/oro.jar jakarta-oro-2.0.8.jar popd #%patch0 %patch1 #%patch2 %patch3 %patch4 %patch5 %patch6 %patch7 sed -i "s|__JDK__HOME__|/usr/lib/jvm/jdk-sun|" apisupport.harness/release/etc/app.conf %patch8 sed -i "s|ANT_JAVA|ANT_JAVA:ANT_HOME|" nbi/engine/native/launcher/unix/src/launcher.sh %patch9 %patch10 mkdir -p nbbuild/netbeans/harness/antlib ln -sf %{_javadir}/javahelp2.jar nbbuild/netbeans/harness/antlib/jsearch-2.0_05.jar ln -sf %{_javadir}/bindex.jar nbbuild/netbeans/harness/antlib/bindex-2.2.jar mkdir -p nbbuild/netbeans/harness/modules/ext ln -sf %{_javadir}/jemmy.jar nbbuild/netbeans/harness/modules/ext/jemmy-2.3.0.0.jar mkdir -p nbbuild/netbeans/harness/testcoverage/cobertura/lib ln -sf %{_javadir}/objectweb-asm/asm-all.jar nbbuild/netbeans/harness/testcoverage/cobertura/lib/asm-3.0.jar ln -sf %{_javadir}/objectweb-asm/asm-all.jar nbbuild/netbeans/harness/testcoverage/cobertura/lib/asm-tree-3.0.jar ln -sf %{_javadir}/oro.jar nbbuild/netbeans/harness/testcoverage/cobertura/lib/jakarta-oro-2.0.8.jar ln -sf %{_javadir}/log4j.jar nbbuild/netbeans/harness/testcoverage/cobertura/lib/log4j-1.2.9.jar ln -sf %{_javadir}/cobertura.jar nbbuild/netbeans/harness/testcoverage/cobertura/cobertura-1.9.3.jar mkdir -p nbbuild/netbeans/%{platform}/modules/ext ln -sf %{_javadir}/felix/org.apache.felix.framework.jar nbbuild/netbeans/%{platform}/modules/ext/felix-2.0.3.jar ln -sf %{_javadir}/felix/org.apache.felix.main.jar nbbuild/netbeans/%{platform}/modules/ext/felix-main-2.0.2.jar ln -sf %{_javadir}/javahelp2.jar nbbuild/netbeans/%{platform}/modules/ext/jh-2.0_05.jar ln -sf %{_javadir}/jna.jar nbbuild/netbeans/%{platform}/modules/ext/jna-3.0.9.jar ln -sf %{_javadir}/junit48.jar nbbuild/netbeans/%{platform}/modules/ext/junit-4.5.jar ln -sf %{_javadir}/felix/org.osgi.foundation.jar nbbuild/netbeans/%{platform}/modules/ext/osgi.cmpn-4.2.jar ln -sf %{_javadir}/felix/org.osgi.core.jar nbbuild/netbeans/%{platform}/modules/ext/osgi.core-4.2.jar ln -sf %{_javadir}/swing-layout.jar nbbuild/netbeans/%{platform}/modules/ext/swing-layout-1.0.4.jar %build ant \ -Dpermit.jdk6.builds=true \ -Dis.linux=true \ -Dbuild.compiler.deprecation=false -Dbuild.compiler.debug=false \ -Dverify.checkout=false \ -f nbbuild/build.xml build-platform #ln -sf %{_javadir}/felix/org.apache.felix.framework.jar nbbuild/netbeans/%{platform}/modules/ext/felix-2.0.3.jar #ln -sf %{_javadir}/felix/org.apache.felix.main.jar nbbuild/netbeans/%{platform}/modules/ext/felix-main-2.0.2.jar #ln -sf %{_javadir}/javahelp2.jar nbbuild/netbeans/%{platform}/modules/ext/jh-2.0_05.jar #ln -sf %{_javadir}/jna.jar nbbuild/netbeans/%{platform}/modules/ext/jna-3.0.9.jar #ln -sf %{_javadir}/junit45.jar nbbuild/netbeans/%{platform}/modules/ext/junit-4.5.jar #ln -sf %{_javadir}/felix/org.osgi.foundation.jar nbbuild/netbeans/%{platform}/modules/ext/osgi.cmpn-4.2.jar #ln -sf %{_javadir}/felix/org.osgi.core.jar nbbuild/netbeans/%{platform}/modules/ext/osgi.core-4.2.jar #ln -sf %{_javadir}/swing-layout.jar nbbuild/netbeans/%{platform}/modules/ext/swing-layout-1.0.4.jar #ant \ # -Dpermit.jdk6.builds=true \ # -Dbuild.compiler.deprecation=false -Dbuild.compiler.debug=false \ # -Dverify.checkout=false \ # -f apisupport.harness/build.xml ln -sf %{_javadir}/javahelp2.jar nbbuild/netbeans/harness/jsearch-2.0_05.jar ant \ -Dpermit.jdk6.builds=true \ -Dis.linux=true \ -Dbuild.compiler.deprecation=false -Dbuild.compiler.debug=false \ -Dverify.checkout=false \ -Dallmodules= \ -Dcluster.config=platform \ -Dconfig.javadoc.cluster=%{platform} \ -Dconfig.javadoc.netbeans=\ openide.util,openide.actions,openide.options,openide.awt,\ openide.dialogs,openide.nodes,openide.explorer,openide.filesystems,openide.modules,\ openide.text,openide.windows,openide.loaders,openide.io,queries,\ o.n.api.progress,settings,javahelp,openide.execution,\ sendopts,options.api,editor.mimelookup\ -Djavadoc.docs.org-netbeans-api-java=%{javadoc_url}/org-netbeans-api-java/ \ -Djavadoc.docs.org-netbeans-modules-project-ant=%{javadoc_url}/org-netbeans-modules-project-ant/ \ -Djavadoc.docs.org-netbeans-modules-projectapi=%{javadoc_url}/org-netbeans-modules-projectapi/ \ -f nbbuild/build.xml build-javadoc rm -rf nbbuild/build/javadoc/*.zip # repackaged jars rm -rf nbbuild/netbeans/%{platform}/modules/ext/felix-2.0.3.jar rm -rf nbbuild/netbeans/%{platform}/modules/ext/felix-main-2.0.2.jar rm -rf nbbuild/netbeans/%{platform}/modules/ext/jh-2.0_05.jar rm -rf nbbuild/netbeans/%{platform}/modules/ext/jna-3.0.9.jar rm -rf nbbuild/netbeans/%{platform}/modules/ext/junit-4.5.jar rm -rf nbbuild/netbeans/%{platform}/modules/ext/osgi.cmpn-4.2.jar rm -rf nbbuild/netbeans/%{platform}/modules/ext/osgi.core-4.2.jar rm -rf nbbuild/netbeans/%{platform}/modules/ext/swing-layout-1.0.4.jar rm -rf nbbuild/netbeans/%{platform}/modules/ext/jh-2.0_05.jar rm -rf nbbuild/netbeans/%{platform}/modules/ext/jna-3.0.9.jar rm -rf nbbuild/netbeans/%{platform}/modules/ext/junit-4.5.jar rm -rf nbbuild/netbeans/%{platform}/modules/ext/script-api.jar rm -rf nbbuild/netbeans/harness/jsearch-2.0_05.jar rm -rf nbbuild/netbeans/harness/antlib/bindex-2.2.jar rm -rf nbbuild/netbeans/harness/antlib/jsearch-2.0_05.jar rm -rf nbbuild/netbeans/harness/modules/ext/jemmy-2.3.0.0.jar rm -rf nbbuild/netbeans/harness/testcoverage/cobertura/lib/asm-3.0.jar rm -rf nbbuild/netbeans/harness/testcoverage/cobertura/lib/asm-tree-3.0.jar rm -rf nbbuild/netbeans/harness/testcoverage/cobertura/lib/jakarta-oro-2.0.8.jar rm -rf nbbuild/netbeans/harness/testcoverage/cobertura/lib/log4j-1.2.9.jar rm -rf nbbuild/netbeans/harness/testcoverage/cobertura/cobertura-1.9.3.jar %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" mkdir -p %{buildroot}%{platform_dir} cp -pr nbbuild/netbeans/%{platform}/* %{buildroot}%{platform_dir} %nbCluster %{buildroot}%{platform_dir} ln -sf %{_javadir}/felix/org.apache.felix.framework.jar %{buildroot}%{platform_dir}/modules/ext/felix-2.0.3.jar ln -sf %{_javadir}/felix/org.apache.felix.main.jar %{buildroot}%{platform_dir}/modules/ext/felix-main-2.0.2.jar ln -sf %{_javadir}/javahelp2.jar %{buildroot}%{platform_dir}/modules/ext/jh-2.0_05.jar ln -sf %{_javadir}/javahelp2.jar %{buildroot}%{platform_dir}/modules/ext/jsearch-2.0_05.jar ln -sf %{_javadir}/jna.jar %{buildroot}%{platform_dir}/modules/ext/jna-3.0.9.jar ln -sf %{_javadir}/junit48.jar %{buildroot}%{platform_dir}/modules/ext/junit-4.5.jar ln -sf %{_javadir}/felix/org.osgi.foundation.jar %{buildroot}%{platform_dir}/modules/ext/osgi.cmpn-4.2.jar ln -sf %{_javadir}/felix/org.osgi.core.jar %{buildroot}%{platform_dir}/modules/ext/osgi.core-4.2.jar ln -sf %{_javadir}/swing-layout.jar %{buildroot}%{platform_dir}/modules/ext/swing-layout-1.0.4.jar mkdir -p %{buildroot}%{harness_dir} cp -pr nbbuild/netbeans/harness/* %{buildroot}%{harness_dir} %nbCluster %{buildroot}%{harness_dir} pushd %{buildroot}%{harness_dir} ln -sf %{_javadir}/javahelp2.jar antlib/jsearch-2.0_05.jar ln -sf %{_javadir}/bindex.jar antlib/bindex-2.2.jar ln -sf %{_javadir}/jemmy.jar modules/ext/jemmy-2.3.0.0.jar pushd testcoverage/cobertura ln -sf %{_javadir}/cobertura.jar cobertura-1.9.3.jar pushd lib ln -sf %{_javadir}/objectweb-asm/asm-all.jar asm-3.0.jar ln -sf %{_javadir}/objectweb-asm/asm-all.jar asm-tree-3.0.jar ln -sf %{_javadir}/oro.jar jakarta-oro-2.0.8.jar ln -sf %{_javadir}/log4j.jar log4j-1.2.9.jar popd popd popd # fix perm chmod 775 %{buildroot}%{platform_dir}/lib/nbexec mkdir -p %{buildroot}%{_javadocdir}/netbeans-%{platform} cp -pr nbbuild/build/javadoc/* %{buildroot}%{_javadocdir}/netbeans-%{platform} %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %files %defattr(-,root,root) %dir %{platform_dir} %{platform_dir}/VERSION.txt %{platform_dir}/config %{platform_dir}/core/core.jar %{platform_dir}/core/org-openide-filesystems.jar %{platform_dir}/lib/boot.jar %attr(775, root, root) %{platform_dir}/lib/nbexec %{platform_dir}/lib/org-openide-modules.jar %{platform_dir}/lib/org-openide-util.jar %{platform_dir}/lib/org-openide-util-lookup.jar %{platform_dir}/modules %{platform_dir}/update_tracking %{platform_dir}/.noautoupdate %{platform_dir}/.lastModified %doc nbbuild/licenses/CDDL-GPL-2-CP %files harness %defattr(-,root,root) %dir %{harness_dir} %{harness_dir}/config/Modules %{harness_dir}/etc/Info.plist %{harness_dir}/etc/app.conf %{harness_dir}/etc/applicationIcon.icns %{harness_dir}/jnlp/jnlp-launcher.jar %dir %{harness_dir}/launchers %attr(755, root, root) %{harness_dir}/launchers/app.sh %{harness_dir}/*.xml %{harness_dir}/modules/org-netbeans-insane.jar %{harness_dir}/modules/org-netbeans-modules-apisupport-harness.jar %{harness_dir}/modules/org-netbeans-modules-apisupport-tc-cobertura.jar %{harness_dir}/modules/org-netbeans-modules-jellytools-platform.jar %{harness_dir}/modules/org-netbeans-modules-jemmy.jar %{harness_dir}/modules/org-netbeans-modules-nbjunit.jar %{harness_dir}/modules/org-netbeans-libs-nbi-ant.jar %{harness_dir}/modules/org-netbeans-libs-nbi-engine.jar %{harness_dir}/nbi %{harness_dir}/modules/ext %{harness_dir}/tasks.jar %{harness_dir}/antlib %{harness_dir}/testcoverage %{harness_dir}/update_tracking %{harness_dir}/.lastModified %{harness_dir}/.noautoupdate %doc %{harness_dir}/README %files javadoc %defattr(-,root,root) %{_javadocdir}/netbeans-%{platform} %changelog * Wed Dec 22 2010 gil 6.9.1-3mamba - update to 6.9.1-201011281701 * Wed Dec 01 2010 gil 6.9.1-2mamba - rebuilt devel * Sat Aug 28 2010 gil 6.9.1-1mamba - update to 6.9.1 * Thu Jul 29 2010 gil 6.9-3mamba - update to 6.9-201006101454 * Tue Jul 27 2010 gil 6.9-2mamba - edit spec file * Tue Jun 15 2010 gil 6.9-1mamba - update to 6.9 * Fri Feb 12 2010 gil 6.8-1mamba - update to 6.8 * Tue Dec 15 2009 gil 6.7.1-1mamba - update to 6.7.1 * Wed Apr 08 2009 gil 6.5-1mamba - update to 6.5 * Mon Dec 22 2008 gil 6.1-1mamba - package created by autospec