+# TODO:
+# - patch for s#/usr/local#/usr# in povray.ini
+#
+# Conditional build:
+%bcond_without x # - without X11 subpackage
+%bcond_with pvm # - with PVM support
+%bcond_with svga # - with svgalib support (doesn't work on many platforms)
+#
+%define _src_pov_ver 3.6.1
+
Summary: Persistence of Vision Ray Tracer
Summary(pl): Persistence of Vision Ray Tracer
Name: povray
-Version: 3.1g
-Release: 5
-License: distrituable
+Version: 3.6.1
+Release: 0.1
+Epoch: 1
+License: distributable
Group: Applications/Graphics
-Group(de): Applikationen/Grafik
-Group(pl): Aplikacje/Grafika
-Source0: ftp://ftp.povray.org/pub/povray/Official/Unix/povuni_s.tgz
-Source1: ftp://ftp.povray.org/pub/povray/Official/Unix/povuni_d.tgz
-# pvm.patch is instead of that source, and its based on it
-#Source2: pvmpov-3.1e2.tgz
-Patch0: %{name}-makefile_and_config.patch
-Patch1: %{name}-pvm.patch
-Patch2: %{name}-png_with_pvm.patch
+Source0: http://www.povray.org/ftp/pub/povray/Official/Unix/%{name}-%{_src_pov_ver}.tar.bz2
+# Source0-md5: b5789bb7eeaed0809c5c82d0efda571d
+# based on sources from CVS at http://pvmpov.sourceforge.net/
+# Source0: %{name}-%{version}-%{snap}.tar.gz
+Patch0: %{name}-legal.patch
+Patch1: %{name}-64bit.patch
+Patch2: %{name}-X-libs.patch
+Patch3: %{name}-lib64.patch
+Patch4: %{name}-no_svgalib.patch
URL: http://www.povray.org/
-BuildRequires: zlib-devel
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libjpeg-devel
BuildRequires: libpng-devel >= 1.0.8
-%{!?_without_x:BuildRequires:XFree86-devel}
-%{!?_without_pvm:BuildRequires:pvm-devel >= 3.4.3-24 }
+BuildRequires: libstdc++-devel
+BuildRequires: libtiff-devel
+%{?with_pvm:BuildRequires: pvm-devel >= 3.4.3-24}
+%{?with_svga:BuildRequires: svgalib-devel}
+%{?with_x:BuildRequires: xorg-lib-libX11-devel}
+BuildRequires: zlib-devel
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-#ugly but now _pvm_root/_pvm_arch isnt defined in macros
-
-%define _pvm_root %{_libdir}/pvm3
-%define _pvm_arch %(ls %{_pvm_root}/conf/|sed -e 's/\.def//')
+%if %{with pvm}
+%define _pvmarch %(/usr/bin/pvmgetarch)
+%define _pvmroot /usr/%{_lib}/pvm3
+%endif
%description
The Persistence of Vision(tm) Ray-Tracer creates three-dimensional,
ale za to twórca otrzymuje wyskokiej jako¶ci bitmapy z realistycznymi
efektami, tj. odbicia ¶wiat³a, cienie, perspektywa i inne.
-%if %{!?_without_x:1}%{?_without_x}
%package X11
Summary: X Window povray executable
Summary(pl): povray pod X Window
Group: Applications/Graphics
-Group(de): Applikationen/Grafik
-Group(pl): Aplikacje/Grafika
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description X11
The Persistence of Vision(tm) Ray-Tracer X Window executable.
%description X11 -l pl
-Plik wykonywalny The Persistence of Vision(tm) Ray-Tracer dla X Window.
-%endif
+Plik wykonywalny The Persistence of Vision(tm) Ray-Tracer dla X
+Window.
-%if %{!?_without_pvm:1}%{?_without_pvm:0}
%package pvm
Summary: PVM/unix povray executable
+Summary(pl): Plik wykonywalny povray dla PVM/unix
Group: Applications/Graphics
-Group(de): Applikationen/Grafik
-Group(pl): Aplikacje/Grafika
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description pvm
The Persistence of Vision(tm) Ray-Tracer PVM/unix executable.
-%description X11 -l pl
-Plik wykonywalny The Persistence of Vision(tm) Ray-Tracer dla PVM/unix.
+%description pvm -l pl
+Plik wykonywalny The Persistence of Vision(tm) Ray-Tracer dla
+PVM/unix.
-%if %{!?_without_x:1}%{?_without_x:0}
%package pvm-X11
Summary: PVM/xwin povray executable
+Summary(pl): Plik wykonywalny povray dla PVM/xwin
Group: Applications/Graphics
-Group(de): Applikationen/Grafik
-Group(pl): Aplikacje/Grafika
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description pvm-X11
The Persistence of Vision(tm) Ray-Tracer PVM/xwin executable.
-%description X11 -l pl
-Plik wykonywalny The Persistence of Vision(tm) Ray-Tracer dla PVM/xwin.
-%endif
-%endif
+%description pvm-X11 -l pl
+Plik wykonywalny The Persistence of Vision(tm) Ray-Tracer dla
+PVM/xwin.
%prep
-%setup -q -n povray31 -b 1
-%patch0 -p1
-%patch1 -p0
-%patch2 -p1
+%setup -q
+##%patch1 -p1
+##%patch2 -p1
+%if "%{_lib}" == "lib64"
+##%patch3 -p1
+%endif
+%if !%{with svga}
+##%patch4 -p1
+%endif
%build
-cd source/unix
-%{__make} newunix %{!?_without_x:newxwin} %{!?_without_pvm:newunix_pvm %{!?_without_x:newxwin_pvm}} OPT_FLAGS="%{rpmcflags}"
+%{__aclocal}
+%{__autoconf}
+%{__automake}
+COMPILED_BY="xx";export COMPILED_BY;
+%if %{with x} && %{with pvm}
+%configure \
+ --libdir=%{_datadir} \
+ --enable-pvm \
+ --with-pvm-arch=%{_pvmarch} \
+ --with-pvm-libs=%{_libdir} \
+ --x-includes=/usr/X11R6/include \
+ --x-libraries=/usr/X11R6/%{_lib}
+%{__make}
+install unix/povray x-pvmpov
+%endif
+
+%if %{with pvm}
+%{__make} clean
+
+%configure \
+ --libdir=%{_datadir} \
+ --enable-pvm \
+ --with-pvm-arch=%{_pvmarch} \
+ --with-pvm-libs=%{_libdir} \
+ --without-x
+%{__make}
+install unix/povray pvmpov
+%endif
+
+%if %{with x}
+%configure \
+ --libdir=%{_datadir} \
+ --x-includes=/usr/X11R6/include \
+ --x-libraries=/usr/X11R6/%{_lib}
+%{__make}
+install unix/povray x-povray
+%{__make} clean
+%endif
+
+%configure \
+ --libdir=%{_datadir} \
+ --without-x
+%{__make}
+
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},/etc/skel,%{_mandir}/man1,%{_datadir}/povray31,%{_pvm_root}/bin/%{_pvm_arch}}
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},/usr/X11R6/bin} \
+ $RPM_BUILD_ROOT%{_pvmroot}/bin/%{_pvmarch}
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
-install source/unix/povray $RPM_BUILD_ROOT%{_bindir}
-%{!?_without_x:install source/unix/x-povray $RPM_BUILD_ROOT%{_bindir}}
-%{!?_without_pvm:install source/unix/pvmpov $RPM_BUILD_ROOT%{_pvm_root}/bin/%{_pvm_arch}}
-%{!?_without_pvm:%{!?_without_x:install source/unix/x-pvmpov $RPM_BUILD_ROOT%{_pvm_root}/bin/%{_pvm_arch}}}
-install source/unix/povrayrc $RPM_BUILD_ROOT/etc/skel/.povrayrc
+%if %{with x}
+install x-povray $RPM_BUILD_ROOT%{_bindir}
+%endif
-install povray.1 $RPM_BUILD_ROOT%{_mandir}/man1
+%if %{with x} && %{with pvm}
+install x-pvmpov $RPM_BUILD_ROOT%{_bindir}/x-pvmpov
+ln -s %{_bindir}/x-pvmpov $RPM_BUILD_ROOT%{_pvmroot}/bin/%{_pvmarch}/x-pvmpov
+%endif
-cp -r allscene include scenes $RPM_BUILD_ROOT%{_datadir}/povray31
-install *.ini *.pov $RPM_BUILD_ROOT%{_datadir}/povray31
+%if %{with pvm}
+install pvmpov $RPM_BUILD_ROOT%{_bindir}/pvmpov
+ln -s %{_bindir}/pvmpov $RPM_BUILD_ROOT%{_pvmroot}/bin/%{_pvmarch}/pvmpov
+%endif
-gzip -9nf gamma.gif.txt povlegal.doc povuser.txt
+##install povray.ini $RPM_BUILD_ROOT%{_sysconfdir}
+##install povray.conf $RPM_BUILD_ROOT%{_sysconfdir}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc gamma.gif.txt.gz povuser.txt.gz gamma.gif povlegal.doc.gz
+%doc AUTHORS ChangeLog NEWS README* doc/povlegal.doc doc/*.txt doc/html
%attr(755,root,root) %{_bindir}/povray
-%{_datadir}/povray31
-/etc/skel/.povrayrc
-%{_mandir}/man1/*
+%{_datadir}/povray*
+%{_docdir}/povray*
+%{_mandir}/man?/*
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/3.6/povray.*
+## %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/povray.*
-%if %{!?_without_x:1}%{?_without_x:0}
+%if %{with x}
%files X11
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/x-povray
%endif
-%if %{!?_without_pvm:1}%{?_without_pvm:0}
+%if %{with pvm}
%files pvm
%defattr(644,root,root,755)
-%attr(755,root,root) %{_pvm_root}/bin/%{_pvm_arch}/pvmpov
+%attr(755,root,root) %{_pvmroot}/bin/%{_pvmarch}/pvmpov
+%attr(755,root,root) %{_bindir}/pvmpov
+%endif
-%if %{!?_without_x:1}%{?_without_x:0}
+%if %{with pvm} && %{with x}
%files pvm-X11
%defattr(644,root,root,755)
-%attr(755,root,root) %{_pvm_root}/bin/%{_pvm_arch}/x-pvmpov
-%endif
+%attr(755,root,root) %{_pvmroot}/bin/%{_pvmarch}/x-pvmpov
+%attr(755,root,root) %{_bindir}/x-pvmpov
%endif