summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /sys-devel/icecream
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sys-devel/icecream')
-rw-r--r--sys-devel/icecream/Manifest2
-rw-r--r--sys-devel/icecream/files/0.9.6-crosscompile.patch12
-rw-r--r--sys-devel/icecream/files/0.9.6-symlinks.patch19
-rw-r--r--sys-devel/icecream/files/0.9.7-automake.patch32
-rw-r--r--sys-devel/icecream/files/0.9.7-glibc2.16.patch16
-rw-r--r--sys-devel/icecream/files/icecream44
-rw-r--r--sys-devel/icecream/files/icecream-1.0.0-libcap-ng.patch8
-rw-r--r--sys-devel/icecream/files/icecream-conf.d-verbosity.patch18
-rw-r--r--sys-devel/icecream/files/icecream-config69
-rw-r--r--sys-devel/icecream/files/icecream-create-env82
-rw-r--r--sys-devel/icecream/files/icecream-gentoo-multilib.patch59
-rw-r--r--sys-devel/icecream/files/icecream-r245
-rw-r--r--sys-devel/icecream/icecream-0.9.7-r1.ebuild87
-rw-r--r--sys-devel/icecream/icecream-1.0.0-r1.ebuild52
-rw-r--r--sys-devel/icecream/metadata.xml9
15 files changed, 554 insertions, 0 deletions
diff --git a/sys-devel/icecream/Manifest b/sys-devel/icecream/Manifest
new file mode 100644
index 00000000000..485868f39b0
--- /dev/null
+++ b/sys-devel/icecream/Manifest
@@ -0,0 +1,2 @@
+DIST icecc-0.9.7.tar.bz2 379527 SHA256 ba01c19e946d5a142ad9f912c24086ee12e7ca4927d64860787eb4bcd100657f SHA512 023a77d6df33af9837a87218272dc61d68f3782ad59dc8783ec3ca47cbb38619dbcaa25ac7e6654c6cacbd79477c3403b0a73aca595c6fe20aa9a39268f4f2e2 WHIRLPOOL cf822cc6667ceda286b41c4fd172092f51d75cb2c5d1ca3db0dd32796580128808881f09053f209d7f9165ccecf9e97093925fca1ae54597b2a775485d82004f
+DIST icecc-1.0.0.tar.bz2 485534 SHA256 c2897fac52711b8442ec40403c874bc50a10184131bb7006529087dfe469c85c SHA512 4292ecef6232112c3f4531cb2290a55f70c5c24095fef0865af2526d49fc10a043ffb06d22552e161f671c18ff1ab62795c3a63e2c8cb26f869cf65d0938af2a WHIRLPOOL 3c6e79756bd290e03fbfcd5fd5e38dbb700e0a7b1206c2a608914123a9f317f1d9896332c79909754fda6fc9c515a29dba6b4c485a505d1ca0fde315c35cd3ce
diff --git a/sys-devel/icecream/files/0.9.6-crosscompile.patch b/sys-devel/icecream/files/0.9.6-crosscompile.patch
new file mode 100644
index 00000000000..990072bbb8f
--- /dev/null
+++ b/sys-devel/icecream/files/0.9.6-crosscompile.patch
@@ -0,0 +1,12 @@
+diff -urN icecc-0.9.6.old//client/icecc-create-env icecc-0.9.6//client/icecc-create-env
+--- icecc-0.9.6.old//client/icecc-create-env 2010-09-18 12:10:08.143391700 +0200
++++ icecc-0.9.6//client/icecc-create-env 2010-09-18 12:10:46.574391700 +0200
+@@ -97,7 +97,7 @@
+
+ add_file $added_gcc /usr/bin/gcc
+ add_file $added_gxx /usr/bin/g++
+-add_file /usr/bin/as
++add_file `$added_gcc -print-prog-name=as` /usr/bin/as
+
+ if test "$is_darwin" = 1; then
+ # add dynamic linker
diff --git a/sys-devel/icecream/files/0.9.6-symlinks.patch b/sys-devel/icecream/files/0.9.6-symlinks.patch
new file mode 100644
index 00000000000..279ee0cc0f9
--- /dev/null
+++ b/sys-devel/icecream/files/0.9.6-symlinks.patch
@@ -0,0 +1,19 @@
+diff -urN icecc-0.9.6//client/Makefile.am icecc-0.9.6.new//client/Makefile.am
+--- icecc-0.9.6//client/Makefile.am 2010-09-11 13:43:53.922000148 +0200
++++ icecc-0.9.6.new//client/Makefile.am 2010-09-11 13:44:39.950000148 +0200
+@@ -7,15 +7,3 @@
+ noinst_HEADERS = client.h md5.h util.h
+
+ EXTRA_DIST = icecc-create-env
+-
+-install-exec-local:
+- $(mkinstalldirs) $(DESTDIR)$(bindir)
+- for link in g++ gcc c++ cc icerun; do \
+- rm -f $(DESTDIR)$(bindir)/$$link ;\
+- $(LN_S) icecc $(DESTDIR)$(bindir)/$$link ;\
+- done
+-
+-uninstall-local:
+- for link in g++ gcc c++ cc; do \
+- rm $(DESTDIR)$(bindir)/$$link ;\
+- done
diff --git a/sys-devel/icecream/files/0.9.7-automake.patch b/sys-devel/icecream/files/0.9.7-automake.patch
new file mode 100644
index 00000000000..6905a2a3415
--- /dev/null
+++ b/sys-devel/icecream/files/0.9.7-automake.patch
@@ -0,0 +1,32 @@
+Backport upstream patch to fix automake-1.12 issues
+
+https://bugs.gentoo.org/show_bug.cgi?id=397715
+https://bugs.gentoo.org/show_bug.cgi?id=399259
+--- client/Makefile.am
++++ client/Makefile.am
+@@ -1,10 +1,11 @@
+ INCLUDES = -I$(srcdir)/../services
+
+ bin_PROGRAMS = icecc
+-pkglib_SCRIPTS = icecc-create-env
++pkglibexec_SCRIPTS = icecc-create-env
+ icecc_SOURCES = main.cpp arg.cpp cpp.cpp local.cpp remote.cpp util.cpp md5.c safeguard.cpp
+ icecc_LDADD = ../services/libicecc.la $(LIBRSYNC)
+ noinst_HEADERS = client.h md5.h util.h
++AM_CPPFLAGS = -DPLIBDIR=\"$(pkglibexecdir)\"
+
+ EXTRA_DIST = icecc-create-env
+
+--- configure.in
++++ configure.in
+@@ -246,10 +246,6 @@
+ KDE_EXPAND_MAKEVAR(mybindir, bindir)
+ AC_DEFINE_UNQUOTED(BINDIR, "$mybindir", [Where to look for icecc])
+
+-myopkglibdir='${libdir}/'"$PACKAGE"
+-KDE_EXPAND_MAKEVAR(mypkglibdir, myopkglibdir)
+-AC_DEFINE_UNQUOTED(PLIBDIR, "$mypkglibdir", [Where to look for icecc-create-env])
+-
+ myorundir='${localstatedir}/run'
+ KDE_EXPAND_MAKEVAR(myrundir, myorundir)
+ AC_DEFINE_UNQUOTED(RUNDIR, "$myrundir", [Where to place pid files])
diff --git a/sys-devel/icecream/files/0.9.7-glibc2.16.patch b/sys-devel/icecream/files/0.9.7-glibc2.16.patch
new file mode 100644
index 00000000000..7ccbd735a46
--- /dev/null
+++ b/sys-devel/icecream/files/0.9.7-glibc2.16.patch
@@ -0,0 +1,16 @@
+Fix building with glibc-2.16
+
+https://bugs.gentoo.org/show_bug.cgi?id=425248
+
+Patch written by Kacper Kowalik <xarthisius@gentoo.org>
+--- a/daemon/workit.cpp
++++ b/daemon/workit.cpp
+@@ -26,6 +26,7 @@
+ #include "exitcode.h"
+ #include "logging.h"
+ #include <sys/select.h>
++#include <sys/resource.h>
+ #include <algorithm>
+
+ #ifdef __FreeBSD__
+
diff --git a/sys-devel/icecream/files/icecream b/sys-devel/icecream/files/icecream
new file mode 100644
index 00000000000..257a76c61c5
--- /dev/null
+++ b/sys-devel/icecream/files/icecream
@@ -0,0 +1,44 @@
+#!/sbin/runscript
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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
+}
diff --git a/sys-devel/icecream/files/icecream-1.0.0-libcap-ng.patch b/sys-devel/icecream/files/icecream-1.0.0-libcap-ng.patch
new file mode 100644
index 00000000000..3dc0e3713b0
--- /dev/null
+++ b/sys-devel/icecream/files/icecream-1.0.0-libcap-ng.patch
@@ -0,0 +1,8 @@
+--- a/services/icecc.pc.in
++++ b/services/icecc.pc.in
+@@ -11,4 +11,5 @@ Version: @VERSION@
+ Requires:
+ Conflicts:
+ Libs: -L${libdir} -licecc
++Libs.private: @CAPNG_LDADD@
+ Cflags: -I${includedir}
diff --git a/sys-devel/icecream/files/icecream-conf.d-verbosity.patch b/sys-devel/icecream/files/icecream-conf.d-verbosity.patch
new file mode 100644
index 00000000000..1ee93c5741a
--- /dev/null
+++ b/sys-devel/icecream/files/icecream-conf.d-verbosity.patch
@@ -0,0 +1,18 @@
+--- a/suse/sysconfig.icecream
++++ b/suse/sysconfig.icecream
+@@ -39,6 +39,15 @@
+ #
+ ## Type: string
+ ## Path: Applications/icecream
++## Default: -v
++#
++# icecream's level of verbosity ([-v[v[v]]])
++#
++ICECREAM_VERBOSITY="-v"
++
++#
++## Type: string
++## Path: Applications/icecream
+ ## Defaut: ""
+ #
+ # Identification for the network the scheduler and daemon run on.
diff --git a/sys-devel/icecream/files/icecream-config b/sys-devel/icecream/files/icecream-config
new file mode 100644
index 00000000000..6ed24c74377
--- /dev/null
+++ b/sys-devel/icecream/files/icecream-config
@@ -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
+
diff --git a/sys-devel/icecream/files/icecream-create-env b/sys-devel/icecream/files/icecream-create-env
new file mode 100644
index 00000000000..dafdc13b433
--- /dev/null
+++ b/sys-devel/icecream/files/icecream-create-env
@@ -0,0 +1,82 @@
+#!/bin/sh
+#
+# icecream-create-env - helper script to create icecc environments(mostly for cross-compiling)
+#
+# Copyright 1999-2012 Gentoo Foundation
+# 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
+
diff --git a/sys-devel/icecream/files/icecream-gentoo-multilib.patch b/sys-devel/icecream/files/icecream-gentoo-multilib.patch
new file mode 100644
index 00000000000..94c6a41b3af
--- /dev/null
+++ b/sys-devel/icecream/files/icecream-gentoo-multilib.patch
@@ -0,0 +1,59 @@
+Index: services/job.h
+===================================================================
+--- services/job.h (revision 843731)
++++ services/job.h (working copy)
+@@ -57,6 +57,10 @@
+
+ unsigned int argumentFlags() const;
+
++ const ArgumentsList getFlags() {
++ return m_flags;
++ }
++
+ void setFlags( const ArgumentsList &flags ) {
+ m_flags = flags;
+ }
+Index: client/main.cpp
+===================================================================
+--- client/main.cpp (revision 843731)
++++ client/main.cpp (working copy)
+@@ -218,6 +218,39 @@
+
+ local |= analyse_argv( argv, job );
+
++ /* honour Gentoo's ${CFLAGS_${ABI}} environment variable */
++ if (getenv("ABI") != NULL) {
++ char* envar = (char*) malloc(sizeof(char) *
++ (strlen("CFLAGS_") + strlen(getenv("ABI")) + 1));
++
++ if (!envar)
++ return 1;
++
++ /* We use CFLAGS_${ABI} for gcc, g++, g77, etc as they are
++ * the same no matter which compiler we are using.
++ */
++ sprintf(envar, "CFLAGS_%s", getenv("ABI"));
++
++ if (getenv(envar)) {
++ ArgumentsList args = job.getFlags();
++
++ char* pch = strtok(getenv(envar)," \t");
++ while (pch != NULL) {
++ #if CLIENT_DEBUG
++ log_info() << "adding CFLAG '" << pch << "' as specified in environment variable ${CFLAGS_${ABI}}" << endl;
++ #endif
++ args.append(pch, Arg_Remote);
++ pch = strtok(NULL, " \t");
++ }
++
++ job.setFlags(args);
++
++ free(pch);
++ }
++
++ free(envar);
++ }
++
+ /* if ICECC is set to no, then run job locally */
+ char* icecc = getenv("ICECC");
+ if ( icecc && !strcasecmp(icecc, "no") )
diff --git a/sys-devel/icecream/files/icecream-r2 b/sys-devel/icecream/files/icecream-r2
new file mode 100644
index 00000000000..b3b23e0f15f
--- /dev/null
+++ b/sys-devel/icecream/files/icecream-r2
@@ -0,0 +1,45 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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
+}
diff --git a/sys-devel/icecream/icecream-0.9.7-r1.ebuild b/sys-devel/icecream/icecream-0.9.7-r1.ebuild
new file mode 100644
index 00000000000..52f92ba8776
--- /dev/null
+++ b/sys-devel/icecream/icecream-0.9.7-r1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools base user
+
+MY_P=icecc-${PV}
+
+DESCRIPTION="icecc is a program for distributed compiling of C(++) code across several machines; based on distcc"
+HOMEPAGE="http://en.opensuse.org/Icecream"
+SRC_URI="ftp://ftp.suse.com/pub/projects/${PN}/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~sparc ~x86"
+IUSE=""
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}/0.9.6-symlinks.patch"
+ "${FILESDIR}/0.9.6-crosscompile.patch"
+ "${FILESDIR}/${PV}-automake.patch"
+ "${FILESDIR}/${PV}-glibc2.16.patch"
+ "${FILESDIR}/${PN}-conf.d-verbosity.patch"
+ "${FILESDIR}/${PN}-gentoo-multilib.patch"
+)
+
+pkg_setup() {
+ enewgroup icecream
+ enewuser icecream -1 -1 /var/cache/icecream icecream
+}
+
+src_prepare() {
+ base_src_prepare
+ sed -i -e "s/Defaut/Default/g" suse/sysconfig.icecream || die #275761
+ eautoreconf
+}
+
+src_install() {
+ default
+
+ dosbin "${FILESDIR}"/icecream-config
+ dosbin "${FILESDIR}"/icecream-create-env
+
+ newconfd suse/sysconfig.icecream icecream
+ doinitd "${FILESDIR}"/icecream
+
+ diropts -m0755
+ keepdir /usr/lib/icecc/bin
+}
+
+pkg_postinst() {
+ ebegin "Scanning for compiler front-ends..."
+ /usr/sbin/icecream-config --install-links
+ /usr/sbin/icecream-config --install-links "${CHOST}"
+ eend ${?}
+
+ elog
+ elog "If you have compiled binutils/gcc/glibc with processor-specific flags"
+ elog "(as normal using Gentoo), there is a greater chance that your compiler"
+ elog "won't work on other machines. The best would be to build gcc, glibc and"
+ elog "binutils without those flags and then copy the needed files into your"
+ elog "tarball for distribution to other machines. This tarball can be created"
+ elog "by running /usr/bin/icecc --build-native, and used by setting"
+ elog "ICECC_VERSION in /etc/conf.d/icecream"
+ elog ' ICECC_VERSION=<filename_of_archive_containing_your_environment>'
+ elog
+ elog "To use icecream with portage add the following line to /etc/make.conf"
+ elog ' PREROOTPATH=/usr/lib/icecc/bin'
+ elog
+ elog "To use icecream with normal make use (e.g. in /etc/profile)"
+ elog ' PATH=/usr/lib/icecc/bin:$PATH'
+ elog
+ elog "N.B. To use icecream with ccache, the ccache PATH should come first:"
+ elog ' PATH=/usr/lib/ccache/bin:/usr/lib/icecc/bin:$PATH'
+ elog
+ elog "Don't forget to open the following ports in your firewall(s):"
+ elog " TCP/10245 on the daemon computers (required)"
+ elog " TCP/8765 for the the scheduler computer (required)"
+ elog " TCP/8766 for the telnet interface to the scheduler (optional)"
+ elog " UDP/8765 for broadcast to find the scheduler (optional)"
+ elog
+ elog "Further usage instructions: ${HOMEPAGE}"
+}
diff --git a/sys-devel/icecream/icecream-1.0.0-r1.ebuild b/sys-devel/icecream/icecream-1.0.0-r1.ebuild
new file mode 100644
index 00000000000..2186746a1ee
--- /dev/null
+++ b/sys-devel/icecream/icecream-1.0.0-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+MY_P="${P/icecream/icecc}"
+
+inherit base eutils user
+
+DESCRIPTION="icecc is a program for distributed compiling of C(++) code across several machines; based on distcc"
+HOMEPAGE="https://github.com/icecc/icecream"
+SRC_URI="ftp://ftp.suse.com/pub/projects/${PN}/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~sparc ~x86"
+IUSE=""
+
+RDEPEND="
+ sys-libs/libcap-ng
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-libcap-ng.patch"
+)
+
+pkg_setup() {
+ enewgroup icecream
+ enewuser icecream -1 -1 /var/cache/icecream icecream
+}
+
+src_configure() {
+ econf \
+ --enable-shared --disable-static \
+ --enable-clang-wrappers \
+ --enable-clang-rewrite-includes
+}
+
+src_install() {
+ default
+ prune_libtool_files --all
+
+ newconfd suse/sysconfig.icecream icecream
+ newinitd "${FILESDIR}"/icecream-r2 icecream
+
+ insinto /etc/logrotate.d
+ newins suse/logrotate icecream
+}
diff --git a/sys-devel/icecream/metadata.xml b/sys-devel/icecream/metadata.xml
new file mode 100644
index 00000000000..64c49c8ac03
--- /dev/null
+++ b/sys-devel/icecream/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cluster</herd>
+ <herd>suse</herd>
+ <upstream>
+ <remote-id type="github">icecc/icecream</remote-id>
+ </upstream>
+</pkgmetadata>