Blame SPECS/gperftools.spec

a550f9
%{?scl:%scl_package gperftools}
a550f9
%{!?scl:%global pkg_name %{name}}
a550f9
a550f9
# This package used to be called "google-perftools", but it was renamed on 2012-02-03.
a550f9
a550f9
Name:		%{?scl_prefix}gperftools
a550f9
Version:	2.0
a550f9
Release:	18%{?dist}
a550f9
License:	BSD
a550f9
Group:		Development/Tools
a550f9
Summary:	Very fast malloc and performance analysis tools
a550f9
URL:		http://code.google.com/p/gperftools/
a550f9
Source0:	http://gperftools.googlecode.com/files/%{pkg_name}-%{version}.tar.gz
a550f9
# Update to latest svn, since google forgets how to make releases
a550f9
Patch0:		gperftools-svn-r190.patch
a550f9
ExclusiveArch:	%{ix86} x86_64 ppc ppc64 %{arm}
a550f9
%ifnarch ppc ppc64
a550f9
BuildRequires:	%{?scl_prefix}libunwind-devel
a550f9
Requires:	%{?scl_prefix}libunwind
a550f9
%endif
a550f9
%{?scl:Requires: %{scl}-runtime}
a550f9
a550f9
%description
a550f9
Perf Tools is a collection of performance analysis tools, including a 
a550f9
high-performance multi-threaded malloc() implementation that works
a550f9
particularly well with threads and STL, a thread-friendly heap-checker,
a550f9
a heap profiler, and a cpu-profiler.
a550f9
a550f9
%package -n %{?scl_prefix}%{pkg_name}-devel
a550f9
Summary:	Development libraries and headers for gperftools
a550f9
Group:		Development/Libraries
a550f9
Requires:	%{name}-libs%{?_isa} = %{version}-%{release}
a550f9
a550f9
%description -n %{?scl_prefix}%{pkg_name}-devel
a550f9
Libraries and headers for developing applications that use gperftools.
a550f9
a550f9
%package -n %{?scl_prefix}%{pkg_name}-libs
a550f9
Summary:	Libraries provided by gperftools
a550f9
a550f9
%description -n %{?scl_prefix}%{pkg_name}-libs
a550f9
Libraries provided by gperftools, including libtcmalloc and libprofiler.
a550f9
a550f9
%package -n %{?scl_prefix}%{pkg_name}-pprof
a550f9
Summary:	CPU and Heap Profiler tool
a550f9
Requires:	gv, graphviz
a550f9
BuildArch:	noarch
a550f9
a550f9
%description -n %{?scl_prefix}%{pkg_name}-pprof
a550f9
Pprof is a heap and CPU profiler tool, part of the gperftools suite.
a550f9
a550f9
%prep
a550f9
%setup -q -n %{pkg_name}-%{version}
a550f9
%patch0 -p1 -b .svn-r190
a550f9
# Fix end-of-line encoding
a550f9
sed -i 's/\r//' README_windows.txt
a550f9
# No need to have exec permissions on source code
a550f9
chmod -x src/sampler.h src/sampler.cc
a550f9
# make libtool able to handle soname in format sclname-1
a550f9
sed -i -r 's|(major=\.)(\$func_arith_result)|\1$verstring_prefix\2|' ltmain.sh
a550f9
a550f9
%build
a550f9
%{?scl:scl enable %{scl} - << "EOF"}
a550f9
# fix strict-aliasing issues (see https://bugzilla.redhat.com/show_bug.cgi?id=1035187)
a550f9
CFLAGS=`echo $RPM_OPT_FLAGS -fno-strict-aliasing -Wno-unused-local-typedefs -DTCMALLOC_LARGE_PAGES | sed -e 's|-fexceptions||g'`
a550f9
CXXFLAGS=`echo $RPM_OPT_FLAGS -fno-strict-aliasing -Wno-unused-local-typedefs -DTCMALLOC_LARGE_PAGES | sed -e 's|-fexceptions||g'`
a550f9
%configure --disable-static
a550f9
%{?scl:EOF}
a550f9
a550f9
# Bad rpath!
a550f9
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
a550f9
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
a550f9
# Can't build with smp_mflags
a550f9
%{?scl:scl enable %{scl} - << "EOF"}
a550f9
export verstring_prefix="%{scl_prefix}"
a550f9
make
a550f9
%{?scl:EOF}
a550f9
a550f9
%install
a550f9
%{?scl:scl enable %{scl} - << "EOF"}
a550f9
make DESTDIR=%{buildroot} docdir=%{_docdir}/%{name}-%{version}/ install
a550f9
%{?scl:EOF}
a550f9
find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
a550f9
a550f9
# Zero files
a550f9
rm -rf %{buildroot}%{_docdir}/%{pkg_name}-%{version}/NEWS
a550f9
a550f9
# Delete useless files
a550f9
rm -rf %{buildroot}%{_docdir}/%{pkg_name}-%{version}/INSTALL
a550f9
a550f9
%check
a550f9
# http://code.google.com/p/google-perftools/issues/detail?id=153
a550f9
%ifnarch ppc
a550f9
# Their test suite is junk. Disabling.
a550f9
# LD_LIBRARY_PATH=./.libs make check
a550f9
%endif
a550f9
a550f9
%post   -n %{?scl_prefix}%{pkg_name}-libs -p /sbin/ldconfig
a550f9
%postun -n %{?scl_prefix}%{pkg_name}-libs -p /sbin/ldconfig
a550f9
a550f9
%files -n %{?scl_prefix}%{pkg_name}-pprof
a550f9
%{_bindir}/pprof
a550f9
%{_mandir}/man1/*
a550f9
a550f9
%files -n %{?scl_prefix}%{pkg_name}-devel
a550f9
%{_docdir}/%{name}-%{version}/
a550f9
%{_includedir}/google/
a550f9
%{_includedir}/gperftools/
a550f9
%{_libdir}/*.so
a550f9
%{_libdir}/pkgconfig/*.pc
a550f9
a550f9
%files -n %{?scl_prefix}%{pkg_name}-libs
a550f9
%{_libdir}/*.so.*
a550f9
a550f9
%changelog
a550f9
* Mon Feb 17 2014 Honza Horak <hhorak@redhat.com> - 2.0-18
a550f9
- Rebase due libunwind soname prefix
a550f9
  Related: #1042874
a550f9
a550f9
* Fri Jan 17 2014 Jan Pacner <jpacner@redhat.com> - 2.0-17
a550f9
- Related: RHBZ#1042874 (non-namespaced RPM provides and libraries)
a550f9
a550f9
* Mon Jan 06 2014 Jan Pacner <jpacner@redhat.com> - 2.0-16
a550f9
- Related: #1035187 (disable checks about breaking strict-aliasing rules)
a550f9
- revert the previous restoration and allow fortifying symbols
a550f9
a550f9
* Thu Jan  2 2014 Honza Horak <hhorak@redhat.com> - 2.0-15
a550f9
- Restore changes done bellow except turning off strict-aliasing
a550f9
  Related: #1035187
a550f9
a550f9
* Wed Dec 18 2013 Jan Pacner <jpacner@redhat.com> - 2.0-14
a550f9
- Resolves: #1035187 (disable checks about breaking strict-aliasing rules)
a550f9
a550f9
* Fri Dec 13 2013 Jan Pacner <jpacner@redhat.com> - 2.0-13
a550f9
- Resolves: #1039927
a550f9
a550f9
* Thu Oct 10 2013 Honza Horak <hhorak@redhat.com> - 2.0-12
a550f9
- Release bump for rebuilding
a550f9
a550f9
* Sun May  5 2013 Honza Horak <hhorak@redhat.com> - 2.0-11
a550f9
- Add support for software collections
a550f9
a550f9
* Thu Mar 14 2013 Dan HorĂ¡k <dan[at]danny.cz> - 2.0-10
a550f9
- build on ppc64 as well
a550f9
a550f9
* Fri Mar  1 2013 Tom Callaway <spot@fedoraproject.org> - 2.0-9
a550f9
- update to svn r190 (because google can't make releases)
a550f9
a550f9
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-8
a550f9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
a550f9
a550f9
* Fri Aug  3 2012 Tom Callaway <spot@fedoraproject.org> - 2.0-7
a550f9
- fix compile with glibc 2.16
a550f9
a550f9
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-6
a550f9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
a550f9
a550f9
* Mon Feb 20 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 2.0-5
a550f9
- Enable ARM as a supported arch
a550f9
a550f9
* Thu Feb 16 2012 Tom Callaway <spot@fedoraproject.org> - 2.0-4
a550f9
- fix bug in -devel Requires
a550f9
a550f9
* Tue Feb 14 2012 Tom Callaway <spot@fedoraproject.org> - 2.0-3
a550f9
- pprof doesn't actually need gperftools-libs
a550f9
a550f9
* Tue Feb 14 2012 Tom Callaway <spot@fedoraproject.org> - 2.0-2
a550f9
- rework package so that pprof is a noarch subpackage, while still
a550f9
  enforcing the ExclusiveArch for the libs
a550f9
a550f9
* Tue Feb 14 2012 Tom Callaway <spot@fedoraproject.org> - 2.0-1
a550f9
- rename to gperftools
a550f9
- update to 2.0
a550f9
a550f9
* Wed Jan  4 2012 Tom Callaway <spot@fedoraproject.org> - 1.9.1-1
a550f9
- update to 1.9.1
a550f9
a550f9
* Mon Oct 24 2011 Tom Callaway <spot@fedoraproject.org> - 1.8.3-3
a550f9
- split libraries out into subpackage to minimize dependencies
a550f9
a550f9
* Wed Sep 21 2011 Remi Collet <remi@fedoraproject.org> - 1.8.3-2
a550f9
- rebuild for new libunwind
a550f9
a550f9
* Tue Aug 30 2011 Tom Callaway <spot@fedoraproject.org> - 1.8.3-1
a550f9
- update to 1.8.3
a550f9
a550f9
* Mon Aug 22 2011 Tom Callaway <spot@fedoraproject.org> - 1.8.2-1
a550f9
- update to 1.8.2
a550f9
a550f9
* Thu Jul 28 2011 Tom Callaway <spot@fedoraproject.org> - 1.8.1-1
a550f9
- update to 1.8.1
a550f9
a550f9
* Mon Jul 18 2011 Tom Callaway <spot@fedoraproject.org> - 1.8-1
a550f9
- update to 1.8
a550f9
a550f9
* Wed Jun 29 2011 Tom Callaway <spot@fedoraproject.org> - 1.7-4
a550f9
- fix tcmalloc compile against current glibc, fix derived from:
a550f9
  http://src.chromium.org/viewvc/chrome?view=rev&revision=89800
a550f9
a550f9
* Thu May 12 2011 Tom Callaway <spot@fedoraproject.org> - 1.7-3
a550f9
- add Requires: graphviz, gv for pprof
a550f9
a550f9
* Fri Mar 11 2011 Dan HorĂ¡k <dan[at]danny.cz> - 1.7-2
a550f9
- switch to ExclusiveArch
a550f9
a550f9
* Fri Feb 18 2011 Tom Callaway <spot@fedoraproject.org> - 1.7-1
a550f9
- update to 1.7
a550f9
a550f9
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-3
a550f9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
a550f9
a550f9
* Thu Dec  2 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.6-2
a550f9
- fix pprof to work properly with jemalloc (bz 657118)
a550f9
a550f9
* Fri Aug  6 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.6-1
a550f9
- update to 1.6
a550f9
a550f9
* Wed Jan 20 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.5-1
a550f9
- update to 1.5
a550f9
- disable broken test suite
a550f9
a550f9
* Sat Sep 12 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 1.4-1
a550f9
- update to 1.4
a550f9
a550f9
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3-3
a550f9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
a550f9
a550f9
* Thu Jul  2 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 1.3-2
a550f9
- disable tests for ppc, upstream ticket #153
a550f9
a550f9
* Thu Jul  2 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 1.3-1
a550f9
- update to 1.3
a550f9
a550f9
* Wed May 20 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 1.2-1
a550f9
- update to 1.2
a550f9
a550f9
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.99.1-2
a550f9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
a550f9
a550f9
* Mon Sep 22 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 0.99.1-1
a550f9
- update to 0.99.1
a550f9
- previous patches in 0.98-1 were taken upstream
a550f9
a550f9
* Mon Aug 25 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 0.98-1
a550f9
- update to 0.98
a550f9
- fix linuxthreads.c compile (upstream issue 74)
a550f9
- fix ppc compile (upstream issue 75)
a550f9
- enable ppc
a550f9
a550f9
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 0.95-4
a550f9
- Autorebuild for GCC 4.3
a550f9
a550f9
* Tue Feb 19 2008 Tom "spot" Callaway <tcallawa@redhat.com> 0.95-3
a550f9
- re-disable ppc/ppc64
a550f9
a550f9
* Tue Feb 19 2008 Tom "spot" Callaway <tcallawa@redhat.com> 0.95-2
a550f9
- ppc/ppc64 doesn't have libunwind
a550f9
a550f9
* Tue Feb 19 2008 Tom "spot" Callaway <tcallawa@redhat.com> 0.95-1
a550f9
- 0.95 (all patches taken upstream)
a550f9
- enable ppc support
a550f9
- workaround broken ptrace header (no typedef for u32)
a550f9
a550f9
* Fri Jan  4 2008 Tom "spot" Callaway <tcallawa@redhat.com> 0.94.1-1
a550f9
- bump to 0.94.1
a550f9
- fix for gcc4.3
a550f9
- fix unittest link issue
a550f9
a550f9
* Thu Aug 23 2007 Tom "spot" Callaway <tcallawa@redhat.com> 0.93-1
a550f9
- upstream merged my patch!
a550f9
- rebuild for BuildID
a550f9
a550f9
* Wed Aug  1 2007 Tom "spot" Callaway <tcallawa@redhat.com> 0.92-1
a550f9
- bump to 0.92
a550f9
a550f9
* Thu May 17 2007 Tom "spot" Callaway <tcallawa@redhat.com> 0.91-3.1
a550f9
- excludearch ppc64
a550f9
a550f9
* Sun Apr 29 2007 Tom "spot" Callaway <tcallawa@redhat.com> 0.91-3
a550f9
- The tests work fine for me locally, but some of them fail inside mock.
a550f9
a550f9
* Sun Apr 29 2007 Tom "spot" Callaway <tcallawa@redhat.com> 0.91-2
a550f9
- no support for ppc yet
a550f9
a550f9
* Mon Apr 23 2007 Tom "spot" Callaway <tcallawa@redhat.com> 0.91-1
a550f9
- alright, lets see if this works now.
a550f9
a550f9
* Thu Oct 13 2005 Tom "spot" Callaway <tcallawa@redhat.com> 0.3-2
a550f9
- change group to Development/Tools
a550f9
a550f9
* Mon Oct 10 2005 Tom "spot" Callaway <tcallawa@redhat.com> 0.3-1
a550f9
- initial package for Fedora Extras