%define oname OGRE %define version 1.6.5 %define uversion %(echo %{version}| tr . _) %define libname %mklibname %{name} %{uversion} %define develname %mklibname %{name} -d %define filever %(echo v%{version}| tr . -) Summary: Object-Oriented Graphics Rendering Engine Name: ogre Version: %{version} Release: %mkrel 3 License: LGPLv2+ Group: System/Libraries URL: http://www.ogre3d.org/ Source0: http://downloads.sourceforge.net/ogre/%{name}-%{filever}.tar.bz2 Patch0: ogre-1.2.1-rpath.patch Patch1: ogre-1.6.3-system-glew.patch Patch2: ogre-1.4.9-as-needed.patch Patch3: ogre-1.4.9-cegui.patch Patch4: ogre-1.6.3-system-tinyxml.patch BuildRequires: X11-devel BuildRequires: MesaGLU-devel BuildRequires: SDL-devel BuildRequires: freeimage-devel BuildRequires: lcms-devel BuildRequires: nas-devel BuildRequires: gtkmm2.4-devel BuildRequires: libglademm2.4-devel BuildRequires: zziplib-devel BuildRequires: cppunit-devel BuildRequires: bison BuildRequires: flex BuildRequires: CEGUI0.6-devel BuildRequires: ois-devel BuildRequires: glew-devel BuildRequires: libtool Conflicts: libogre < 1.4.9 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %description OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce games and demos utilising 3D hardware. The class library abstracts all the details of using the underlying system libraries like Direct3D and OpenGL and provides an interface based on world objects and other intuitive classes. %package -n %{libname} Summary: Libraries needed for programs using %{oname} Group: System/Libraries Obsoletes: %mklibname ogre 13 %description -n %{libname} OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce games and demos utilising 3D hardware. The class library abstracts all the details of using the underlying system libraries like Direct3D and OpenGL and provides an interface based on world objects and other intuitive classes. %package -n %{develname} Summary: Development headers and libraries for writing programs using %{oname} Group: Development/C++ Requires: %{libname} = %{version}-%{release} Provides: lib%{name}-devel = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} Obsoletes: %mklibname -d %{name} 13 Obsoletes: %mklibname %{name} 1_4_1 -d Requires: %{_lib}CEGUI0.6-devel %description -n %{develname} Development headers and libraries for writing programs using %{oname} %package samples Summary: Samples for %{oname} Group: System/Libraries %description samples Samples for %{oname}. %prep %setup -q -n %{name} find -type d -name CVS|xargs rm -rf # fix wrong permissions find Docs -type d | xargs chmod 755 find Docs -type f | xargs chmod 644 %patch0 -p1 %patch1 -p1 %patch2 -p0 %patch3 -p0 %patch4 -p1 #be sure we won't use bundled glew rm -rf RenderSystems/GL/include/GL/* # remove included tinyxml headers to ensure use of system headers rm Tools/XMLConverter/include/tiny* # Correct path to lib dir (suggested by Peter Chapman) perl -pi -e 's|/usr/local/lib|%{_libdir}|g' Samples/Common/bin/plugins.cfg # Don't include this plugin as it's not built (Peter Chapman) perl -pi -e 's|Plugin=Plugin_CgProgramManager.so||g' Samples/Common/bin/plugins.cfg # (tpg) fix paths sed -i -e 's|../../Media|%{_datadir}/%{name}/Samples|g' Samples/Common/bin/resources.cfg sed -i -e 's|/usr/local|%{_libdir}|g' Samples/Common/bin/quake3settings.cfg %build %define _disable_ld_no_undefined 0 %define Werror_cflags %nil ./bootstrap %configure2_5x \ --with-pic \ --with-gui=gtk \ --disable-cg \ --disable-openexr \ --disable-devil # Don't use rpath! sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool sed -i 's|-L%{_libdir}||g' `find -name Makefile` %make %install rm -rf %{buildroot} %makeinstall_std # copy some forgotten headers ... (ogre4j needs them) install -dm 755 %{buildroot}%{_includedir}/OGRE install -m 644 OgreMain/include/OgreOptimisedUtil.h %{buildroot}%{_includedir}/OGRE install -m 644 OgreMain/include/OgrePlatformInformation.h %{buildroot}%{_includedir}/OGRE # (tpg) install samples install -dm 755 %{buildroot}%{_datadir}/ogre/Samples cp -R Samples/Media/* %{buildroot}%{_datadir}/ogre/Samples install -m 644 Samples/Common/bin/*.cfg %{buildroot}%{_datadir}/ogre/Samples # (tpg) move samples binaries to the right place pushd %{buildroot}`pwd`/Samples/Common/bin demo_list=`ls -1` for i in $demo_list; do install -m 755 $i %{buildroot}%{_bindir}/%{name}-$i done popd rm -rf %{buildroot}`pwd`/Samples/Common/bin # (tpg) remove useless docs rm -rf Docs/Samples rm -rf Docs/src rm -rf Docs/shadows/src %if %mdkversion < 200900 %post -n %{libname} -p /sbin/ldconfig %endif %if %mdkversion < 200900 %postun -n %{libname} -p /sbin/ldconfig %endif %clean rm -rf %{buildroot} %files %defattr(-,root,root) %doc AUTHORS BUGS %defattr(-,root,root) %{_bindir}/Ogre* %{_bindir}/rcapsdump %{_libdir}/%{oname}/* %files -n %{libname} %defattr(-,root,root) %{_libdir}/libOgreMain-%{version}.so %{_libdir}/libCEGUIOgreRenderer-%{version}.so %files -n %{develname} %defattr(-,root,root) %doc Docs/* LINUX.DEV %defattr(-,root,root) %{_libdir}/libOgreMain.so %{_libdir}/libOgreMain.la %{_libdir}/libCEGUIOgreRenderer.la %{_libdir}/libCEGUIOgreRenderer.so %{_libdir}/pkgconfig/*.pc %{_includedir}/%{oname} %files samples %defattr(-,root,root) %{_bindir}/%{name}-* %{_datadir}/%{name}/Samples %changelog * Fri Feb 12 2010 Funda Wang <fwang@mandriva.org> 1.6.5-3mdv2010.1 + Revision: 504767 - add req on CEGUI0.6 - BR CEGUI0.6 - rebuild * Thu Jan 28 2010 Tomasz Pawel Gajc <tpg@mandriva.org> 1.6.5-1mdv2010.1 + Revision: 497488 - update to new version 1.6.5 * Sat Aug 22 2009 Emmanuel Andry <eandry@mandriva.org> 1.6.3-1mdv2010.0 + Revision: 419736 - New version 1.6.3 - rediff P1 and P4 * Sun Jul 26 2009 Emmanuel Andry <eandry@mandriva.org> 1.6.2-1mdv2010.0 + Revision: 400324 - New version 1.6.2 * Wed Feb 11 2009 Tomasz Pawel Gajc <tpg@mandriva.org> 1.6.1-1mdv2009.1 + Revision: 339557 - do not build with -Werror=format-string - update to new version 1.6.1 * Fri Nov 14 2008 Oden Eriksson <oeriksson@mandriva.com> 1.6.0-3mdv2009.1 + Revision: 303353 - package the rcapsdump binary as well - fix P1 - openexr isn't suported anymore, nuke it - rebuilt against new libxcb + Tomasz Pawel Gajc <tpg@mandriva.org> - update to new version 1.6.0 * Sat Oct 11 2008 Adam Williamson <awilliamson@mandriva.org> 1.4.9-5mdv2009.1 + Revision: 291817 - rebuild for changed CEGUI major * Tue Sep 02 2008 Emmanuel Andry <eandry@mandriva.org> 1.4.9-4mdv2009.0 + Revision: 278765 - remove bundled tinyxml ang glew headers - remove header from tree to ensure they won't be used * Mon Sep 01 2008 Emmanuel Andry <eandry@mandriva.org> 1.4.9-3mdv2009.0 + Revision: 278061 - set define _disable_ld_no_undefined to 0, build fine on klodia (so, if this cannot build on cluster, we should look for a missing BR issue) * Tue Aug 26 2008 Tomasz Pawel Gajc <tpg@mandriva.org> 1.4.9-2mdv2009.0 + Revision: 276055 - define _disable_ld_no_undefined because there are lot of unverlinking issues against CEGUI library, anyone who have time please feel free to provide a real fix :) + Thierry Vignaud <tvignaud@mandriva.com> - rebuild early 2009.0 package (before pixel changes) + Funda Wang <fwang@mandriva.org> - BR libtool - fix configure parameters - add debian patches - New version 1.4.9 + Pixel <pixel@mandriva.com> - do not call ldconfig in %%post/%%postun, it is now handled by filetriggers * Mon May 12 2008 Tomasz Pawel Gajc <tpg@mandriva.org> 1.4.8-1mdv2009.0 + Revision: 206375 - new version * Thu Apr 24 2008 Tomasz Pawel Gajc <tpg@mandriva.org> 1.4.7-1mdv2009.0 + Revision: 197244 - new version - fix libification - move samples into their own subpackage - do not package useless docs - Patch0: nuke rpath - Patch1: use system wide glew library - install missing headers - fix patch in configuration files - add lot of missing buildrequires * Thu Feb 21 2008 Emmanuel Andry <eandry@mandriva.org> 1.4.6-1mdv2008.1 + Revision: 173579 - New version + Olivier Blin <oblin@mandriva.com> - restore BuildRoot + Thierry Vignaud <tvignaud@mandriva.com> - kill re-definition of %%buildroot on Pixel's request * Sat Dec 15 2007 Emmanuel Andry <eandry@mandriva.org> 1.4.5-1mdv2008.1 + Revision: 120421 - New version * Thu Sep 06 2007 Adam Williamson <awilliamson@mandriva.org> 1.4.4-1mdv2008.0 + Revision: 80598 - move plugins out of lib package to main package - use Fedora license policy - new devel policy - new release 1.4.4 * Thu May 24 2007 Adam Williamson <awilliamson@mandriva.org> 1.4.1-1mdv2008.0 + Revision: 30874 - package example code, fix paths in Samples/Common/bin/plugins.cfg (Peter Chapman bug #30997) - 1.4.1 * Sat Apr 28 2007 Olivier Blin <oblin@mandriva.com> 1.4.0-1mdv2008.0 + Revision: 19022 - obsolete old library packages (major 13) - conflict with old libogre packages previously containing binaries - move binaries and doc in a new ogre package - do not make the library provide ogre and libogre anymore - move LINUX.DEV doc in devel package - use makeinstall macro to fix samples installation - remove data dir (not installed anymore) - use 1_4_0 as package library version since upstream does not specify version anymore in the library (the API being changed every release) - buildrequire freeimage-devel instead of other image libraries - do not use SDL platform, it does not exist anymore - 1.4.0 * Tue Feb 27 2007 Tomasz Pawel Gajc <tpg@mandriva.org> 1.2.5-1mdv2007.0 + Revision: 126502 - update to the lastest stable version - enable OpenEXR plugin - set correct major and make use of it + Per Ãyvind Karlsen <pkarlsen@mandriva.com> - update buildrequires for libglademm too - update buildrequires * Fri Dec 15 2006 Per Ãyvind Karlsen <pkarlsen@mandriva.com> 1.2.4-2mdv2007.1 + Revision: 97210 - fix buildrequires - bump - 1.2.4 cleanups - Import ogre * Sat Apr 16 2005 Guillaume Bedot <littletux@mandriva.org> 1.0.0-2mdk - rebuilt with devil built with allegro-testing. - use mkrel. * Tue Mar 01 2005 Per Ãyvind Karlsen <peroyvind@linux-mandrake.com> 1.0.0-1mdk - 1.0.0 - new major 5 - drop P2, the possibility to disable cg has finally been added upstream:) - nuke static devel package * Thu Jan 20 2005 Per Ãyvind Karlsen <peroyvind@linux-mandrake.com> 0.15.2-1mdk - 0.15.2 * Thu Jan 13 2005 Per Ãyvind Karlsen <peroyvind@linux-mandrake.com> 0.15.1-1mdk - 0.15.1 * Thu Jun 17 2004 Per Ãyvind Karlsen <peroyvind@linux-mandrake.com> 0.14.0-2mdk - rebuild * Sat May 22 2004 Per Ãyvind Karlsen <peroyvind@linux-mandrake.com> 0.14.0-1mdk - 0.14.1 * Sat Apr 03 2004 Per Ãyvind Karlsen <peroyvind@linux-mandrake.com> 0.13.1-1mdk - 0.13.1