| # 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}" |
| } |