summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLucas Yamanishi <lucas.yamanishi@gmail.com>2020-05-26 13:58:23 -0400
committerSam James <sam@gentoo.org>2021-12-21 04:19:18 +0000
commita857ea599201b42ab12a2919badfd7b34997cbbb (patch)
tree4aba15660918c18bf1ba1318d708e1c8ee8fc2a9 /sys-devel/icecream
parentkde-apps/gwenview: fix kipi automagic typo (diff)
downloadgentoo-a857ea599201b42ab12a2919badfd7b34997cbbb.tar.gz
gentoo-a857ea599201b42ab12a2919badfd7b34997cbbb.tar.bz2
gentoo-a857ea599201b42ab12a2919badfd7b34997cbbb.zip
sys-devel/icecream: Bump to 1.3.1, various fixes
* Fixes bug #602492 * Adds systemd support * Installs firewalld service files Bug: https://bugs.gentoo.org/602492 Closes: https://bugs.gentoo.org/527376 Closes: https://bugs.gentoo.org/642674 Closes: https://github.com/gentoo/gentoo/pull/15975 Signed-off-by: Lucas Yamanishi <lucas.yamanishi@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-devel/icecream')
-rw-r--r--sys-devel/icecream/Manifest1
-rw-r--r--sys-devel/icecream/files/icecc-scheduler.service12
-rw-r--r--sys-devel/icecream/files/iceccd.service12
-rw-r--r--sys-devel/icecream/files/icecream-tmpfiles.conf2
-rw-r--r--sys-devel/icecream/files/icecream.openrc55
-rw-r--r--sys-devel/icecream/icecream-1.3.1.ebuild85
6 files changed, 167 insertions, 0 deletions
diff --git a/sys-devel/icecream/Manifest b/sys-devel/icecream/Manifest
index 2cfb48ce5b59..1b0adc19c2ea 100644
--- a/sys-devel/icecream/Manifest
+++ b/sys-devel/icecream/Manifest
@@ -1 +1,2 @@
DIST icecc-1.0.0.tar.bz2 485534 BLAKE2B 31a978a4a461f20716a95277426e79d4c298c212d36361dbbd68c5affcbbbe2f0c71f743cc7b731d86fbb5f09ab556182482f56e1382be8572d019f80a004fc8 SHA512 4292ecef6232112c3f4531cb2290a55f70c5c24095fef0865af2526d49fc10a043ffb06d22552e161f671c18ff1ab62795c3a63e2c8cb26f869cf65d0938af2a
+DIST icecream-1.3.1.tar.gz 224068 BLAKE2B d7d66dadf27b0b88ab706bf217ce2b0d33b5db2ed95e48c4e9dcbd000931688ad6809ecbd4e14f0f3889bcebddc8543bd364c9dda09ba71e5dc04d0a5a2122d5 SHA512 d850394b4093defcf2c50bb3f9306348a45bf17d21f4730baeee7125998c2a548b7b3a7597785855d7e388e84830769bf0ec1c4136330a4c8e359cbdd111f5da
diff --git a/sys-devel/icecream/files/icecc-scheduler.service b/sys-devel/icecream/files/icecc-scheduler.service
new file mode 100644
index 000000000000..f0db05af534e
--- /dev/null
+++ b/sys-devel/icecream/files/icecc-scheduler.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Icecream distributed compiler scheduler
+
+[Service]
+Type=simple
+User=icecream
+Group=icecream
+SyslogIdentifier=icecc-scheduler
+ExecStart=/usr/sbin/icecc-scheduler -u icecream -l /var/log/icecream/scheduler -v
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sys-devel/icecream/files/iceccd.service b/sys-devel/icecream/files/iceccd.service
new file mode 100644
index 000000000000..0b74362dfb3a
--- /dev/null
+++ b/sys-devel/icecream/files/iceccd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Icecream Distributed Compiler
+After=network.target nss-lookup.target
+
+[Service]
+Type=simple
+SyslogIdentifier=iceccd
+ExecStart=/usr/sbin/iceccd -u icecream -b /var/cache/icecream -l /var/log/icecream/iceccd -v
+Nice=5
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sys-devel/icecream/files/icecream-tmpfiles.conf b/sys-devel/icecream/files/icecream-tmpfiles.conf
new file mode 100644
index 000000000000..a7cbf53f96ef
--- /dev/null
+++ b/sys-devel/icecream/files/icecream-tmpfiles.conf
@@ -0,0 +1,2 @@
+d /run/icecc 0775 root icecream -
+d /var/cache/icecream 0755 icecream icecream 3d
diff --git a/sys-devel/icecream/files/icecream.openrc b/sys-devel/icecream/files/icecream.openrc
new file mode 100644
index 000000000000..b574874b2075
--- /dev/null
+++ b/sys-devel/icecream/files/icecream.openrc
@@ -0,0 +1,55 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+}
+
+start() {
+ basedir="${ICECREAM_BASEDIR:-'/var/cache/icecream'}"
+ verbosity="${ICECREAM_VERBOSITY:-'-v'}"
+ netname="${ICECREAM_NETNAME:+"-n ${ICECREAM_NETNAME}"}"
+ iceccd_logfile="${ICECREAM_LOG_FILE:-'/var/log/icecream/iceccd'}"
+ nice="${ICECREAM_NICE_LEVEL:+"--nice ${ICECREAM_NICE_LEVEL}"}"
+ scheduler="${ICECREAM_SCHEDULER_HOST:+"-s ${ICECREAM_SCHEDULER_HOST}"}"
+
+ if [ "$ICECREAM_RUN_SCHEDULER" = 'yes' ]; then
+ sched_logfile="${ICECREAM_SCHEDULER_LOG_FILE:-'/var/log/icecream/scheduler'}"
+
+ ebegin 'Starting Distributed Compiler Scheduler'
+ start-stop-daemon -u icecream --start --quiet --exec /usr/sbin/icecc-scheduler -- -d -l "$sched_logfile" $netname $verbosity
+ eend ${?}
+ fi
+
+ noremote=''
+ if test "$ICECREAM_ALLOW_REMOTE" = 'no' 2> /dev/null; then
+ noremote='--no-remote'
+ fi
+
+ maxjobs=''
+ if [ -n "$ICECREAM_MAX_JOBS" ]; then
+ if test "$ICECREAM_MAX_JOBS" -eq 0 2> /dev/null; then
+ maxjobs='-m 1'
+ noremote='--no-remote'
+ else
+ maxjobs="-m $ICECREAM_MAX_JOBS"
+ fi
+ fi
+
+ ebegin 'Starting Distributed Compiler Daemon'
+ start-stop-daemon --start --quiet --exec /usr/sbin/iceccd -- -d -l "$iceccd_logfile" $nice $scheduler $netname -u icecream -b "$basedir" $maxjobs $noremote $verbosity
+ eend ${?}
+}
+
+stop() {
+ ebegin 'Stopping Distributed Compiler Daemon'
+ start-stop-daemon --stop --quiet --name iceccd
+ eend ${?}
+
+ if [ "${ICECREAM_RUN_SCHEDULER}" = 'yes' ]; then
+ ebegin 'Stopping Distributed Compiler Scheduler'
+ start-stop-daemon --stop --quiet --name icecc-scheduler
+ eend ${?}
+ fi
+}
diff --git a/sys-devel/icecream/icecream-1.3.1.ebuild b/sys-devel/icecream/icecream-1.3.1.ebuild
new file mode 100644
index 000000000000..d9443057aaaf
--- /dev/null
+++ b/sys-devel/icecream/icecream-1.3.1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools systemd tmpfiles
+
+DESCRIPTION='Distributed compiling of C(++) code across several machines; based on distcc'
+HOMEPAGE='https://github.com/icecc/icecream'
+SRC_URI="https://github.com/icecc/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE='GPL-2'
+SLOT='0'
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~sparc ~x86"
+IUSE='systemd'
+
+DEPEND='
+ acct-user/icecream
+ acct-group/icecream
+ sys-libs/libcap-ng
+ app-text/docbook2X
+ app-arch/zstd
+'
+RDEPEND="
+ ${DEPEND}
+ dev-util/shadowman
+ systemd? ( sys-apps/systemd )
+"
+
+AT_NOELIBTOOLIZE='yes'
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-clang-rewrite-includes \
+ --enable-clang-wrappers \
+ --disable-fast-install
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+
+ if use systemd; then
+ systemd_dounit "${FILESDIR}/iceccd.service"
+ systemd_dounit "${FILESDIR}/icecc-scheduler.service"
+ else
+ newconfd suse/sysconfig.icecream icecream
+ newinitd "${FILESDIR}/icecream.openrc" icecream
+ fi
+
+ keepdir /var/log/icecream
+ fowners icecream:icecream /var/log/icecream
+ fperms 0750 /var/log/icecream
+
+ newtmpfiles "${FILESDIR}/icecream-tmpfiles.conf" icecream.conf
+
+ insinto /etc/logrotate.d
+ newins suse/logrotate icecream
+
+ insinto /etc/firewalld/services
+ doins suse/iceccd.xml
+ doins suse/icecc-scheduler.xml
+
+ insinto /usr/share/shadowman/tools
+ newins - icecc <<<'/usr/libexec/icecc/bin'
+}
+
+pkg_prerm() {
+ if [[ -z ${REPLACED_BY_VERSION} && ${ROOT} == / ]]; then
+ eselect compiler-shadow remove icecc
+ fi
+}
+
+pkg_postinst() {
+ tmpfiles_process icecream.conf
+
+ if [[ ${ROOT} == / ]]; then
+ eselect compiler-shadow update icecc
+ fi
+}