Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37898530
en ru br
Репозитории ALT

Группа :: Разработка/Java
Пакет: netbeans-platform

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Packager: Igor Vlasenko <viy at altlinux.ru>
BuildRequires: /proc
BuildRequires: jpackage-1.6-compat
# Prevent brp-java-repack-jars from being run.
%define __jar_repack %{nil}

%define nb_             netbeans
%define nb_ver          6.5
%define nb_release_time 200811100001
%define nb_home         %{_datadir}/%{nb_}
%define nb_dir          %{nb_home}/%{nb_ver}

%define nb_platform_ver 9
%define nb_platform     platform%{nb_platform_ver}
%define nb_platform_dir %{nb_home}/%{nb_platform}

%define nb_harness      harness
%define nb_harness_dir  %{nb_home}/%{nb_harness}

%define nb_javadoc      javadoc
%define nb_javadoc_dir  %{_javadocdir}/%{nb_}-%{nb_platform}

%define compiler_opt    -Dbuild.compiler.deprecation=false -Dbuild.compiler.debug=false
%define jdk_opt         -Dpermit.jdk6.builds=true
%define verify_opt      -Dverify.checkout=false
%define ant_nb_opt      %{ant} %{jdk_opt} %{compiler_opt} %{verify_opt}

%define nb_javadoc_site http://bits.netbeans.org/%{nb_ver}/javadoc

# Prevents use of autoupdate on the specified directory.

# %1 the directory being prevented for autoupdate.
%define noautoupdate()    echo > %1/.noautoupdate

Name:         netbeans-platform
Version:      %{nb_ver}
Release:      alt1_6jpp6
Summary:      NetBeans Platform %{nb_platform_ver}
Group:        Development/Java
License:      GPLv2 with exceptions or CDDL
URL:          http://platform.netbeans.org

Source0: http://download.netbeans.org/%{nb_}/%{version}/final/zip/%{nb_}-%{version}-%{nb_release_time}-ml-platform-src.zip

Patch0: %{name}-%{version}-build_bootstrap.patch
Patch1: %{name}-%{version}-properties.patch
# http://www.netbeans.org/issues/show_bug.cgi?id=134544
Patch2: %{name}-%{version}-win_launcher.patch

BuildArch: noarch

BuildRequires: jpackage-utils
BuildRequires: ant >= 1.7.0
BuildRequires: ant-junit >= 1.7.0
BuildRequires: ant-nodeps >= 1.7.0
BuildRequires: ant-trax >= 1.7.0
BuildRequires: junit4 >= 4.5
BuildRequires: swing-layout >= 0:1.0
BuildRequires: javahelp2 >= 2.0.05
BuildRequires: jna >= 3.0.2

Requires: jpackage-utils
Requires: swing-layout >= 1.0
Requires: javahelp2 >= 2.0.05
Requires: jna >= 3.0.2

Obsoletes: netbeans-platform8 < 6.5
Provides:  netbeans-platform8 < 6.5

# macos proxy detection code :(

#+ Requires: /usr/bin/grep
#+ Requires: /usr/sbin/scutil
%add_findreq_skiplist /usr/share/netbeans/platform9/lib/nbexec

%description
The NetBeans Platform is a generic framework for Swing applications.
It provides the services common to almost all large desktop applications:
window management, menus, settings and storage, update management, file
access, etc.

%package %{nb_javadoc}
Summary: Javadoc documentation for NetBeans Platform %{nb_platform_ver}
Group: Development/Java
Obsoletes: netbeans-platform8-javadoc < 6.5
%description %{nb_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 %{nb_harness}
Summary: Build harness for NetBeans Platform %{nb_platform_ver}
Group: Development/Java
Requires: jpackage-utils
Requires: ant >= 1.7.0
Requires: %{name} = %{version}-%{release}
Requires: javahelp2 >= 2.0.05
Obsoletes: netbeans-platform8-harness < 6.5
%description %{nb_harness}
Harness with build scripts and ant tasks for everyone who
build an application on top of NetBeans Platform

%prep
%setup -q -c

find . -type f \( -iname "*.jar" -o -iname "*.zip" \) | xargs -t %{__rm} -f
find . -type f \( -iname "*.exe" \) | xargs -t %{__rm} -f
find . -type f \( -iname "binaries-list" \) | xargs -t %{__rm} -f

# As of Java 6, JSR 223 is included in the JRE.

# Generate the stub jar file, so there is something in jsr223 API module
%{__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

# to build the netbeans modules the installed jars will be used instead of pre-packaged ones

%{__ln_s} -f %{_javadir}/swing-layout.jar o.jdesktop.layout/external/swing-layout-1.0.3.jar
%{__ln_s} -f %{_javadir}/javahelp2.jar apisupport.harness/external/jsearch-2.0_05.jar
%{__ln_s} -f %{_javadir}/javahelp2.jar javahelp/external/jh-2.0_05.jar
%{__ln_s} -f %{_javadir}/jna.jar libs.jna/external/jna-3.0.2.jar
%{__ln_s} -f %{_javadir}/junit4.jar libs.junit4/external/junit-4.5.jar

%patch0 -p1
%patch1 -p1
%patch2 -p1

%build

# build platform

%{ant_nb_opt} -f nbbuild/build.xml build-platform
%{__ln_s} -f %{_javadir}/swing-layout.jar nbbuild/netbeans/%{nb_platform}/modules/ext/swing-layout-1.0.3.jar
%{__ln_s} -f %{_javadir}/javahelp2.jar nbbuild/netbeans/%{nb_platform}/modules/ext/jsearch-2.0_05.jar
%{__ln_s} -f %{_javadir}/javahelp2.jar nbbuild/netbeans/%{nb_platform}/modules/ext/jh-2.0_05.jar
%{__ln_s} -f %{_javadir}/jna.jar nbbuild/netbeans/%{nb_platform}/modules/ext/jna-3.0.2.jar
%{__ln_s} -f %{_javadir}/junit4.jar nbbuild/netbeans/%{nb_platform}/modules/ext/junit-4.5.jar

# build platform harness

%{ant_nb_opt} -f apisupport.harness/build.xml
%{__ln_s} -f %{_javadir}/javahelp2.jar nbbuild/netbeans/%{nb_harness}/jsearch-2.0_05.jar

# build platform javadoc

%{ant_nb_opt} \
  -Dallmodules= \
  -Dcluster.config=platform \
  -Dconfig.javadoc.cluster=%{nb_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=%{nb_javadoc_site}/org-netbeans-api-java/ \
  -Djavadoc.docs.org-netbeans-modules-project-ant=%{nb_javadoc_site}/org-netbeans-modules-project-ant/ \
  -Djavadoc.docs.org-netbeans-modules-projectapi=%{nb_javadoc_site}/org-netbeans-modules-projectapi/ \
  -f nbbuild/build.xml build-javadoc
%{__rm} -rf nbbuild/build/javadoc/*.zip

# clean up links to ext jars

%{__rm} -f nbbuild/netbeans/%{nb_platform}/modules/ext/swing-layout-1.0.3.jar
%{__rm} -f nbbuild/netbeans/%{nb_platform}/modules/ext/jsearch-2.0_05.jar
%{__rm} -f nbbuild/netbeans/%{nb_platform}/modules/ext/jh-2.0_05.jar
%{__rm} -f nbbuild/netbeans/%{nb_platform}/modules/ext/jna-3.0.2.jar
%{__rm} -f nbbuild/netbeans/%{nb_platform}/modules/ext/junit-4.5.jar
%{__rm} -f nbbuild/netbeans/%{nb_harness}/jsearch-2.0_05.jar

# clean up stub jars

%{__rm} -f nbbuild/netbeans/%{nb_platform}/modules/ext/script-api.jar

%install


# install platform

%{__mkdir_p} %{buildroot}%{nb_platform_dir}
%{__cp} -pr nbbuild/netbeans/%{nb_platform}/* %{buildroot}%{nb_platform_dir}
%noautoupdate %{buildroot}%{nb_platform_dir}

# linking the platform to the external JARs

%{__ln_s} -f %{_javadir}/swing-layout.jar %{buildroot}%{nb_platform_dir}/modules/ext/swing-layout-1.0.3.jar
%{__ln_s} -f %{_javadir}/javahelp2.jar %{buildroot}%{nb_platform_dir}/modules/ext/jsearch-2.0_05.jar
%{__ln_s} -f %{_javadir}/javahelp2.jar %{buildroot}%{nb_platform_dir}/modules/ext/jh-2.0_05.jar
%{__ln_s} -f %{_javadir}/jna.jar %{buildroot}%{nb_platform_dir}/modules/ext/jna-3.0.2.jar
%{__ln_s} -f %{_javadir}/junit4.jar %{buildroot}%{nb_platform_dir}/modules/ext/junit-4.5.jar

# install harness

%{__mkdir_p} %{buildroot}%{nb_harness_dir}
%{__cp} -pr nbbuild/netbeans/%{nb_harness}/* %{buildroot}%{nb_harness_dir}
%noautoupdate %{buildroot}%{nb_harness_dir}

# linking the harness to the external JARs

%{__ln_s} -f %{_javadir}/javahelp2.jar %{buildroot}%{nb_harness_dir}/jsearch-2.0_05.jar

# install javadoc

%{__mkdir_p} %{buildroot}%{nb_javadoc_dir}
%{__cp} -pr nbbuild/build/javadoc/* %{buildroot}%{nb_javadoc_dir}

%files
%doc nbbuild/licenses/CDDL-1.0 nbbuild/licenses/CDDL-GPL-2-CP
%doc nbbuild/licenses/GPL-2-CP nbbuild/licenses/GPL-with-Proguard-exception
%dir %{nb_home}/
%dir %{nb_platform_dir}/
%{nb_platform_dir}/config
%{nb_platform_dir}/core
%dir %{nb_platform_dir}/lib
%{nb_platform_dir}/lib/boot.jar
%attr(755, root, root) %{nb_platform_dir}/lib/nbexec
%{nb_platform_dir}/lib/org-openide-modules.jar
%{nb_platform_dir}/lib/org-openide-util.jar
%{nb_platform_dir}/modules
%{nb_platform_dir}/update_tracking
%{nb_platform_dir}/.noautoupdate

%files %{nb_harness}
%dir %{nb_harness_dir}/
%{nb_harness_dir}/config
%{nb_harness_dir}/etc
%{nb_harness_dir}/jnlp
%dir %{nb_harness_dir}/launchers
%attr(755, root, root) %{nb_harness_dir}/launchers/app.sh
%{nb_harness_dir}/modules
%{nb_harness_dir}/update_tracking
%doc %{nb_harness_dir}/README
%{nb_harness_dir}/build.xml
%{nb_harness_dir}/common.xml
%{nb_harness_dir}/jdk.xml
%{nb_harness_dir}/jnlp.xml
%{nb_harness_dir}/jsearch-2.0_05.jar
%{nb_harness_dir}/run.xml
%{nb_harness_dir}/suite.xml
#%{nb_harness_dir}/suite.xml.orig
%{nb_harness_dir}/tasks.jar
%{nb_harness_dir}/.noautoupdate

%files %{nb_javadoc}
%doc %{nb_javadoc_dir}/

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin