%define major 1 %define libname %mklibname %{name} %{major} %define develname %mklibname %{name} -d %define staticname %mklibname %{name} -d -s Summary: Conservative garbage collector for C Name: gc Version: 7.1 %define subrel 1 Release: %mkrel 7 License: BSD Group: System/Libraries URL: http://www.hpl.hp.com/personal/Hans_Boehm/%{name}/ Source0: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/%{name}-%{version}.tar.gz # fix trying to install two header files twice in the same install command (fixes build) Patch0: gc-duplicate-headers-install.patch Patch1: gc_mips.patch Patch2: gc-7.1-CVE-2012-2673-calloc-1.patch Patch3: gc-7.1-CVE-2012-2673-calloc-2.patch Patch4: gc-7.1-CVE-2012-2673-calloc-3.patch Patch5: gc-7.1-CVE-2012-2673-malloc.patch BuildRequires: libatomic_ops-devel %description Boehm's GC is a garbage collecting storage allocator that is intended to be used as a plug-in replacement for C's malloc. %package -n %{libname} Summary: Conservative garbage collector for C Group: System/Libraries Obsoletes: %{name} < 7.1 Provides: %{name} = %{version}-%{release} %description -n %{libname} Boehm's GC is a garbage collecting storage allocator that is intended to be used as a plug-in replacement for C's malloc. %package -n %{develname} Summary: Development files and documentation for Bohem's GC Group: Development/C License: BSD Obsoletes: %{mklibname gc 1 -d} < 7.1 Provides: lib%{name}-devel = %{version}-%{release} Requires: %{libname} = %{version}-%{release} %description -n %{develname} Header files and documentation needed to develop programs that use Bohem's GC %package -n %{staticname} Summary: Static libraries for Bohem's GC Group: Development/C License: BSD Obsoletes: %{mklibname gc 1 -d -s} < 7.1 Provides: lib%{name}-static-devel = %{version}-%{release} Requires: %{libname} = %{version}-%{release} %description -n %{staticname} Static libraries neded to develop programs that use Bohem's GC %prep %setup -q %apply_patches %build # refresh auto*/libtool to purge rpaths rm -f libtool libtool.m4 libtoolize --force autoreconf -i # or else tkhtml3 won't build on x86-64. the clean way to do this is # to patch it into the Makefile, but then it doesn't get used for # mach_dep.lo, and I can't figure out why not - AdamW 2008/12 %ifarch x86_64 export CFLAGS="%{optflags} -fPIC" %endif %configure2_5x \ --disable-dependency-tracking \ --enable-cplusplus \ %ifarch %{ix86} --enable-parallel-mark \ %endif --enable-threads=pthreads %make %check make check %install rm -rf %{buildroot} %makeinstall_std rm -rf %{buildroot}%{_datadir} install -m644 doc/gc.man -D %{buildroot}%{_mandir}/man3/gc.3 %clean rm -rf %{buildroot} %files -n %{libname} %doc README.QUICK %{_libdir}/*.so.%{major}* %files -n %{develname} %doc doc/*.html %{_libdir}/*.la %{_libdir}/*.so %dir %{_includedir}/gc %{_includedir}/%{name}/* %{_includedir}/*h %{_libdir}/pkgconfig/*.pc %{_mandir}/man?/* %files -n %{staticname} %{_libdir}/*.a %changelog * Wed Aug 29 2012 luigiwalser <luigiwalser> 7.1-7.1.mga1 + Revision: 285548 - add patches from debian to fix CVE-2012-2673 * Thu Feb 10 2011 dmorgan <dmorgan> 7.1-7.mga1 + Revision: 49769 - Remove mdv macros - imported package gc