04248c3075
- Update to version 3.7.10: * Improved handling of profiling options. ccache should now work correctly for profiling options like -fprofile-{generate,use}[=path] for GCC ≥ 9 and Clang as well as -fauto-profile[=path] and the Clang-specific -fprofile-instr-{generate,use}[=path] and -fprofile-sample-{use,accurate} options. * ccache now copies files directly from the cache to the destination file instead of via a temporary file. This avoids problems when using filenames long enough to be near the file system’s filename max limit. * When the hard-link mode is enabled, ccache now only uses hard links for object files, not other files like dependency files. This is because compilers unlink object files before writing to them but they don’t do that for dependency files, so the latter can become overwritten and therefore corrupted in the cache. * Fixed a glitch related to hard-link mode and an empty cache. * ccache now supports the ccache.conf file to be a symlink. * Temporary files are now deleted immediately on signals like SIGTERM and SIGINT instead of some time later in a cleanup phase. * Fixed a bug that affected ccache’s -o/--set-config option for the base_dir and cache_dir_levels keys. OBS-URL: https://build.opensuse.org/request/show/821771 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=94
81 lines
2.5 KiB
RPMSpec
81 lines
2.5 KiB
RPMSpec
#
|
|
# spec file for package ccache
|
|
#
|
|
# Copyright (c) 2020 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
Name: ccache
|
|
Version: 3.7.10
|
|
Release: 0
|
|
Summary: A Fast C/C++ Compiler Cache
|
|
License: GPL-3.0-or-later
|
|
URL: https://ccache.dev/
|
|
Source0: https://github.com/ccache/ccache/releases/download/v%{version}/ccache-%{version}.tar.xz#/%{name}-%{version}.tar.xz
|
|
Source1: https://github.com/ccache/ccache/releases/download/v%{version}/ccache-%{version}.tar.xz.asc#/%{name}-%{version}.tar.xz.asc
|
|
Source2: %{name}.keyring
|
|
# PATCH-FEATURE-UPSTREAM 0001-Add-another-cleanup-mechanism-evict-older-than.patch https://github.com/ccache/ccache/pull/605
|
|
Patch0: 0001-Add-another-cleanup-mechanism-evict-older-than.patch
|
|
BuildRequires: zlib-devel
|
|
Provides: distcc:%{_bindir}/ccache
|
|
|
|
%description
|
|
ccache is a compiler cache. It speeds up recompilation by caching the
|
|
result of previous compilations and detecting when the same compilation is
|
|
being done again. Supported languages are C, C++, Objective-C and
|
|
Objective-C++.
|
|
|
|
%prep
|
|
%setup -q
|
|
%patch0 -p1
|
|
|
|
%build
|
|
%configure \
|
|
--without-bundled-zlib
|
|
%make_build
|
|
|
|
%install
|
|
%make_install
|
|
|
|
# create the compat symlinks into /usr/libdir/ccache
|
|
mkdir -p %{buildroot}/%{_libdir}/%{name}
|
|
cd %{buildroot}/%{_libdir}/%{name}
|
|
ln -sf ../../bin/%{name} gcc
|
|
ln -sf ../../bin/%{name} g++
|
|
ln -sf ../../bin/%{name} gcc-objc
|
|
ln -sf ../../bin/%{name} gfortran
|
|
# do the same for clang
|
|
ln -sf ../../bin/%{name} clang
|
|
ln -sf ../../bin/%{name} clang++
|
|
# and regular cc
|
|
ln -sf ../../bin/%{name} cc
|
|
ln -sf ../../bin/%{name} c++
|
|
# and for nvidia cuda
|
|
ln -sf ../../bin/%{name} nvcc
|
|
|
|
%ifnarch %{ix86}
|
|
# Testsuite fails on i586
|
|
%check
|
|
%make_build check
|
|
%endif
|
|
|
|
%files
|
|
%license LICENSE.* GPL-3.0.txt
|
|
%doc doc/AUTHORS.* doc/MANUAL.* doc/NEWS.* README.*
|
|
%{_bindir}/%{name}
|
|
%{_libdir}/%{name}
|
|
%{_mandir}/man1/%{name}.1%{?ext_man}
|
|
|
|
%changelog
|