Blob Blame History Raw
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