sys-devel/icecream: add missing files
Package-Manager: Portage-2.3.89, Repoman-2.3.20
This commit is contained in:
parent
b143aa316f
commit
23fa114c18
43
sys-devel/icecream/files/icecream
Normal file
43
sys-devel/icecream/files/icecream
Normal file
@ -0,0 +1,43 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
depend() {
|
||||
need net
|
||||
}
|
||||
|
||||
start() {
|
||||
local basedir=${ICECREAM_BASEDIR:-"/var/cache/icecream"}
|
||||
local netname=${ICECREAM_NETNAME:+"-n ${ICECREAM_NETNAME}"}
|
||||
local logfile=${ICECREAM_LOG_FILE:+"-l ${ICECREAM_LOG_FILE}"}
|
||||
local nice=${ICECREAM_NICE_LEVEL:+"--nice ${ICECREAM_NICE_LEVEL}"}
|
||||
local scheduler=${ICECREAM_SCHEDULER_HOST:+"-s ${ICECREAM_SCHEDULER_HOST}"}
|
||||
local maxjobs=${ICECREAM_MAX_JOBS:+"-m ${ICECREAM_MAX_JOBS}"}
|
||||
local verbosity=${ICECREAM_VERBOSITY:-"-v"}
|
||||
|
||||
if [[ "${ICECREAM_RUN_SCHEDULER}" == "yes" ]]; then
|
||||
local slogfile=${ICECREAM_SCHEDULER_LOG_FILE:-"/var/log/icecc_scheduler"}
|
||||
touch ${slogfile} && chown icecream:icecream ${slogfile}
|
||||
slogfile=${slogfile:+"-l ${slogfile}"}
|
||||
ebegin "Starting Distributed Compiler Scheduler"
|
||||
start-stop-daemon -u icecream --start --quiet --exec /usr/sbin/scheduler -- -d ${slogfile} ${netname} ${verbosity}
|
||||
eend ${?}
|
||||
fi
|
||||
|
||||
[[ ! -d ${basedir} ]] && mkdir -p ${basedir} && chown icecream:icecream ${basedir}
|
||||
ebegin "Starting Distributed Compiler Daemon"
|
||||
start-stop-daemon --start --quiet --exec /usr/sbin/iceccd -- -d ${logfile} ${nice} ${scheduler} ${netname} -u icecream -b "${basedir}" ${maxjobs} ${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 scheduler
|
||||
eend ${?}
|
||||
fi
|
||||
}
|
69
sys-devel/icecream/files/icecream-config
Normal file
69
sys-devel/icecream/files/icecream-config
Normal file
@ -0,0 +1,69 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# icecream-config - helper script for icecream and its ebuild
|
||||
#
|
||||
# Copyright 2003-2010 Superlucidity Services, LLC
|
||||
# This program licensed under the GNU GPL version 2.
|
||||
#
|
||||
# This script developed by Zachary T Welch at Superlucidity Services, LLC
|
||||
# it was cloned from the distcc-config script to make ccache-config
|
||||
# and then modified by Marcus Furlong to configure icecream too.
|
||||
#
|
||||
# Additional features to come; this provides a starting point
|
||||
|
||||
# this should be getopt'd someday (override with ICEC_QUIET=1)
|
||||
ICECC_VERBOSE=1
|
||||
|
||||
icecc_echo() {
|
||||
[ -z "${ICECC_QUIET}" -a -n "${ICECC_VERBOSE}" ] && echo "$*"
|
||||
}
|
||||
|
||||
###
|
||||
# the following functions manage the icecream symlinks
|
||||
# they allow the user or other scripts (namely gcc-config) to
|
||||
# automatically update icecream's links when upgrading toolchains
|
||||
#
|
||||
icecc_remove_link() {
|
||||
local t="/usr/lib/icecc/bin/${1}"
|
||||
if [ -L ${t} ]; then
|
||||
icecc_echo "Removing ${t}..."
|
||||
rm -f "${t}"
|
||||
fi
|
||||
}
|
||||
icecc_install_link() {
|
||||
# Search the PATH for the specified compiler
|
||||
# then create shadow link in /usr/lib/icecc/bin to icecc
|
||||
|
||||
if [ -n "$(type -p ${1})" ]; then
|
||||
# first be sure any old link is removed
|
||||
ICECC_QUIET=1 icecc_remove_link "${1}"
|
||||
|
||||
# then create the new link
|
||||
local t="/usr/lib/icecc/bin/${1}"
|
||||
icecc_echo "Creating icecream shadow link: ${t}..."
|
||||
ln -s /usr/bin/icecc "${t}"
|
||||
fi
|
||||
}
|
||||
icecc_links() {
|
||||
local a
|
||||
for a in gcc cc c++ g++ ; do
|
||||
[ -n "${2}" ] && a="${2}-${a}"
|
||||
eval "icecc_${1}_link" "${a}"
|
||||
done
|
||||
}
|
||||
|
||||
###
|
||||
# main routine
|
||||
|
||||
case "${1}" in
|
||||
--install-links )
|
||||
icecc_links install "${2}"
|
||||
;;
|
||||
--remove-links )
|
||||
icecc_links remove "${2}"
|
||||
;;
|
||||
* )
|
||||
echo "usage: ${0} {--install-links|--remove-links} [ CHOST ]"
|
||||
;;
|
||||
esac
|
||||
|
82
sys-devel/icecream/files/icecream-create-env
Normal file
82
sys-devel/icecream/files/icecream-create-env
Normal file
@ -0,0 +1,82 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# icecream-create-env - helper script to create icecc environments(mostly for cross-compiling)
|
||||
#
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
#
|
||||
# Please note, this script has been designed to work with Gentoo's crossdev, it may or may
|
||||
# not work with cross-toolchains that were build differently.
|
||||
#
|
||||
#
|
||||
# Usage: "./icecream-create-env" creates a native environment(similar to icecc --build-native)
|
||||
# "./icecream-create-env prefix" creates a cross-compile environment using the cross-toolchain created by crossdev
|
||||
# Example:
|
||||
# "emerge crossdev && crossdev -t sparc-unknown-linux-gnu && icecream-create-env sparc-unknown-linux"
|
||||
|
||||
if [ `id -u` -ne 0 ]
|
||||
then
|
||||
echo "Only the superuser can execute this script."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# param 1 = CHOST
|
||||
prefix="${1}"
|
||||
|
||||
if [ -z "${prefix}" ]
|
||||
then
|
||||
prefix="`gcc -dumpmachine`"
|
||||
fi
|
||||
|
||||
gccbin=`which ${prefix}-gcc 2>/dev/null`
|
||||
if [ ! -e "${gccbin}" ]
|
||||
then
|
||||
echo "Can't find ${prefix}-gcc!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
gxxbin=`which ${prefix}-g++ 2>/dev/null`
|
||||
if [ ! -e "${gxxbin}" ]
|
||||
then
|
||||
echo "Can't find ${prefix}-g++!"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
version="`${prefix}-gcc -dumpversion`"
|
||||
|
||||
tmpdir=`mktemp -d`
|
||||
tmpfile=`mktemp`
|
||||
|
||||
target=`gcc -dumpmachine`
|
||||
if [ "x${target}" = "x${prefix}" ]
|
||||
then
|
||||
/usr/libexec/icecc/icecc-create-env \
|
||||
/usr/${prefix}/gcc-bin/${version}/gcc \
|
||||
/usr/${prefix}/gcc-bin/${version}/g++ \
|
||||
| tee ${tmpfile}
|
||||
else
|
||||
/usr/libexec/icecc/icecc-create-env \
|
||||
/usr/${target}/${prefix}/gcc-bin/${version}/${prefix}-gcc \
|
||||
/usr/${target}/${prefix}/gcc-bin/${version}/${prefix}-g++ \
|
||||
| tee ${tmpfile}
|
||||
fi
|
||||
|
||||
# figure out the name of the archive
|
||||
icecc_envname=`grep "creating" ${tmpfile} | awk '{print $2}'`
|
||||
|
||||
echo "Testing icecc environment..."
|
||||
tar -x -z -f ${icecc_envname} -C ${tmpdir}
|
||||
touch ${tmpdir}/empty.c
|
||||
chroot ${tmpdir}/ /usr/bin/gcc -c /empty.c
|
||||
tested=${?}
|
||||
rm ${tmpdir}/empty.c
|
||||
|
||||
if [ "${tested}" -ne 0 ]
|
||||
then
|
||||
echo ""
|
||||
echo "Creating icecc environment failed. Please see error message(s) above! The temporary directory is: ${tmpdir}/"
|
||||
else
|
||||
echo ""
|
||||
echo "Icecc environment has been created. It has been saved as ${icecc_envname}!"
|
||||
fi
|
||||
|
44
sys-devel/icecream/files/icecream-r2
Normal file
44
sys-devel/icecream/files/icecream-r2
Normal file
@ -0,0 +1,44 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
depend() {
|
||||
need net
|
||||
}
|
||||
|
||||
start() {
|
||||
local basedir=${ICECREAM_BASEDIR:-"/var/cache/icecream"}
|
||||
local netname=${ICECREAM_NETNAME:+"-n ${ICECREAM_NETNAME}"}
|
||||
local logfile=${ICECREAM_LOG_FILE:+"-l ${ICECREAM_LOG_FILE}"}
|
||||
local nice=${ICECREAM_NICE_LEVEL:+"--nice ${ICECREAM_NICE_LEVEL}"}
|
||||
local scheduler=${ICECREAM_SCHEDULER_HOST:+"-s ${ICECREAM_SCHEDULER_HOST}"}
|
||||
local maxjobs=${ICECREAM_MAX_JOBS:+"-m ${ICECREAM_MAX_JOBS}"}
|
||||
local verbosity=${ICECREAM_VERBOSITY:-"-v"}
|
||||
|
||||
[[ ! -d /var/log/icecream/ ]] && mkdir -p /var/log/icecream/ && chown icecream:icecream /var/log/icecream/
|
||||
if [[ "${ICECREAM_RUN_SCHEDULER}" == "yes" ]]; then
|
||||
local slogfile=${ICECREAM_SCHEDULER_LOG_FILE:-"/var/log/icecc_scheduler"}
|
||||
touch ${slogfile} && chown icecream:icecream ${slogfile}
|
||||
slogfile=${slogfile:+"-l ${slogfile}"}
|
||||
ebegin "Starting Distributed Compiler Scheduler"
|
||||
start-stop-daemon -u icecream --start --quiet --exec /usr/sbin/icecc-scheduler -- -d ${slogfile} ${netname} ${verbosity}
|
||||
eend ${?}
|
||||
fi
|
||||
|
||||
[[ ! -d ${basedir} ]] && mkdir -p ${basedir} && chown icecream:icecream ${basedir}
|
||||
ebegin "Starting Distributed Compiler Daemon"
|
||||
start-stop-daemon --start --quiet --exec /usr/sbin/iceccd -- -d ${logfile} ${nice} ${scheduler} ${netname} -u icecream -b "${basedir}" ${maxjobs} ${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
|
||||
}
|
Loading…
Reference in New Issue
Block a user