Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-devel/icecream/, sys-devel/icecream/files/
Date: Tue, 21 Dec 2021 04:19:35
Message-Id: 1640060358.a857ea599201b42ab12a2919badfd7b34997cbbb.sam@gentoo
1 commit: a857ea599201b42ab12a2919badfd7b34997cbbb
2 Author: Lucas Yamanishi <lucas.yamanishi <AT> gmail <DOT> com>
3 AuthorDate: Tue May 26 17:58:23 2020 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Tue Dec 21 04:19:18 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a857ea59
7
8 sys-devel/icecream: Bump to 1.3.1, various fixes
9
10 * Fixes bug #602492
11 * Adds systemd support
12 * Installs firewalld service files
13
14 Bug: https://bugs.gentoo.org/602492
15 Closes: https://bugs.gentoo.org/527376
16 Closes: https://bugs.gentoo.org/642674
17 Closes: https://github.com/gentoo/gentoo/pull/15975
18 Signed-off-by: Lucas Yamanishi <lucas.yamanishi <AT> gmail.com>
19 Signed-off-by: Sam James <sam <AT> gentoo.org>
20
21 sys-devel/icecream/Manifest | 1 +
22 sys-devel/icecream/files/icecc-scheduler.service | 12 ++++
23 sys-devel/icecream/files/iceccd.service | 12 ++++
24 sys-devel/icecream/files/icecream-tmpfiles.conf | 2 +
25 sys-devel/icecream/files/icecream.openrc | 55 +++++++++++++++
26 sys-devel/icecream/icecream-1.3.1.ebuild | 85 ++++++++++++++++++++++++
27 6 files changed, 167 insertions(+)
28
29 diff --git a/sys-devel/icecream/Manifest b/sys-devel/icecream/Manifest
30 index 2cfb48ce5b59..1b0adc19c2ea 100644
31 --- a/sys-devel/icecream/Manifest
32 +++ b/sys-devel/icecream/Manifest
33 @@ -1 +1,2 @@
34 DIST icecc-1.0.0.tar.bz2 485534 BLAKE2B 31a978a4a461f20716a95277426e79d4c298c212d36361dbbd68c5affcbbbe2f0c71f743cc7b731d86fbb5f09ab556182482f56e1382be8572d019f80a004fc8 SHA512 4292ecef6232112c3f4531cb2290a55f70c5c24095fef0865af2526d49fc10a043ffb06d22552e161f671c18ff1ab62795c3a63e2c8cb26f869cf65d0938af2a
35 +DIST icecream-1.3.1.tar.gz 224068 BLAKE2B d7d66dadf27b0b88ab706bf217ce2b0d33b5db2ed95e48c4e9dcbd000931688ad6809ecbd4e14f0f3889bcebddc8543bd364c9dda09ba71e5dc04d0a5a2122d5 SHA512 d850394b4093defcf2c50bb3f9306348a45bf17d21f4730baeee7125998c2a548b7b3a7597785855d7e388e84830769bf0ec1c4136330a4c8e359cbdd111f5da
36
37 diff --git a/sys-devel/icecream/files/icecc-scheduler.service b/sys-devel/icecream/files/icecc-scheduler.service
38 new file mode 100644
39 index 000000000000..f0db05af534e
40 --- /dev/null
41 +++ b/sys-devel/icecream/files/icecc-scheduler.service
42 @@ -0,0 +1,12 @@
43 +[Unit]
44 +Description=Icecream distributed compiler scheduler
45 +
46 +[Service]
47 +Type=simple
48 +User=icecream
49 +Group=icecream
50 +SyslogIdentifier=icecc-scheduler
51 +ExecStart=/usr/sbin/icecc-scheduler -u icecream -l /var/log/icecream/scheduler -v
52 +
53 +[Install]
54 +WantedBy=multi-user.target
55
56 diff --git a/sys-devel/icecream/files/iceccd.service b/sys-devel/icecream/files/iceccd.service
57 new file mode 100644
58 index 000000000000..0b74362dfb3a
59 --- /dev/null
60 +++ b/sys-devel/icecream/files/iceccd.service
61 @@ -0,0 +1,12 @@
62 +[Unit]
63 +Description=Icecream Distributed Compiler
64 +After=network.target nss-lookup.target
65 +
66 +[Service]
67 +Type=simple
68 +SyslogIdentifier=iceccd
69 +ExecStart=/usr/sbin/iceccd -u icecream -b /var/cache/icecream -l /var/log/icecream/iceccd -v
70 +Nice=5
71 +
72 +[Install]
73 +WantedBy=multi-user.target
74
75 diff --git a/sys-devel/icecream/files/icecream-tmpfiles.conf b/sys-devel/icecream/files/icecream-tmpfiles.conf
76 new file mode 100644
77 index 000000000000..a7cbf53f96ef
78 --- /dev/null
79 +++ b/sys-devel/icecream/files/icecream-tmpfiles.conf
80 @@ -0,0 +1,2 @@
81 +d /run/icecc 0775 root icecream -
82 +d /var/cache/icecream 0755 icecream icecream 3d
83
84 diff --git a/sys-devel/icecream/files/icecream.openrc b/sys-devel/icecream/files/icecream.openrc
85 new file mode 100644
86 index 000000000000..b574874b2075
87 --- /dev/null
88 +++ b/sys-devel/icecream/files/icecream.openrc
89 @@ -0,0 +1,55 @@
90 +#!/sbin/openrc-run
91 +# Copyright 1999-2013 Gentoo Foundation
92 +# Distributed under the terms of the GNU General Public License v2
93 +
94 +depend() {
95 + need net
96 +}
97 +
98 +start() {
99 + basedir="${ICECREAM_BASEDIR:-'/var/cache/icecream'}"
100 + verbosity="${ICECREAM_VERBOSITY:-'-v'}"
101 + netname="${ICECREAM_NETNAME:+"-n ${ICECREAM_NETNAME}"}"
102 + iceccd_logfile="${ICECREAM_LOG_FILE:-'/var/log/icecream/iceccd'}"
103 + nice="${ICECREAM_NICE_LEVEL:+"--nice ${ICECREAM_NICE_LEVEL}"}"
104 + scheduler="${ICECREAM_SCHEDULER_HOST:+"-s ${ICECREAM_SCHEDULER_HOST}"}"
105 +
106 + if [ "$ICECREAM_RUN_SCHEDULER" = 'yes' ]; then
107 + sched_logfile="${ICECREAM_SCHEDULER_LOG_FILE:-'/var/log/icecream/scheduler'}"
108 +
109 + ebegin 'Starting Distributed Compiler Scheduler'
110 + start-stop-daemon -u icecream --start --quiet --exec /usr/sbin/icecc-scheduler -- -d -l "$sched_logfile" $netname $verbosity
111 + eend ${?}
112 + fi
113 +
114 + noremote=''
115 + if test "$ICECREAM_ALLOW_REMOTE" = 'no' 2> /dev/null; then
116 + noremote='--no-remote'
117 + fi
118 +
119 + maxjobs=''
120 + if [ -n "$ICECREAM_MAX_JOBS" ]; then
121 + if test "$ICECREAM_MAX_JOBS" -eq 0 2> /dev/null; then
122 + maxjobs='-m 1'
123 + noremote='--no-remote'
124 + else
125 + maxjobs="-m $ICECREAM_MAX_JOBS"
126 + fi
127 + fi
128 +
129 + ebegin 'Starting Distributed Compiler Daemon'
130 + start-stop-daemon --start --quiet --exec /usr/sbin/iceccd -- -d -l "$iceccd_logfile" $nice $scheduler $netname -u icecream -b "$basedir" $maxjobs $noremote $verbosity
131 + eend ${?}
132 +}
133 +
134 +stop() {
135 + ebegin 'Stopping Distributed Compiler Daemon'
136 + start-stop-daemon --stop --quiet --name iceccd
137 + eend ${?}
138 +
139 + if [ "${ICECREAM_RUN_SCHEDULER}" = 'yes' ]; then
140 + ebegin 'Stopping Distributed Compiler Scheduler'
141 + start-stop-daemon --stop --quiet --name icecc-scheduler
142 + eend ${?}
143 + fi
144 +}
145
146 diff --git a/sys-devel/icecream/icecream-1.3.1.ebuild b/sys-devel/icecream/icecream-1.3.1.ebuild
147 new file mode 100644
148 index 000000000000..d9443057aaaf
149 --- /dev/null
150 +++ b/sys-devel/icecream/icecream-1.3.1.ebuild
151 @@ -0,0 +1,85 @@
152 +# Copyright 1999-2020 Gentoo Authors
153 +# Distributed under the terms of the GNU General Public License v2
154 +
155 +EAPI=7
156 +
157 +inherit autotools systemd tmpfiles
158 +
159 +DESCRIPTION='Distributed compiling of C(++) code across several machines; based on distcc'
160 +HOMEPAGE='https://github.com/icecc/icecream'
161 +SRC_URI="https://github.com/icecc/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
162 +
163 +LICENSE='GPL-2'
164 +SLOT='0'
165 +KEYWORDS="~amd64 ~arm ~hppa ~ppc ~sparc ~x86"
166 +IUSE='systemd'
167 +
168 +DEPEND='
169 + acct-user/icecream
170 + acct-group/icecream
171 + sys-libs/libcap-ng
172 + app-text/docbook2X
173 + app-arch/zstd
174 +'
175 +RDEPEND="
176 + ${DEPEND}
177 + dev-util/shadowman
178 + systemd? ( sys-apps/systemd )
179 +"
180 +
181 +AT_NOELIBTOOLIZE='yes'
182 +
183 +src_prepare() {
184 + default
185 + eautoreconf
186 +}
187 +
188 +src_configure() {
189 + econf \
190 + --enable-clang-rewrite-includes \
191 + --enable-clang-wrappers \
192 + --disable-fast-install
193 +}
194 +
195 +src_install() {
196 + default
197 + find "${D}" -name '*.la' -delete || die
198 +
199 + if use systemd; then
200 + systemd_dounit "${FILESDIR}/iceccd.service"
201 + systemd_dounit "${FILESDIR}/icecc-scheduler.service"
202 + else
203 + newconfd suse/sysconfig.icecream icecream
204 + newinitd "${FILESDIR}/icecream.openrc" icecream
205 + fi
206 +
207 + keepdir /var/log/icecream
208 + fowners icecream:icecream /var/log/icecream
209 + fperms 0750 /var/log/icecream
210 +
211 + newtmpfiles "${FILESDIR}/icecream-tmpfiles.conf" icecream.conf
212 +
213 + insinto /etc/logrotate.d
214 + newins suse/logrotate icecream
215 +
216 + insinto /etc/firewalld/services
217 + doins suse/iceccd.xml
218 + doins suse/icecc-scheduler.xml
219 +
220 + insinto /usr/share/shadowman/tools
221 + newins - icecc <<<'/usr/libexec/icecc/bin'
222 +}
223 +
224 +pkg_prerm() {
225 + if [[ -z ${REPLACED_BY_VERSION} && ${ROOT} == / ]]; then
226 + eselect compiler-shadow remove icecc
227 + fi
228 +}
229 +
230 +pkg_postinst() {
231 + tmpfiles_process icecream.conf
232 +
233 + if [[ ${ROOT} == / ]]; then
234 + eselect compiler-shadow update icecc
235 + fi
236 +}