File SweetHome3D.spec of Package SweetHome3D
# Copyright (c) 2006-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
Name: SweetHome3D
Version: 5.1
Release: 0
Summary: An application for placing your furniture on a house 2D plan, with a 3D preview
License: GPL
URL: http://sweethome3d.sourceforge.net/
Group: Productivity/Graphics/3D Editors
Source0: %{name}-%{version}-src.zip
Source1: %{name}.png
Source10: 3DModels-Contributions-1.5.1.zip
Source11: 3DModels-KatorLegaz-1.5.1.zip
Source12: 3DModels-Scopia-1.5.1.zip
Source13: 3DModels-Trees-1.5.1.zip
Source14: 3DModels-Reallusion-1.5.1.zip
Source15: 3DModels-LucaPresidente-1.5.1.zip
Source16: 3DModels-BlendSwap-CC-0-1.5.1.zip
Source17: 3DModels-BlendSwap-CC-BY-1.5.1.zip
Source18: Textures-Contributions-1.1.zip
Source19: Textures-eTeksScopia-1.1.zip
BuildRequires: ant
BuildRequires: dos2unix
BuildRequires: java-devel >= 1.7
BuildRequires: java-3d
BuildRequires: unzip
BuildRequires: update-alternatives
BuildRequires: update-desktop-files
BuildRequires: xerces-j2
%if %suse_version > 1100
BuildRequires: xmlbeans
%endif
BuildRequires: xml-commons-apis
Requires: java >= 1.7
Requires: java-3d >= 1.5.2
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
%description
Sweet Home 3D is a free application that helps you placing your
furniture on a house 2D plan, with a 3D preview.
%package 3DModels
Summary: Some extra 3DModels for SweetHome3D.
Group: Productivity/Graphics/3D Editors
Requires: %{name}
Enhances: %{name}
%description 3DModels
Some extra 3DModels for SweetHome3D.
This package contains:
* 3DModels-Contributions-1.5.1.zip
* 3DModels-KatorLegaz-1.5.1.zip
* 3DModels-Scopia-1.5.1.zip
* 3DModels-Trees-1.5.1.zip
* 3DModels-Reallusion-1.5.1.zip
* 3DModels-LucaPresidente-1.5.1.zip
* 3DModels-BlendSwap-CC-0-1.5.1.zip
* 3DModels-BlendSwap-CC-BY-0-1.5.1.zip
%package Textures
Summary: Some extra Textures for SweetHome3D.
Group: Productivity/Graphics/3D Editors
Requires: %{name}
Enhances: %{name}
%description Textures
Some extra Textures for SweetHome3D.
This package contains:
* Textures-Contributions-1.1.zip
* Textures-eTeksScopia-1.1.zip
%prep
%setup -q -n %{name}-%{version}-src
%__rm -r lib/linux
%__rm -r lib/macosx
%__rm -r lib/windows
# java3d
%__rm lib/j3d*.jar
%__rm lib/vecmath*.jar
ln -s %{_javadir}/java-3d/*.jar lib/
dos2unix *.TXT
%__chmod 644 *.TXT
#3DModels
%__install -dm 755 3DModels-Contributions
pushd 3DModels-Contributions
unzip -q %{SOURCE10}
%__mv README.TXT README-3DModels-Contributions.txt
%__mv LICENSE.TXT LICENSE-3DModels-Contributions.txt
dos2unix LICENSE-3DModels-Contributions.txt
popd
%__install -dm 755 3DModels-KatorLegaz
pushd 3DModels-KatorLegaz
unzip -q %{SOURCE11}
%__mv README.TXT README-3DModels-KatorLegaz.txt
%__mv LICENSE.TXT LICENSE-3DModels-KatorLegaz.txt
dos2unix LICENSE-3DModels-KatorLegaz.txt
popd
%__install -dm 755 3DModels-Scopia
pushd 3DModels-Scopia
unzip -q %{SOURCE12}
%__mv README.TXT README-3DModels-Scopia.txt
%__mv LICENSE.TXT LICENSE-3DModels-Scopia.txt
dos2unix LICENSE-3DModels-Scopia.txt
popd
%__install -dm 755 3DModels-Trees
pushd 3DModels-Trees
unzip -q %{SOURCE13}
%__mv README.TXT README-3DModels-Trees.txt
%__mv LICENSE.TXT LICENSE-3DModels-Trees.txt
dos2unix LICENSE-3DModels-Trees.txt
popd
%__install -dm 755 3DModels-Reallusion
pushd 3DModels-Reallusion
unzip -q %{SOURCE14}
%__mv README.TXT README-3DModels-Reallusion.txt
%__mv LICENSE.TXT LICENSE-3DModels-Reallusion.txt
dos2unix LICENSE-3DModels-Reallusion.txt
popd
%__install -dm 755 3DModels-LucaPresidente
pushd 3DModels-LucaPresidente
unzip -q %{SOURCE15}
%__mv README.TXT README-3DModels-LucaPresidente.txt
%__mv LICENSE.TXT LICENSE-3DModels-LucaPresidente.txt
dos2unix LICENSE-3DModels-LucaPresidente.txt
popd
%__install -dm 755 3DModels-BlendSwap-CC-0
pushd 3DModels-BlendSwap-CC-0
unzip -q %{SOURCE16}
%__mv README.TXT README-3DModels-BlendSwap-CC-0.txt
%__mv LICENSE.TXT LICENSE-3DModels-BlendSwap-CC-0.txt
dos2unix LICENSE-3DModels-BlendSwap-CC-0.txt
popd
%__install -dm 755 3DModels-BlendSwap-CC-BY
pushd 3DModels-BlendSwap-CC-BY
unzip -q %{SOURCE17}
%__mv README.TXT README-3DModels-BlendSwap-CC-BY.txt
%__mv LICENSE.TXT LICENSE-3DModels-BlendSwap-CC-BY.txt
dos2unix LICENSE-3DModels-BlendSwap-CC-BY.txt
popd
#Textures
%__install -dm 755 Textures-Contributions
pushd Textures-Contributions
unzip -q %{SOURCE18}
%__mv README.TXT README-Textures-Contributions.txt
%__mv LICENSE.TXT LICENSE-Textures-Contributions.txt
dos2unix LICENSE-Textures-Contributions.txt
dos2unix README-Textures-Contributions.txt
popd
%__install -dm 755 Textures-eTeksScopia
pushd Textures-eTeksScopia
unzip -q %{SOURCE19}
%__mv README.TXT README-Textures-eTeksScopia.txt
%__mv LICENSE.TXT LICENSE-Textures-eTeksScopia.txt
dos2unix LICENSE-Textures-eTeksScopia.txt
dos2unix README-Textures-eTeksScopia.txt
popd
%build
%ant application furniture textures help
%install
# jars
%__install -dm 755 %{buildroot}%{_javadir}/%{name}
%__install -pm 644 build/%{name}.jar \
%{buildroot}%{_javadir}/%{name}/%{name}-%{version}.jar
pushd %{buildroot}%{_javadir}/%{name}
for jar in *-%{version}*; do
ln -sf ${jar} `echo $jar | sed "s|-%{version}||g"`
done
popd
for i in Furniture Textures Help; do
%__install -pm 644 build/$i.jar \
%{buildroot}%{_javadir}/%{name}
done
# remove java3d links
%__rm lib/j3d*.jar lib/vecmath.jar
# copy other unpackaged libs
%__install -pm 644 lib/*.jar \
%{buildroot}%{_javadir}/%{name}
%__install -pm 644 libtest/jnlp.jar \
%{buildroot}%{_javadir}/%{name}
# startscript
%__install -dm 755 %{buildroot}%{_bindir}
%__cat > %{name}.sh << EOF
#!/bin/sh
# source the jpackage helpers
VERBOSE=1
. %{_javadir}-utils/java-functions
# set JAVA_* environment variables
set_javacmd
check_java_env
set_jvm_dirs
set_options "-Djava.library.path="/usr/lib64:/usr/lib""
CLASSPATH=\`build-classpath %{name} java-3d\`
MAIN_CLASS="com.eteks.sweethome3d.SweetHome3D"
# add some extra catalogs if they exist
if [ ! -d \$HOME/.eteks/sweethome3d/furniture ]; then
mkdir -p \$HOME/.eteks/sweethome3d/furniture
for i in Contributions KatorLegaz Scopia Trees LucaPresidente Reallusion BlendSwap-CC-BY BlendSwap-CC-0; do
if [ -f %{_datadir}/%{name}/$i.sh3f ]; then
ln -s %{_datadir}/%{name}/$i.sh3f \
\$HOME/.eteks/sweethome3d/furniture
fi
done
fi
run
EOF
%__install -m 755 %{name}.sh %{buildroot}%{_bindir}
#3Models
%__install -dm 755 %{buildroot}%{_datadir}/%{name}
for i in Contributions KatorLegaz Scopia Trees LucaPresidente Reallusion BlendSwap-CC-BY BlendSwap-CC-0; do
%__install -m 644 3DModels-$i/*.sh3f \
%{buildroot}%{_datadir}/%{name}
done
#Textures
%__install -dm 755 %{buildroot}%{_datadir}/%{name}
for i in Contributions eTeksScopia; do
%__install -m 644 Textures-$i/*.sh3t \
%{buildroot}%{_datadir}/%{name}
done
# icon and menu-entry
%__install -dm 755 %{buildroot}%{_datadir}/pixmaps
%__install -m 644 %{SOURCE1} \
%{buildroot}%{_datadir}/pixmaps
%__cat > %{name}.desktop << EOF
[Desktop Entry]
Comment=A application that helps you placing your furniture on a house 2D plan, with a 3D preview
Name=Sweet Home 3D
GenericName=
Type=Application
Exec=%{name}.sh
Icon=%{name}.png
Encoding=UTF-8
Terminal=false
Categories=Graphics;3DGraphics;
EOF
%suse_update_desktop_file -i %{name} Graphics 3DGraphics
%clean
[ -d "%{buildroot}" -a "%{buildroot}" != "" ] && %__rm -rf "%{buildroot}"
%files
%defattr(-,root,root,-)
%doc COPYING.TXT
%{_bindir}/%{name}.sh
%dir %{_javadir}/%{name}
%{_javadir}/%{name}/*.jar
%{_datadir}/pixmaps/%{name}.png
%{_datadir}/applications/%{name}.desktop
%files 3DModels
%defattr(-,root,root,-)
%doc 3DModels-Contributions/*.txt
%doc 3DModels-KatorLegaz/*.txt
%doc 3DModels-Scopia/*.txt
%doc 3DModels-Trees/*.txt
%doc 3DModels-LucaPresidente/*.txt
%doc 3DModels-Reallusion/*.txt
%doc 3DModels-BlendSwap-CC-BY/*.txt
%doc 3DModels-BlendSwap-CC-0/*.txt
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/*.sh3f
%files Textures
%defattr(-,root,root,-)
%doc Textures-Contributions/*.txt
%doc Textures-eTeksScopia/*.txt
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/*.sh3t
%changelog