%define name povray %define pvmname pvmpovray %define mpiname mpipovray %define version 3.1g %define release 19mdk %define pvmpov pvmpov3_1g_2 %define aimkpath /usr/share/pvm3/lib %define mpipath mpipovray %define _libdir /usr/lib Name: %{name} License: povray Version: %{version} Release: %{release} Group: Sciences/Computer science Summary: Ray tracer URL: http://www.povray.org BuildRoot: %{_tmppath}/%name-buildroot BuildRequires: zlib1-devel, libpng-devel, XFree86-devel %description The Persistence of Vision Ray tracer creates three-dimensional, photo-realistic images using a rendering technique called ray tracing. It reads in a text file containing information describing the objects and lighting in a scene and generates an image of that scene from the view point of a camera also described in the text file. Ray tracing is not a fast process by any means, (the generation of a complex image can take several hours) but it produces very high quality images with realistic reflections, shading, perspective, and other effects. %package common Group: Sciences/Computer science Summary: Ray tracer librairies Source7: %{name}.bash-completion.bz2 %description common Common files for povray %package official Group: Sciences/Computer science Summary: Ray tracer Requires: povray-common Requires: libpng Source: povuni_d.tgz Source1: povuni_s.tgz Patch0: povrayini.patch.bz2 Patch1: povray-makefile.patch.bz2 Patch2: povray-optout.patch.bz2 Patch9: povray-tunepov.patch.bz2 Patch109: povray-tunepov-ia64.patch.bz2 Patch12: povray-libdirs.patch.bz2 Patch18: povray-make64.patch %description official The Persistence of Vision Ray tracer creates three-dimensional, photo-realistic images using a rendering technique called ray tracing. It reads in a text file containing information describing the objects and lighting in a scene and generates an image of that scene from the view point of a camera also described in the text file. Ray tracing is not a fast process by any means, (the generation of a complex image can take several hours) but it produces very high quality images with realistic reflections, shading, perspective, and other effects. %package pvm Group: Sciences/Computer science Summary: Ray tracer Source2: pvmpov-3.1g2.tgz Source3: chess2.pov Source4: chessItPvm Requires: povray-common, pvm, libpng BuildRequires: libpvm-devel URL: http://sourceforge.net/projects/pvmpov Patch3: pvmmakefile.patch.bz2 Patch4: pvmpovrayini.patch.bz2 Patch8: pvmmakefile2.patch.bz2 Patch10: tunepvmmakefile.patch.bz2 Patch110: tunepvmmakefile-ia64.patch.bz2 Patch13: libdirs.pvm.patch.bz2 Patch17: pvm-make64.patch %description pvm A parallel version of povray using pvm %package mpich Group: Sciences/Computer science Summary: Ray tracer Requires: povray-common Requires: mpich, libpng, libmpich1 URL: http://www.verrall.demon.co.uk/mpipov BuildRequires: mpicc Patch5: mpi-povray-1.0.patch.bz2 Patch6: mpioptout.patch.bz2 Patch7: mpimakefile.patch.bz2 Patch11: tunempimakefile.patch.bz2 Patch111: tunempimakefile-ia64.patch.bz2 Patch14: libdirs.mpi.patch.bz2 Patch15: povray-mpich-lm.patch.bz2 Patch16: povray-mpi-make64.patch Source5: mpipovray.html Source6: chessItMpi %description mpich A parallel version of povray using mpi %prep rm -rf ${RPM_BUILD_ROOT} rm -rf %{mpipath} rm -rf %{pvmpov} rm -rf %{name}31 %ifarch %{ix86} %define _pvm_arch LINUX %else %ifarch alpha %define _pvm_arch LINUXALPHA %else %ifarch sparc sparc64 %define _pvm_arch LINUXSPARC %else %ifarch ppc %define _pvm_arch LINUXPPC %else %ifarch hppa %define _pvm_arch LINUXHPPA %else %ifarch ia64 %define _pvm_arch LINUXIA64 %else %ifarch x86_64 %define _pvm_arch LINUXX86_64 %else %error "Unsupported architecture" exit 1 %endif %endif %endif %endif %endif %endif %endif #Uncompressing povray pvm %setup -q -T -D -n %{pvmpov} -b 2 %setup -q -T -D -n %{pvmpov} -a 1 %setup -q -T -D -n %{pvmpov} -a 0 %patch3 %patch4 ./inst-pvm %patch8 %ifarch %{ix86} %patch10 %else %patch110 %endif %patch13 %ifarch x86_64 %patch17 %endif #Uncompressing povray official %setup -q -D -n povray31 -b 1 rm -rf ../%{mpipath} #Uncompressing bash-completion bzcat %{SOURCE7} > %{name}.bash-completion #Copying povray to povray mpi path mkdir -p ../%{mpipath} cp ../povray31 ../%{mpipath} -af #Patching povray official %patch0 %patch1 %patch2 %ifarch %{ix86} %patch9 %else %patch109 %endif %patch12 %ifarch x86_64 %patch18 %endif #Apllying patches to povray mpi cd ../%{mpipath} %patch5 %patch15 %ifarch x86_64 %patch16 %endif cd povray31 %patch0 %patch1 %patch6 %patch7 %ifarch %{ix86} %patch11 %else %patch111 %endif %patch14 %build #Official Build cd source/unix make newunix make newxwin %ifarch i386 make newsvga %endif #Pvmpovray Build cd ../../.. cd %{pvmpov}/povray31/source/pvm export PATH=$PATH:%{aimkpath} aimk newunix aimk newxwin %ifarch i386 aimk newsvga %endif #Mpipovray build cd ../../../../ cd %{mpipath}/povray31/source/mpi-unix make newxwin %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT/usr/{bin,X11R6/bin,lib/povray31} ######################## #Installing common files ######################## install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d install -m 644 %{name}.bash-completion $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/%{name} ########################## #Installing official files ########################## install -m 755 source/unix/povray $RPM_BUILD_ROOT%{_bindir} # HACK: install the files as 644 so that find requires doesn't find them: install -m 644 source/unix/x-povray $RPM_BUILD_ROOT/usr/X11R6/bin install README.unix $RPM_BUILD_ROOT%{_libdir}/povray31 cp -a allscene include scenes $RPM_BUILD_ROOT%{_libdir}/povray31 cp -a *.ini povwhere.get allscene.sh gamma.gif gamma.gif.txt $RPM_BUILD_ROOT%{_libdir}/povray31 cp -a xpovicon.xpm $RPM_BUILD_ROOT%{_libdir}/povray31 install -d $RPM_BUILD_ROOT/%{_mandir}/man1 install povray.1 $RPM_BUILD_ROOT/%{_mandir}/man1 ############################ #Installing pvm povray files ############################ mkdir -p $RPM_BUILD_DIR/povray31/%{_docdir}/%{pvmname}/sample install -m 644 ../%{pvmpov}/doc/* $RPM_BUILD_DIR/povray31/%{_docdir}/%{pvmname} install -m 755 ../%{pvmpov}/povray31/source/pvm/%{_pvm_arch}/pvmpov $RPM_BUILD_ROOT%{_bindir} install -m 644 ../%{pvmpov}/povray31/source/pvm/%{_pvm_arch}/x-pvmpov $RPM_BUILD_ROOT/usr/X11R6/bin install %{SOURCE3} $RPM_BUILD_DIR/povray31/%{_docdir}/%{pvmname}/sample install %{SOURCE4} $RPM_BUILD_DIR/povray31/%{_docdir}/%{pvmname}/sample #Installing file for i386 archictecture %ifarch i386 install -m 644 ../%{pvmpov}/povray31/source/unix/s-pvmpov $RPM_BUILD_ROOT%{_bindir} %endif ############################ #Installing mpi povray files ############################ mkdir -p $RPM_BUILD_DIR/%mpiname/%{_docdir}/%{mpiname}/sample install -m 644 ../%{mpipath}/povray31/source/mpi-unix/mpi-x-povray $RPM_BUILD_ROOT/usr/X11R6/bin install %{SOURCE3} $RPM_BUILD_DIR/%mpiname/%{_docdir}/%{mpiname}/sample install %{SOURCE6} $RPM_BUILD_DIR/%mpiname/%{_docdir}/%{mpiname}/sample install %{SOURCE5} $RPM_BUILD_DIR/%mpiname/%{_docdir}/%{mpiname} %files common %defattr(-,root,root) %{_libdir}/povray31 %config(noreplace) %{_sysconfdir}/bash_completion.d/%{name} %files official %defattr(-,root,root) %doc source/unix/README.unix povlegal.doc compile.doc CMPL_Unix.doc revision.doc %doc %{_mandir}/man1/povray.1.bz2 %attr(755,root,root) /usr/X11R6/bin/x-povray %{_bindir}/povray %ifarch i386 %attr(755,root,root) %{_bindir}/s-povray %endif %files pvm %defattr(-,root,root) %doc source/unix/README.unix povlegal.doc compile.doc CMPL_Unix.doc revision.doc $RPM_BUILD_DIR/povray31/%{_docdir}/%{pvmname}/* %doc %{_mandir}/man1/povray.1.bz2 %{_bindir}/pvmpov %attr(755,root,root) /usr/X11R6/bin/x-pvmpov %ifarch i386 %attr(755,root,root) %{_bindir}/s-pvmpov %endif %files mpich %defattr(-,root,root) %doc source/unix/README.unix povlegal.doc compile.doc CMPL_Unix.doc revision.doc ../%{mpipath}/povray31/source/mpi-unix/README.MPI-Povray $RPM_BUILD_DIR/%mpiname/%{_docdir}/%{mpiname}/* %doc %{_mandir}/man1/povray.1.bz2 %attr(755,root,root) /usr/X11R6/bin/mpi-x-povray %clean rm -rf $RPM_BUILD_ROOT %changelog * Thu Mar 24 2005 Erwan Velu <erwan@seanodes.com> 3.1g-19mdk - Fixing x86_64 build - Fixing Buildrequires * Mon Jan 05 2004 Abel Cheung <deaddog@deaddog.org> 3.1g-18mdk - Remove bash-completion dependency * Tue Dec 30 2003 Guillaume Rousse <guillomovitch@mandrake.org> 3.1g-17mdk - added bash-completion * Mon Apr 28 2003 <erwan@no.mandrakesoft.com> 3.1g-16mdk - Fixing buildrequires (thx to Stefan van der Eijk) - Fixing arching - Fixing -lm in mpi-unix - Fixing docdir * Thu Jan 09 2003 Erwan Velu <clic-dev-public@mandrakesoft.com> 3.1g-15mdk - IA64 support * Tue Dec 03 2002 Clic-dev <clic-dev-public@mandrakesoft.com> 3.1g-14mdk - Fixing chessIt* scripts * Thu Oct 10 2002 Clic-dev <clic-dev-public@mandrakesoft.com> 3.1g-13mdk - Fixing buildrequires * Tue Oct 08 2002 Clic-dev <clic-dev-public@mandrakesoft.com> 3.1g-12mdk - rebuild gcc 3.2 * Tue Jul 04 2002 Erwan Velu <erwan@mandrakesoft.com> 3.1g-11mdk - Fixing chessIt sample script - Renaming chessIt to chessItPvm - Fixing buildrequires - Fixing chessItMpi sample script * Tue Jun 04 2002 Erwan Velu <erwan@mandrakesoft.com> 3.1g-10mdk - Fixing missing requires on libpng3 * Thu May 30 2002 Erwan Velu <erwan@mandrakesoft.com> 3.1g-9mdk - Fixing chessItMpi sample script * Tue May 28 2002 Erwan Velu <erwan@mandrakesoft.com> 3.1g-8mdk - Renaming povray-mpi to povray-mpich because it's not compatible with lam - Switching back to requires mpich for povray-mpi * Mon May 27 2002 Erwan Velu <erwan@mandrakesoft.com> 3.1g-7mdk - Moving dependencies from "mpich" to "Mpi", now you can use povray-mpi with lam. * Thu May 23 2002 Erwan Velu <erwan@mandrakesoft.com> 3.1g-6mdk - Gcc 3.1 build - Fixing problem with a wrong libpng version * Tue Apr 23 2002 Erwan Velu <erwan@mandrakesoft.com> 3.1g-5mdk - Fixing chessIt (mpi test script) for Mpi version of povray * Fri Apr 12 2002 Erwan Velu <erwan@mandrakesoft.com> 3.1g-4mdk - Fixing wrong dependencies * Thu Apr 11 2002 Erwan Velu <erwan@mandrakesoft.com> 3.1g-3mdk - Adding Mpi version of Povray as subpackage - Fixing stupid mistakes - Tuning compilation options (i586) * Wed Apr 10 2002 Erwan Velu <erwan@mandrakesoft.com> 3.1g-2mdk - Fixing genpubkey script * Fri Apr 05 2002 Erwan Velu <erwan@mandrakesoft.com> 3.1g-1mdk - First build