Blob Blame History Raw
%define         VER 0.5.0

Name:           cegui
Version:        %{VER}b
Release:        3%{?dist}
Summary:        Free library providing windowing and widgets for graphics APIs / engines
Group:          System Environment/Libraries
License:        MIT
URL:            http://www.cegui.org.uk
Source0:        http://dl.sf.net/crayzedsgui/CEGUI-%{version}.tar.gz
Source1:        http://dl.sf.net/crayzedsgui/CEGUI-DOCS-%{VER}.tar.gz
Patch0:         cegui-0.5.0-userverso.patch
Patch1:         cegui-0.5.0-lua51.patch
Patch2:         cegui-0.5.0-fixweaksymbol.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:  autoconf
BuildRequires:  automake17
BuildRequires:  DevIL-devel
BuildRequires:  expat-devel
BuildRequires:  freetype-devel > 2.0.0
BuildRequires:  libxml2-devel
BuildRequires:  libICE-devel
BuildRequires:  libGLU-devel
BuildRequires:  libtool
BuildRequires:  libSM-devel
BuildRequires:  lua-devel >= 0.5.1
BuildRequires:  pcre-devel
BuildRequires:  pkgconfig >= 0.9.0
BuildRequires:  SILLY-devel
BuildRequires:  xerces-c-devel

%description
Crazy Eddie's GUI System is a free library providing windowing and widgets for
graphics APIs / engines where such functionality is not natively available, or
severely lacking. The library is object orientated, written in C++, and
targeted at games developers who should be spending their time creating great
games, not building GUI sub-systems!


%package devel
Summary:        Development files for cegui
Group:          Development/Libraries
Requires:       %{name} = %{version}-%{release}
Requires:       libGLU-devel

%description devel
Development files for cegui


%package devel-doc
Summary:        API documentation for cegui
Group:          Documentation
Requires:       cegui-devel = %{version}-%{release}

%description devel-doc
API and Falagard skinning documentation for cegui


%prep
%setup -qb1 -qn CEGUI-%{VER}
%patch0 -p1
%patch1 -p1
%patch2 -p1

# Permission fixes for debuginfo RPM
chmod -x include/falagard/*.h

# Delete zero length file
rm -f documentation/api_reference/keepme

# Run automake/autoconf due to patches 1 & 2
touch INSTALL NEWS
automake-1.7
autoconf

%build
%configure --disable-static --disable-corona --enable-devil \
           --enable-lua-module --disable-irrlicht-renderer --disable-samples \
           --with-default-xml-parser=ExpatParser --enable-silly \
           --with-default-image-codec=SILLYImageCodec --with-pic

make %{?_smp_mflags} LIBTOOL="/usr/bin/libtool"


%install
rm -rf %{buildroot}
# Strange but FC6 needs libtool here also on x86_64 to avoid rpath problems.
make install DESTDIR=%{buildroot} LIBTOOL="/usr/bin/libtool"


%clean
rm -rf %{buildroot}


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


%files
%defattr(-,root,root,-)
%{_libdir}/libCEGUIBase.so.1*
%{_libdir}/libCEGUIDevILImageCodec.so.0*
%{_libdir}/libCEGUIExpatParser.so.0*
%{_libdir}/libCEGUIFalagardWRBase.so.1*
%{_libdir}/libCEGUILibxmlParser.so.0*
%{_libdir}/libCEGUILuaScriptModule.so.1*
%{_libdir}/libCEGUIOpenGLRenderer.so.0*
%{_libdir}/libCEGUITGAImageCodec.so.0*
%{_libdir}/libCEGUITinyXMLParser.so.0*
%{_libdir}/libCEGUIXercesParser.so.0*
%{_libdir}/libCEGUISILLYImageCodec.so.0*
%{_libdir}/libCEGUItoluapp.so.1*
%exclude %{_libdir}/*.la
%exclude %{_libdir}/*.a
%doc AUTHORS ChangeLog COPYING README TinyXML-License TODO


%files devel
%defattr(-,root,root,-)
%{_libdir}/libCEGUIBase.so
%{_libdir}/libCEGUIDevILImageCodec.so
%{_libdir}/libCEGUIExpatParser.so
%{_libdir}/libCEGUIFalagardWRBase.so
%{_libdir}/libCEGUILibxmlParser.so
%{_libdir}/libCEGUILuaScriptModule.so
%{_libdir}/libCEGUIOpenGLRenderer.so
%{_libdir}/libCEGUITGAImageCodec.so
%{_libdir}/libCEGUITinyXMLParser.so
%{_libdir}/libCEGUIXercesParser.so
%{_libdir}/libCEGUISILLYImageCodec.so
%{_libdir}/libCEGUItoluapp.so
%{_libdir}/pkgconfig/CEGUI-OPENGL.pc
%{_libdir}/pkgconfig/CEGUI.pc
%{_includedir}/CEGUI


%files devel-doc
%doc documentation/FalagardSkinning.pdf documentation/api_reference


%changelog
* Sun Jun 17 2007 Ian Chapman <packages@amiga-hardware.com> 0.5.0b-3%{?dist}
- rpath fixes for x86_64

* Sun Jun 10 2007 Ian Chapman <packages@amiga-hardware.com> 0.5.0b-2%{?dist}
- Added patch to fix undefined-non-weak-symbol warnings

* Wed May 30 2007 Ian Chapman <packages@amiga-hardware.com> 0.5.0b-1%{?dist}
- Upgrade to 0.5.0b
- Added patch from Gentoo to compile with lua 5.1
- Updated the patch to use versioned .so for dlopen()
- Dropped several patches as they are no longer needed
- Dropped useless provides. Nothing used them anyway
- Added support for the SILLY image codec
- Added support for xerces-c

* Mon Aug 28 2006 Ian Chapman <packages@amiga-hardware.com> 0.4.1-11%{?dist}
- Release bump for FC6 mass rebuild

* Sat Aug 05 2006 Ian Chapman <packages@amiga-hardware.com> 0.4.1-10%{?dist}
- Header fix for g++ v4.1+

* Tue Jul 18 2006 Ian Chapman <packages@amiga-hardware.com> 0.4.1-9%{?dist}
- Use versioned .so for dlopen()

* Sun Jun 11 2006 Ian Chapman <packages@amiga-hardware.com> 0.4.1-8%{?dist}
- Updated --rpath fixes again
- Package devel-docs renamed to devel-doc as per 'new' guidelines

* Sat Jun 10 2006 Ian Chapman <packages@amiga-hardware.com> 0.4.1-7.iss
- Updated --rpath fixes

* Fri Jun 09 2006 Ian Chapman <packages@amiga-hardware.com> 0.4.1-6.iss
- Added patch courtesy of Hans de Goede fixing TinyXML usage
- Added patch courtest of Hans de Goede fixing 64bit issues
- Updated --rpath fixes
- Trivial correction for pkgconfig BR, should be >= really and not >

* Wed Jun 07 2006 Ian Chapman <packages@amiga-hardware.com> 0.4.1-5.iss
- Removed IrrlichtRender headers as we don't support it (yet - anyway)
- Removed usage of --rpath during build process
- libtool dropped as a BR (no longer needed due to --rpath fix)
- Moved rebuilding of C++ bindings to %%build section

* Mon Jun 05 2006 Ian Chapman <packages@amiga-hardware.com> 0.4.1-4.iss
- Added a tentative patch for building with the system tolua++/lua
- Added tolua++-devel as a buildrequire
- Rebuild the C++ bindings using the system tolua++

* Sun May 28 2006 Ian Chapman <packages@amiga-hardware.com> 0.4.1-3.iss
- Added patch courtesy of Hans de Goede to force compilation against the system
  pcre libs instead of the bundled pcre.
- Added pcre-devel to buildrequires
- Replace xorg-x11-devel with libGLU-devel
- Removed PCRE-LICENSE from doc as it's now compiled against system pcre
- Specified version for pkgconfig buildrequires
- Replaced source URL with primary sf site, rather than a mirror
- Don't use bootstrap
- Added cegui_mk2 provides
- Removed superfluous documentation from devel package

* Sat May 27 2006 Ian Chapman <packages@amiga-hardware.com> 0.4.1-2.iss
- Use %%{?dist} for most recent changelog entry - avoids incoherent changelog
  versions if %%{?dist} macro is missing or different.
- Added %%{version}-%%{release} to provides field
- Replaced %%{__sed} with sed

* Sun May 21 2006 Ian Chapman <packages@amiga-hardware.com> 0.4.1-1.iss
- Initial Release