7486fd
Summary: A garbage collector for C and C++
7486fd
Name:    gc
7486fd
%global base_ver 7.2
7486fd
Version: 7.2d
7486fd
Release: 7%{?dist}
7486fd
7486fd
Group:   System Environment/Libraries
7486fd
License: BSD
7486fd
Url:     http://www.hpl.hp.com/personal/Hans_Boehm/gc/
7486fd
Source0: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-%{version}%{?pre}.tar.gz
7486fd
Patch1:  gc-7.2c-test-stack-infinite-loop.patch
7486fd
Patch2:  gc-7.2d-aarch64.patch
7486fd
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
7486fd
7486fd
## upstreamable patches
7486fd
7486fd
## upstream patches
7486fd
7486fd
BuildRequires: automake libtool
7486fd
BuildRequires: pkgconfig
7486fd
7486fd
# rpmforge compatibility
7486fd
Obsoletes: libgc < %{version}-%{release}
7486fd
Provides:  libgc = %{version}-%{release}
7486fd
7486fd
%description
7486fd
The Boehm-Demers-Weiser conservative garbage collector can be
7486fd
used as a garbage collecting replacement for C malloc or C++ new.
7486fd
7486fd
%package devel
7486fd
Summary: Libraries and header files for %{name} development
7486fd
Group:   Development/Libraries
7486fd
Requires: %{name}%{?_isa} = %{version}-%{release}
7486fd
Obsoletes: libgc-devel < %{version}-%{release}
7486fd
Provides:  libgc-devel = %{version}-%{release}
7486fd
%description devel
7486fd
%{summary}.
7486fd
7486fd
%package -n libatomic_ops-devel
7486fd
Summary:   Atomic memory update operations
7486fd
Group:     Development/Libraries
7486fd
# libatomic_ops.a is MIT
7486fd
# libatomic_ops_gpl.a is GPLv2+
7486fd
License:   MIT and GPLv2+
7486fd
Provides:  libatomic_ops-static = %{version}-%{release}
7486fd
%description -n libatomic_ops-devel
7486fd
Provides implementations for atomic memory update operations on a
7486fd
number of architectures. This allows direct use of these in reasonably
7486fd
portable code. Unlike earlier similar packages, this one explicitly
7486fd
considers memory barrier semantics, and allows the construction of code
7486fd
that involves minimum overhead across a variety of architectures.
7486fd
7486fd
7486fd
%prep
7486fd
%setup -q -n gc-%{base_ver}%{?pre}
7486fd
%patch1 -p1 -b .infinite-loop-in-tests
7486fd
%patch2 -p1 -b .aarch64
7486fd
7486fd
# refresh auto*/libtool to purge rpaths
7486fd
rm -f libtool libtool.m4
7486fd
autoreconf -i -f
7486fd
7486fd
7486fd
%build
7486fd
7486fd
# see bugzilla.redhat.com/689877
7486fd
CPPFLAGS="-DUSE_GET_STACKBASE_FOR_MAIN"; export CPPFLAGS
7486fd
7486fd
%configure \
7486fd
  --disable-dependency-tracking \
7486fd
  --disable-static \
7486fd
  --enable-cplusplus \
7486fd
  --enable-large-config \
7486fd
%ifarch %{ix86}
7486fd
  --enable-parallel-mark \
7486fd
%endif
7486fd
  --enable-threads=posix \
7486fd
  --with-libatomic-ops=no
7486fd
7486fd
make %{?_smp_mflags}
7486fd
make %{?_smp_mflags} -C libatomic_ops
7486fd
7486fd
7486fd
%install
7486fd
rm -rf %{buildroot}
7486fd
7486fd
make install DESTDIR=%{buildroot}
7486fd
make install DESTDIR=%{buildroot} -C libatomic_ops
7486fd
7486fd
install -p -D -m644 doc/gc.man  %{buildroot}%{_mandir}/man3/gc.3
7486fd
7486fd
## Unpackaged files
7486fd
rm -rfv %{buildroot}%{_datadir}/gc/
7486fd
rm -rfv %{buildroot}%{_datadir}/libatomic_ops/{COPYING,*.txt}
7486fd
rm -fv  %{buildroot}%{_libdir}/lib*.la
7486fd
7486fd
7486fd
%check
7486fd
make check
7486fd
# ignore results on powerpc - the atomic stack feature is not working correctly
7486fd
# there (#883748, #1125508)
7486fd
%ifarch ppc ppc64 ppc64le
7486fd
%global arch_ignore ||:
7486fd
%endif
7486fd
make check -C libatomic_ops %{?arch_ignore}
7486fd
7486fd
7486fd
%clean
7486fd
rm -rf %{buildroot}
7486fd
7486fd
7486fd
%post   -p /sbin/ldconfig
7486fd
%postun -p /sbin/ldconfig
7486fd
7486fd
%files
7486fd
%defattr(-,root,root,-)
7486fd
%doc doc/README
7486fd
%doc doc/README.changes doc/README.contributors
7486fd
%doc doc/README.environment doc/README.linux
7486fd
%{_libdir}/libcord.so.1*
7486fd
%{_libdir}/libgc.so.1*
7486fd
%{_libdir}/libgccpp.so.1*
7486fd
7486fd
%files devel
7486fd
%defattr(-,root,root,-)
7486fd
%doc doc/*.html
7486fd
%{_includedir}/gc.h
7486fd
%{_includedir}/gc_cpp.h
7486fd
%{_includedir}/gc/
7486fd
%{_libdir}/libcord.so
7486fd
%{_libdir}/libgc.so
7486fd
%{_libdir}/libgccpp.so
7486fd
%{_libdir}/pkgconfig/bdw-gc.pc
7486fd
%{_mandir}/man3/gc.3*
7486fd
7486fd
%files -n libatomic_ops-devel
7486fd
%defattr(-,root,root,-)
7486fd
%doc libatomic_ops/AUTHORS libatomic_ops/ChangeLog libatomic_ops/COPYING libatomic_ops/NEWS libatomic_ops/README
7486fd
%doc libatomic_ops/doc/*.txt
7486fd
%{_includedir}/atomic_ops.h
7486fd
%{_includedir}/atomic_ops/
7486fd
%{_libdir}/libatomic_ops.a
7486fd
%{_libdir}/pkgconfig/atomic_ops.pc
7486fd
# GPLv2+ bits
7486fd
%{_includedir}/atomic_ops_malloc.h
7486fd
%{_includedir}/atomic_ops_stack.h
7486fd
%{_libdir}/libatomic_ops_gpl.a
7486fd
7486fd
7486fd
%changelog
7486fd
* Thu Aug 14 2014 Pavel Raiskup <praiskup@redhat.com> - 7.2d-7
7486fd
- enable ppc64le build (#1125508)
7486fd
7486fd
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 7.2d-6
7486fd
- Mass rebuild 2014-01-24
7486fd
7486fd
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 7.2d-5
7486fd
- Mass rebuild 2013-12-27
7486fd
7486fd
* Wed Oct 30 2013 Pavel Raiskup <praiskup@redhat.com> - 7.2d-4
7486fd
- add support for aarch64 (#969817)
7486fd
- ignore testsuite results only for powerpc
7486fd
7486fd
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 7.2d-3
7486fd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
7486fd
7486fd
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 7.2d-2
7486fd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
7486fd
7486fd
* Mon Jan 07 2013 Rex Dieter <rdieter@fedoraproject.org> 7.2d-1
7486fd
- gc-7.2d
7486fd
7486fd
* Mon Oct 29 2012 Pavel Raiskup <praiskup@redhat.com> - 7.2c-5
7486fd
- fix possible infinite loop in test suite (#871067)
7486fd
7486fd
* Mon Oct 29 2012 Pavel Raiskup <praiskup@redhat.com> - 7.2c-4
7486fd
- trim lines, s/[tabs]/[spaces]/
7486fd
7486fd
* Fri Jul 27 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 7.2c-3
7486fd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
7486fd
7486fd
* Tue Jul 24 2012 Rex Dieter <rdieter@fedoraproject.org> 7.2c-2
7486fd
- rebuild
7486fd
7486fd
* Tue Jun 26 2012 Rex Dieter <rdieter@fedoraproject.org> 7.2c-1
7486fd
- 7.2c
7486fd
7486fd
* Fri Jun 15 2012 Rex Dieter <rdieter@fedoraproject.org>
7486fd
- 7.2b-2
7486fd
- backport patches from gc-7_2-hotfix-2 branch in lieu of 7.2c release
7486fd
- gc 7.2 final abi broken when changing several symbols to hidden (#825473)
7486fd
- CVE-2012-2673 gc: malloc() and calloc() overflows (#828878)
7486fd
7486fd
* Wed May 30 2012 Rex Dieter <rdieter@fedoraproject.org> 7.2b-1
7486fd
- gc-7.2b
7486fd
7486fd
* Mon May 14 2012 Rex Dieter <rdieter@fedoraproject.org>
7486fd
- 7.2-1
7486fd
- gc-7.2 (final)
7486fd
7486fd
* Fri Mar 02 2012 Rex Dieter <rdieter@fedoraproject.org> 7.2-0.7.alpha6
7486fd
- libatomic_ops: use -DAO_USE_PTHREAD_DEFS on ARMv5
7486fd
7486fd
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 7.2-0.6.alpha6
7486fd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
7486fd
7486fd
* Wed Oct 26 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 7.2-0.5.alpha6
7486fd
- Rebuilt for glibc bug#747377
7486fd
7486fd
* Mon Jun 20 2011 Rex Dieter <rdieter@fedoraproject.rog> 7.2-0.4.alpha6.20110107
7486fd
- gc-7.2alpha6
7486fd
- build with -DUSE_GET_STACKBASE_FOR_MAIN (#689877)
7486fd
7486fd
* Wed Feb 09 2011 Rex Dieter <rdieter@fedoraproject.org> 7.2-0.3.alpha5.20110107
7486fd
- bdwgc-7.2alpha4 20110107 snapshot
7486fd
7486fd
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 7.2-0.2.alpha4
7486fd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
7486fd
7486fd
* Fri Dec 11 2009 Rex Dieter <rdieter@fedoraproject.org> - 7.2-0.1.alpha4
7486fd
- gc-7.2alpha4
7486fd
- use/package internal libatomic_ops
7486fd
7486fd
* Tue Dec  8 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 7.1-10
7486fd
- Explicitly BR libatomic_ops-static in accordance with the Packaging
7486fd
  Guidelines (libatomic_ops-devel is still static-only).
7486fd
7486fd
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 7.1-9
7486fd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
7486fd
7486fd
* Sun Jul 19 2009 Rex Dieter 
7486fd
- FTBFS gc-7.1-7.fc11 (#511365)
7486fd
7486fd
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 7.1-7
7486fd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
7486fd
7486fd
* Fri Dec 12 2008 Rex Dieter <rdieter@fedoraproject.org> 7.1-6
7486fd
- rebuild for pkgconfig deps
7486fd
7486fd
* Wed Oct 15 2008 Rex Dieter <rdieter@fedoraproject.org> 7.1-5
7486fd
- forward-port patches (gcinit, sparc)
7486fd
7486fd
* Fri Oct 03 2008 Rex Dieter <rdieter@fedoraproject.org> 7.1-4
7486fd
- BR: libatomic_ops-devel
7486fd
7486fd
* Mon Sep 08 2008 Rex Dieter <rdieter@fedoraproject.org> 7.1-3
7486fd
- upstream DONT_ADD_BYTE_AT_END patch
7486fd
- spec cosmetics
7486fd
7486fd
* Sat Jul 12 2008 Rex Dieter <rdieter@fedoraproject.org> 7.1-2
7486fd
- --enable-large-config (#453972)
7486fd
7486fd
* Sun May 04 2008 Rex Dieter <rdieter@fedoraproject.org> 7.1-1
7486fd
- gc-7.1
7486fd
- purge rpaths
7486fd
7486fd
* Fri Feb 08 2008 Rex Dieter <rdieter@fedoraproject.org> 7.0-7
7486fd
- respin (gcc43)
7486fd
7486fd
* Wed Aug 29 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 7.0-6
7486fd
- BR: gawk
7486fd
- fixup compat_header patch to avoid needing auto* tools
7486fd
7486fd
* Wed Aug 29 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 7.0-5
7486fd
- compat_header patch (supercedes previous pkgconfig patch)
7486fd
7486fd
* Tue Aug 21 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 7.0-4
7486fd
- pkgconfig patch (cflags += -I%%_includedir/gc)
7486fd
7486fd
* Tue Aug 21 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 7.0-3
7486fd
- respin (ppc32)
7486fd
7486fd
* Tue Jul 24 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 7.0-2
7486fd
- gcinit patch, ABI compatibility (#248700)
7486fd
7486fd
* Mon Jul 09 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 7.0-1
7486fd
- gc-7.0
7486fd
7486fd
* Mon Dec 11 2006 Rex Dieter <rexdieter[AT]users.sf.net> 6.8-3
7486fd
- Obsoletes/Provides: libgc(-devel) (rpmforge compatibility)
7486fd
7486fd
* Mon Aug 28 2006 Rex Dieter <rexdieter[AT]users.sf.net> 6.8-2
7486fd
- fc6 respin
7486fd
7486fd
* Thu Jul 13 2006 Rex Dieter <rexdieter[AT]users.sf.net> 6.8-1
7486fd
- 6.8
7486fd
7486fd
* Fri Mar 03 2006 Rex Dieter <rexdieter[AT]users.sf.net> 6.7-1
7486fd
- 6.7
7486fd
7486fd
* Wed Mar 1 2006 Rex Dieter <rexdieter[AT]users.sf.net>
7486fd
- fc5: gcc/glibc respin
7486fd
7486fd
* Fri Feb 10 2006 Rex Dieter <rexdieter[AT]users.sf.net> 6.6-5
7486fd
- gcc(4.1) patch
7486fd
7486fd
* Thu Dec 01 2005 Rex Dieter <rexdieter[AT]users.sf.net> 6.6-4
7486fd
- Provides: libgc(-devel)
7486fd
7486fd
* Wed Sep 14 2005 Rex Dieter <rexdieter[AT]users.sf.net> 6.6-3
7486fd
- no-undefined patch, libtool madness (#166344)
7486fd
7486fd
* Mon Sep 12 2005 Rex Dieter <rexdieter[AT]users.sf.net> 6.6-2
7486fd
- drop opendl patch (doesn't appear to be needed anymore)
7486fd
7486fd
* Fri Sep 09 2005 Rex Dieter <rexdieter[AT]users.sf.net> 6.6-1
7486fd
- 6.6
7486fd
7486fd
* Wed May 25 2005 Rex Dieter <rexdieter[AT]users.sf.net> 6.5-1
7486fd
- 6.5
7486fd
7486fd
* Wed Apr  6 2005 Michael Schwendt <mschwendt[AT]users.sf.net>
7486fd
- rebuilt
7486fd
7486fd
* Wed Jan 26 2005 Rex Dieter <rexdieter[AT]users.sf.net> 0:6.4-2
7486fd
- --enable-threads unconditionally
7486fd
- --enable-parallel-mark only on %%ix86 (#144681)
7486fd
7486fd
* Mon Jan 10 2005 Rex Dieter <rexdieter[AT]users.sf.net> 0:6.4-1
7486fd
- 6.4
7486fd
- update opendl patch
7486fd
7486fd
* Fri Jul 09 2004 Rex Dieter <rexdieter at sf.net> 0:6.3-0.fdr.1
7486fd
- 6.3(final)
7486fd
7486fd
* Tue Jun 01 2004 Rex Dieter <rexdieter at sf.net> 0:6.3-0.fdr.0.4.alpha6
7486fd
- dlopen patch
7486fd
7486fd
* Wed May 26 2004 Rex Dieter <rexdieter at sf.net> 0:6.3-0.fdr.0.3.alpha6
7486fd
- explictly --enable-threads ('n friends)
7486fd
7486fd
* Tue May 25 2004 Rex Dieter <rexdieter at sf.net> 0:6.3-0.fdr.0.2.alpha6
7486fd
- 6.3alpha6
7486fd
- --disable-static
7486fd
- --enable-parallel-mark
7486fd
7486fd
* Wed Dec 17 2003 Rex Dieter <rexdieter at sf.net> 0:6.3-0.fdr.0.1.alpha2
7486fd
- 6.3alpha2
7486fd
7486fd
* Thu Oct 02 2003 Rex Dieter <rexdieter at sf.net> 0:6.2-0.fdr.3
7486fd
- OK, put manpage in man3.
7486fd
7486fd
* Thu Oct 02 2003 Rex Dieter <rexdieter at sf.net> 0:6.2-0.fdr.2
7486fd
- drop manpage pending feedback from developer.
7486fd
7486fd
* Tue Sep 30 2003 Rex Dieter <rexdieter at sf.net> 0:6.2-0.fdr.1
7486fd
- fix manpage location
7486fd
- remove .la file (it appears unnecessary after all, thanks to opendl patch)
7486fd
- remove cvs tag from description
7486fd
- touchup -devel desc/summary.
7486fd
- macro update to support Fedora Core
7486fd
7486fd
* Thu Sep 11 2003 Rex Dieter <rexdieter at sf.net> 0:6.2-0.fdr.0
7486fd
- 6.2 release.
7486fd
- update license (BSD)
7486fd
- Consider building with: --enable-parallel-mark
7486fd
  (for now, no).