Name: stxxl Version: 1.2.1 Release: 6%{?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 BuildArch: noarch # Latex requires texlive for 10 and up %if 0%{?fedora} >= 10 BuildRequires: texlive-latex %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 * Sun May 31 2009 1.2.1-6 - Applied https://bugzilla.redhat.com/show_bug.cgi?id=474787#c12 recommendations * Thu May 28 2009 1.2.1-5 - Re-enable documentation using suggested macros * Sun May 24 2009 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 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 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 1.2.1-1 - Create spec file