+# TODO
+# - fix ppc build
Summary: C++ standard library
Summary(pl): Biblioteki standardowe C++
Name: STLport
-Version: 4.6.2
-Release: 3
+Version: 5.1.2
+Release: 2
Epoch: 2
License: distributable (see README.gz)
Group: Libraries
-Source0: http://www.stlport.com/archive/%{name}-%{version}.tar.gz
-# Source0-md5: 4c01c84f1212369ceb369567ed06d1a2
-Patch0: %{name}-nodebug.patch
-Patch1: %{name}-soname.patch
-Patch2: %{name}-gcc34.patch
-Patch3: %{name}-4.5.3-gcc3stdexcept.patch
-Patch4: %{name}-4.5.3-extra-cxxflags.patch
-URL: http://www.stlport.org/
+Source0: http://dl.sourceforge.net/stlport/%{name}-%{version}.tar.bz2
+# Source0-md5: 937b114455f304eb1cf7b9cc2ca103a3
+Patch0: %{name}-endianness.patch
+Patch1: %{name}-gcc420_dirty_hack.patch
+Patch2: %{name}-no_vendor_math_l.patch
+Patch3: %{name}-alpha.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)
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p1
+
+sed -i -e 's/= -O2$/= %{rpmcflags}/' build/Makefiles/gmake/gcc.mak
%build
-CXXFLAGS="%{rpmcflags}" \
-%{__make} -C src -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}
+
+%{__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}
+
+cp -a stlport $RPM_BUILD_ROOT%{_includedir}
+rm -rf $RPM_BUILD_ROOT%{_includedir}/stlport/BC50
-%{__make} -C src -f gcc.mak install \
- INSTALLDIR=$RPM_BUILD_ROOT%{_prefix} \
- INSTALLDIR_LIB=$RPM_BUILD_ROOT%{_libdir}
+# 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
+%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
%doc README
-%attr(755,root,root) %{_libdir}/*.so.*.*
-%attr(755,root,root) %{_libdir}/*.so
+%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/{images,README.gcc.html,[a-z]*.html}
+%doc doc/{FAQ,*.txt}
+%attr(755,root,root) %{_libdir}/libstlport.so
%{_includedir}/stlport
%files static
%defattr(644,root,root,755)
-%{_libdir}/*.a
+%{_libdir}/libstlport.a