diff options
author | Lucas Yamanishi <lucas.yamanishi@gmail.com> | 2020-05-26 13:58:23 -0400 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2021-12-21 04:19:18 +0000 |
commit | a857ea599201b42ab12a2919badfd7b34997cbbb (patch) | |
tree | 4aba15660918c18bf1ba1318d708e1c8ee8fc2a9 /sys-devel | |
parent | kde-apps/gwenview: fix kipi automagic typo (diff) | |
download | gentoo-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')
-rw-r--r-- | sys-devel/icecream/Manifest | 1 | ||||
-rw-r--r-- | sys-devel/icecream/files/icecc-scheduler.service | 12 | ||||
-rw-r--r-- | sys-devel/icecream/files/iceccd.service | 12 | ||||
-rw-r--r-- | sys-devel/icecream/files/icecream-tmpfiles.conf | 2 | ||||
-rw-r--r-- | sys-devel/icecream/files/icecream.openrc | 55 | ||||
-rw-r--r-- | sys-devel/icecream/icecream-1.3.1.ebuild | 85 |
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 +} |