#
-# TODO: include GL1 stuff
+# Conditional build:
+%bcond_with sse2 # use SSE2 instructions
#
-%define cvmajor 2.1
+%ifarch pentium4 %{x8664}
+%define with_sse2 1
+%endif
+#
+%define cvmajor 2.2
Summary: ClanLib, the platform independent game SDK
Summary(pl.UTF-8): ClanLib, niezależny od platformy SDK do gier
Summary(pt_BR.UTF-8): SDK Clanlib
Name: ClanLib
-Version: 2.1.0
-Release: 1
+Version: 2.2.8
+Release: 2
License: BSD-like (see COPYING)
Group: Libraries
#Source0Download: http://www.clanlib.org/download.html
Source0: http://www.clanlib.org/download/releases-2.0/%{name}-%{version}.tgz
-# Source0-md5: 099da97cd0051cc46f2a1c46cb498f6e
+# Source0-md5: b4184ea1535bbda52c2eea7523f332e4
Patch0: %{name}-build.patch
+Patch1: %{name}-link.patch
URL: http://www.clanlib.org/
BuildRequires: OpenGL-GLU-devel
-BuildRequires: SDL >= 1.2.0
-BuildRequires: SDL_gfx-devel >= 1.2.0
BuildRequires: alsa-lib-devel
BuildRequires: autoconf >= 2.59-9
BuildRequires: automake >= 1.6
BuildRequires: doxygen
+BuildRequires: fontconfig-devel
+BuildRequires: freetype-devel
BuildRequires: libjpeg-devel
BuildRequires: libmikmod-devel
-BuildRequires: libpng-devel >= 1.%{cvmajor}
+BuildRequires: libpng-devel >= 1.2
BuildRequires: libstdc++-devel
BuildRequires: libtool >= 2:1.4d-3
BuildRequires: libvorbis-devel >= 1:1.0
BuildRequires: libxslt-progs
+BuildRequires: pcre-devel
BuildRequires: perl-base
BuildRequires: pkgconfig
BuildRequires: sqlite3-devel
BuildRequires: xorg-lib-libXi-devel
BuildRequires: xorg-lib-libXxf86vm-devel
+%{?with_sse2:Requires: cpuinfo(sse2)}
+Obsoletes: ClanLib-SDL
Obsoletes: ClanLib-TTF
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Requires: libstdc++-devel
# for libclanDisplay
Requires: xorg-lib-libXxf86vm-devel
+Obsoletes: ClanLib-SDL-devel
Obsoletes: ClanLib-TTF-devel
%description devel
Summary(pl.UTF-8): Statyczne biblioteki ClanLib
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
+Obsoletes: ClanLib-SDL-static
Obsoletes: ClanLib-TTF-static
%description static
%description static -l pl.UTF-8
Ten pakiet zawiera statyczne wersje bibliotek ClanLib.
-%package doc
-Summary: ClanLib reference documentation for programmers
-Summary(pl.UTF-8): Dokumentacja programisty do biblioteki ClanLib
-Group: Documentation
-
-%description doc
-ClanLib reference documentation for programmers.
-
-%description doc -l pl.UTF-8
-Dokumentacja programisty do biblioteki ClanLib
-
%package OpenGL
Summary: OpenGL ClanLib library
Summary(pl.UTF-8): Biblioteka OpenGL dla ClanLiba
%description OpenGL-static -l pl.UTF-8
Statyczna biblioteka OpenGL dla ClanLiba.
+%package OpenGL1
+Summary: OpenGL1 ClanLib library
+Summary(pl.UTF-8): Biblioteka OpenGL1 dla ClanLiba
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description OpenGL1
+OpenGL1 ClanLib library.
+
+%description OpenGL1 -l pl.UTF-8
+Biblioteka OpenGL1 dla ClanLiba.
+
+%package OpenGL1-devel
+Summary: Header files for OpenGL1 ClanLib library
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki OpenGL1 dla ClanLiba
+Group: Development/Libraries
+Requires: %{name}-OpenGL1 = %{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
+Requires: OpenGL-GLU-devel
+Requires: xorg-lib-libXi-devel
+Requires: xorg-lib-libXxf86vm-devel
+
+%description OpenGL1-devel
+Header files for OpenGL1 ClanLib library.
+
+%description OpenGL1-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki OpenGL1 dla ClanLiba.
+
+%package OpenGL1-static
+Summary: Static OpenGL1 ClanLib library
+Summary(pl.UTF-8): Statyczna biblioteka OpenGL1 dla ClanLiba
+Group: Development/Libraries
+Requires: %{name}-OpenGL1-devel = %{version}-%{release}
+
+%description OpenGL1-static
+Static OpenGL1 ClanLib library.
+
+%description OpenGL1-static -l pl.UTF-8
+Statyczna biblioteka OpenGL1 dla ClanLiba.
+
%package MikMod
Summary: MikMod ClanLib library
Summary(pl.UTF-8): Biblioteka MikMod dla ClanLiba
%description MikMod-static -l pl.UTF-8
Statyczna biblioteka MikMod dla ClanLiba.
+%package SWRender
+Summary: ClanLib SWRender (Software Rendering) library
+Summary(pl.UTF-8): Biblioteka ClanLib SWRender (Software Rendering)
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description SWRender
+ClanLib SWRender software rendering library, utilizing SSE2
+instructions of x86 processors.
+
+%description SWRender -l pl.UTF-8
+Biblioteka programowego renderowania ClanLib SWRender, wykorzystująca
+instrukcje SSE2 procesorów x86.
+
+%package SWRender-devel
+Summary: Header files for ClanLib SWRender library
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki ClanLib SWRender
+Group: Development/Libraries
+Requires: %{name}-SWRender = %{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
+
+%description SWRender-devel
+Header files for ClanLib SWRender software rendering library.
+
+%description SWRender-devel -l pl.UTF_8
+Pliki nagłówkowe biblioteki programowego renderowania ClanLib
+SWRender.
+
+%package SWRender-static
+Summary: Static ClanLib SWRender library
+Summary(pl.UTF-8): Statyczna biblioteka ClanLib SWRender
+Group: Development/Libraries
+Requires: %{name}-SWRender-devel = %{version}-%{release}
+
+%description SWRender-static
+Static ClanLib SWRender library.
+
+%description SWRender-static -l pl.UTF-8
+Statyczna biblioteka ClanLib SWRender.
+
%package Vorbis
Summary: Vorbis ClanLib library
Summary(pl.UTF-8): Biblioteka Vorbis dla ClanLiba
%description Vorbis-static -l pl.UTF-8
Statyczna biblioteka Vorbis dla ClanLiba.
+%package doc
+Summary: ClanLib reference documentation for programmers
+Summary(pl.UTF-8): Dokumentacja programisty do biblioteki ClanLib
+Group: Documentation
+
+%description doc
+ClanLib reference documentation for programmers.
+
+%description doc -l pl.UTF-8
+Dokumentacja programisty do biblioteki ClanLib
+
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
-rm -rf autom4te.cache
-echo "dnl" >> acinclude.m4
+%{__rm} -r autom4te.cache
%build
-# note: rtti is needed --- ClanLib uses exceptions!
%{__libtoolize}
%{__aclocal}
%{__automake}
%{__autoconf}
%configure \
- --enable-static \
- --enable-shared \
+ %{!?with_sse2:--disable-sse2} \
--enable-docs \
-%ifarch %{ix86}
- --enable-asm386 \
-%endif
--%{?debug:en}%{!?debug:dis}able-debug
-# directfb disabled now
+export PKG_CONFIG_PATH=$(pwd)/Setup/pkgconfig
%{__make}
(cd Documentation/Utilities/ReferenceDocs; ln -s ../../../Sources/API ClanLib)
-export PKG_CONFIG_PATH=$(pwd)/Setup/pkgconfig
-%{__make} html
+%{__make} html \
+ PKG_CONFIG_PATH=$(pwd)/Setup/pkgconfig
%install
rm -rf $RPM_BUILD_ROOT
%post OpenGL -p /sbin/ldconfig
%postun OpenGL -p /sbin/ldconfig
+%post OpenGL1 -p /sbin/ldconfig
+%postun OpenGL1 -p /sbin/ldconfig
+
%post MikMod -p /sbin/ldconfig
%postun MikMod -p /sbin/ldconfig
-%post SDL -p /sbin/ldconfig
-%postun SDL -p /sbin/ldconfig
+%post SWRender -p /sbin/ldconfig
+%postun SWRender -p /sbin/ldconfig
%post Vorbis -p /sbin/ldconfig
%postun Vorbis -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
%doc COPYING CREDITS README
-%attr(755,root,root) %{_libdir}/libclan21App-%{cvmajor}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libclan21App-%{cvmajor}.so.1
-%attr(755,root,root) %{_libdir}/libclan21Core-%{cvmajor}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libclan21Core-%{cvmajor}.so.1
-%attr(755,root,root) %{_libdir}/libclan21Database-%{cvmajor}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libclan21Database-%{cvmajor}.so.1
-%attr(755,root,root) %{_libdir}/libclan21Display-%{cvmajor}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libclan21Display-%{cvmajor}.so.1
-%attr(755,root,root) %{_libdir}/libclan21GDI-%{cvmajor}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libclan21GDI-%{cvmajor}.so.1
-%attr(755,root,root) %{_libdir}/libclan21GUI-%{cvmajor}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libclan21GUI-%{cvmajor}.so.1
-%attr(755,root,root) %{_libdir}/libclan21Network-%{cvmajor}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libclan21Network-%{cvmajor}.so.1
-%attr(755,root,root) %{_libdir}/libclan21RegExp-%{cvmajor}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libclan21RegExp-%{cvmajor}.so.1
-%attr(755,root,root) %{_libdir}/libclan21Sound-%{cvmajor}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libclan21Sound-%{cvmajor}.so.1
-%attr(755,root,root) %{_libdir}/libclan21Sqlite-%{cvmajor}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libclan21Sqlite-%{cvmajor}.so.1
+%attr(755,root,root) %{_libdir}/libclan22App-%{cvmajor}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclan22App-%{cvmajor}.so.1
+%attr(755,root,root) %{_libdir}/libclan22Core-%{cvmajor}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclan22CSSLayout-%{cvmajor}.so.1
+%attr(755,root,root) %{_libdir}/libclan22CSSLayout-%{cvmajor}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclan22Core-%{cvmajor}.so.1
+%attr(755,root,root) %{_libdir}/libclan22Database-%{cvmajor}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclan22Database-%{cvmajor}.so.1
+%attr(755,root,root) %{_libdir}/libclan22Display-%{cvmajor}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclan22Display-%{cvmajor}.so.1
+%attr(755,root,root) %{_libdir}/libclan22GUI-%{cvmajor}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclan22GUI-%{cvmajor}.so.1
+%attr(755,root,root) %{_libdir}/libclan22Network-%{cvmajor}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclan22Network-%{cvmajor}.so.1
+%attr(755,root,root) %{_libdir}/libclan22RegExp-%{cvmajor}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclan22RegExp-%{cvmajor}.so.1
+%attr(755,root,root) %{_libdir}/libclan22Sound-%{cvmajor}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclan22Sound-%{cvmajor}.so.1
+%attr(755,root,root) %{_libdir}/libclan22Sqlite-%{cvmajor}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclan22Sqlite-%{cvmajor}.so.1
%files devel
%defattr(644,root,root,755)
-%doc README.kdevelop UPGRADE.txt
-%attr(755,root,root) %{_libdir}/libclan21App.so
-%attr(755,root,root) %{_libdir}/libclan21Core.so
-%attr(755,root,root) %{_libdir}/libclan21Database.so
-%attr(755,root,root) %{_libdir}/libclan21Display.so
-%attr(755,root,root) %{_libdir}/libclan21GDI.so
-%attr(755,root,root) %{_libdir}/libclan21GUI.so
-%attr(755,root,root) %{_libdir}/libclan21Network.so
-%attr(755,root,root) %{_libdir}/libclan21RegExp.so
-%attr(755,root,root) %{_libdir}/libclan21Sound.so
-%attr(755,root,root) %{_libdir}/libclan21Sqlite.so
-%{_libdir}/libclan21App.la
-%{_libdir}/libclan21Core.la
-%{_libdir}/libclan21Database.la
-%{_libdir}/libclan21Display.la
-%{_libdir}/libclan21GDI.la
-%{_libdir}/libclan21GUI.la
-%{_libdir}/libclan21Network.la
-%{_libdir}/libclan21RegExp.la
-%{_libdir}/libclan21Sound.la
-%{_libdir}/libclan21Sqlite.la
+%attr(755,root,root) %{_libdir}/libclan22App.so
+%attr(755,root,root) %{_libdir}/libclan22CSSLayout.so
+%attr(755,root,root) %{_libdir}/libclan22Core.so
+%attr(755,root,root) %{_libdir}/libclan22Database.so
+%attr(755,root,root) %{_libdir}/libclan22Display.so
+%attr(755,root,root) %{_libdir}/libclan22GUI.so
+%attr(755,root,root) %{_libdir}/libclan22Network.so
+%attr(755,root,root) %{_libdir}/libclan22RegExp.so
+%attr(755,root,root) %{_libdir}/libclan22Sound.so
+%attr(755,root,root) %{_libdir}/libclan22Sqlite.so
+%{_libdir}/libclan22App.la
+%{_libdir}/libclan22CSSLayout.la
+%{_libdir}/libclan22Core.la
+%{_libdir}/libclan22Database.la
+%{_libdir}/libclan22Display.la
+%{_libdir}/libclan22GUI.la
+%{_libdir}/libclan22Network.la
+%{_libdir}/libclan22RegExp.la
+%{_libdir}/libclan22Sound.la
+%{_libdir}/libclan22Sqlite.la
%dir %{_includedir}/ClanLib-%{cvmajor}
%dir %{_includedir}/ClanLib-%{cvmajor}/ClanLib
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/App
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/application.h
+%{_includedir}/ClanLib-%{cvmajor}/ClanLib/CSSLayout
+%{_includedir}/ClanLib-%{cvmajor}/ClanLib/csslayout.h
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/Core
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/core.h
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/Database
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/database.h
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/Display
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/display.h
-%{_includedir}/ClanLib-%{cvmajor}/ClanLib/GDI
-%{_includedir}/ClanLib-%{cvmajor}/ClanLib/gdi.h
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/GUI*
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/gui*.h
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/Network
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/sound.h
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/Sqlite
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/sqlite.h
-%{_aclocaldir}/*.m4
+%{_aclocaldir}/clanlib.m4
%{_pkgconfigdir}/clanApp-%{cvmajor}.pc
+%{_pkgconfigdir}/clanCSSLayout-%{cvmajor}.pc
%{_pkgconfigdir}/clanCore-%{cvmajor}.pc
%{_pkgconfigdir}/clanDatabase-%{cvmajor}.pc
%{_pkgconfigdir}/clanDisplay-%{cvmajor}.pc
-%{_pkgconfigdir}/clanGDI-%{cvmajor}.pc
%{_pkgconfigdir}/clanGUI*-%{cvmajor}.pc
%{_pkgconfigdir}/clanNetwork-%{cvmajor}.pc
%{_pkgconfigdir}/clanRegExp-%{cvmajor}.pc
%{_pkgconfigdir}/clanSound-%{cvmajor}.pc
%{_pkgconfigdir}/clanSqlite-%{cvmajor}.pc
-%files doc
-%defattr(644,root,root,755)
-%{_docdir}/clanlib-*
-
%files static
%defattr(644,root,root,755)
-%{_libdir}/libclan21App.a
-%{_libdir}/libclan21Core.a
-%{_libdir}/libclan21Database.a
-%{_libdir}/libclan21Display.a
-%{_libdir}/libclan21GDI.a
-%{_libdir}/libclan21GUI.a
-%{_libdir}/libclan21Network.a
-%{_libdir}/libclan21RegExp.a
-%{_libdir}/libclan21Sound.a
-%{_libdir}/libclan21Sqlite.a
+%{_libdir}/libclan22App.a
+%{_libdir}/libclan22CSSLayout.a
+%{_libdir}/libclan22Core.a
+%{_libdir}/libclan22Database.a
+%{_libdir}/libclan22Display.a
+%{_libdir}/libclan22GUI.a
+%{_libdir}/libclan22Network.a
+%{_libdir}/libclan22RegExp.a
+%{_libdir}/libclan22Sound.a
+%{_libdir}/libclan22Sqlite.a
%files OpenGL
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libclan21GL-%{cvmajor}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libclan21GL-%{cvmajor}.so.1
+%attr(755,root,root) %{_libdir}/libclan22GL-%{cvmajor}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclan22GL-%{cvmajor}.so.1
%files OpenGL-devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libclan21GL.so
-%{_libdir}/libclan21GL.la
+%attr(755,root,root) %{_libdir}/libclan22GL.so
+%{_libdir}/libclan22GL.la
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/GL
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/gl.h
%{_pkgconfigdir}/clanGL-%{cvmajor}.pc
%files OpenGL-static
%defattr(644,root,root,755)
-%{_libdir}/libclan21GL.a
+%{_libdir}/libclan22GL.a
+
+%files OpenGL1
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libclan22GL1-%{cvmajor}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclan22GL1-%{cvmajor}.so.1
+
+%files OpenGL1-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libclan22GL1.so
+%{_libdir}/libclan22GL1.la
+%{_includedir}/ClanLib-%{cvmajor}/ClanLib/GL1
+%{_includedir}/ClanLib-%{cvmajor}/ClanLib/gl1.h
+%{_pkgconfigdir}/clanGL1-%{cvmajor}.pc
+
+%files OpenGL1-static
+%defattr(644,root,root,755)
+%{_libdir}/libclan22GL1.a
%files MikMod
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libclan21MikMod-%{cvmajor}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libclan21MikMod-%{cvmajor}.so.1
+%attr(755,root,root) %{_libdir}/libclan22MikMod-%{cvmajor}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclan22MikMod-%{cvmajor}.so.1
%files MikMod-devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libclan21MikMod.so
-%{_libdir}/libclan21MikMod.la
+%attr(755,root,root) %{_libdir}/libclan22MikMod.so
+%{_libdir}/libclan22MikMod.la
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/MikMod
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/mikmod.h
%{_pkgconfigdir}/clanMikMod-%{cvmajor}.pc
%files MikMod-static
%defattr(644,root,root,755)
-%{_libdir}/libclan21MikMod.a
+%{_libdir}/libclan22MikMod.a
+
+%if %{with sse2}
+%files SWRender
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libclan22SWRender-%{cvmajor}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclan22SWRender-%{cvmajor}.so.1
+
+%files SWRender-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libclan22SWRender.so
+%{_libdir}/libclan22SWRender.la
+%{_includedir}/ClanLib-%{cvmajor}/ClanLib/SWRender
+%{_includedir}/ClanLib-%{cvmajor}/ClanLib/swrender.h
+%{_pkgconfigdir}/clanSWRender-%{cvmajor}.pc
+
+%files SWRender-static
+%defattr(644,root,root,755)
+%{_libdir}/libclan22SWRender.a
+%endif
%files Vorbis
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libclan21Vorbis-%{cvmajor}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libclan21Vorbis-%{cvmajor}.so.1
+%attr(755,root,root) %{_libdir}/libclan22Vorbis-%{cvmajor}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclan22Vorbis-%{cvmajor}.so.1
%files Vorbis-devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libclan21Vorbis.so
-%{_libdir}/libclan21Vorbis.la
+%attr(755,root,root) %{_libdir}/libclan22Vorbis.so
+%{_libdir}/libclan22Vorbis.la
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/Vorbis
%{_includedir}/ClanLib-%{cvmajor}/ClanLib/vorbis.h
%{_pkgconfigdir}/clanVorbis-%{cvmajor}.pc
%files Vorbis-static
%defattr(644,root,root,755)
-%{_libdir}/libclan21Vorbis.a
+%{_libdir}/libclan22Vorbis.a
+
+%files doc
+%defattr(644,root,root,755)
+%{_docdir}/clanlib-%{cvmajor}