summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFriedrich Oslage <bluebird@gentoo.org>2008-06-12 18:32:36 +0000
committerFriedrich Oslage <bluebird@gentoo.org>2008-06-12 18:32:36 +0000
commiteaf830dea675d93f8ca3b549bb66c78caa0f650d (patch)
tree410a15ff62c4e6d36fba1604ba0cf12b039041a6 /sys-devel
parentFix xulrunner depends, bug #217160 (diff)
downloadhistorical-eaf830dea675d93f8ca3b549bb66c78caa0f650d.tar.gz
historical-eaf830dea675d93f8ca3b549bb66c78caa0f650d.tar.bz2
historical-eaf830dea675d93f8ca3b549bb66c78caa0f650d.zip
fix bug #223159(always run jobs locally when using -march=native) and bug #183586(lib, lib64 issue on amd64 when running icecc --build-native)
Package-Manager: portage-2.1.4.4
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/icecream/ChangeLog11
-rw-r--r--sys-devel/icecream/Manifest5
-rw-r--r--sys-devel/icecream/files/0.9.0-create-env-multilib.patch30
-rw-r--r--sys-devel/icecream/files/0.9.0-run-march-native-locally.patch16
-rw-r--r--sys-devel/icecream/icecream-0.9.0-r1.ebuild127
5 files changed, 187 insertions, 2 deletions
diff --git a/sys-devel/icecream/ChangeLog b/sys-devel/icecream/ChangeLog
index 06e1b1beefe0..d9093f8c27e9 100644
--- a/sys-devel/icecream/ChangeLog
+++ b/sys-devel/icecream/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for sys-devel/icecream
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/icecream/ChangeLog,v 1.15 2008/06/11 18:44:06 bluebird Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/icecream/ChangeLog,v 1.16 2008/06/12 18:32:36 bluebird Exp $
+
+*icecream-0.9.0-r1 (12 Jun 2008)
+
+ 12 Jun 2008; Friedrich Oslage <bluebird@gentoo.org>
+ +files/0.9.0-create-env-multilib.patch,
+ +files/0.9.0-run-march-native-locally.patch, +icecream-0.9.0-r1.ebuild:
+ Add patch to always run jobs containing -march=native locally, bug
+ #223159
+ Fix creation of environment on amd64, bug #183586
*icecream-0.9.0 (11 Jun 2008)
diff --git a/sys-devel/icecream/Manifest b/sys-devel/icecream/Manifest
index 83fbb9b39ba7..3e3cd2b713e5 100644
--- a/sys-devel/icecream/Manifest
+++ b/sys-devel/icecream/Manifest
@@ -1,12 +1,15 @@
AUX 0.7.14-conf.d-verbosity.patch 535 RMD160 e3d6d5242d6057c845f6f0ad3eda03d24c6b3ac4 SHA1 c544215f2bdb13f850b4f0c9af189bcf89bc63db SHA256 41ac1f5b064f77ab471c5ceebb80d11e30228be349b1f75f6f49d3c320a5a0d2
AUX 0.7.14-dont-create-symlinks.patch 476 RMD160 a773490dccc543ab1fae25813c455fcefb56f953 SHA1 4f2cf484e78df355a0d7a39cd56bdefea0ac635a SHA256 adc7a325a868907f0c5f77a1bdfe426a9d8e01fbc40bb3239a39576901c6e710
AUX 0.9.0-conf.d-verbosity.patch 463 RMD160 b08c0f5cfec00b5dcc968bac3b598892055edf6f SHA1 6adc235bb1e6b4a27e9d7610385d6bc8ef6d389d SHA256 c103468c3303809181b554b152a7ee0db041d12dd040d5196cc9da453303c957
+AUX 0.9.0-create-env-multilib.patch 898 RMD160 622740dd8c3254f44ff38cdc2d9b448d2ea9de72 SHA1 b8e5f6fc956aaa38b7a2fdcfff27383d0239bc90 SHA256 25f0ff3140dc4648951e41b8faafbb4404e01ebd10531f7211f6c3ff24982873
AUX 0.9.0-dont-create-symlinks.patch 406 RMD160 c7454778e79367e7cfdbac07ab15af0dff772051 SHA1 7f070673b5d3576538885392ab0f025336e1288e SHA256 4800a6611cff4ca0845eb1b98aa20ab96f2949710c4249fc45c861d8936d33ee
+AUX 0.9.0-run-march-native-locally.patch 698 RMD160 97645af889c60dc5a61b0fe20c3173916628d65a SHA1 facd1aa27d57fbf38a073737c2d2aaad8976e087 SHA256 b5ea01a029ece034871f8283fd02b131d55d2aec4f486f59345757b53b486742
AUX icecream 1546 RMD160 f99d695c7cfe3ee93a4ded66cb7f1d24bbbf740e SHA1 ca9270513e40d27650a823fd39f14a4fc0875419 SHA256 d122f104e141d6e0c4f368ece47a871adf01919f6fdaa4ea6785d83293040fbb
AUX icecream-config 1689 RMD160 1f49cb792ea34fb90cadb40fa4febbb02512fb46 SHA1 f52ab186856598591ecbf299bfa68912b41f21ac SHA256 f6723b36c8955f2b919445ada3bcf51862139a2a691d677133b10baa21d87410
DIST icecc-0.7.14.tar.bz2 147404 RMD160 424930cad2c68141742b3c5b30a53134cbc2124f SHA1 e59a51d08524e71af22966419da79c3b2cfd6d4b SHA256 eb61bf5cdbcbba66e4b11d765111cc97df27589ddadd5478d95796f6e63c5001
DIST icecc-0.9.0.tar.bz2 367955 RMD160 42e46d4d13fc7e4d93218d90ea1a9966529428bf SHA1 fbfc0494369171f339c5688d6cba3b1bd54455f6 SHA256 16e99e53bcf04e443eecb1b7e610a19cfb9b3a7ad048aad68856a5b36c9f828f
EBUILD icecream-0.7.14.ebuild 3526 RMD160 e61b46c06295e379b1f30abf68e8587ea9452a72 SHA1 f8f8b3abfc4ccffd96c9974708ba6f40779e7c3c SHA256 d0eae1f4f77731f946e956538812bc6ae647d49c5fef614957cecca3203f0dc9
+EBUILD icecream-0.9.0-r1.ebuild 4280 RMD160 b4a2c423e4a4dc84bf188aa58f46faef1cc325b9 SHA1 bb72ee805ee171a9de8d171609db090709630466 SHA256 850ff22192cc76e6c3cccf7335b0e340106a46a31801933425156d1b9609ca56
EBUILD icecream-0.9.0.ebuild 4164 RMD160 1180ffa62ef91e50d0d21fe5a1522d14fd200e23 SHA1 be53f10b2b3cec2bf0b09d0f29964ba091585f8d SHA256 7e77edf882269b08f66a160fd01d529fa0d844cb80742d26bb142ffbaed25988
-MISC ChangeLog 3240 RMD160 2717557d4da7cd7f07b1e476f37189adcd1201d5 SHA1 5a4efcc6e7c187466cdbb807afe5dc0a9e9b8455 SHA256 3471cbbf9df0ce51c6473c5f58b4286942180b3aa419eba17eadf46f7a147622
+MISC ChangeLog 3576 RMD160 00a434ec9858c30f9ff7382edc86f29ac63a11a8 SHA1 9e1ac80c1aba744517e8fe2ce5333c893d62f83c SHA256 e4b643f4ee367afb9dfbb2a12679ee035b977738cc7b0d0eb3428339a911abb3
MISC metadata.xml 227 RMD160 7155b031dbc4292fbe0c64b51a6ef7d51f4788cb SHA1 126258ae6d52b655b4cafbf037d68d7f4b98399c SHA256 280f0489d26db834f76dd978c65c87644670e968026df54877242cf1a28d1c10
diff --git a/sys-devel/icecream/files/0.9.0-create-env-multilib.patch b/sys-devel/icecream/files/0.9.0-create-env-multilib.patch
new file mode 100644
index 000000000000..643b8790545c
--- /dev/null
+++ b/sys-devel/icecream/files/0.9.0-create-env-multilib.patch
@@ -0,0 +1,30 @@
+diff -urN icecream.orig/icecc-create-env icecream/icecc-create-env
+--- icecream.orig/client/icecc-create-env
++++ icecream/client/icecc-create-env
+@@ -11,6 +11,16 @@
+ is_darwin=1
+ fi
+
++lib_is_symlink=0
++if test -L /lib; then
++ lib_is_symlink=1
++ real_libdir="`readlink /lib`"
++ if [[ "`readlink /usr/lib`" != "$real_libdir" ]]; then
++ echo "Hmmm, /lib is a symlink to $real_libdir but /usr/lib is not...this doesn't look sane!"
++ exit 1
++ fi
++fi
++
+ is_contained ()
+ {
+ case " $target_files " in
+@@ -55,6 +65,9 @@
+ # and prefer that on the assumption that it is a more generic one.
+ local baselib=`echo "$lib" | sed 's,\(/[^/]*\)/.*\(/[^/]*\)$,\1\2,'`
+ test -f "$baselib" && lib=$baselib
++ if test "$lib_is_symlink" = 1; then
++ lib="${lib/\/lib\///$real_libdir/}"
++ fi
+ add_file "$lib"
+ done
+ fi
diff --git a/sys-devel/icecream/files/0.9.0-run-march-native-locally.patch b/sys-devel/icecream/files/0.9.0-run-march-native-locally.patch
new file mode 100644
index 000000000000..fe89637b61cc
--- /dev/null
+++ b/sys-devel/icecream/files/0.9.0-run-march-native-locally.patch
@@ -0,0 +1,16 @@
+diff -urN icecream.orig/client/arg.cpp icecream/client/arg.cpp
+--- icecream.orig/client/arg.cpp
++++ icecream/client/arg.cpp
+@@ -182,6 +182,12 @@
+ #endif
+ always_local = true;
+ args.append(a, Arg_Local);
++ } else if (!strcmp(a, "-march=native") || !strcmp(a, "-mcpu=native") || !strcmp(a, "-mtune=native")) {
++#if CLIENT_DEBUG
++ log_info() << "-{march,mpcu,mtune}=native optimizes for local machine; must be local" << endl;
++#endif
++ always_local = true;
++ args.append(a, Arg_Local);
+ } else if (!strcmp(a, "-c")) {
+ seen_c = true;
+ } else if (str_startswith("-o", a)) {
diff --git a/sys-devel/icecream/icecream-0.9.0-r1.ebuild b/sys-devel/icecream/icecream-0.9.0-r1.ebuild
new file mode 100644
index 000000000000..3f6ba515a6d3
--- /dev/null
+++ b/sys-devel/icecream/icecream-0.9.0-r1.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/icecream/icecream-0.9.0-r1.ebuild,v 1.1 2008/06/12 18:32:36 bluebird Exp $
+
+inherit autotools eutils flag-o-matic
+
+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 ~ppc ~sparc ~x86"
+IUSE="doc"
+
+RDEPEND="virtual/libc"
+DEPEND="${RDEPEND}
+ doc? ( =kde-base/kdelibs-3.5* )"
+
+S="${WORKDIR}/${MY_P}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}/${PV}-dont-create-symlinks.patch"
+ epatch "${FILESDIR}/${PV}-conf.d-verbosity.patch"
+ epatch "${FILESDIR}/${PV}-run-march-native-locally.patch"
+ epatch "${FILESDIR}/${PV}-create-env-multilib.patch"
+
+ use amd64 && append-flags -fPIC -DPIC
+
+ eautoreconf
+}
+
+src_compile() {
+ econf
+ emake || die "compiling icecc failed"
+
+ # compile manpages...yeah, we need meinproc, ergo kdelibs for this :(
+ if use doc; then
+ cd doc
+ for docfile in *.docbook; do
+ outputfile="${docfile/man-/}"
+ outputfile="${outputfile/.docbook/}"
+
+ meinproc \
+ --stylesheet /usr/kde/3.5/share/apps/ksgmltools2/customization/kde-man.xsl \
+ "${docfile}" && \
+ mv manpage.troff "${outputfile}" || \
+ die "compiling manpages failed"
+ done
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "install failed"
+
+ dosbin "${FILESDIR}"/icecream-config || "install failed"
+
+ newconfd suse/sysconfig.icecream icecream || die "install failed"
+ doinitd "${FILESDIR}"/icecream || die "install failed"
+
+ diropts -m0755
+ keepdir /usr/lib/icecc/bin
+
+ if use doc; then
+ cd doc
+ doman icecc.1 iceccd.1 icecream.7 scheduler.1 || die "doman failed"
+ fi
+}
+
+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/sbin/icecream-config --install-links
+ /usr/sbin/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
+
+ 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: http://www.opensuse.org/icecream"
+ elog
+ elog "The icecream monitor is no longer included in this package."
+ elog "See http://bugs.gentoo.org/show_bug.cgi?id=139432 for more info."
+}