# # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: umem Version: 1.0.1 Release: 1 License: CDDL-1.0 Summary: Port of Solaris's slab allocator Url: https://labs.omniti.com/trac/portableumem Group: Development/Libraries/C and C++ Source0: https://labs.omniti.com/portableumem/releases/1.0/%{name}-%{version}.tar.bz2 Patch0: umem-1.0.1-fix-malloc-hook-def.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: doxygen BuildRequires: libtool BuildRoot: %{_tmppath}/%{name}-%{version}-build %description This a port of Solaris's slab allocator, libumem, to Linux. "A slab allocator is a cache management structure for efficient use of [...] memory. [...] It is targeted for use of many small pieces of memory chunks. By managing small memory chunks in the units called slabs, this mechanism enables lower fragmentation, fast allocation, and reclaming memory." (Description sourced from Wikipedia.) %package -n libumem0 Summary: Port of Solaris's slab allocator Group: Development/Libraries/C and C++ Provides: %{name} = %{version} Obsoletes: %{name} <= %{version} %description -n libumem0 This a port of Solaris's slab allocator, libumem, to Linux. "A slab allocator is a cache management structure for efficient use of [...] memory. [...] It is targeted for use of many small pieces of memory chunks. By managing small memory chunks in the units called slabs, this mechanism enables lower fragmentation, fast allocation, and reclaming memory." (Description sourced from Wikipedia.) %package -n libumem-devel Summary: Port of Solaris's slab allocator Group: Development/Libraries/C and C++ Requires: glibc-devel Requires: libumem0 = %{version} Provides: %{name}-devel = %{version} Obsoletes: %{name}-devel <= %{version} %description -n libumem-devel This contains the libraries and header files for using this port of Solaris's slab allocator, libumem, to Linux. %prep %setup -q %if 0%{?suse_version} > 1140 %patch0 %endif %build autoreconf -fi CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" CFLAGS="$CFLAGS -fstack-protector" CXXFLAGS="$CXXFLAGS -fstack-protector" export CFLAGS export CXXFLAGS %configure --disable-static --with-pic # Parallel build not successful make -j1 make html %check make check || echo "tests failed" %install make DESTDIR=%{buildroot} install %post -n libumem0 -p /sbin/ldconfig %postun -n libumem0 -p /sbin/ldconfig %files -n libumem0 %defattr(-,root,root,-) %doc COPYING COPYRIGHT OPENSOLARIS.LICENSE %{_libdir}/*.so.0* %files -n libumem-devel %defattr(-,root,root,-) %doc COPYING COPYRIGHT OPENSOLARIS.LICENSE README TODO %doc docs/html %{_includedir}/*.h %{_includedir}/sys/*.h %{_libdir}/*.so %{_mandir}/man3/* %exclude %{_libdir}/*.la