Name: stxxl
Version: 1.2.1
Release: 11%{?dist}
Summary: C++ STL drop-in replacement for extremely large datasets
Group: Development/Libraries
License: Boost
URL: http://%{name}.sourceforge.net
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
#Patch enables shared library build modification to makfile
Patch0: %{name}-build-shared.patch
#Second patch required to enable shared libraries
Patch1: %{name}-build-shared-makefile.patch
%description
%{name} provides an STL replacement using an abstraction layer to
storage devices to allow for the optimal layout of data structures. This
allows for multi-terabyte datasets to be held and manipulated in standard
C++ data structures, whilst abstracting the complexity of managing this
behaviour efficiently. %{name} utilises multi-disk I/O to speed up
I/O bound calculations. STXXL has been developed at the University
of Karlsruhe.
%package devel
Group: Development/Libraries
Summary: Provides development files for %{name} applications
Requires: %{name} = %{version}-%{release}
%description devel
Development libraries for the %{name} library.
%package doc
Group: Documentation
Summary: HTML documentation and tutorial for the %{name} applications
# Latex requires texlive for 10 and up
%if 0%{?fedora} >= 10
BuildRequires: texlive-latex
BuildArch: noarch
%endif
%if 0%{?fedora} < 10
BuildRequires: tetex-latex
%endif
%{?el5:BuildRequires: tetex-latex}
BuildRequires: doxygen, graphviz, ghostscript
%description doc
This package contains the documentation in the HTML format of the %{name}
package.
%prep
%setup -q
%patch0
%patch1
%build
# Configure
echo STXXL_ROOT=`pwd` > make.settings.local
# Use the Fedora compilation flags
echo "OPT=%{optflags} -fPIC" >> make.settings.local
echo DEBUG=-g >> make.settings.local
echo LIBEXT=so >> make.settings.local
make %{?_smp_mflags} library_g++
# Build HTML documentation (with Doxygen)
make doxy
# Build Latex-generated tutorial
pushd .
cd doc/tutorial
make
popd
%install
rm -rf %{buildroot}
# Doxygen may generate some empty (zero-length) *.map files, which need to be removed
find doc/doxy/html -size 0 -name '*.map' -delete
# There is no install target provided. However the library consists of a .so and a set of headers.
# Let us install them, as required
# Install the library
install -p -D -m 0755 lib/libstxxl.so %{buildroot}%{_libdir}/libstxxl.so.%{version}
# Install the header files
mkdir -p %{buildroot}%{_includedir}
cp -pr include/* %{buildroot}%{_includedir}
pushd .
cd %{buildroot}%{_libdir}
#link libSONAME.so.MAJOR to libSONAME.so.MAJOR.MINOR.MICRO
ln -s libstxxl.so.%{version} libstxxl.so.1
#link libSONAME.so to libSONAME.so.MAJOR
ln -s libstxxl.so.1 libstxxl.so
popd
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%doc LICENSE_1_0.txt CHANGELOG TODO README TROUBLESHOOTING
%{_libdir}/libstxxl.so.*
%files devel
%defattr(-,root,root,-)
%doc config_example
%dir %{_includedir}/bits/
%{_includedir}/%{name}.h
%{_includedir}/%{name}/
%{_includedir}/bits/intel_compatibility.h
%{_libdir}/libstxxl.so
%files doc
%defattr(-,root,root,-)
%doc doc/doxy/* doc/tutorial/tutorial.pdf doc/tutorial/examples/*
%changelog
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Wed Jun 3 2009 <denis.arnaud_fedora@m4x.org> 1.2.1-8
- Added a tab in the 'BuildArch:<tab>noarch' directive.
* Mon Jun 1 2009 <denis.arnaud_fedora@m4x.org> 1.2.1-7
- Enclosed the 'BuildArch: noarch' directive within F>=10 condition
* Sun May 31 2009 <denis.arnaud_fedora@m4x.org> 1.2.1-6
- Applied https://bugzilla.redhat.com/show_bug.cgi?id=474787#c12
recommendations
* Thu May 28 2009 <mycae(a!t)yahoo.com> 1.2.1-5
- Re-enable documentation using suggested macros
* Sun May 24 2009 <mycae(a!t)yahoo.com> 1.2.1-4
- Used doc macro to install docs previously manually installed
- Added README and TROUBLESHOOTING to docs
- Added otpflags macro to build settings
- Use "install" program rather than cp for the install of lib
* Wed Jan 14 2009 <mycae(a!t)yahoo.com> 1.2.1-3
- Fixed devel summary to be concise
- Fixed Requires for devel subpackage, now requires stxxl
- Changed devel description to be unique from main
- Added defattr into devel package
- Fixed unowned dirs in subpackage
* Sat Dec 06 2008 <mycae(a!t)yahoo.com> 1.2.1-2
- Removed latex build & buildrequires
- Patched makefiles to provide shared instead of static libs
- made doxygen log to file, due to excessively verbose output
* Fri Dec 05 2008 <mycae(a!t)yahoo.com> 1.2.1-1
- Create spec file