summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Imhof <tantive@gentoo.org>2006-06-21 18:46:54 +0000
committerMichael Imhof <tantive@gentoo.org>2006-06-21 18:46:54 +0000
commit17f5ce42ebdcd92611739fae310334aa42034caf (patch)
tree3ec41d72ca873c1b15ef23143562871dec64cb86 /sys-devel/icecream
parentRelease to address bugs #136585 and #137251. (diff)
downloadgentoo-2-17f5ce42ebdcd92611739fae310334aa42034caf.tar.gz
gentoo-2-17f5ce42ebdcd92611739fae310334aa42034caf.tar.bz2
gentoo-2-17f5ce42ebdcd92611739fae310334aa42034caf.zip
Version bumped. Closes #115977.
(Portage version: 2.1.1_pre1-r1)
Diffstat (limited to 'sys-devel/icecream')
-rw-r--r--sys-devel/icecream/ChangeLog11
-rw-r--r--sys-devel/icecream/files/digest-icecream-0.6.200504133
-rw-r--r--sys-devel/icecream/files/icecream60
-rw-r--r--sys-devel/icecream/files/icecream-0.6-20050413-add-disable-option.patch28
-rw-r--r--sys-devel/icecream/files/icecream-0.6-20050413-dont-create-symlinks.patch28
-rw-r--r--sys-devel/icecream/files/icecream-0.6-20050413-no-kde.patch76
-rw-r--r--sys-devel/icecream/files/icecream-config69
-rw-r--r--sys-devel/icecream/icecream-0.6.20050413.ebuild100
-rw-r--r--sys-devel/icecream/metadata.xml5
9 files changed, 379 insertions, 1 deletions
diff --git a/sys-devel/icecream/ChangeLog b/sys-devel/icecream/ChangeLog
index d7276251b05b..96ea1070a532 100644
--- a/sys-devel/icecream/ChangeLog
+++ b/sys-devel/icecream/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for sys-devel/icecream
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/icecream/ChangeLog,v 1.2 2006/01/28 13:45:24 blubb Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/icecream/ChangeLog,v 1.3 2006/06/21 18:46:54 tantive Exp $
+
+*icecream-0.6.20050413 (21 Jun 2006)
+
+ 21 Jun 2006; Michael Imhof <tantive@gentoo.org>
+ +files/icecream-0.6-20050413-add-disable-option.patch,
+ +files/icecream-0.6-20050413-dont-create-symlinks.patch,
+ +files/icecream-0.6-20050413-no-kde.patch, +files/icecream,
+ +files/icecream-config, +icecream-0.6.20050413.ebuild:
+ Version bumped. Closes #115977.
28 Jan 2006; Simon Stelling <blubb@gentoo.org>
+files/icecream_disable.patch, -files/icecream_disable.patch.bz2,
diff --git a/sys-devel/icecream/files/digest-icecream-0.6.20050413 b/sys-devel/icecream/files/digest-icecream-0.6.20050413
new file mode 100644
index 000000000000..d77c1bcb1320
--- /dev/null
+++ b/sys-devel/icecream/files/digest-icecream-0.6.20050413
@@ -0,0 +1,3 @@
+MD5 eb304444a47d6b144dbc76b5638020d0 icecream-0.6-20050413.tar.bz2 594135
+RMD160 dca34e902610ad887e926c27f2f4bc21f8416e7c icecream-0.6-20050413.tar.bz2 594135
+SHA256 f47aaa70044342f046a8ca356ae5ec553ac01c940f48e7bf045b91a6ee3517b2 icecream-0.6-20050413.tar.bz2 594135
diff --git a/sys-devel/icecream/files/icecream b/sys-devel/icecream/files/icecream
new file mode 100644
index 000000000000..cb831ded5a1b
--- /dev/null
+++ b/sys-devel/icecream/files/icecream
@@ -0,0 +1,60 @@
+#!/sbin/runscript
+
+#NB: Config is in /etc/conf.d/icecream
+
+depend() {
+ need net
+}
+
+start() {
+
+ netname=
+ if test -n "$ICECREAM_NETNAME"; then
+ netname="-n $ICECREAM_NETNAME"
+ fi
+ if test "$ICECREAM_RUN_SCHEDULER" == "yes"; then
+ logfile=""
+ if test -z "$ICECREAM_SCHEDULER_LOG_FILE"; then
+ ICECREAM_SCHEDULER_LOG_FILE="/var/log/icecc_scheduler"
+ fi
+ logfile="-l $ICECREAM_SCHEDULER_LOG_FILE"
+ : > $ICECREAM_SCHEDULER_LOG_FILE
+ chown icecream:icecream $ICECREAM_SCHEDULER_LOG_FILE
+
+ ebegin "Starting Distributed Compiler Scheduler"
+ start-stop-daemon -u icecream --start --quiet --exec /usr/sbin/scheduler -- -d $logfile $netname
+ eend ${?}
+ fi
+ logfile=""
+ if test -n "$ICECREAM_LOG_FILE"; then
+ logfile="-l $ICECREAM_LOG_FILE"
+ : > $ICECREAM_LOG_FILE
+ chown icecream:icecream $ICECREAM_LOG_FILE
+ fi
+ nice=
+ if test -n "$ICECREAM_NICE_LEVEL"; then
+ nice="--nice $ICECREAM_NICE_LEVEL"
+ fi
+ scheduler=
+ if test -n "$ICECREAM_SCHEDULER_HOST"; then
+ scheduler="-s $ICECREAM_SCHEDULER_HOST"
+ fi
+ maxjobs=
+ if test -n "$ICECREAM_MAX_JOBS"; then
+ maxjobs="-m $ICECREAM_MAX_JOBS"
+ fi
+ ebegin "Starting Distributed Compiler Daemon"
+ start-stop-daemon --start --quiet --exec /usr/sbin/iceccd -- -d $logfile $nice $scheduler $netname -u icecream -b "$ICECREAM_BASEDIR" $maxjobs
+ eend ${?}
+}
+
+stop() {
+ ebegin "Stopping Distributed Compiler Daemon"
+ start-stop-daemon --stop --quiet --name iceccd
+ eend ${?}
+ if test "$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-0.6-20050413-add-disable-option.patch b/sys-devel/icecream/files/icecream-0.6-20050413-add-disable-option.patch
new file mode 100644
index 000000000000..8852ef789b56
--- /dev/null
+++ b/sys-devel/icecream/files/icecream-0.6-20050413-add-disable-option.patch
@@ -0,0 +1,28 @@
+--- icecream/client/main.cpp.dist 2005-12-18 10:20:11.000000000 -0500
++++ icecream/client/main.cpp 2005-12-18 10:24:29.000000000 -0500
+@@ -72,6 +72,7 @@
+ " --help explain usage and exit\n"
+ " --version show version and exit\n"
+ "Environment Variables:\n"
++" ICECC_DISABLE if set the local compiler is used.\n"
+ " ICECC_VERSION use a specific icecc environment, see create-env\n"
+ " ICECC_REPEAT_RATE the number of jobs out of 1000 that should be\n"
+ " compiled on multiple hosts to ensure that they're\n"
+@@ -117,6 +118,7 @@
+ int main(int argc, char **argv)
+ {
+ char *env = getenv( "ICECC_DEBUG" );
++ char *icecc_disable = getenv( "ICECC_DISABLE" );
+ int debug_level = Error;
+ if ( env ) {
+ if ( !strcasecmp( env, "info" ) ) {
+@@ -161,6 +163,9 @@
+ CompileJob job;
+ local = analyse_argv( argv, job );
+
++ if(icecc_disable != NULL)
++ local = true;
++
+ pid_t pid = 0;
+
+ /* for local jobs, we fork off a child that tells the scheduler that we got something
diff --git a/sys-devel/icecream/files/icecream-0.6-20050413-dont-create-symlinks.patch b/sys-devel/icecream/files/icecream-0.6-20050413-dont-create-symlinks.patch
new file mode 100644
index 000000000000..c7790f3778ad
--- /dev/null
+++ b/sys-devel/icecream/files/icecream-0.6-20050413-dont-create-symlinks.patch
@@ -0,0 +1,28 @@
+diff -urN icecream/client/Makefile.am icecream.new/client/Makefile.am
+--- icecream/client/Makefile.am 2004-08-30 09:00:56.000000000 +0100
++++ icecream.new/client/Makefile.am 2006-05-31 19:29:02.000000000 +0100
+@@ -15,10 +15,6 @@
+
+ install-exec-local:
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+- for link in g++ gcc c++ cc; do \
+- rm -f $(DESTDIR)$(bindir)/$$link ;\
+- $(LN_S) icecc $(DESTDIR)$(bindir)/$$link ;\
+- done
+
+ uninstall-local:
+ for link in g++ gcc c++ cc; do \
+diff -urN icecream/client/Makefile.in icecream.new/client/Makefile.in
+--- icecream/client/Makefile.in 2005-04-13 08:30:07.000000000 +0100
++++ icecream.new/client/Makefile.in 2006-05-31 19:29:13.000000000 +0100
+@@ -680,10 +680,6 @@
+
+ install-exec-local:
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+- for link in g++ gcc c++ cc; do \
+- rm -f $(DESTDIR)$(bindir)/$$link ;\
+- $(LN_S) icecc $(DESTDIR)$(bindir)/$$link ;\
+- done
+
+ uninstall-local:
+ for link in g++ gcc c++ cc; do \
diff --git a/sys-devel/icecream/files/icecream-0.6-20050413-no-kde.patch b/sys-devel/icecream/files/icecream-0.6-20050413-no-kde.patch
new file mode 100644
index 000000000000..6ae3031bf3e7
--- /dev/null
+++ b/sys-devel/icecream/files/icecream-0.6-20050413-no-kde.patch
@@ -0,0 +1,76 @@
+--- icecream.orig/configure.in 2005-04-13 03:29:41.000000000 -0400
++++ icecream/configure.in 2005-12-18 14:02:24.000000000 -0500
+@@ -156,13 +156,13 @@
+ dnl === END LZO
+
+ UIC_NOT_NEEDED=1
+-KDE_CHECK_FINAL
++#KDE_CHECK_FINAL
+ dnl =======================================================
+ dnl FILE: ./mon/configure.in.in
+ dnl =======================================================
+
+-KDE_SET_PREFIX
+-AC_PATH_KDE
++#KDE_SET_PREFIX
++#AC_PATH_KDE
+
+ dnl =======================================================
+ dnl FILE: ./services/configure.in.in
+@@ -193,9 +193,9 @@
+ AC_CONFIG_FILES([ client/Makefile ])
+ AC_CONFIG_FILES([ daemon/Makefile ])
+ AC_CONFIG_FILES([ minilzo/Makefile ])
+-AC_CONFIG_FILES([ mon/Makefile ])
+-AC_CONFIG_FILES([ mon/doc/Makefile ])
+-AC_CONFIG_FILES([ mon/doc/icemon/Makefile ])
++#AC_CONFIG_FILES([ mon/Makefile ])
++#AC_CONFIG_FILES([ mon/doc/Makefile ])
++#AC_CONFIG_FILES([ mon/doc/icemon/Makefile ])
+ AC_CONFIG_FILES([ services/Makefile ])
+ if test "$prefix" = NONE; then
+ prefix=$ac_default_prefix
+@@ -206,22 +206,22 @@
+
+ AC_OUTPUT
+ # Check if KDE_SET_PREFIX was called, and --prefix was passed to configure
+-if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then
++#if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then
+ # And if so, warn when they don't match
+- if test "$kde_libs_prefix" != "$given_prefix"; then
++# if test "$kde_libs_prefix" != "$given_prefix"; then
+ # And if kde doesn't know about the prefix yet
+- echo ":"`kde-config --path exe`":" | grep ":$given_prefix/bin/:" 2>&1 >/dev/null
+- if test $? -ne 0; then
+- echo ""
+- echo "Warning: you chose to install this package in $given_prefix,"
+- echo "but KDE was found in $kde_libs_prefix."
+- echo "For this to work, you will need to tell KDE about the new prefix, by ensuring"
+- echo "that KDEDIRS contains it, e.g. export KDEDIRS=$given_prefix:$kde_libs_prefix"
+- echo "Then restart KDE."
+- echo ""
+- fi
+- fi
+-fi
++# echo ":"`kde-config --path exe`":" | grep ":$given_prefix/bin/:" 2>&1 >/dev/null
++# if test $? -ne 0; then
++# echo ""
++# echo "Warning: you chose to install this package in $given_prefix,"
++# echo "but KDE was found in $kde_libs_prefix."
++# echo "For this to work, you will need to tell KDE about the new prefix, by ensuring"
++# echo "that KDEDIRS contains it, e.g. export KDEDIRS=$given_prefix:$kde_libs_prefix"
++# echo "Then restart KDE."
++# echo ""
++# fi
++# fi
++#fi
+
+ if test "$all_tests" = "bad"; then
+ if test ! "$cache_file" = "/dev/null"; then
+--- icecream.orig/subdirs 2004-08-04 04:49:45.000000000 -0400
++++ icecream/subdirs 2005-12-18 14:11:36.000000000 -0500
+@@ -2,4 +2,3 @@
+ services
+ client
+ daemon
+-mon
diff --git a/sys-devel/icecream/files/icecream-config b/sys-devel/icecream/files/icecream-config
new file mode 100644
index 000000000000..fefc1c65f4a8
--- /dev/null
+++ b/sys-devel/icecream/files/icecream-config
@@ -0,0 +1,69 @@
+#!/bin/bash
+#
+# icecream-config - helper script for icecream and its ebuild
+#
+# Copyright 2003 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)
+ICEC_VERBOSE=1
+
+icec_echo() {
+ [ -z "${ICEC_QUIET}" -a -n "${ICEC_VERBOSE}" ] && echo "$*"
+}
+
+###
+# the following functions manage the icecream symlinks
+# they allow the user or other scripts (namely gcc-config) to
+# automatically update iceceam's links when upgrading toolchains
+#
+icec_remove_link() {
+ local t="/usr/lib/icecream/bin/${1}"
+ if [ -L ${t} ]; then
+ icec_echo "Removing ${t}..."
+ rm -f "${t}"
+ fi
+}
+icec_install_link() {
+ # Search the PATH for the specified compiler
+ # then create shadow link in /usr/lib/icecream/bin to icecc
+
+ if [ -n "$(type -p ${1})" ]; then
+ # first be sure any old link is removed
+ ICEC_QUIET=1 icec_remove_link "${1}"
+
+ # then create the new link
+ local t="/usr/lib/icecream/bin/${1}"
+ icec_echo "Creating icecream shadow link: ${t}..."
+ ln -s /usr/bin/icecc "${t}"
+ fi
+}
+icec_links() {
+ local a
+ for a in gcc cc c++ g++ ; do
+ [ -n "${2}" ] && a="${2}-${a}"
+ eval "icec_${1}_link" "${a}"
+ done
+}
+
+###
+# main routine
+
+case "${1}" in
+ --install-links )
+ icec_links install "${2}"
+ ;;
+ --remove-links )
+ icec_links remove "${2}"
+ ;;
+ * )
+ echo "usage: ${0} {--install-links|--remove-links} [ CHOST ]"
+ ;;
+esac
+
diff --git a/sys-devel/icecream/icecream-0.6.20050413.ebuild b/sys-devel/icecream/icecream-0.6.20050413.ebuild
new file mode 100644
index 000000000000..d94070933cd5
--- /dev/null
+++ b/sys-devel/icecream/icecream-0.6.20050413.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/icecream/icecream-0.6.20050413.ebuild,v 1.1 2006/06/21 18:46:54 tantive Exp $
+
+inherit eutils
+DESCRIPTION="Icecream is a program for distributed compiling of C(++) code across several machines based on ideas and code by distcc."
+HOMEPAGE="http://www.opensuse.org/icecream"
+SRC_URI="ftp://ftp.suse.com/pub/projects/icecream/${PN}-0.6-20050413.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+RDEPEND="virtual/libc
+ kde? ( kde-base/kdelibs )"
+DEPEND="${RDEPEND}"
+IUSE="arts kde"
+
+src_compile() {
+ cd ${WORKDIR}/icecream
+ epatch ${FILESDIR}/icecream-0.6-20050413-add-disable-option.patch || die "error patching icecream"
+ epatch ${FILESDIR}/icecream-0.6-20050413-dont-create-symlinks.patch || die "error patching icecream"
+
+ if ! use kde ; then
+ epatch ${FILESDIR}/${PN}-0.6-20050413-no-kde.patch || die "error patching icecream"
+ aclocal
+ automake
+ autoconf
+ fi
+
+ use amd64 && export CFLAGS="${CFLAGS} -fPIC -DPIC"
+ use amd64 && export CXXFLAGS="${CXXFLAGS} -fPIC -DPIC"
+ use !arts && local myconfig="--without-arts"
+ ./configure --prefix=/usr $myconfig
+ emake || die "error compiling"
+}
+
+src_install() {
+ cd ${WORKDIR}/icecream
+ make DESTDIR=${D} install || die "error installing"
+ newbin ${FILESDIR}/icecream-config icecream-config
+ cp suse/sysconfig.icecream icecream
+ insinto "/etc/conf.d"
+ doins "icecream"
+ newinitd ${FILESDIR}/icecream icecream
+ diropts -m0755
+ dodir /usr/lib/icecream/bin
+ keepdir /usr/lib/icecream/bin
+}
+
+pkg_postinst() {
+ enewgroup icecream || die "Problem creating icecream group"
+
+ #are we doing bootstrap with has no useradd?
+ if [ -x /usr/sbin/useradd ]; then
+ enewuser icecream -1 -1 /var/cache/icecream icecream || die "Problem adding icecream user"
+ else
+ ewarn "You do not have useradd (bootstrap) from shadow so I didn't"
+ ewarn "install the icecream user. Note that attempting to start the daemon"
+ ewarn "will fail. Please install shadow and re-emerge icecream."
+ ebeep 2
+ fi
+
+ if [[ ${ROOT} = "/" ]] ; then
+ einfo "Scanning for compiler front-ends..."
+ /usr/bin/icecream-config --install-links
+ /usr/bin/icecream-config --install-links ${CHOST}
+ else
+ ewarn "Install is incomplete; you must run the following command:"
+ ewarn " # icecream-config --install-links ${CHOST}"
+ ewarn "after booting or chrooting to ${ROOT} to complete installation."
+ fi
+
+ einfo
+ einfo "If you have compiled binutils/gcc/glibc with processor-specific flags"
+ einfo "(as normal using Gentoo), there is a greater chance that your compiler"
+ einfo "won't work on other machines. The best would be to build gcc, glibc and"
+ einfo "binutils without those flags and then copy the needed files into your"
+ einfo "tarball for distribution to other machines. This tarball can be created"
+ einfo "using the /usr/bin/create-env script, and used by setting ICECC_VERSION"
+ einfo "in /etc/conf.d/icecream"
+ einfo ' ICECC_VERSION=<filename_of_archive_containing_your_environment>'
+ einfo
+ einfo "To use icecream with portage add the following line to /etc/make.conf"
+ einfo ' PREROOTPATH=/var/lib/icecream/bin'
+ einfo
+ einfo "To use icecream with normal make use (e.g. in /etc/profile)"
+ einfo ' PATH=/var/lib/icecream/bin:$PATH'
+ einfo
+ einfo "N.B. To use icecream with ccache, the ccache PATH should come first:"
+ einfo ' PATH=/var/lib/ccache/bin:/var/lib/icecream/bin:$PATH'
+ einfo
+ einfo "Don't forget to open the following ports in your firewall(s):"
+ einfo " TCP/10245 on the daemon computers (required)"
+ einfo " TCP/8765 for the the scheduler computer (required)"
+ einfo " TCP/8766 for the telnet interface to the scheduler (optional)"
+ einfo " UDP/8765 for broadcast to find the scheduler (optional)"
+ einfo
+ einfo "Further usage instructions: http://www.opensuse.org/icecream"
+ einfo
+}
diff --git a/sys-devel/icecream/metadata.xml b/sys-devel/icecream/metadata.xml
new file mode 100644
index 000000000000..348e6c4de815
--- /dev/null
+++ b/sys-devel/icecream/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+</pkgmetadata>