Summary: C++ standard library
-Summary(pl): Biblioteki standardowe C++
+Summary(pl.UTF-8): Biblioteki standardowe C++
Name: STLport
-Version: 4.5.3
+Version: 5.1.0
Release: 3
+Epoch: 2
License: distributable (see README.gz)
Group: Libraries
-Source0: http://www.stlport.com/archive/%{name}-%{version}.tar.gz
-Patch0: %{name}-nodebug.patch
-Patch1: %{name}-gcc3.patch
-Patch2: %{name}-4.5.3-gcc3stdexcept.patch
-Patch3: %{name}-4.5.3-nobadlink.patch
-Patch4: %{name}-4.5.3-extra-cxxflags.patch
-URL: http://www.stlport.org/
-BuildRequires: gcc-c++
+Source0: http://dl.sourceforge.net/stlport/%{name}-%{version}.tar.bz2
+# Source0-md5: dcf079313e7e0d7870307b74b658bb81
+Patch0: %{name}-endianness.patch
+Patch1: %{name}-gcc420_dirty_hack.patch
+Patch2: %{name}-gcc420.patch
+URL: http://stlport.sourceforge.net/
+BuildRequires: libstdc++-devel >= 5:3.3.2
+BuildRequires: sed >= 4.0
+%requires_eq libstdc++
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
-Implementation of C++ standard library required by OpenOffice.
+STLport is a multiplatform implementation of C++ Standard Template
+Library based on SGI STL. It's used by e.g. OpenOffice.
-%description -l pl
-Implementacja standardowej biblioteki C++ wymaganej przez OpenOffice.
+%description -l pl.UTF-8
+STLport to wieloplatformowa implementacja standardowej biblioteki
+szablonów (Standard Template Library) C++ oparta na SGI STL. Jest
+używana m.in. przez OpenOffice.
%package devel
Summary: STLport heades files, documentation
-Summary(pl): Pliki nag³ówkowe i dokumentacja do STLport
+Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja do STLport
Group: Development/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description devel
Header files and development documentation for STLport.
-%description -l pl devel
-Pliki nag³ówkowe i dokumentacja dla STLport.
+%description devel -l pl.UTF-8
+Pliki nagłówkowe i dokumentacja dla STLport.
%package static
Summary: Static STLport libraries
-Summary(pl): Biblioteki statyczne do STLport
+Summary(pl.UTF-8): Biblioteki statyczne do STLport
Group: Development/Libraries
-Requires: %{name}-devel = %{version}
+Requires: %{name}-devel = %{epoch}:%{version}-%{release}
%description static
Static STLport libraries.
-%description -l pl static
+%description static -l pl.UTF-8
Biblioteki statyczne do STLport.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
-#%patch2 -p1
-#%patch3 -p1
-#%patch4 -p1
+%patch2 -p1
+
+sed -i -e 's/= -O2$/= %{rpmcflags}/' build/Makefiles/gmake/gcc.mak
%build
-cd src
-CXXFLAGS="%{rpmcflags}" \
-%{__make} -f gcc.mak
+%{__make} -C build/lib -f gcc.mak \
+ release-shared \
+ release-static \
+ CC="%{__cc}" \
+ CXX="%{__cxx}"
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_includedir},%{_libdir}}
+install -d $RPM_BUILD_ROOT%{_includedir}
-rm -fr stlport/{BC50,old_hp}
-cp -fr stlport $RPM_BUILD_ROOT%{_includedir}
-install lib/*.a $RPM_BUILD_ROOT%{_libdir}
-install lib/*.so.* $RPM_BUILD_ROOT%{_libdir}
-ln -sf libstlport_gcc.so.4.5 $RPM_BUILD_ROOT%{_libdir}/libstlport_gcc.so
+%{__make} -C build/lib -f gcc.mak \
+ install-release-shared \
+ install-release-static \
+ INSTALL_BIN_DIR=$RPM_BUILD_ROOT%{_bindir} \
+ INSTALL_LIB_DIR=$RPM_BUILD_ROOT%{_libdir}
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+cp -a stlport $RPM_BUILD_ROOT%{_includedir}
+rm -rf $RPM_BUILD_ROOT%{_includedir}/stlport/BC50
+
+# libstlport.so.5 is removed by ldconfig or *something*, so make .so point to real soname
+ln -sf $(cd $RPM_BUILD_ROOT%{_libdir}; echo libstlport.so.*.*.*) \
+ $RPM_BUILD_ROOT%{_libdir}/libstlport.so
%clean
rm -rf $RPM_BUILD_ROOT
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
%files
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/*.so.*.*
+%doc README
+%attr(755,root,root) %{_libdir}/libstlport.so.*.*
+# libstlport.so points to this one instead of soname or real lib name
+# to be fixed if nothing tries to dlopen this one (nothing should!)
+%attr(755,root,root) %{_libdir}/libstlport.so.?
%files devel
%defattr(644,root,root,755)
-%doc doc/* README
+%doc doc/{FAQ,*.txt}
+%attr(755,root,root) %{_libdir}/libstlport.so
%{_includedir}/stlport
-%{_libdir}/*.so
%files static
%defattr(644,root,root,755)
-%{_libdir}/*.a
+%{_libdir}/libstlport.a