Sophie

Sophie

distrib > Mandriva > 10.2 > i586 > by-pkgid > 5d67b2d3751e705da87768a25872fab1 > files > 19

povray-3.1g-19mdk.src.rpm

%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