Name: cegui
Version: 0.6.1
Release: 1%{?dist}
Summary: Free library providing windowing and widgets for graphics APIs / engines
Group: System Environment/Libraries
License: MIT
URL: http://www.cegui.org.uk
# This is
# http://downloads.sourceforge.net/crayzedsgui/CEGUI-%{version}.tar.gz
# with the bundled GLEW removed as its an older GLEW version which contains
# parts under then non Free SGI OpenGL and GLX licenses
Source0: CEGUI-%{version}.tar.gz
Source1: http://downloads.sourceforge.net/crayzedsgui/CEGUI-%{version}-DOCS.tar.gz
# Both submitted upstream: http://www.cegui.org.uk/mantis/view.php?id=197
Patch1: cegui-0.6.0-release-as-so-ver.patch
Patch2: cegui-0.6.0-userverso.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
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
BuildRequires: tolua++-devel
BuildRequires: tinyxml-devel
BuildRequires: glew-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-%{version}
%patch1 -p1
%patch2 -p1
# Permission fixes for debuginfo RPM
chmod -x include/falagard/*.h
# Delete zero length file
rm -f documentation/api_reference/keepme
# Encoding fixes
iconv -f iso8859-1 AUTHORS -t utf8 > AUTHORS.conv && mv -f AUTHORS.conv AUTHORS
iconv -f iso8859-1 TODO -t utf8 > TODO.conv && mv -f TODO.conv TODO
iconv -f iso8859-1 README -t utf8 > README.conv && mv -f README.conv README
# Make makefile happy even though we've removed the (unused) included copy of
# GLEW due to license reasons
mkdir -p RendererModules/OpenGLGUIRenderer/GLEW/GL
touch RendererModules/OpenGLGUIRenderer/GLEW/GL/glew.h
touch RendererModules/OpenGLGUIRenderer/GLEW/GL/glxew.h
touch RendererModules/OpenGLGUIRenderer/GLEW/GL/wglew.h
touch RendererModules/OpenGLGUIRenderer/GLEW/GLEW-LICENSE
%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
# We do not want to get linked against a system copy of ourselves!
sed -i 's|-L%{_libdir}||g' RendererModules/OpenGLGUIRenderer/Makefile
# 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
make %{?_smp_mflags}
%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
%clean
rm -rf %{buildroot}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING README TODO
%{_libdir}/libCEGUI*-%{version}.so
%files devel
%defattr(-,root,root,-)
%{_libdir}/*.so
%exclude %{_libdir}/libCEGUI*-%{version}.so
%{_libdir}/pkgconfig/CEGUI-OPENGL.pc
%{_libdir}/pkgconfig/CEGUI.pc
%{_includedir}/CEGUI
%{_datadir}/CEGUI
%files devel-doc
%defattr(-,root,root,-)
%doc documentation/FalagardSkinning.pdf documentation/api_reference
%changelog
* Fri Jul 11 2008 Hans de Goede <j.w.r.degoede@hhs.nl> 0.6.1-1
- New upstream release 0.6.1
- Drop upstreamed patches
* Sun May 18 2008 Hans de Goede <j.w.r.degoede@hhs.nl> 0.6.0-1
- New upstream release 0.6.0
- No ABI stability, use full versioned (libtool -release) sonames
- Use system tolua++, change license tag to match
- Use system tinyxml
* Wed Feb 13 2008 Ian Chapman <packages[AT]amiga-hardware.com> 0.5.0b-7
- Added patch for new xerces-c. Courtesy of Hans de Goede
- Converted some documentation to UTF8
- Minor spec cleanups
* Wed Aug 29 2007 Ian Chapman <packages[AT]amiga-hardware.com> 0.5.0b-6
- Yet another release bump, for building against expat2.
* Tue Aug 21 2007 Ian Chapman <packages[AT]amiga-hardware.com> 0.5.0b-5
- Release bump for F8 mass rebuild
- License change due to new guidelines
* Sat Jun 30 2007 Ian Chapman <packages[AT]amiga-hardware.com> 0.5.0b-4
- Release bump
* Sun Jun 17 2007 Ian Chapman <packages[AT]amiga-hardware.com> 0.5.0b-3
- rpath fixes for x86_64
* Sun Jun 10 2007 Ian Chapman <packages[AT]amiga-hardware.com> 0.5.0b-2
- Added patch to fix undefined-non-weak-symbol warnings
* Wed May 30 2007 Ian Chapman <packages[AT]amiga-hardware.com> 0.5.0b-1
- 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[AT]amiga-hardware.com> 0.4.1-11
- Release bump for FC6 mass rebuild
* Sat Aug 05 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.4.1-10
- Header fix for g++ v4.1+
* Tue Jul 18 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.4.1-9
- Use versioned .so for dlopen()
* Sun Jun 11 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.4.1-8
- Updated --rpath fixes again
- Package devel-docs renamed to devel-doc as per 'new' guidelines
* Sat Jun 10 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.4.1-7.iss
- Updated --rpath fixes
* Fri Jun 09 2006 Ian Chapman <packages[AT]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[AT]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[AT]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[AT]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[AT]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[AT]amiga-hardware.com> 0.4.1-1.iss
- Initial Release