File java-3d.spec of Package java-3d
#
# spec file for package java-3d
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2012 Asterios Dramis <asterios.dramis@gmail.com>.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: java-3d
Version: 1.5.2
Release: 0
Summary: Java 3D API
License: GPL-2.0-with-classpath-exception AND BSD-3-Clause
Group: Development/Libraries/Java
URL: http://java3d.java.net/
# mkdir java3d-1.5.2
# cd java3d-1.5.2
# svn checkout https://svn.java.net/svn/vecmath~svn/tags/rel-1_5_2-fcs vecmath
# svn checkout https://svn.java.net/svn/j3d-core-utils~svn/tags/rel-1_5_2-fcs j3d-core-utils
# svn checkout https://svn.java.net/svn/j3d-core~svn/tags/rel-1_5_2-fcs j3d-core
# find vecmath/ -name .svn -type d | xargs rm -rf
# find j3d-core-utils/ -name .svn -type d | xargs rm -rf
# find j3d-core/ -name .svn -type d | xargs rm -rf
# cd ..
# tar jcf java3d-1.5.2.tar.bz2 java3d-1.5.2/
Source0: java3d-%{version}.tar.bz2
# PATCH-FIX-UPSTREAM java-7_fix.patch asterios.dramis@gmail.com -- Fix compilation with java-7
Patch0: java-7_fix.patch
# PATCH-FIX-UPSTREAM Fix compilation with newer glx.h
Patch1: java-3d-glxext.patch
Patch2: java3d-1.5.2-sourcetarget.patch
Patch3: java3d-1.5.2-native.patch
Patch4: java-3d-nojavah.patch
Patch5: java-3d-genericlinux.patch
Patch6: java3d-1.5.2-appletaudioclip.patch
BuildRequires: Mesa-libGL-devel
BuildRequires: ant >= 1.9.8
BuildRequires: fdupes
BuildRequires: java-devel >= 1.8
BuildRequires: javapackages-tools
BuildRequires: libX11-devel
BuildRequires: libXext-devel
BuildRequires: libXt-devel
Requires: java
Requires: javapackages-tools
%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 and vecmath applets based on Java technology.
%prep
%setup -q -n java3d-%{version}
%patch -P 0 -p1
%patch -P 1 -p1
%patch -P 2 -p1
%patch -P 3 -p1
%patch -P 4 -p1
%patch -P 5 -p1
%if %{?pkg_vcmp:%pkg_vcmp java-devel >= 11}%{!?pkg_vcmp:0}
%patch -P 6 -p1
%endif
# Remove all third party jars
find . -iname '*.jar' | xargs rm -rf
# Remove bundled glext.h / openGL stuff
rm j3d-core/src/native/ogl/glext.h
# rm -rf j3d-core-utils/src/classes/share/com/sun/j3d/utils/applet
%build
pushd vecmath
ant \
-Dcflags_extra.native="%{optflags}" \
-Dant.build.javac.source=1.8 -Dant.build.javac.target=1.8 \
jar-opt
popd
pushd j3d-core
ant \
-Dcflags_extra.native="%{optflags}" \
-Dant.build.javac.source=1.8 -Dant.build.javac.target=1.8 \
compile-opt
ant \
-Dcflags_extra.native="%{optflags}" \
-Dant.build.javac.source=1.8 -Dant.build.javac.target=1.8 \
jar-opt
popd
%install
mkdir -p %{buildroot}%{_libdir}
mkdir -p %{buildroot}%{_javadir}/%{name}
mkdir -p %{buildroot}%{_javadocdir}/%{name}-%{version}
# library
install -pm 0755 j3d-core/build/linux-*/opt/lib/*/libj3dcore-ogl.so %{buildroot}%{_libdir}
# jars
install -pm 0644 j3d-core/build/linux-*/opt/lib/ext/j3dcore.jar %{buildroot}%{_javadir}/%{name}/j3dcore.jar
install -pm 0644 j3d-core/build/linux-*/opt/lib/ext/j3dutils.jar %{buildroot}%{_javadir}/%{name}/j3dutils.jar
install -pm 0644 vecmath/build/opt/lib/ext/vecmath.jar %{buildroot}%{_javadir}/%{name}/vecmath.jar
# Manually install doc files
mkdir -p %{buildroot}%{_docdir}/java3d/j3d-core
mkdir -p %{buildroot}%{_docdir}/java3d/j3d-core-utils
mkdir -p %{buildroot}%{_docdir}/java3d/vecmath
cd j3d-core
cp -a COPYRIGHT.txt LICENSE* README-FIRST.txt THIRDPARTY-LICENSE-*.txt docs/ release-info/fcs-1_5_2/ %{buildroot}%{_docdir}/java3d/j3d-core/
cd ../j3d-core-utils
cp -a COPYRIGHT.txt LICENSE.txt README-FIRST.txt THIRDPARTY-LICENSE-*.txt %{buildroot}%{_docdir}/java3d/j3d-core-utils/
cd ../vecmath
cp -a COPYRIGHT.txt LICENSE* README-FIRST.txt docs/ %{buildroot}%{_docdir}/java3d/vecmath/
cd ..
%fdupes -s %{buildroot}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%doc %{_docdir}/java3d
%{_libdir}/libj3dcore-ogl.so
%{_javadir}/%{name}/
%changelog