]> git.ipfire.org Git - ipfire-3.x.git/blob - ccache/ccache.nm
ccache: Update to 3.7.1
[ipfire-3.x.git] / ccache / ccache.nm
1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
5
6 name = ccache
7 version = 3.7.1
8 release = 1
9
10 groups = Development/Compilers
11 url = https://ccache.dev
12 license = GPLv2+
13 summary = C/C++ compiler cache.
14
15 description
16 ccache is a compiler cache. It acts as a caching pre-processor to
17 C/C++ compilers, using the -E compiler switch and a hash to detect
18 when a compilation can be satisfied from cache. This often results in
19 a 5 to 10 times speedup in common compilations.
20 end
21
22 source_dl = https://github.com/ccache/ccache/releases/download/v%{version}/
23 sources = %{thisapp}.tar.xz
24
25 # Sets ccache max size up to 2 GB
26 CFLAGS += -DDEFAULT_MAXSIZE=2097152
27
28 build
29 requires
30 autoconf
31 automake
32 perl
33 zlib-devel
34 end
35
36 CCACHE_CACHE = %{localstatedir}/cache/ccache
37
38 prepare_cmds
39 # Do not run test for pre-compiled headers
40 sed -e "/^pch$/d" -i test/run
41
42 # Remove shipped zlib
43 rm -rf zlib
44 end
45
46 test
47 make check
48 end
49
50 install_cmds
51 CCACHE_PLATFORM_TARGET=$(echo %{DISTRO_MACHINE} | sed -e "s/-gnu//g")
52
53 mkdir -pv %{BUILDROOT}%{libdir}/ccache
54 for i in gcc g++ cc c++; do \
55 ln -svf ../../bin/ccache %{BUILDROOT}%{libdir}/ccache/${i}; \
56 ln -svf ../../bin/ccache %{BUILDROOT}%{libdir}/ccache/${CCACHE_PLATFORM_TARGET}-${i}; \
57 done
58
59 mkdir -pv %{BUILDROOT}/etc/profile.d
60 sed -e "s|@LIBDIR@|%{libdir}|g" -e "s|@CACHEDIR@|%{CCACHE_CACHE}|g" \
61 < %{DIR_SOURCE}/ccache.sh > %{BUILDROOT}/etc/profile.d/ccache.sh
62
63 mkdir -pv -m770 %{BUILDROOT}/%{CCACHE_CACHE}
64 end
65 end
66
67 packages
68 package %{name}
69
70 package %{name}-debuginfo
71 template DEBUGINFO
72 end
73 end