File java3d.spec of Package java3d
# Copyright (c) 2005-2008 oc2pus
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments to toni@links2linux.de
# norootforbuild
%define maj 1
%define min 5
%define rel 2
%define short_name j3d
%ifarch %ix86
%define target_cpu i586
%define short_cpu x86
%define aka_cpu i386
%endif
%ifarch x86_64
%define target_cpu amd64
%define short_cpu amd64
%define aka_cpu amd64
%endif
%ifarch ppc
%define target_cpu ???
%define short_cpu ???
%define aka_cpu ???
%endif
%define my_requires /tmp/my-requires
%define _binary_dist 0
Summary: Java 3D API
URL: https://java3d.dev.java.net/
Name: java3d
License: GPL
Group: Development/Libraries/Java
Version: %{maj}.%{min}.%{rel}
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
%if "%{_binary_dist}" == "1"
Source0: http://download.java.net/media/java3d/builds/release/%{version}/j3d-%{maj}_%{min}_%{rel}-linux-i586.zip
Source1: http://download.java.net/media/java3d/builds/release/%{version}/j3d-%{maj}_%{min}_%{rel}-linux-amd64.zip
Source2: http://download.java.net/media/java3d/builds/release/%{version}/j3d-%{maj}_%{min}_%{rel}-api-docs.zip
%else
# cvs -d :pserver:username@cvs.dev.java.net:/cvs checkout vecmath
# cvs -d :pserver:username@cvs.dev.java.net:/cvs checkout j3d-core
# cvs -d :pserver:username@cvs.dev.java.net:/cvs checkout j3d-core-utils
Source0: vecmath-%{version}.tar.bz2
Source1: j3d-core-%{version}.tar.bz2
Source2: j3d-core-utils-%{version}.tar.bz2
%endif
%if "%{_binary_dist}" == "0"
BuildRequires: ant
BuildRequires: ant-nodeps
%if %suse_version >= 1100
BuildRequires: java-1_6_0-openjdk-devel
%else
BuildRequires: java-1_5_0-sun-devel >= 1.5
%endif
BuildRequires: gcc-c++
BuildRequires: Mesa-devel
BuildRequires: update-alternatives
BuildRequires: xml-commons-apis
BuildRequires: xerces-j2
%endif
BuildRequires: jpackage-utils >= 1.5
BuildRequires: unzip
Requires: java >= 1.5
%description
The Java 3D API provides a set of object-oriented interfaces that
support a simple, high-level programming model you can use to
build, render, and control the behavior of 3D objects and visual
environments. With the Java 3D API, you can incorporate high quality,
scalable, platform-independent 3D graphics into applications andvecmath
applets based on Java technology.
%package javadoc
Summary: Javadoc for java3d
Group: Documentation/HTML
PreReq: coreutils
%description javadoc
Javadoc for java3d.
%if "%{_binary_dist}" == "0"
%debug_package
%endif
%prep
%setup -q -T -c -n %{name}
%if "%{_binary_dist}" == "1"
%ifarch x86_64
%__unzip -q -o %{SOURCE1}
%else
%__unzip -q -o %{SOURCE0}
%endif
pushd %{short_name}-%{maj}_%{min}_%{rel}-linux-%{target_cpu}
%__unzip -q -o %{short_name}-jre.zip
# javadoc
%__unzip -q %{SOURCE2}
popd
%else
tar xf %{SOURCE0}
tar xf %{SOURCE1}
tar xf %{SOURCE2}
%endif
%build
%if "%{_binary_dist}" == "0"
pushd vecmath
%ant jar-opt
popd
pushd j3d-core
# to avoid Out of heap memory on "small" machines ...
export ANT_OPTS=-Xmx256m
%ant \
-Dbuild.type=stable \
jar-opt docs-public
popd
%endif
%install
%__install -dm 755 %{buildroot}%{_javadir}/%{name}
%__install -dm 755 %{buildroot}%{_libdir}
%__install -dm 755 %{buildroot}%{_javadocdir}/%{name}-%{version}
%if "%{_binary_dist}" == "1"
pushd %{short_name}-%{maj}_%{min}_%{rel}-linux-%{target_cpu}
# jars
%__install -m 644 lib/ext/*.jar \
%{buildroot}%{_javadir}/%{name}
# libs
%__install -m 644 lib/%{aka_cpu}/*.so \
%{buildroot}%{_libdir}
# javadoc
%__cp -a %{short_name}-%{maj}_%{min}_%{rel}-api-docs/* \
%{buildroot}%{_javadocdir}/%{name}-%{version}
popd
%else
# jars
%__install -m 644 vecmath/build/opt/lib/ext/vecmath.jar \
%{buildroot}%{_javadir}/%{name}
%__install -m 644 j3d-core/build/default/opt/lib/ext/*.jar \
%{buildroot}%{_javadir}/%{name}
# libs
%__install -m 644 j3d-core/build/default/opt/native/*.so \
%{buildroot}%{_libdir}
# javadoc
%__cp -a j3d-core/build/*/javadocs/docs-public/* \
%{buildroot}%{_javadocdir}/%{name}-%{version}
%endif
ln -s %{name}-%{version} %{buildroot}%{_javadocdir}/%{name} # ghost symlink
# exclude libjawt.so from the requires-list (it is NOT provided by java ...)
%__cat << EOF > %{my_requires}
%{__find_requires} | grep -v "libjawt.so"
EOF
%__chmod 755 %{my_requires}
%define __find_requires %{my_requires}
%clean
[ -d %{buildroot} -a "%{buildroot}" != "" ] && %__rm -rf %{buildroot}
%__rm -f %{my_requires}
%post javadoc
%__rm -f %{_javadocdir}/%{name}
ln -s %{name}-%{version} %{_javadocdir}/%{name}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%if "%{_binary_dist}" == "1"
%doc %{short_name}-%{maj}_%{min}_%{rel}-linux-%{target_cpu}/*.txt
%doc %{short_name}-%{maj}_%{min}_%{rel}-linux-%{target_cpu}/*.html
%else
%doc j3d-core/*.txt
%doc j3d-core/*.html
%doc j3d-core/docs
%endif
%dir %{_javadir}/%{name}
%{_javadir}/%{name}/*.jar
%{_libdir}/lib*.so
%files javadoc
%defattr(-,root,root)
%doc %{_javadocdir}/%{name}-%{version}
%ghost %doc %{_javadocdir}/%{name}
%changelog
* Wed Jul 02 2008 Toni Graffy <toni@links2linux.de> - 1.5.2-0.pm.1
- update to 1.5.2
- build now from sources
- licence changed to GPLv2
* Sat May 24 2008 Toni Graffy <toni@links2linux.de> - 0.5.1-0.pm.2
- rebuild with new Cg-packages
* Fri Jun 29 2007 Toni Graffy <toni@links2linux.de> - 1.5.1-0.pm.1
- update to 1.5.1
* Mon May 28 2007 Toni Graffy <toni@links2linux.de> - 1.5.0-0.pm.1
- update to 1.5.0
* Sun Feb 11 2007 Toni Graffy <toni@links2linux.de> - 1.4.0.01-0.pm.2
- as Cg is provided via packman, the package contains now the libj3dcore-ogl-cg.so
* Thu Nov 16 2006 Toni Graffy <toni@links2linux.de> - 1.4.0.01-0.pm.1
- build for packman
- based on jpackage-spec