3282e57
%define compilers gcc g++ cc c++ gcc296 g++296 gcc32 c++32 g++32 gcc34 c++34 g++34 g++-libstdc++-so_7
43358d3
%define pkgs gcc, gcc-c++, compat-gcc, compat-gcc-c++, compat-gcc-32, compat-gcc-32-c++, gcc34, gcc34-c++, compat-gcc-34, compat-gcc-34-c++, libstdc++so7-devel
cvsextras 5dbee91
43358d3
Name:           ccache
43358d3
Version:        2.4
6dcfdc8
Release:        8%{?dist}
43358d3
Summary:        C/C++ compiler cache
cvsextras 5dbee91
43358d3
Group:          Development/Tools
43358d3
License:        GPL
43358d3
URL:            http://ccache.samba.org/
43358d3
Source0:        http://ccache.samba.org/ftp/ccache/%{name}-%{version}.tar.gz
43358d3
Patch0:         %{name}-html-links.patch
6dcfdc8
Patch1:         %{name}-2.4-coverage-231462.patch
43358d3
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
cvsextras 5dbee91
61db6ea
Requires(triggerin): coreutils
61db6ea
Requires(triggerpostun): coreutils
61db6ea
cvsextras 5dbee91
%description
1cfe064
ccache is a compiler cache.  It acts as a caching pre-processor to
cvsextras 5dbee91
C/C++ compilers, using the -E compiler switch and a hash to detect
1cfe064
when a compilation can be satisfied from cache.  This often results in
cvsextras 5dbee91
a 5 to 10 times speedup in common compilations.
cvsextras 5dbee91
cvsextras 5dbee91
cvsextras 5dbee91
%prep
cvsextras 5dbee91
%setup -q
cvsextras a76ce24
%patch0 -p0
6dcfdc8
%patch1 -p0
cvsextras 5dbee91
cvsextras 5dbee91
cvsextras 5dbee91
%build
cvsextras 5dbee91
%configure
cvsextras 5dbee91
%{__make} %{?_smp_mflags}
cvsextras 5dbee91
cat <<EOF > %{name}.sh
1cfe064
if ! echo "\$PATH" | grep -q %{_libdir}/ccache ; then
1cfe064
    PATH="%{_libdir}/ccache:\$PATH"
cvsextras 5dbee91
fi
cvsextras 5dbee91
EOF
cvsextras 5dbee91
cat <<EOF > %{name}.csh
1cfe064
if ( "\$path" !~ *%{_libdir}/ccache* ) then
1cfe064
    set path = ( %{_libdir}/ccache \$path )
cvsextras 5dbee91
endif
cvsextras 5dbee91
EOF
cvsextras 5dbee91
cvsextras 5dbee91
cvsextras 5dbee91
%install
cvsextras a76ce24
rm -rf $RPM_BUILD_ROOT %{name}-%{version}.compilers
cvsextras a76ce24
make install DESTDIR=$RPM_BUILD_ROOT
cvsextras 5dbee91
install -dm 755 $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
1cfe064
install -pm 644 %{name}.sh %{name}.csh $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
1cfe064
install -dm 755 $RPM_BUILD_ROOT%{_libdir}/ccache
cvsextras 5dbee91
for name in %{compilers} ; do
cvsextras a76ce24
  for c in $name %{_target_cpu}-%{_vendor}-%{_target_os}-$name ; do
1cfe064
    ln -s %{_bindir}/ccache $RPM_BUILD_ROOT%{_libdir}/ccache/$c
1cfe064
    echo "%ghost %{_libdir}/ccache/$c" >> %{name}-%{version}.compilers
cvsextras 5dbee91
  done
cvsextras 5dbee91
done
cvsextras 5dbee91
cvsextras 5dbee91
cvsextras 5dbee91
%clean
cvsextras 5dbee91
rm -fr $RPM_BUILD_ROOT
cvsextras 5dbee91
cvsextras 5dbee91
cvsextras 5dbee91
%triggerin -- %{pkgs}
cvsextras 5dbee91
for name in %{compilers} ; do
cvsextras a76ce24
  for c in $name %{_target_cpu}-%{_vendor}-%{_target_os}-$name ; do
1cfe064
    [ ! -x %{_bindir}/$c ] || ln -sf %{_bindir}/ccache %{_libdir}/ccache/$c
cvsextras 5dbee91
  done
cvsextras 5dbee91
done
cvsextras 5dbee91
cvsextras 5dbee91
%triggerpostun -- %{pkgs}
cvsextras 5dbee91
for name in %{compilers} ; do
cvsextras a76ce24
  for c in $name %{_target_cpu}-%{_vendor}-%{_target_os}-$name ; do
1cfe064
    [ -x %{_bindir}/$c ] || rm -f %{_libdir}/ccache/$c
cvsextras 5dbee91
  done
cvsextras 5dbee91
done
cvsextras 5dbee91
cvsextras 5dbee91
cvsextras 5dbee91
%files -f %{name}-%{version}.compilers
cvsextras 5dbee91
%defattr(-,root,root,-)
cvsextras a76ce24
%doc COPYING README web/*.html
cvsextras 5dbee91
%config %{_sysconfdir}/profile.d/%{name}.*sh
cvsextras a76ce24
%{_bindir}/ccache
43358d3
%dir %{_libdir}/ccache/
cvsextras 5dbee91
%{_mandir}/man1/ccache.1*
cvsextras 5dbee91
cvsextras 5dbee91
cvsextras 5dbee91
%changelog
6dcfdc8
* Thu Mar 15 2007 Ville Skyttä <ville.skytta at iki.fi> - 2.4-8
6dcfdc8
- Bypass cache with --coverage, -fprofile-arcs and -ftest-coverage
6dcfdc8
  (upstream CVS and Matt Fago, #231462).
6dcfdc8
61db6ea
* Fri Nov 10 2006 Ville Skyttä <ville.skytta at iki.fi> - 2.4-7
61db6ea
- Require coreutils for triggers (#215030).
61db6ea
43358d3
* Wed Aug  9 2006 Ville Skyttä <ville.skytta at iki.fi> - 2.4-6
43358d3
- Add auto-symlink support for compat-gcc-34(-c++).
43358d3
- Untabify, escape macros in changelog.
43358d3
3282e57
* Tue May 16 2006 Ville Skyttä <ville.skytta at iki.fi> - 2.4-5
3282e57
- Add auto-symlink support for g++-libstdc++-so_7.
3282e57
1cfe064
* Sat Nov 26 2005 Ville Skyttä <ville.skytta at iki.fi> - 2.4-4
1cfe064
- Drop "bin" from compiler symlink path.
1cfe064
- Make profile.d snippets non-executable (#35714).
1cfe064
8c0d504
* Sun May  1 2005 Ville Skyttä <ville.skytta at iki.fi> - 2.4-3
0907fe9
- Auto-symlink update: add compat-gcc-32 and compat-gcc-32-c++, drop
0907fe9
  bunch of no longer relevant compilers.
0907fe9
8c0d504
* Fri Apr  7 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 2.4-2
0f15e42
- rebuilt
0f15e42
cvsextras a76ce24
* Sun Sep 26 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:2.4-0.fdr.1
cvsextras a76ce24
- Update to 2.4.
cvsextras a76ce24
- Add symlinking support for gcc4 and gcc4-c++.
cvsextras a76ce24
- Move the ccache executable to %%{_bindir}.
cvsextras a76ce24
- Include more docs.
cvsextras a76ce24
cvsextras 5dbee91
* Fri Jun 25 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:2.3-0.fdr.5
cvsextras 5dbee91
- Add support for gcc33 and g++33.
cvsextras 5dbee91
cvsextras 5dbee91
* Thu Jun 10 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:2.3-0.fdr.4
cvsextras 5dbee91
- Fix hardcoded lib path in profile.d scriptlets (bug 1558).
cvsextras 5dbee91
cvsextras 5dbee91
* Mon May  3 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:2.3-0.fdr.3
cvsextras 5dbee91
- Add support for gcc34 and g++34, and
cvsextras 5dbee91
  %%{_target_cpu}-%%{_vendor}-%%{_target_os}-* variants.
cvsextras 5dbee91
cvsextras 5dbee91
* Thu Nov 13 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:2.3-0.fdr.2
cvsextras 5dbee91
- Add overriding symlinks for gcc-ssa and g++-ssa (bug 963).
cvsextras 5dbee91
cvsextras 5dbee91
* Tue Nov 11 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:2.3-0.fdr.1
cvsextras 5dbee91
- Update to 2.3.
cvsextras 5dbee91
- Implement triggers to keep list of "aliased" compilers up to date on the fly.
cvsextras 5dbee91
- Add gcc32 and a bunch of legacy packages to the list of overridden compilers.
cvsextras 5dbee91
cvsextras 5dbee91
* Sat Aug  2 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:2.2-0.fdr.6
cvsextras 5dbee91
- Add c++ to the list of overridden compilers (bug 548).
cvsextras 5dbee91
- Own everything including dirs under %%{_libdir}/ccache (bug 529).
cvsextras 5dbee91
- %%{buildroot} -> $RPM_BUILD_ROOT.
cvsextras 5dbee91
- Fix man page permissions.
cvsextras 5dbee91
- Use %%{?_smp_mflags}.
cvsextras 5dbee91
- Other cosmetic specfile tweaks.
cvsextras 5dbee91
cvsextras 5dbee91
* Fri Mar 29 2003 Warren Togami <warren@togami.com> 2.2-0.fdr.5
cvsextras 5dbee91
- Epoch: 0
cvsextras 5dbee91
- Remove /usr/lib/ccache/sbin from PATH
cvsextras 5dbee91
cvsextras 5dbee91
* Fri Mar 28 2003 Warren Togami <warren@togami.com> 2.2-0.fdr.4
cvsextras 5dbee91
- Add BuildRequires: autoconf >= 0:2.52
cvsextras 5dbee91
- Add Requires: gcc, gcc-c++ (minimal expectation of compilers)
cvsextras 5dbee91
cvsextras 5dbee91
* Fri Mar 28 2003 Warren Togami <warren@togami.com> 2.2-0.fdr.3
43358d3
- No longer use %%ghost, symlinks always exist
cvsextras 5dbee91
cvsextras 5dbee91
* Thu Mar 27 2003 Warren Togami <warren@togami.com> 2.2-0.fdr.2
cvsextras 5dbee91
- Move symlinks to /usr/lib/ccache/bin
cvsextras 5dbee91
- Use /etc/profile.d/ccache.* scripts to add it to PATH
cvsextras 5dbee91
  As long as it is before /usr/bin it is good.
cvsextras 5dbee91
cvsextras 5dbee91
* Thu Mar 27 2003 Warren Togami <warren@togami.com> 2.2-0.fdr.1
cvsextras 5dbee91
- Move symlinks to /bin since it seems to be at the beginning of PATH of all users
cvsextras 5dbee91
    before /usr/bin, the location of the real compiler.
43358d3
- Package symlinks rather than create and remove during %%post and %%postun
cvsextras 5dbee91
cvsextras 5dbee91
* Thu Feb 20 2003 Warren Togami <warren@togami.com> 2.2-4.fedora.1
cvsextras 5dbee91
- Fedora
cvsextras 5dbee91
cvsextras 5dbee91
* Thu Feb 20 2003 Samir M. Nassar <rpm@redconcepts.net> 2.2-3.redconcepts
cvsextras 5dbee91
- Added symlinks to g++
cvsextras 5dbee91
- Removed symlink removal in post
cvsextras 5dbee91
cvsextras 5dbee91
* Thu Feb 20 2003 Samir M. Nassar <rpm@redconcepts.net> 2.2-2.redconcepts
cvsextras 5dbee91
- Cleans symlinks if present to make upgrades easier
cvsextras 5dbee91
cvsextras 5dbee91
* Thu Feb 20 2003 Samir M. Nassar <rpm@redconcepts.net> 2.2-1.redconcepts
cvsextras 5dbee91
- Upgraded to ccache 2.2
cvsextras 5dbee91
cvsextras 5dbee91
* Tue Feb 04 2003 Samir M. Nassar <rpm@redconcepts.net> 2.1.1-4.redconcepts
43358d3
- Using %%post to create the soft symlinks
43358d3
- Using %%postun to remove the soft symlinks
cvsextras 5dbee91
- Thanks to Che <che666@uni.de> for the help
cvsextras 5dbee91
- Packaged as user
cvsextras 5dbee91
cvsextras 5dbee91
* Sun Jan 19 2003 Samir M. Nassar <rpm@redconcepts.net> 2.1.1-3.redconcepts
cvsextras 5dbee91
- make a soft symlink between ccache and gcc
cvsextras 5dbee91
- make a soft symlink between ccache and cc
cvsextras 5dbee91
cvsextras 5dbee91
* Thu Jan 16 2003 Samir M. Nassar <rpm@redconcepts.net> 2.1.1-2.redconcepts
cvsextras 5dbee91
- Normalized spec file.
cvsextras 5dbee91
cvsextras 5dbee91
* Wed Jan 15 2003 Samir M, Nassar <rpm@redconcepts.net> 2.1.1-1.redconcepts
cvsextras 5dbee91
- Using ccache 2.2.1 sources
cvsextras 5dbee91
- Changed release to redconcepts for consistency
cvsextras 5dbee91
cvsextras 5dbee91
* Wed Oct 22 2002 Samir M. Nassar <rpm.redconcepts.net> 1.9-1.rcn
cvsextras 5dbee91
- Initial RedConcepts.NET (rcn) build for Red Hat Linux 8.0