%global irrxml_version 1.2

Name:		irrlicht
Summary: 	A high performance realtime 3D engine
Version:	1.7.2
Release:	1%{?_dist_release}
License:	zlib
Group:		System Environment/Libraries
Source0:	http://downloads.sourceforge.net/irrlicht/%{name}-%{version}.zip
# Various fixes, optflags, system libraries/headers
# http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=24076&highlight=
Patch0:		irrlicht-1.7.1-optflags.patch
# Get the code compiling
Patch1:		irrlicht-1.5.1-glext.patch
# Use system libaesgm
Patch2:		irrlicht-1.7.1-libaesgm.patch
# Use improved fastatof from assimp
Patch3:		irrlicht-1.7.2-fastatof-improvements.patch
# Make libIrrXML.so
Patch4:		irrlicht-1.7.2-irrXML-shared-library.patch

URL:		http://irrlicht.sourceforge.net/
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:	libXxf86vm-devel, mesa-libGL-devel, mesa-libGLU-devel
BuildRequires:	libjpeg-devel, zlib-devel, libaesgm-devel
BuildRequires:	libpng-devel, bzip2-devel, unzip

%description
The Irrlicht Engine is an open source high performance realtime 3D engine 
written and usable in C++ and also available for .NET languages. It is 
completely cross-platform, using D3D, OpenGL and its own software renderer, 
and has all of the state-of-the-art features which can be found in 
commercial 3d engines.

%package devel
Summary:	Development headers and libraries for irrlicht
Requires:	%{name} = %{version}-%{release}
Requires:	mesa-libGL-devel, mesa-libGLU-devel, libXxf86vm-devel
Requires:	libjpeg-devel, zlib-devel, libpng-devel
Requires:	irrXML-devel = %{irrxml_version}
Group:		Development/Libraries

%description devel
Development headers and libraries for irrlicht.

%package -n irrXML
Summary:	Simple and fast XML parser for C++
Group:		System Environment/Libraries
Version:	%{irrxml_version}

%description -n irrXML
irrXML is a simple and fast open source xml parser for C++.

%package -n irrXML-devel
Summary:	Development headers and libraries for irrXML
Version:	%{irrxml_version}
Requires:	irrXML = %{irrxml_version}-%{release}
Group:		Development/Libraries

%description -n irrXML-devel
Development headers and libraries for irrXML.

%prep
%setup -q
%patch0 -p1 -b .optflags
%patch1 -p1 -b .glext
%patch2 -p1 -b .libaesgm
%patch3 -p1 -b .fastatof
%patch4 -p1 -b .irrXML

sed -i 's/\r//' readme.txt
iconv -o readme.txt.iso88591 -f iso88591 -t utf8 readme.txt
mv readme.txt.iso88591 readme.txt
# We don't use any of this. Deleting it so the debuginfo doesn't pick it up.
rm -rf source/Irrlicht/jpeglib source/Irrlicht/zlib source/Irrlicht/libpng source/Irrlicht/aesGladman

for i in include/*.h doc/upgrade-guide.txt source/Irrlicht/*.cpp source/Irrlicht/*.h; do
  	sed -i 's/\r//' $i
	chmod -x $i
	touch -r changes.txt $i
done

%build
cd source/Irrlicht
make %{?_smp_mflags} sharedlib

%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_libdir}
mkdir -p %{buildroot}%{_includedir}/%{name}
make -C source/Irrlicht INSTALL_DIR=%{buildroot}%{_libdir} install 
cp -a include/* %{buildroot}%{_includedir}/%{name}/
cd %{buildroot}%{_libdir}
ln -s libIrrlicht.so.%{version} libIrrlicht.so.1

%clean
rm -rf %{buildroot}

%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%post -n irrXML -p /sbin/ldconfig
%postun -n irrXML -p /sbin/ldconfig

%files
%defattr(-,root,root,-)
%doc readme.txt
%{_libdir}/libIrrlicht*.so.*
%{_libdir}/libIrrXML*.so.*

%files devel
%defattr(-,root,root,-)
%doc doc/upgrade-guide.txt
%{_includedir}/%{name}/
%exclude %{_includedir}/%{name}/fast_atof.h
%exclude %{_includedir}/%{name}/heapsort.h
%exclude %{_includedir}/%{name}/irrArray.h
%exclude %{_includedir}/%{name}/irrString.h
%exclude %{_includedir}/%{name}/irrTypes.h
%exclude %{_includedir}/%{name}/irrXML.h
%{_libdir}/libIrrlicht*.so
%{_libdir}/libIrrXML*.so

%files -n irrXML
%defattr(-,root,root,-)
%doc readme.txt
%{_libdir}/libIrrXML*.so.*

%files -n irrXML-devel
%defattr(-,root,root,-)
%dir %{_includedir}/%{name}/
%{_includedir}/%{name}/fast_atof.h
%{_includedir}/%{name}/heapsort.h
%{_includedir}/%{name}/irrArray.h
%{_includedir}/%{name}/irrString.h
%{_includedir}/%{name}/irrTypes.h
%{_includedir}/%{name}/irrXML.h
%{_libdir}/libIrrXML*.so

%changelog
* Wed Mar 16 2011 Kazutaka HARADA <kazutaka@vinelinux.org> 1.7.2-1
- initial build for Vine Linux based of fedora development

* Wed Dec 15 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.7.2-4
- add post/postun scripts for irrXML

* Wed Dec 15 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.7.2-3
- fix versioning on irrXML-devel

* Wed Dec 15 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.7.2-2
- make subpackages for irrXML
- use assimp patch for performance improvement in IrrXML

* Wed Nov 17 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.7.2-1
- update to 1.7.2

* Mon May 24 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.7.1-2
- rebuild against fixed libaesgm

* Thu Feb 18 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.7.1-1
- update to 1.7.1

* Thu Jan 14 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.6.1-1
- update to 1.6.1

* Wed Sep 30 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 1.6-1
- update to 1.6

* Wed Aug 19 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 1.5.1-1
- update to 1.5.1

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Sat Jan 10 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.5-2
- fix libpng calls so we can use system libpng (thanks to tom lane)
- fix license tag

* Thu Jan 8 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.5-1
- build against system libpng
- update to 1.5 final

* Thu Dec 4 2008 Tom "spot" Callaway <tcallawa@redhat.com> 1.5-0.2.beta
- fix optflags patch so that ldconfig isn't called during make install

* Wed Dec 3 2008 Tom "spot" Callaway <tcallawa@redhat.com> 1.5-0.1.beta
- Initial package for Fedora
