| 1 |
%define nb_ netbeans
|
| 2 |
%define nb_ver 6.1
|
| 3 |
%define nb_release_time 200805300101
|
| 4 |
%define nb_home %{_datadir}/%{nb_}
|
| 5 |
%define nb_dir %{nb_home}/%{nb_ver}
|
| 6 |
|
| 7 |
%define nb_platform_ver 8
|
| 8 |
%define nb_platform platform%{nb_platform_ver}
|
| 9 |
%define nb_platform_dir %{nb_home}/%{nb_platform}
|
| 10 |
|
| 11 |
%define nb_harness harness
|
| 12 |
%define nb_harness_dir %{nb_home}/%{nb_harness}
|
| 13 |
|
| 14 |
%define nb_javadoc javadoc
|
| 15 |
%define nb_javadoc_dir %{_javadocdir}/%{nb_}-%{nb_platform}
|
| 16 |
|
| 17 |
%define compiler_opt -Dbuild.compiler.deprecation=false -Dbuild.compiler.debug=false
|
| 18 |
%define jdk_opt -Dpermit.jdk6.builds=true
|
| 19 |
%define verify_opt -Dverify.checkout=false
|
| 20 |
%define ant_nb_opt %{ant} %{jdk_opt} %{compiler_opt} %{verify_opt}
|
| 21 |
|
| 22 |
%define nb_javadoc_site http://bits.netbeans.org/%{nb_ver}/javadoc
|
| 23 |
|
| 24 |
# Prevents use of autoupdate on the specified directory.
|
| 25 |
# %1 the directory being prevented for autoupdate.
|
| 26 |
%define noautoupdate() echo > %1/.noautoupdate
|
| 27 |
|
| 28 |
# Remove artifacts created by the noautoupdate macro.
|
| 29 |
# %1 the directory has been prevented for autoupdate.
|
| 30 |
%define rm_noautoupdate() %{__rm} -rf %1/.noautoupdate
|
| 31 |
|
| 32 |
Name: %{nb_}-%{nb_platform}
|
| 33 |
Version: %{nb_ver}
|
| 34 |
Release: 5%{?dist}
|
| 35 |
Summary: NetBeans Platform %{nb_platform_ver}
|
| 36 |
Group: Development/Libraries
|
| 37 |
License: GPLv2 with exceptions or CDDL
|
| 38 |
URL: http://platform.netbeans.org
|
| 39 |
Distribution: %{nb_}-%{nb_ver}
|
| 40 |
|
| 41 |
Source0: http://download.netbeans.org/%{nb_}/%{nb_ver}/final/zip/%{nb_}-%{nb_ver}-%{nb_release_time}-platform-src.zip
|
| 42 |
|
| 43 |
Patch0: %{name}-%{version}-build_bootstrap.patch
|
| 44 |
Patch1: %{name}-%{version}-properties.patch
|
| 45 |
# http://www.netbeans.org/issues/show_bug.cgi?id=134544
|
| 46 |
Patch2: %{name}-%{version}-win_launcher.patch
|
| 47 |
# http://www.netbeans.org/issues/show_bug.cgi?id=143729
|
| 48 |
Patch3: %{name}-%{version}-issue_143729.patch
|
| 49 |
|
| 50 |
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
| 51 |
BuildArch: noarch
|
| 52 |
|
| 53 |
BuildRequires: jpackage-utils
|
| 54 |
BuildRequires: java-devel >= 1:1.6.0
|
| 55 |
BuildRequires: ant >= 1.7.0
|
| 56 |
BuildRequires: ant-junit >= 1.7.0
|
| 57 |
BuildRequires: ant-nodeps >= 1.7.0
|
| 58 |
BuildRequires: ant-trax >= 1.7.0
|
| 59 |
BuildRequires: junit >= 3.8.2
|
| 60 |
BuildRequires: swing-layout >= 0:1.0
|
| 61 |
BuildRequires: javahelp2 >= 2.0.05
|
| 62 |
BuildRequires: jna >= 3.0.2
|
| 63 |
|
| 64 |
Requires: jpackage-utils
|
| 65 |
Requires: java >= 1:1.6.0
|
| 66 |
Requires: swing-layout >= 1.0
|
| 67 |
Requires: javahelp2 >= 2.0.05
|
| 68 |
Requires: jna >= 3.0.2
|
| 69 |
|
| 70 |
Provides: libnb-%{nb_platform} = %{version}
|
| 71 |
|
| 72 |
%description
|
| 73 |
NetBeans Platform is a framework for development of
|
| 74 |
Rich Client Swing Applications. It contains powerful
|
| 75 |
module system and a set of modules providing various
|
| 76 |
functionalities needed for simplification of
|
| 77 |
development of modular desktop applications.
|
| 78 |
|
| 79 |
%package %{nb_javadoc}
|
| 80 |
Summary: Javadoc documentation for NetBeans Platform %{nb_platform_ver}
|
| 81 |
Group: Documentation
|
| 82 |
%description %{nb_javadoc}
|
| 83 |
NetBeans Platform is a set of modules, each providing
|
| 84 |
their own APIs and working together or in a standalone
|
| 85 |
mode. This package provides one master
|
| 86 |
javadoc to all of them.
|
| 87 |
|
| 88 |
%package %{nb_harness}
|
| 89 |
Summary: Build harness for NetBeans Platform %{nb_platform_ver}
|
| 90 |
Group: Development/Libraries
|
| 91 |
Requires: jpackage-utils
|
| 92 |
Requires: java >= 1:1.6.0
|
| 93 |
Requires: ant >= 1.7.0
|
| 94 |
Requires: %{name} = %{version}-%{release}
|
| 95 |
Requires: javahelp2 >= 2.0.05
|
| 96 |
Provides: libnb-%{nb_platform}-devel = %{version}
|
| 97 |
%description %{nb_harness}
|
| 98 |
Harness with build scripts and ant tasks for everyone who
|
| 99 |
build an application on top of NetBeans Platform
|
| 100 |
|
| 101 |
%prep
|
| 102 |
%setup -q -c
|
| 103 |
|
| 104 |
find . -type d | xargs -t chmod 755
|
| 105 |
find . -type f -exec chmod 644 {} ";"
|
| 106 |
find . -type f \( -iname "*.jar" -o -iname "*.zip" \) | xargs -t %{__rm} -f
|
| 107 |
find . -type f \( -iname "*.exe" \) | xargs -t %{__rm} -f
|
| 108 |
|
| 109 |
# As of Java 6, JSR 223 is included in the JRE.
|
| 110 |
# Generate the stub jar file, so there is something in jsr223 API module
|
| 111 |
%{__mkdir_p} libs.jsr223/src/javax/script
|
| 112 |
echo "package javax.script; class empty { }" > libs.jsr223/src/javax/script/empty.java
|
| 113 |
%{__mkdir_p} libs.jsr223/external
|
| 114 |
jar cf libs.jsr223/external/jsr223-api.jar libs.jsr223/src/javax/script/empty.java
|
| 115 |
|
| 116 |
# to build the netbeans modules the installed jars will be used instead of pre-packaged ones
|
| 117 |
%{__ln_s} -f %{_javadir}/swing-layout.jar o.jdesktop.layout/external/swing-layout-1.0.3.jar
|
| 118 |
%{__ln_s} -f %{_javadir}/javahelp2.jar apisupport.harness/external/jsearch-2.0_05.jar
|
| 119 |
%{__ln_s} -f %{_javadir}/javahelp2.jar javahelp/external/jh-2.0_05.jar
|
| 120 |
%{__ln_s} -f %{_javadir}/jna.jar libs.jna/external/jna-3.0.2.jar
|
| 121 |
|
| 122 |
%patch0 -p1
|
| 123 |
%patch1 -p1
|
| 124 |
%patch2 -p1
|
| 125 |
%patch3 -p1
|
| 126 |
|
| 127 |
%build
|
| 128 |
|
| 129 |
# build platform
|
| 130 |
%{ant_nb_opt} -f nbbuild/build.xml build-platform
|
| 131 |
%{__ln_s} -f %{_javadir}/swing-layout.jar nbbuild/netbeans/%{nb_platform}/modules/ext/swing-layout-1.0.3.jar
|
| 132 |
%{__ln_s} -f %{_javadir}/javahelp2.jar nbbuild/netbeans/%{nb_platform}/modules/ext/jsearch-2.0_05.jar
|
| 133 |
%{__ln_s} -f %{_javadir}/javahelp2.jar nbbuild/netbeans/%{nb_platform}/modules/ext/jh-2.0_05.jar
|
| 134 |
%{__ln_s} -f %{_javadir}/jna.jar nbbuild/netbeans/%{nb_platform}/modules/ext/jna-3.0.2.jar
|
| 135 |
|
| 136 |
# build platform harness
|
| 137 |
%{ant_nb_opt} -f apisupport.harness/build.xml
|
| 138 |
%{__ln_s} -f %{_javadir}/javahelp2.jar nbbuild/netbeans/%{nb_harness}/jsearch-2.0_05.jar
|
| 139 |
|
| 140 |
# build platform javadoc
|
| 141 |
%{ant_nb_opt} \
|
| 142 |
-Dallmodules= \
|
| 143 |
-Dcluster.config=platform \
|
| 144 |
-Dconfig.javadoc.cluster=platform8 \
|
| 145 |
-Dconfig.javadoc.netbeans=\
|
| 146 |
openide.util,openide.actions,openide.options,openide.awt,\
|
| 147 |
openide.dialogs,openide.nodes,openide.explorer,openide.filesystems,openide.modules,\
|
| 148 |
openide.text,openide.windows,openide.loaders,openide.io,queries,\
|
| 149 |
o.n.api.progress,settings,javahelp,openide.execution,\
|
| 150 |
sendopts,options.api,editor.mimelookup \
|
| 151 |
-Djavadoc.docs.org-netbeans-api-java=%{nb_javadoc_site}/org-netbeans-api-java/ \
|
| 152 |
-Djavadoc.docs.org-netbeans-modules-project-ant=%{nb_javadoc_site}/org-netbeans-modules-project-ant/ \
|
| 153 |
-Djavadoc.docs.org-netbeans-modules-projectapi=%{nb_javadoc_site}/org-netbeans-modules-projectapi/ \
|
| 154 |
-f nbbuild/build.xml build-javadoc
|
| 155 |
%{__rm} -rf nbbuild/build/javadoc/*.zip
|
| 156 |
|
| 157 |
# clean up links to ext jars
|
| 158 |
%{__rm} -f nbbuild/netbeans/%{nb_platform}/modules/ext/swing-layout-1.0.3.jar
|
| 159 |
%{__rm} -f nbbuild/netbeans/%{nb_platform}/modules/ext/jsearch-2.0_05.jar
|
| 160 |
%{__rm} -f nbbuild/netbeans/%{nb_platform}/modules/ext/jh-2.0_05.jar
|
| 161 |
%{__rm} -f nbbuild/netbeans/%{nb_platform}/modules/ext/jna-3.0.2.jar
|
| 162 |
%{__rm} -f nbbuild/netbeans/%{nb_harness}/jsearch-2.0_05.jar
|
| 163 |
|
| 164 |
# clean up stub jars
|
| 165 |
%{__rm} -f nbbuild/netbeans/%{nb_platform}/modules/ext/script-api.jar
|
| 166 |
|
| 167 |
%install
|
| 168 |
|
| 169 |
%{__rm} -rf %{buildroot}
|
| 170 |
|
| 171 |
# install platform
|
| 172 |
%{__mkdir_p} %{buildroot}%{nb_platform_dir}
|
| 173 |
%{__cp} -pr nbbuild/netbeans/%{nb_platform}/* %{buildroot}%{nb_platform_dir}
|
| 174 |
|
| 175 |
# linking the platform to the external JARs
|
| 176 |
%{__ln_s} -f %{_javadir}/swing-layout.jar %{buildroot}%{nb_platform_dir}/modules/ext/swing-layout-1.0.3.jar
|
| 177 |
%{__ln_s} -f %{_javadir}/javahelp2.jar %{buildroot}%{nb_platform_dir}/modules/ext/jsearch-2.0_05.jar
|
| 178 |
%{__ln_s} -f %{_javadir}/javahelp2.jar %{buildroot}%{nb_platform_dir}/modules/ext/jh-2.0_05.jar
|
| 179 |
%{__ln_s} -f %{_javadir}/jna.jar %{buildroot}%{nb_platform_dir}/modules/ext/jna-3.0.2.jar
|
| 180 |
|
| 181 |
# install harness
|
| 182 |
%{__mkdir_p} %{buildroot}%{nb_harness_dir}
|
| 183 |
%{__cp} -pr nbbuild/netbeans/%{nb_harness}/* %{buildroot}%{nb_harness_dir}
|
| 184 |
|
| 185 |
# linking the harness to the external JARs
|
| 186 |
%{__ln_s} -f %{_javadir}/javahelp2.jar %{buildroot}%{nb_harness_dir}/jsearch-2.0_05.jar
|
| 187 |
|
| 188 |
# install javadoc
|
| 189 |
%{__mkdir_p} %{buildroot}%{nb_javadoc_dir}
|
| 190 |
%{__cp} -pr nbbuild/build/javadoc/* %{buildroot}%{nb_javadoc_dir}
|
| 191 |
|
| 192 |
%clean
|
| 193 |
%{__rm} -rf %{buildroot}
|
| 194 |
|
| 195 |
%post
|
| 196 |
%noautoupdate %{nb_platform_dir}
|
| 197 |
|
| 198 |
%preun
|
| 199 |
%rm_noautoupdate %{nb_platform_dir}
|
| 200 |
|
| 201 |
%post %{nb_harness}
|
| 202 |
%noautoupdate %{nb_harness_dir}
|
| 203 |
|
| 204 |
%preun %{nb_harness}
|
| 205 |
%rm_noautoupdate %{nb_harness_dir}
|
| 206 |
|
| 207 |
%files
|
| 208 |
%defattr(-,root,root,-)
|
| 209 |
%doc nbbuild/licenses/CDDL-1.0 nbbuild/licenses/CDDL-GPL-2-CP
|
| 210 |
%doc nbbuild/licenses/GPL-2-CP nbbuild/licenses/GPL-with-Proguard-exception
|
| 211 |
%dir %{nb_platform_dir}/
|
| 212 |
%{nb_platform_dir}/config
|
| 213 |
%{nb_platform_dir}/core
|
| 214 |
%dir %{nb_platform_dir}/lib
|
| 215 |
%{nb_platform_dir}/lib/boot.jar
|
| 216 |
%attr(755, root, root) %{nb_platform_dir}/lib/nbexec
|
| 217 |
%{nb_platform_dir}/lib/org-openide-modules.jar
|
| 218 |
%{nb_platform_dir}/lib/org-openide-util.jar
|
| 219 |
%{nb_platform_dir}/modules
|
| 220 |
%{nb_platform_dir}/update_tracking
|
| 221 |
|
| 222 |
%files %{nb_harness}
|
| 223 |
%defattr(-,root,root,-)
|
| 224 |
%dir %{nb_harness_dir}/
|
| 225 |
%{nb_harness_dir}/config
|
| 226 |
%{nb_harness_dir}/etc
|
| 227 |
%{nb_harness_dir}/jnlp
|
| 228 |
%dir %{nb_harness_dir}/launchers
|
| 229 |
%attr(755, root, root) %{nb_harness_dir}/launchers/app.sh
|
| 230 |
%{nb_harness_dir}/modules
|
| 231 |
%{nb_harness_dir}/update_tracking
|
| 232 |
%doc %{nb_harness_dir}/README
|
| 233 |
%{nb_harness_dir}/build.xml
|
| 234 |
%{nb_harness_dir}/common.xml
|
| 235 |
%{nb_harness_dir}/jdk.xml
|
| 236 |
%{nb_harness_dir}/jnlp.xml
|
| 237 |
%{nb_harness_dir}/jsearch-2.0_05.jar
|
| 238 |
%{nb_harness_dir}/run.xml
|
| 239 |
%{nb_harness_dir}/suite.xml
|
| 240 |
%{nb_harness_dir}/tasks.jar
|
| 241 |
|
| 242 |
%files %{nb_javadoc}
|
| 243 |
%defattr(-,root,root,-)
|
| 244 |
%doc %{nb_javadoc_dir}/
|
| 245 |
|
| 246 |
%changelog
|
| 247 |
* Mon Sep 22 2008 Victor Vasilyev <victor.vasilyev@sun.com> 6.1-5
|
| 248 |
- Patch3: Issue http://www.netbeans.org/issues/show_bug.cgi?id=143729
|
| 249 |
|
| 250 |
* Mon Sep 08 2008 Victor Vasilyev <victor.vasilyev@sun.com> 6.1-4
|
| 251 |
- Linking to the external JARs is moved to the %%install script from the %%post scripts
|
| 252 |
- Canonical value for %%defattr is used
|
| 253 |
|
| 254 |
* Thu Sep 04 2008 Victor Vasilyev <victor.vasilyev@sun.com> 6.1-3
|
| 255 |
- The %%{buildroot} is used everywhere instead of $RPM_BUILD_ROOT
|
| 256 |
- The java, java-devel and jpackage-utils requirenments are used
|
| 257 |
|
| 258 |
* Thu Aug 07 2008 Victor Vasilyev <victor.vasilyev@sun.com> 6.1-2
|
| 259 |
- Suppress rpmlint warnings about hidden .noautoupdate files
|
| 260 |
- Appropriate values of Group Tags are chosen from the official list
|
| 261 |
- Avoid dangling symlinks after %%install
|
| 262 |
* Fri Jun 06 2008 Victor Vasilyev <victor.vasilyev@sun.com> 6.1-1
|
| 263 |
- Initial version of the platform 8 package
|