Initial import. The ebuild was contributed by Alexander Holler.
authorMichael Imhof <tantive@gentoo.org>
Tue, 11 Jan 2005 22:40:00 +0000 (22:40 +0000)
committerMichael Imhof <tantive@gentoo.org>
Tue, 11 Jan 2005 22:40:00 +0000 (22:40 +0000)
sys-devel/icecream/ChangeLog [new file with mode: 0644]
sys-devel/icecream/Manifest [new file with mode: 0644]
sys-devel/icecream/files/99icecream [new file with mode: 0644]
sys-devel/icecream/files/digest-icecream-0.6.20040829 [new file with mode: 0644]
sys-devel/icecream/files/icecream_disable.patch.bz2 [new file with mode: 0644]
sys-devel/icecream/files/icecreamdaemon [new file with mode: 0755]
sys-devel/icecream/files/icecreamscheduler [new file with mode: 0755]
sys-devel/icecream/icecream-0.6.20040829.ebuild [new file with mode: 0644]

diff --git a/sys-devel/icecream/ChangeLog b/sys-devel/icecream/ChangeLog
new file mode 100644 (file)
index 0000000..11fba61
--- /dev/null
@@ -0,0 +1,9 @@
+# ChangeLog for sys-devel/icecream
+# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/icecream/ChangeLog,v 1.1 2005/01/11 22:40:00 tantive Exp $
+
+  11 Jan 2005; Michael Imhof <tantive@gentoo.org> +files/99icecream,
+  +files/icecream.nokde.patch, +files/icecream_disable.patch,
+  +files/icecreamdaemon, +files/icecreamscheduler:
+  Initial import. The ebuild was contributed by Alexander Holler.
+
diff --git a/sys-devel/icecream/Manifest b/sys-devel/icecream/Manifest
new file mode 100644 (file)
index 0000000..469b827
--- /dev/null
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+MD5 d5a3612de8db0a68ba389f72460554b8 icecream-0.6.20040829.ebuild 3053
+MD5 821ac28605bc2f1fa3c102ef193e0c14 ChangeLog 459
+MD5 b5b8e00fbdd696a2030334749ab1184b files/icecreamscheduler 366
+MD5 2767711be1cec7b6ab1aa9a23cb7851d files/digest-icecream-0.6.20040829 74
+MD5 b1b6fb13f50e10d75174baac7bcaf65e files/icecream_disable.patch.bz2 738
+MD5 70af2ad7d27b5da02a1653d2098e8ee4 files/99icecream 69
+MD5 11da9aee8c0bd3a91fdf7a5d883846ea files/icecreamdaemon 387
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.2.6 (GNU/Linux)
+
+iD8DBQFB5FXKKtJO8LeSoosRAuKwAJ9ebUS34jEnbo1F1TSFjLn8beG3aQCfSLqV
+3JYc53wiwiSnhiyqxppOvT4=
+=q1CJ
+-----END PGP SIGNATURE-----
diff --git a/sys-devel/icecream/files/99icecream b/sys-devel/icecream/files/99icecream
new file mode 100644 (file)
index 0000000..793cfe4
--- /dev/null
@@ -0,0 +1,2 @@
+KDEDIRS="/opt/icecream:${KDEDIRS}"
+#PATH="/opt/icecream/bin:${PATH}"
diff --git a/sys-devel/icecream/files/digest-icecream-0.6.20040829 b/sys-devel/icecream/files/digest-icecream-0.6.20040829
new file mode 100644 (file)
index 0000000..830d01e
--- /dev/null
@@ -0,0 +1 @@
+MD5 969bb373964f31a26198a00b57c54d5a icecream-0.6-20040829.tar.bz2 549028
diff --git a/sys-devel/icecream/files/icecream_disable.patch.bz2 b/sys-devel/icecream/files/icecream_disable.patch.bz2
new file mode 100644 (file)
index 0000000..ee96241
Binary files /dev/null and b/sys-devel/icecream/files/icecream_disable.patch.bz2 differ
diff --git a/sys-devel/icecream/files/icecreamdaemon b/sys-devel/icecream/files/icecreamdaemon
new file mode 100755 (executable)
index 0000000..38fe9ae
--- /dev/null
@@ -0,0 +1,17 @@
+#!/sbin/runscript
+depend() {
+        need net
+       after icecreamscheduler
+}
+
+start() {
+        ebegin "Starting Icecream daemon"
+       start-stop-daemon --start --quiet --exec /opt/icecream/bin/iceccd -- -d -m 5 > /dev/null
+        eend $?
+}
+
+stop() {
+        ebegin "Stopping Icecream daemon"
+        start-stop-daemon --stop --quiet --retry 5 --exec /opt/icecream/bin/iceccd
+        eend $?
+}
diff --git a/sys-devel/icecream/files/icecreamscheduler b/sys-devel/icecream/files/icecreamscheduler
new file mode 100755 (executable)
index 0000000..0b458cc
--- /dev/null
@@ -0,0 +1,17 @@
+#!/sbin/runscript
+depend() {
+        need net
+}
+
+start() {
+        ebegin "Starting Icecream scheduler"
+       start-stop-daemon --start --quiet --exec /opt/icecream/bin/scheduler -- -d 
+> /dev/null
+        eend $?
+}
+
+stop() {
+        ebegin "Stopping Icecream scheduler"
+       start-stop-daemon --stop --quiet --retry 5 --exec /opt/icecream/bin/scheduler --
+        eend $?
+}
diff --git a/sys-devel/icecream/icecream-0.6.20040829.ebuild b/sys-devel/icecream/icecream-0.6.20040829.ebuild
new file mode 100644 (file)
index 0000000..bf4c09f
--- /dev/null
@@ -0,0 +1,75 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/icecream/icecream-0.6.20040829.ebuild,v 1.1 2005/01/11 22:40:00 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://wiki.kde.org/icecream"
+SRC_URI="ftp://ftp.suse.com/pub/projects/icecream/${PN}-0.6-20040829.tar.bz2
+       mirror://gentoo/${PN}-${PV}.nokde.patch.bz2"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+RDEPEND="virtual/libc
+       kde? ( kde-base/kdelibs )"
+DEPEND="${RDEPEND}"
+IUSE="kde"
+
+src_compile() {
+       cd ${WORKDIR}/icecream
+       epatch ${FILESDIR}/icecream_disable.patch.bz2 || die "error patching icecream"
+
+       if ! use kde ; then
+               epatch $DISTDIR/${PN}-${PV}.nokde.patch.bz2 || die "error patching icecream"
+       fi
+
+       mv client/create-env client/create-env.orig
+       sed -e 's/^LD_ASSUME_KERNEL/#LD_ASSUME_KERNEL/' -e 's/^export LD_ASSUME/#export LD_ASSUME/' client/create-env.orig >client/create-env || die "error patching create-env"
+       mv configure.in configure.in.orig
+       sed -e 's/^CFLAGS=/#CFLAGS=/' -e 's/^CXXFLAGS=/#CXXFLAGS=/' configure.in.orig >configure.in || die "error patching configure.in"
+
+       use amd64 && export CFLAGS="${CFLAGS} -fPIC -DPIC"
+       use amd64 && export CXXFLAGS="${CXXFLAGS} -fPIC -DPIC"
+       ./configure --prefix=/opt/icecream
+
+       if use kde ; then
+               emake || die "error compiling"
+       else
+               # I was too lazy to check how to replace KDE_CREATE_SUBDIRSLIST in configure.in
+               cd minilzo; emake || die "error compiling"
+               cd ../services; emake || die "error compiling"
+               cd ../client; emake || die "error compiling"
+               cd ../daemon; emake || die "error compiling"
+       fi
+}
+
+src_install() {
+       cd ${WORKDIR}/icecream
+       if use kde ; then
+               make DESTDIR=${D} install || die "error installing"
+       else
+               cd minilzo; make DESTDIR=${D} install || die "error installing"
+               cd ../services; make DESTDIR=${D} install || die "error installing"
+               cd ../client; make DESTDIR=${D} install || die "error installing"
+               cd ../daemon; make DESTDIR=${D} install || die "error installing"
+       fi
+       mkdir -p ${D}etc/env.d
+       # We are using kicecream to get it included after the kde-env
+       # which ignores a previous KDEDIRS
+       cp ${FILESDIR}/99icecream ${D}etc/env.d/99kicecream
+       mkdir -p ${D}etc/init.d
+       cp ${FILESDIR}/icecreamdaemon ${D}etc/init.d
+       cp ${FILESDIR}/icecreamscheduler ${D}etc/init.d
+}
+
+pkg_postinst() {
+       einfo "If you have compiled binutils/gcc/glibc with processor-specific flags"
+       einfo "(as normal using Gentoo), there is a great chance that the chroot created"
+       einfo "by icecc doesn't work with other machines. In that case it would be best"
+       einfo "to install the appropriate icecream-chroot package."
+       einfo "To use icecream with gentoo/ebuild use"
+       einfo " PREROOTPATH=/opt/icecream/bin"
+       einfo " (e.g. in /etc/profile)."
+       einfo "To use it with normal make use"
+       einfo ' PATH=/opt/icecream/bin:$PATH'
+       einfo "Right now it doesn't work with ccache without some special work."
+}