diff options
author | Friedrich Oslage <bluebird@gentoo.org> | 2008-06-12 18:32:36 +0000 |
---|---|---|
committer | Friedrich Oslage <bluebird@gentoo.org> | 2008-06-12 18:32:36 +0000 |
commit | eaf830dea675d93f8ca3b549bb66c78caa0f650d (patch) | |
tree | 410a15ff62c4e6d36fba1604ba0cf12b039041a6 /sys-devel | |
parent | Fix xulrunner depends, bug #217160 (diff) | |
download | historical-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/ChangeLog | 11 | ||||
-rw-r--r-- | sys-devel/icecream/Manifest | 5 | ||||
-rw-r--r-- | sys-devel/icecream/files/0.9.0-create-env-multilib.patch | 30 | ||||
-rw-r--r-- | sys-devel/icecream/files/0.9.0-run-march-native-locally.patch | 16 | ||||
-rw-r--r-- | sys-devel/icecream/icecream-0.9.0-r1.ebuild | 127 |
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." +} |