summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatsuu Takuto <matsuu@gentoo.org>2011-10-28 05:41:06 +0000
committerMatsuu Takuto <matsuu@gentoo.org>2011-10-28 05:41:06 +0000
commit1038beb4e6981c62f55e74ba2c2974da43cb80a5 (patch)
treeeaf1db7b48fa7e620d3a6a985f559b16b07c68ef /sys-devel/distcc
parentVersion bump. (diff)
downloadhistorical-1038beb4e6981c62f55e74ba2c2974da43cb80a5.tar.gz
historical-1038beb4e6981c62f55e74ba2c2974da43cb80a5.tar.bz2
historical-1038beb4e6981c62f55e74ba2c2974da43cb80a5.zip
Version bumped. Added crossdev and gssapi local USE flags. Clean up.
Package-Manager: portage-2.1.10.29/cvs/Linux x86_64
Diffstat (limited to 'sys-devel/distcc')
-rw-r--r--sys-devel/distcc/ChangeLog10
-rw-r--r--sys-devel/distcc/Manifest31
-rw-r--r--sys-devel/distcc/distcc-3.1-r4.ebuild167
-rw-r--r--sys-devel/distcc/distcc-3.2_rc1.ebuild199
-rw-r--r--sys-devel/distcc/files/distcc-3.2_rc1-freedesktop.patch79
-rw-r--r--sys-devel/distcc/files/distcc-3.2_rc1-gssapi.patch36
-rw-r--r--sys-devel/distcc/files/distcc-3.2_rc1-python.patch246
-rw-r--r--sys-devel/distcc/files/distcc-config-3.2_rc1181
-rw-r--r--sys-devel/distcc/metadata.xml4
9 files changed, 777 insertions, 176 deletions
diff --git a/sys-devel/distcc/ChangeLog b/sys-devel/distcc/ChangeLog
index eb6a766c3470..cc4852e051ce 100644
--- a/sys-devel/distcc/ChangeLog
+++ b/sys-devel/distcc/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for sys-devel/distcc
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/ChangeLog,v 1.210 2011/03/30 11:12:30 angelos Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/ChangeLog,v 1.211 2011/10/28 05:41:06 matsuu Exp $
+
+*distcc-3.2_rc1 (28 Oct 2011)
+
+ 28 Oct 2011; MATSUU Takuto <matsuu@gentoo.org> -distcc-3.1-r4.ebuild,
+ +files/distcc-config-3.2_rc1, +distcc-3.2_rc1.ebuild,
+ +files/distcc-3.2_rc1-freedesktop.patch, +files/distcc-3.2_rc1-gssapi.patch,
+ +files/distcc-3.2_rc1-python.patch, metadata.xml:
+ Version bumped. Removed old version.
30 Mar 2011; Christoph Mende <angelos@gentoo.org> distcc-2.18.3-r10.ebuild,
distcc-3.0-r4.ebuild, distcc-3.1-r4.ebuild:
diff --git a/sys-devel/distcc/Manifest b/sys-devel/distcc/Manifest
index a2901b093e9b..c431a6620898 100644
--- a/sys-devel/distcc/Manifest
+++ b/sys-devel/distcc/Manifest
@@ -1,5 +1,5 @@
-----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
+Hash: SHA1
AUX 2.18-r1/conf 1345 RMD160 6921e75f3d71ecebf66ebf4356482655ff1d0a19 SHA1 89aa69c5cc8a645fe3ff11282cd230c3a3dd898a SHA256 c48a04bd789d38682c8e1003f891a4428e5bb457696578afe56a913ec003fdef
AUX 2.18-r1/init 927 RMD160 11638f1be4f1a55414517e9982b3a2ee508b9b9d SHA1 6456b0af8e63112258fd401afc1abe7b578004cb SHA256 3b7343b659ce864da8b730d2bf2c221de6446d6afc935f7686d85fc8d0983167
@@ -16,9 +16,13 @@ AUX distcc-3.0-uninitialized.patch 448 RMD160 706d9923d257f7616775d55b287e02fb13
AUX distcc-3.0-xinetd.patch 558 RMD160 c69f8a379ec543972fac6ec3066989c5393223f3 SHA1 58d4393c6cdd3546f35efc57021de496c66c239d SHA256 9ef11743e91167548ac6324aa21608a62fd09149a8dbdbab32602f70804e0560
AUX distcc-3.1-freedesktop.patch 2959 RMD160 e2d503b80174709d0c416fd4feea8414e4a7900c SHA1 007161b1bec7a8d5b70e46077b307de21e2a7e1c SHA256 bf8694f4d1eb5e757615929bc58587f538ce733891097eb42204423cab644798
AUX distcc-3.1-python.patch 10754 RMD160 6f4f5b2e8ec24ea969002cb00fc3d4a624edc65a SHA1 34f73e4f0494066be528339e5ac0956fb95414da SHA256 8ba3c0745a30b5901cfb37f4231d754e5779cbc5a6fa173fb196661d2a035cc2
+AUX distcc-3.2_rc1-freedesktop.patch 3140 RMD160 7402c835493978e3a2e4b338bf783f1958f7694b SHA1 b117588006f1b3d6de3bb7034f0fa303c1957f1d SHA256 7ead1174fc170cee5c32ac183edf0c15ae35df56bedbbf6bc24c0099fe23b7f6
+AUX distcc-3.2_rc1-gssapi.patch 1638 RMD160 88adbe60a6818075a7153ed99a638cb46418c86c SHA1 a911bdef83ca0d17dcbc7121e4dc71987c5fb6ce SHA256 2693fbf5b76ab64874e0a4bc1540067f402799dfabde5202a89ec045f1d88ea0
+AUX distcc-3.2_rc1-python.patch 10592 RMD160 fd8af66d2470fd9a6823765fafd726d5a8a3b64c SHA1 21dba21ddd532c74f8ba337555bcb352b30c02be SHA256 935328943efe26f20bfb94952bc8bcb7f8536465db72411d81e6f3d1ade37989
AUX distcc-as-needed.patch 558 RMD160 faebf24490e3dd2a5247cfb6914dc88fb7b98e35 SHA1 5e5547032b6492f9f8b0511fd621a005dbd455a2 SHA256 9e87d3b0487ffc52ccf6362866e967dff9c2a85681175096ece11413f8c91e54
AUX distcc-avahi-configure.patch 1263 RMD160 de3ba2d651b5a76d5ee71cde79a2555f77a70b1b SHA1 eddae708be95f4bbd7cbfed53439e2dc38a979e8 SHA256 9d967456da6631845b4262ae7508948d629764149fd568c367e76e89168bb132
AUX distcc-config 4874 RMD160 07bd612fc11c785691bd56e4e7bb7994a2e4dbb8 SHA1 85b5f38d6024e4f454bfa07d96c13b4749ce3e2a SHA256 c6a7bb74eb235fd7896ca101c033a2e9faf80afeb7232bff3afe22f8a6268a5c
+AUX distcc-config-3.2_rc1 5332 RMD160 5a51782d1dcff1fdb8af3deed6574869dbf36bd0 SHA1 5cc91a745b324a20230635685f5a670825f5a086 SHA256 b825a21dc43afe71f9c14697bd7070a3a6798a6b6089084bd6b26e0c4ea7c167
AUX distcc-create-dir.patch 1404 RMD160 c9c878715ac02952d791da8776952e69d5de7e57 SHA1 387572bc6c05896386aef50db0d490168c1058f1 SHA256 b327b879f200d7a78cfe665cdba864e4d92a9fdecdd81149d75d72c8ba756bde
AUX distcc-freedesktop.patch 2519 RMD160 98020f40eebe7ca9cd629e602a9ff216df0b97f9 SHA1 1cdcacc021a51ad3469ab16b90f43379538629f9 SHA256 632f7865da9f35773fb95df53ae77089e1bbf7aa936b86d0f4b938603a8c37c3
AUX distcc-gentoo-multilib-r1.patch 4245 RMD160 175cb4c2ce0e8ecb2262165b3fd9a0d89ddc7beb SHA1 f617965969e7b4afd1b6467a56fe0f7f748c7717 SHA256 78839f7392769ab41509e84f07c36d07315d0220f7aacbb174ed1aba80b9c28d
@@ -28,16 +32,27 @@ AUX distcc-march-native.patch 934 RMD160 29908d5b5c4622285a78f221b2633e3ee495a64
DIST distcc-2.18.3.tar.bz2 341601 RMD160 c7ac6f3e161dccf39b841b57a3328b4208d28c2d SHA1 88e4c15826bdbc5a3de0f7c1bcb429e558c6976d SHA256 6500f1bc2a30b1f044ebed79c6ce15457d1712263e65f0db7d6046af262ba434
DIST distcc-3.0.tar.bz2 582700 RMD160 1e187fe09129dcc6e561bfb0cd0db9a43619acca SHA1 90cea1d7500e95d3c698e6ab9b9536a946f62824 SHA256 bb6f5674b619ef1438da67739d982e8a6b11e01f748708e0fcbe371c02f020fe
DIST distcc-3.1.tar.bz2 588820 RMD160 82229c230e6917b0df7db275460579b02dbf6b60 SHA1 30663e8ff94f13c0553fbfb928adba91814e1b3a SHA256 f55dbafd76bed3ce57e1bbcdab1329227808890d90f4c724fcd2d53f934ddd89
+DIST distcc-3.2rc1.tar.bz2 609904 RMD160 505447b910d90ea403a98fe0d0a3a0fa92cd7039 SHA1 7564e4a4890ad6ff78ec0de620329b71179361e7 SHA256 311671e844625d7fdb18dd3d096cd855751cfe8de13827682bcb7beff9133b30
EBUILD distcc-2.18.3-r10.ebuild 5137 RMD160 508cd0415759109afabf5a1808a9f8cb9270b668 SHA1 44abc5cb3306a4c36723cbd2bae77cfce65020ba SHA256 8a6295e903e6950a64a739ec3ea8138616d7ef4d0dcd60b12af278b228bcf34c
EBUILD distcc-3.0-r4.ebuild 4593 RMD160 c9919883117733788883069757230bbb108744f4 SHA1 5539be07ad4c3fb49064cb4ee846ce8f80be78f4 SHA256 45780c57a309a9dba22d33514c8b1cc30abf77e19cd0b2744d764ff1fff602c6
-EBUILD distcc-3.1-r4.ebuild 4477 RMD160 407effb3ed2a3fa61fba0b54666df8e6204cfed2 SHA1 e631152a676bfb0dfdeee0a0686ddf8e6af9621b SHA256 1ed79bea3988a929965944ee4fd9b387e73680340104cec80ff2c9fc4c8397c0
EBUILD distcc-3.1-r5.ebuild 4735 RMD160 06f3e02b81546b3d71ca770f91d11755e2c4b046 SHA1 8fd61ea57b14a57273c124ad3db4bbe03557f8ba SHA256 f23dfa154325a758b56c51906ce972b5dc766e6c4da8cda721c932747d429c1c
-MISC ChangeLog 37945 RMD160 194b1ca1f7a3af2385425f98a65b0432cbc19b94 SHA1 37e7a8590bcc78dc01356e72be4d4abcd22cb878 SHA256 7da6e03d65adbe95b3f060422ecd38826cb6188360cc9e4d0a1065a40acdf423
-MISC metadata.xml 372 RMD160 39cf4903218a1394a2dbbe5b4b5f53bda0b3791a SHA1 f68a302b90535835e7119f9701d445a5dfc05129 SHA256 25318fa35e9a311cf00b5ce32d90e524e17599eb8c091de96547030a647e80f4
+EBUILD distcc-3.2_rc1.ebuild 5798 RMD160 3b6c1f7cf9ddb5df746ef356a81e4736c6490c09 SHA1 756eb9529d3cbd601e46f665a7fdaa02946547c5 SHA256 5325144403f61699c81e19d9379cb31f70afe99c0e042877210d2eb951d7e3ed
+MISC ChangeLog 38274 RMD160 7a2e6ea658fd58bfa07429c7dccbf4450ef377c4 SHA1 8246fd0186ae8fadac5b2706042eb98d9d1cd06c SHA256 63d17d0de8ba9ab827b06fa4955b71fd469218616bc39e4672859e215f42fe45
+MISC metadata.xml 546 RMD160 51a7caedb84842f9efa58ce9ec9da75b60e9378d SHA1 0d8767f8e7ca64a5c2c00eb4c20102955c2c12c1 SHA256 e94ab6ea446d8831bc33afa52dc75b25255bef5a05a1c2af22ba5b1ffc8d55d8
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.17 (GNU/Linux)
+Version: GnuPG v2.0.18 (GNU/Linux)
-iF4EAREIAAYFAk2TECMACgkQmWq1bYTyC0NyFQD+IvDWtmRDW+JmuiIqGBLSop1g
-0xBxeyXoXCvB/CC3D08A/jMmrFiHV0gn/VnKbGwID+iD8G2HGgD2x6xGyCME0kqr
-=Xvtj
+iQIcBAEBAgAGBQJOqkB6AAoJECaGw+YFKA1pjRsP/0VNWS7sBOBtkmyika8jPBe0
+KBCKkkGlxldAqTS24Jm+sRn36Qkiqf+vwp6WKo6bo0aTA+F027LHJH5BPl4y+T7b
+fGcA2tOnTEH7O6Go8C10P1M1ygYvcrX4+JO+/kNuvIXweZLtPF6z+x81oFbTcP1i
+WzBmFvCkEUwqIaw92+4TbD8W6+b954409KK51g/FqS7Xes/ZIZaT4VsVeHl9Nrlh
+brhP7zF9DmRAI9BqFeZtcrQmlEpGz7dn9wJi68TmTA8rNP3GqarqCGsdHVTRfGEh
+L/HwKrDvGYsKh/D5UxvNrPW48j9unTeia0Jgr9L/r68EXa1SdPFCUZo6w5vQV5Di
+hvQZ3K6dL8gDnruwYKW9qAGguWHQZ/GdtFidKlxH6mab67TCxOiKFrvTRki1WA3j
+FXIGPTZt1VP5aWgnLZ7WY9uY7FHzBmHVpSQ1XdBkN/EbQ2/qd5MUXMTcW8sh48E5
+ts2qM79gz/AdtGG+UDDrXqXPCw7sHQHVBLIrPtVCAz2YX6JN/jIaHrGlQAeLmBoq
+1zt/JL4GziTBusy6WsfaAwM4C6H8wkD493Fo53gxzaGCTZhQ9o01zOqpxkR9WGWm
+TI1T3+Q31n+ld/Q62ZvwcUUbl7lhXyQcX4W9/6rdDV7CHWVjV6M0+JW/S/AbKi0y
+BMYYJWlSN0FYUjHWJMP+
+=iu4A
-----END PGP SIGNATURE-----
diff --git a/sys-devel/distcc/distcc-3.1-r4.ebuild b/sys-devel/distcc/distcc-3.1-r4.ebuild
deleted file mode 100644
index d94bfa03b458..000000000000
--- a/sys-devel/distcc/distcc-3.1-r4.ebuild
+++ /dev/null
@@ -1,167 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/distcc-3.1-r4.ebuild,v 1.9 2011/03/30 11:12:30 angelos Exp $
-
-EAPI="2"
-inherit eutils fdo-mime flag-o-matic multilib toolchain-funcs
-
-DESCRIPTION="a program to distribute compilation of C code across several machines on a network"
-HOMEPAGE="http://distcc.org/"
-SRC_URI="http://distcc.googlecode.com/files/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
-IUSE="avahi gnome gtk hardened ipv6 selinux xinetd"
-
-RESTRICT="test"
-
-RDEPEND=">=dev-lang/python-2.4
- dev-libs/popt
- avahi? ( >=net-dns/avahi-0.6[dbus] )
- gnome? (
- >=gnome-base/libgnome-2
- >=gnome-base/libgnomeui-2
- x11-libs/gtk+:2
- x11-libs/pango
- )
- gtk? (
- x11-libs/gtk+:2
- )"
-DEPEND="${RDEPEND}
- dev-util/pkgconfig"
-RDEPEND="${RDEPEND}
- !net-misc/pump
- >=sys-devel/gcc-config-1.4.1
- selinux? ( sec-policy/selinux-distcc )
- xinetd? ( sys-apps/xinetd )"
-
-DISTCC_LOG=""
-DCCC_PATH="/usr/$(get_libdir)/distcc/bin"
-DISTCC_VERBOSE="0"
-
-pkg_setup() {
- enewuser distcc 240 -1 -1 daemon
-}
-
-src_prepare() {
- epatch "${FILESDIR}/${PN}-3.0-xinetd.patch"
- # bug #253786
- epatch "${FILESDIR}/${PN}-3.0-fix-fortify.patch"
- # bug #255188
- epatch "${FILESDIR}/${P}-freedesktop.patch"
- # bug #258364
- epatch "${FILESDIR}/${P}-python.patch"
-
- sed -i -e "/PATH/s:\$distcc_location:${DCCC_PATH}:" pump.in || die
-
- # Bugs #120001, #167844 and probably more. See patch for description.
- use hardened && epatch "${FILESDIR}/distcc-hardened.patch"
-}
-
-src_configure() {
- local myconf="--disable-Werror --with-docdir=/usr/share/doc/${PF}"
- # More legacy stuff?
- [ "$(gcc-major-version)" = "2" ] && filter-lfs-flags
-
- # --disable-rfc2553 b0rked, bug #254176
- use ipv6 && myconf="${myconf} --enable-rfc2553"
-
- econf \
- $(use_with avahi) \
- $(use_with gtk) \
- $(use_with gnome) \
- ${myconf} || die "econf failed"
-}
-
-src_install() {
- # In rare cases, parallel make install failed
- emake -j1 DESTDIR="${D}" install || die
-
- dobin "${FILESDIR}/3.0/distcc-config"
-
- newinitd "${FILESDIR}/${PV}/init" distccd
-
- cp "${FILESDIR}/3.0/conf" "${T}/distccd"
- if use avahi; then
- cat >> "${T}/distccd" <<-EOF
-
- # Enable zeroconf support in distccd
- DISTCCD_OPTS="\${DISTCCD_OPTS} --zeroconf"
- EOF
- fi
- doconfd "${T}/distccd"
-
- cat > "${T}/02distcc" <<-EOF
- # This file is managed by distcc-config; use it to change these settings.
- DISTCC_LOG="${DISTCC_LOG}"
- DCCC_PATH="${DCCC_PATH}"
- DISTCC_VERBOSE="${DISTCC_VERBOSE}"
- EOF
- doenvd "${T}/02distcc"
-
- # create the masquerade directory
- dodir "${DCCC_PATH}"
- for f in cc c++ gcc g++; do
- dosym /usr/bin/distcc "${DCCC_PATH}/${f}"
- if [ "${f}" != "cc" ]; then
- dosym /usr/bin/distcc "${DCCC_PATH}/${CTARGET:-${CHOST}}-${f}"
- fi
- done
-
- # create the distccd pid directory
- keepdir /var/run/distccd
- fowners distcc:daemon /var/run/distccd
-
- if use gnome || use gtk; then
- einfo "Renaming /usr/bin/distccmon-gnome to /usr/bin/distccmon-gui"
- einfo "This is to have a little sensability in naming schemes between distccmon programs"
- mv "${D}/usr/bin/distccmon-gnome" "${D}/usr/bin/distccmon-gui" || die
- dosym distccmon-gui /usr/bin/distccmon-gnome
- fi
-
- if use xinetd; then
- insinto /etc/xinetd.d
- newins "doc/example/xinetd" distcc
- fi
-
- rm -rf "${D}/etc/default"
- rm -f "${D}/etc/distcc/clients.allow"
- rm -f "${D}/etc/distcc/commands.allow.sh"
- prepalldocs
-}
-
-pkg_postinst() {
- use gnome && fdo-mime_desktop_database_update
-
- if use ipv6; then
- elog
- elog "IPv6 has not supported yet by ${P}."
- fi
- elog
- elog "Tips on using distcc with Gentoo can be found at"
- elog "http://www.gentoo.org/doc/en/distcc.xml"
- elog
- elog "How to use pump mode with Gentoo:"
- elog "# distcc-config --set-hosts \"foo,cpp,lzo bar,cpp,lzo baz,cpp,lzo\""
- elog "# pump emerge -u world"
- elog
- elog "To use the distccmon programs with Gentoo you should use this command:"
- elog "# DISTCC_DIR=\"${DISTCC_DIR}\" distccmon-text 5"
-
- if use gnome || use gtk; then
- elog "Or:"
- elog "# DISTCC_DIR=\"${DISTCC_DIR}\" distccmon-gnome"
- fi
-
- elog
- elog "***SECURITY NOTICE***"
- elog "If you are upgrading distcc please make sure to run etc-update to"
- elog "update your /etc/conf.d/distccd and /etc/init.d/distccd files with"
- elog "added security precautions (the --listen and --allow directives)"
- elog
-}
-
-pkg_postrm() {
- use gnome && fdo-mime_desktop_database_update
-}
diff --git a/sys-devel/distcc/distcc-3.2_rc1.ebuild b/sys-devel/distcc/distcc-3.2_rc1.ebuild
new file mode 100644
index 000000000000..dc4df55459b0
--- /dev/null
+++ b/sys-devel/distcc/distcc-3.2_rc1.ebuild
@@ -0,0 +1,199 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/distcc-3.2_rc1.ebuild,v 1.1 2011/10/28 05:41:06 matsuu Exp $
+
+EAPI="3"
+PYTHON_DEPEND="2:2.4"
+
+inherit autotools eutils fdo-mime flag-o-matic multilib python toolchain-funcs
+
+MY_P="${P/_}"
+DESCRIPTION="a program to distribute compilation of C code across several machines on a network"
+HOMEPAGE="http://distcc.org/"
+SRC_URI="http://distcc.googlecode.com/files/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="avahi crossdev gnome gssapi gtk hardened ipv6 selinux xinetd"
+
+RESTRICT="test"
+
+RDEPEND="dev-libs/popt
+ avahi? ( >=net-dns/avahi-0.6[dbus] )
+ gnome? (
+ >=gnome-base/libgnome-2
+ >=gnome-base/libgnomeui-2
+ x11-libs/gtk+:2
+ x11-libs/pango
+ )
+ gssapi? ( net-libs/libgssglue )
+ gtk? ( x11-libs/gtk+:2 )"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig"
+RDEPEND="${RDEPEND}
+ !net-misc/pump
+ >=sys-devel/gcc-config-1.4.1
+ selinux? ( sec-policy/selinux-distcc )
+ xinetd? ( sys-apps/xinetd )"
+
+S="${WORKDIR}/${MY_P}"
+
+DCCC_PATH="/usr/$(get_libdir)/distcc/bin"
+
+pkg_setup() {
+ enewuser distcc 240 -1 -1 daemon
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-3.0-xinetd.patch"
+ # bug #253786
+ epatch "${FILESDIR}/${PN}-3.0-fix-fortify.patch"
+ # bug #255188
+ epatch "${FILESDIR}/${PN}-3.2_rc1-freedesktop.patch"
+ # bug #258364
+ epatch "${FILESDIR}/${PN}-3.2_rc1-python.patch"
+ # for net-libs/libgssglue
+ epatch "${FILESDIR}/${PN}-3.2_rc1-gssapi.patch"
+
+ # Bugs #120001, #167844 and probably more. See patch for description.
+ use hardened && epatch "${FILESDIR}/distcc-hardened.patch"
+
+ python_convert_shebangs -r $(python_get_version) .
+ sed -i \
+ -e "/PATH/s:\$distcc_location:${EPREFIX}${DCCC_PATH}:" \
+ -e "s:@PYTHON@:${EPREFIX}$(PYTHON -a):" \
+ pump.in || die "sed failed"
+
+ sed \
+ -e "s:@EPREFIX@:${EPREFIX:-/}:" \
+ -e "s:@libdir@:/usr/$(get_libdir):" \
+ "${FILESDIR}/distcc-config-3.2_rc1" > "${T}/distcc-config" || die
+
+ eaclocal -Im4 --output=aclocal.m4
+ eautoconf
+}
+
+src_configure() {
+ local myconf="--disable-Werror"
+ # More legacy stuff?
+ [ "$(gcc-major-version)" = "2" ] && filter-lfs-flags
+
+ # --disable-rfc2553 b0rked, bug #254176
+ use ipv6 && myconf="${myconf} --enable-rfc2553"
+
+ econf \
+ $(use_with avahi) \
+ $(use_with gtk) \
+ $(use_with gnome) \
+ $(use_with gssapi auth) \
+ --with-docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ ${myconf} || die "econf failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dobin "${FILESDIR}/3.0/distcc-config" || die
+
+ newinitd "${FILESDIR}/3.1/init" distccd || die
+
+ cp "${FILESDIR}/3.0/conf" "${T}/distccd" || die
+ if use avahi; then
+ cat >> "${T}/distccd" <<-EOF
+
+ # Enable zeroconf support in distccd
+ DISTCCD_OPTS="\${DISTCCD_OPTS} --zeroconf"
+ EOF
+ fi
+ doconfd "${T}/distccd" || die
+
+ cat > "${T}/02distcc" <<-EOF
+ # This file is managed by distcc-config; use it to change these settings.
+ # DISTCC_LOG and DISTCC_DIR should not be set.
+ DISTCC_VERBOSE="${DISTCC_VERBOSE:-0}"
+ DISTCC_FALLBACK="${DISTCC_FALLBACK:-1}"
+ DISTCC_SAVE_TEMPS="${DISTCC_SAVE_TEMPS:-0}"
+ DISTCC_TCP_CORK="${DISTCC_TCP_CORK}"
+ DISTCC_SSH="${DISTCC_SSH}"
+ UNCACHED_ERR_FD="${UNCACHED_ERR_FD}"
+ DISTCC_ENABLE_DISCREPANCY_EMAIL="${DISTCC_ENABLE_DISCREPANCY_EMAIL}"
+ DCC_EMAILLOG_WHOM_TO_BLAME="${DCC_EMAILLOG_WHOM_TO_BLAME}"
+ EOF
+ doenvd "${T}/02distcc" || die
+
+ keepdir "${DCCC_PATH}" || die
+
+ dobin "${T}/distcc-config" || die
+
+ # create the distccd pid directory
+ keepdir /var/run/distccd || die
+ fowners distcc:daemon /var/run/distccd || die
+
+ if use gnome || use gtk; then
+ einfo "Renaming /usr/bin/distccmon-gnome to /usr/bin/distccmon-gui"
+ einfo "This is to have a little sensability in naming schemes between distccmon programs"
+ mv "${ED}/usr/bin/distccmon-gnome" "${ED}/usr/bin/distccmon-gui" || die
+ dosym distccmon-gui /usr/bin/distccmon-gnome || die
+ fi
+
+ if use xinetd; then
+ insinto /etc/xinetd.d || die
+ newins "doc/example/xinetd" distcc || die
+ fi
+
+ rm -r "${ED}/etc/default" || die
+ rm "${ED}/etc/distcc/clients.allow" || die
+ rm "${ED}/etc/distcc/commands.allow.sh" || die
+}
+
+pkg_postinst() {
+ if [ -x "${EPREFIX}/usr/bin/distcc-config" ] ; then
+ if use crossdev; then
+ "${EPREFIX}/usr/bin/distcc-config" --update-masquerade-with-crossdev
+ else
+ "${EPREFIX}/usr/bin/distcc-config" --update-masquerade
+ fi
+ fi
+
+ python_mod_optimize include_server
+ use gnome && fdo-mime_desktop_database_update
+
+ elog
+ elog "Tips on using distcc with Gentoo can be found at"
+ elog "http://www.gentoo.org/doc/en/distcc.xml"
+ elog
+ elog "How to use pump mode with Gentoo:"
+ elog "# distcc-config --set-hosts \"foo,cpp,lzo bar,cpp,lzo baz,cpp,lzo\""
+ elog "# echo 'FEATURES=\"\${FEATURES} distcc distcc-pump\"' >> /etc/make.conf"
+ elog "# emerge -u world"
+ elog
+ elog "To use the distccmon programs with Gentoo you should use this command:"
+ elog "# DISTCC_DIR=\"${DISTCC_DIR:-${BUILD_PREFIX}/.distcc}\" distccmon-text 5"
+
+ if use gnome || use gtk; then
+ elog "Or:"
+ elog "# DISTCC_DIR=\"${DISTCC_DIR:-${BUILD_PREFIX}/.distcc}\" distccmon-gnome"
+ fi
+
+ elog
+ elog "***SECURITY NOTICE***"
+ elog "If you are upgrading distcc please make sure to run etc-update to"
+ elog "update your /etc/conf.d/distccd and /etc/init.d/distccd files with"
+ elog "added security precautions (the --listen and --allow directives)"
+ elog
+}
+
+pkg_postrm() {
+ # delete the masquerade directory
+ if [ ! -f "${EPREFIX}/usr/bin/distcc" ] ; then
+ einfo "Remove masquerade symbolic links."
+ rm "${EPREFIX}${DCCC_PATH}/"*{cc,c++,gcc,g++}
+ rmdir "${EPREFIX}${DCCC_PATH}"
+ fi
+
+ python_mod_cleanup include_server
+ use gnome && fdo-mime_desktop_database_update
+}
diff --git a/sys-devel/distcc/files/distcc-3.2_rc1-freedesktop.patch b/sys-devel/distcc/files/distcc-3.2_rc1-freedesktop.patch
new file mode 100644
index 000000000000..8f0d8d77a12b
--- /dev/null
+++ b/sys-devel/distcc/files/distcc-3.2_rc1-freedesktop.patch
@@ -0,0 +1,79 @@
+diff -Naur distcc-3.2rc1.orig/Makefile.in distcc-3.2rc1/Makefile.in
+--- distcc-3.2rc1.orig/Makefile.in 2011-10-26 11:07:15.000000000 +0900
++++ distcc-3.2rc1/Makefile.in 2011-10-27 16:57:46.815272689 +0900
+@@ -50,13 +50,14 @@
+ includedir = @includedir@
+ oldincludedir = /usr/include
+ docdir = @docdir@
+-pkgdatadir = $(datadir)/@PACKAGE_NAME@
++icondir = $(datadir)/pixmaps
++desktopdir = $(datadir)/applications
+
+ include_server_builddir = $(builddir)/_include_server
+
+ # These must be done from here, not from autoconf, because they can
+ # contain variable expansions written in Make syntax. Ew.
+-DIR_DEFS = -DSYSCONFDIR="\"${sysconfdir}\"" -DPKGDATADIR="\"${pkgdatadir}\""
++DIR_DEFS = -DSYSCONFDIR="\"${sysconfdir}\"" -DICONDIR="\"${icondir}\""
+
+ # arguments to pkgconfig
+ GNOME_PACKAGES = @GNOME_PACKAGES@
+@@ -1016,7 +1017,8 @@
+ @echo " documents $(DESTDIR)$(docdir)"
+ @echo " programs $(DESTDIR)$(bindir)"
+ @echo " system configuration $(DESTDIR)$(sysconfdir)"
+- @echo " shared data files $(DESTDIR)$(pkgdatadir)"
++ @echo " icons $(DESTDIR)$(icondir)"
++ @echo " .desktop file $(DESTDIR)$(desktopdir)"
+
+
+ # install-sh can't handle multiple arguments, but we don't need any
+@@ -1108,10 +1110,10 @@
+ done
+
+ install-gnome-data: $(gnome_data)
+- $(mkinstalldirs) "$(DESTDIR)$(pkgdatadir)"
+- for p in $(gnome_data); do \
+- $(INSTALL_DATA) "$$p" "$(DESTDIR)$(pkgdatadir)" || exit 1; \
+- done
++ $(mkinstalldirs) "$(DESTDIR)$(icondir)"
++ $(mkinstalldirs) "$(DESTDIR)$(desktopdir)"
++ $(INSTALL_DATA) gnome/distccmon-gnome-icon.png "$(DESTDIR)$(icondir)" || exit 1
++ $(INSTALL_DATA) gnome/distccmon-gnome.desktop "$(DESTDIR)$(desktopdir)" || exit 1
+
+ install-conf: $(conf_files) $(default_files)
+ $(mkinstalldirs) "$(DESTDIR)$(sysconfdir)/distcc"
+diff -Naur distcc-3.2rc1.orig/gnome/distccmon-gnome.desktop distcc-3.2rc1/gnome/distccmon-gnome.desktop
+--- distcc-3.2rc1.orig/gnome/distccmon-gnome.desktop 2011-04-06 03:58:58.000000000 +0900
++++ distcc-3.2rc1/gnome/distccmon-gnome.desktop 2011-10-27 17:01:50.792242592 +0900
+@@ -1,6 +1,4 @@
+ [Desktop Entry]
+-Version=0.9.4
+-Encoding=UTF-8
+ Exec=distccmon-gnome
+ Name=distcc monitor
+ Name[sv]=distcc övervakare
+@@ -8,9 +6,9 @@
+ GenericName[sv]=Distribuerad kompilerings-övervakare
+ Comment=Graphical view of distributed compile tasks
+ Comment[sv]=Grafisk vy av distribuerade kompileringsuppgifter
+-Icon=distccmon-gnome-icon.png
++Icon=distccmon-gnome-icon
+ TryExec=distccmon-gnome
+ Terminal=false
+ Type=Application
+-Categories=GNOME;Application;Development;
++Categories=GNOME;Development;
+ StartupNotify=true
+diff -Naur distcc-3.2rc1.orig/src/mon-gnome.c distcc-3.2rc1/src/mon-gnome.c
+--- distcc-3.2rc1.orig/src/mon-gnome.c 2008-12-03 06:50:25.000000000 +0900
++++ distcc-3.2rc1/src/mon-gnome.c 2011-10-27 16:54:50.220566026 +0900
+@@ -599,7 +599,7 @@
+
+ #if GTK_CHECK_VERSION(2,2,0)
+ gtk_window_set_icon_from_file (GTK_WINDOW (mainwin),
+- PKGDATADIR "/distccmon-gnome-icon.png",
++ ICONDIR "/distccmon-gnome-icon.png",
+ NULL);
+ #endif
+
diff --git a/sys-devel/distcc/files/distcc-3.2_rc1-gssapi.patch b/sys-devel/distcc/files/distcc-3.2_rc1-gssapi.patch
new file mode 100644
index 000000000000..73551f8a7b80
--- /dev/null
+++ b/sys-devel/distcc/files/distcc-3.2_rc1-gssapi.patch
@@ -0,0 +1,36 @@
+diff -Naur distcc-3.2rc1.orig/configure.ac distcc-3.2rc1/configure.ac
+--- distcc-3.2rc1.orig/configure.ac 2011-10-21 13:40:55.000000000 +0900
++++ distcc-3.2rc1/configure.ac 2011-10-27 18:06:58.938922585 +0900
+@@ -15,6 +15,8 @@
+ AC_CONFIG_HEADERS(src/config.h)
+ AC_CANONICAL_HOST
+
++PKG_PROG_PKG_CONFIG
++
+ # FreeBSD installs its version of libpopt into /usr/local/, but does
+ # not put that on the default library and header path.
+ # Solaris doesn't even ship libpopt. We used to add that path if
+@@ -502,16 +504,17 @@
+ [provide mutual authentication services via the GSS-API])])
+
+ if test x"$with_auth" = xyes; then
+- AC_SEARCH_LIBS([gss_init_sec_context],
+- [gssapi gssapi_krb5],
+- AC_DEFINE(HAVE_GSSAPI, 1, [Define if the GSS_API is available])
++ PKG_CHECK_MODULES(GSSAPI, libgssglue,
++ [AC_DEFINE(HAVE_GSSAPI, 1, [Define if the GSS_API is available])
++ CFLAGS="$CFLAGS $GSSAPI_CFLAGS"
++ LIBS="$LIBS $GSSAPI_LIBS"
+ AUTH_COMMON_OBJS="src/auth_common.o"
+ AUTH_DISTCC_OBJS="src/auth_distcc.o"
+- AUTH_DISTCCD_OBJS="src/auth_distccd.o",
+- AC_MSG_FAILURE([--with-auth was given but no GSS-API library found])
++ AUTH_DISTCCD_OBJS="src/auth_distccd.o"],
++ [AC_MSG_FAILURE([--with-auth was given but no GSS-API library found])
+ AUTH_COMMON_OBJS=""
+ AUTH_DISTCC_OBJS=""
+- AUTH_DISTCCD_OBJS="")
++ AUTH_DISTCCD_OBJS=""])
+ fi
+
+ AC_SUBST(AUTH_COMMON_OBJS)
diff --git a/sys-devel/distcc/files/distcc-3.2_rc1-python.patch b/sys-devel/distcc/files/distcc-3.2_rc1-python.patch
new file mode 100644
index 000000000000..409b5a19d321
--- /dev/null
+++ b/sys-devel/distcc/files/distcc-3.2_rc1-python.patch
@@ -0,0 +1,246 @@
+diff -Naur distcc-3.2rc1.orig/bench/statistics.py distcc-3.2rc1/bench/statistics.py
+--- distcc-3.2rc1.orig/bench/statistics.py 2008-12-03 06:50:21.000000000 +0900
++++ distcc-3.2rc1/bench/statistics.py 2011-10-27 17:05:08.418023081 +0900
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python2.2
++#! /usr/bin/env python
+
+ # benchmark -- automated system for testing distcc correctness
+ # and performance on various source trees.
+diff -Naur distcc-3.2rc1.orig/configure.ac distcc-3.2rc1/configure.ac
+--- distcc-3.2rc1.orig/configure.ac 2011-10-21 13:40:55.000000000 +0900
++++ distcc-3.2rc1/configure.ac 2011-10-27 17:05:31.179112690 +0900
+@@ -243,7 +243,7 @@
+ #
+ # NB: Cannot use AC_CONFIG_LIBOBJ_DIR here, because it's not present
+ # in autoconf 2.53.
+-AC_PATH_PROGS(PYTHON, [python2.6 python-2.6 python2.5 python-2.5 python2.4 python-2.4 python])
++AC_PATH_PROGS(PYTHON, [python])
+ AC_ARG_VAR(PYTHON, [Python interpreter])
+ # Python 1 doesn't even support -V
+ if ! "$PYTHON" -V 2>&1 | grep "^Python" >/dev/null; then
+diff -Naur distcc-3.2rc1.orig/include_server/basics.py distcc-3.2rc1/include_server/basics.py
+--- distcc-3.2rc1.orig/include_server/basics.py 2008-12-03 06:50:31.000000000 +0900
++++ distcc-3.2rc1/include_server/basics.py 2011-10-27 17:05:08.421023097 +0900
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python2.4
++#!/usr/bin/python
+ #
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/basics_test.py distcc-3.2rc1/include_server/basics_test.py
+--- distcc-3.2rc1.orig/include_server/basics_test.py 2008-12-03 06:50:31.000000000 +0900
++++ distcc-3.2rc1/include_server/basics_test.py 2011-10-27 17:05:08.421023097 +0900
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python2.4
++#! /usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/c_extensions_test.py distcc-3.2rc1/include_server/c_extensions_test.py
+--- distcc-3.2rc1.orig/include_server/c_extensions_test.py 2008-12-03 06:50:31.000000000 +0900
++++ distcc-3.2rc1/include_server/c_extensions_test.py 2011-10-27 17:05:08.421023097 +0900
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python2.4
++#!/usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/cache_basics.py distcc-3.2rc1/include_server/cache_basics.py
+--- distcc-3.2rc1.orig/include_server/cache_basics.py 2008-12-03 06:50:31.000000000 +0900
++++ distcc-3.2rc1/include_server/cache_basics.py 2011-10-27 17:05:08.422023101 +0900
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python2.4
++#! /usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/compiler_defaults.py distcc-3.2rc1/include_server/compiler_defaults.py
+--- distcc-3.2rc1.orig/include_server/compiler_defaults.py 2011-04-06 03:58:59.000000000 +0900
++++ distcc-3.2rc1/include_server/compiler_defaults.py 2011-10-27 17:05:08.422023101 +0900
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python2.4
++#! /usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/compress_files.py distcc-3.2rc1/include_server/compress_files.py
+--- distcc-3.2rc1.orig/include_server/compress_files.py 2008-12-03 06:50:31.000000000 +0900
++++ distcc-3.2rc1/include_server/compress_files.py 2011-10-27 17:05:08.422023101 +0900
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python2.4
++#! /usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/include_analyzer.py distcc-3.2rc1/include_server/include_analyzer.py
+--- distcc-3.2rc1.orig/include_server/include_analyzer.py 2008-12-03 06:50:31.000000000 +0900
++++ distcc-3.2rc1/include_server/include_analyzer.py 2011-10-27 17:05:08.422023101 +0900
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python2.4
++#! /usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/include_analyzer_memoizing_node.py distcc-3.2rc1/include_server/include_analyzer_memoizing_node.py
+--- distcc-3.2rc1.orig/include_server/include_analyzer_memoizing_node.py 2008-12-03 06:50:31.000000000 +0900
++++ distcc-3.2rc1/include_server/include_analyzer_memoizing_node.py 2011-10-27 17:05:08.422023101 +0900
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python2.4
++#! /usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/include_analyzer_memoizing_node_test.py distcc-3.2rc1/include_server/include_analyzer_memoizing_node_test.py
+--- distcc-3.2rc1.orig/include_server/include_analyzer_memoizing_node_test.py 2008-12-03 06:50:31.000000000 +0900
++++ distcc-3.2rc1/include_server/include_analyzer_memoizing_node_test.py 2011-10-27 17:05:08.423023105 +0900
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python2.4
++#! /usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/include_analyzer_test.py distcc-3.2rc1/include_server/include_analyzer_test.py
+--- distcc-3.2rc1.orig/include_server/include_analyzer_test.py 2008-12-03 06:50:31.000000000 +0900
++++ distcc-3.2rc1/include_server/include_analyzer_test.py 2011-10-27 17:05:08.423023105 +0900
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python2.4
++#! /usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/include_server.py distcc-3.2rc1/include_server/include_server.py
+--- distcc-3.2rc1.orig/include_server/include_server.py 2008-12-03 06:50:31.000000000 +0900
++++ distcc-3.2rc1/include_server/include_server.py 2011-10-27 17:05:08.423023105 +0900
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python2.4
++#!/usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/include_server_test.py distcc-3.2rc1/include_server/include_server_test.py
+--- distcc-3.2rc1.orig/include_server/include_server_test.py 2008-12-03 06:50:31.000000000 +0900
++++ distcc-3.2rc1/include_server/include_server_test.py 2011-10-27 17:05:08.423023105 +0900
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python2.4
++#!/usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/macro_eval.py distcc-3.2rc1/include_server/macro_eval.py
+--- distcc-3.2rc1.orig/include_server/macro_eval.py 2011-04-06 03:58:59.000000000 +0900
++++ distcc-3.2rc1/include_server/macro_eval.py 2011-10-27 17:05:08.423023105 +0900
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python2.4
++#! /usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/macro_eval_test.py distcc-3.2rc1/include_server/macro_eval_test.py
+--- distcc-3.2rc1.orig/include_server/macro_eval_test.py 2008-12-03 06:50:31.000000000 +0900
++++ distcc-3.2rc1/include_server/macro_eval_test.py 2011-10-27 17:05:08.423023105 +0900
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python2.4
++#! /usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/mirror_path.py distcc-3.2rc1/include_server/mirror_path.py
+--- distcc-3.2rc1.orig/include_server/mirror_path.py 2008-12-03 06:50:31.000000000 +0900
++++ distcc-3.2rc1/include_server/mirror_path.py 2011-10-27 17:05:08.424023109 +0900
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python2.4
++#!/usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/mirror_path_test.py distcc-3.2rc1/include_server/mirror_path_test.py
+--- distcc-3.2rc1.orig/include_server/mirror_path_test.py 2008-12-03 06:50:31.000000000 +0900
++++ distcc-3.2rc1/include_server/mirror_path_test.py 2011-10-27 17:05:08.424023109 +0900
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python2.4
++#! /usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/parse_command.py distcc-3.2rc1/include_server/parse_command.py
+--- distcc-3.2rc1.orig/include_server/parse_command.py 2011-04-06 03:58:59.000000000 +0900
++++ distcc-3.2rc1/include_server/parse_command.py 2011-10-27 17:05:08.424023109 +0900
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python2.4
++#! /usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/parse_command_test.py distcc-3.2rc1/include_server/parse_command_test.py
+--- distcc-3.2rc1.orig/include_server/parse_command_test.py 2011-04-06 03:58:59.000000000 +0900
++++ distcc-3.2rc1/include_server/parse_command_test.py 2011-10-27 17:05:08.424023109 +0900
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python2.4
++#! /usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/parse_file.py distcc-3.2rc1/include_server/parse_file.py
+--- distcc-3.2rc1.orig/include_server/parse_file.py 2011-04-06 03:58:59.000000000 +0900
++++ distcc-3.2rc1/include_server/parse_file.py 2011-10-27 17:05:08.424023109 +0900
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python2.4
++#! /usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/parse_file_test.py distcc-3.2rc1/include_server/parse_file_test.py
+--- distcc-3.2rc1.orig/include_server/parse_file_test.py 2008-12-03 06:50:31.000000000 +0900
++++ distcc-3.2rc1/include_server/parse_file_test.py 2011-10-27 17:05:08.424023109 +0900
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python2.4
++#! /usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/run.py distcc-3.2rc1/include_server/run.py
+--- distcc-3.2rc1.orig/include_server/run.py 2008-12-03 06:50:31.000000000 +0900
++++ distcc-3.2rc1/include_server/run.py 2011-10-27 17:05:08.424023109 +0900
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python2.4
++#! /usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/setup.py distcc-3.2rc1/include_server/setup.py
+--- distcc-3.2rc1.orig/include_server/setup.py 2011-04-06 03:58:59.000000000 +0900
++++ distcc-3.2rc1/include_server/setup.py 2011-10-27 17:05:08.425023113 +0900
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python2.4
++#!/usr/bin/python
+
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/include_server/statistics.py distcc-3.2rc1/include_server/statistics.py
+--- distcc-3.2rc1.orig/include_server/statistics.py 2008-12-03 06:50:31.000000000 +0900
++++ distcc-3.2rc1/include_server/statistics.py 2011-10-27 17:05:08.425023113 +0900
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python2.4
++#! /usr/bin/python
+ #
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/test/onetest.py distcc-3.2rc1/test/onetest.py
+--- distcc-3.2rc1.orig/test/onetest.py 2008-12-03 06:50:22.000000000 +0900
++++ distcc-3.2rc1/test/onetest.py 2011-10-27 17:05:08.432023140 +0900
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python2.4
++#!/usr/bin/python
+ #
+ # Copyright 2007 Google Inc.
+ #
+diff -Naur distcc-3.2rc1.orig/test/testdistcc.py distcc-3.2rc1/test/testdistcc.py
+--- distcc-3.2rc1.orig/test/testdistcc.py 2011-10-21 11:40:49.000000000 +0900
++++ distcc-3.2rc1/test/testdistcc.py 2011-10-27 17:05:08.432023140 +0900
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python2.2
++#! /usr/bin/env python
+
+ # Copyright (C) 2002, 2003, 2004 by Martin Pool <mbp@samba.org>
+ # Copyright 2007 Google Inc.
diff --git a/sys-devel/distcc/files/distcc-config-3.2_rc1 b/sys-devel/distcc/files/distcc-config-3.2_rc1
new file mode 100644
index 000000000000..6d13810895f2
--- /dev/null
+++ b/sys-devel/distcc/files/distcc-config-3.2_rc1
@@ -0,0 +1,181 @@
+#!/usr/bin/env python2
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/files/distcc-config-3.2_rc1,v 1.1 2011/10/28 05:41:06 matsuu Exp $
+
+import os, re, signal, subprocess, sys
+
+options=[
+ '--get-hosts',
+ '--set-hosts',
+ '--get-verbose',
+ '--set-verbose',
+ '--get-log',
+ '--set-log',
+ '--update-masquerade',
+ '--update-masquerade-with-crossdev',
+ '--help',
+ '--get-env',
+ '--set-env'
+]
+
+tmpcmdline=sys.argv[1:]
+cmdline=[]
+
+eprefix = '@EPREFIX@'
+bindir = os.path.join(eprefix, 'usr', 'bin')
+sbindir = os.path.join(eprefix, 'usr', 'sbin')
+libdir = os.path.join(eprefix, '@libdir@')
+sysconfdir = os.path.join(eprefix, 'etc')
+
+gcc_config = os.path.join(bindir, 'gcc-config')
+env_update = os.path.join(sbindir, 'env-update')
+envfile = os.path.join(sysconfdir, 'env.d', '02distcc')
+default_distcc_dir = os.path.join(sysconfdir, 'distcc')
+hostfile = os.path.join(default_distcc_dir, 'hosts')
+distcc_path = os.path.join(bindir, 'distcc')
+dccc_dir = os.path.join(libdir, 'distcc', 'bin')
+
+def exithandler(foo,bar):
+ os.kill(0,signal.SIGKILL)
+ sys.exit(1)
+
+signal.signal(signal.SIGINT,exithandler)
+
+def isroot(ret=0):
+ if os.getuid() != 0:
+ if ret == 0:
+ print('!!! %s %s must be run as root' % (sys.argv[:1][0],tmpcmdline[0]))
+ sys.exit(1)
+ else:
+ retval = 0
+ else:
+ retval = 1
+ return retval
+
+def writeenv(var,value):
+ isroot()
+ distcc_env = []
+ distcc_env = open(envfile, 'r').readlines()
+ distcc_env_new = open(envfile, 'w')
+ for i in range(len(distcc_env)):
+ if re.compile(var+'="(.*)"').match(distcc_env[i]):
+ distcc_env[i] = var+'="'+value+'"\n'
+ distcc_env_new.write(distcc_env[i])
+ #print('Set %s to: %s ' % (var,value))
+ subprocess.Popen(env_update, shell=True)
+ print('If you want to use these new settings in an existing shell,')
+ print('you need to "source /etc/profile" to get the changes.')
+
+def readenv(var):
+ distcc_env = open(envfile, 'r').read()
+ match = re.compile(var+'="(.*)"').search(distcc_env)
+ if match:
+ print(var+'='+match.group(1))
+ else:
+ print(var,'not set.')
+
+def installlink(chost='', version=''):
+ for file in ['gcc', 'cc', 'c++', 'g++']:
+ if not chost == '':
+ file = '%s-%s' % (chost,file)
+ if not version == '':
+ file = '%s-%s' % (file,version)
+ path = os.path.join(dccc_dir,file)
+ if os.path.exists(os.path.join(bindir,file)):
+ if not os.path.exists(path):
+ print('Creating %s symlink...' % (path))
+ os.symlink(distcc_path,path)
+ #else:
+ # print('Already exists. Skipping...')
+
+def installlinks():
+ p = subprocess.Popen([gcc_config+" -C -l"], shell=True, stdout=subprocess.PIPE)
+ lines = p.stdout.read().rstrip().split('\n')
+ for line in lines:
+ columns = line.split()
+ if len(columns) >= 2:
+ matches = re.match("(.*)-(.*)", columns[1])
+ chost = matches.group(1)
+ version = matches.group(2)
+ installlink(chost)
+ installlink(chost, version)
+
+def uninstalllinks():
+ for root, dirs, files in os.walk(dccc_dir):
+ for file in files:
+ os.remove(os.path.join(root, file))
+
+def createdistccdir(dir):
+ if not os.path.exists(dir):
+ os.mkdir(dir)
+ os.chmod(dir, 0o755)
+
+for x in tmpcmdline:
+ if not x:
+ continue
+ if x[0:2]=="--":
+ if not x in options:
+ print("!!! Error: %s is an invalid option." % (x))
+ sys.exit(1)
+ else:
+ cmdline = x
+
+if '--get-hosts' in tmpcmdline:
+ HOSTS_ENV = os.environ.get('DISTCC_HOSTS')
+ HOSTS_HOME = os.path.join(os.environ.get('HOME'), '.distcc', 'hosts')
+ if HOSTS_ENV:
+ print(HOSTS_ENV)
+ elif os.path.isfile(HOSTS_HOME) and os.path.getsize(HOSTS_HOME) != 0:
+ print(HOSTS_HOME)
+ elif os.path.exists(hostfile):
+ print(open(hostfile, 'r').read().rstrip())
+ else:
+ print('No configuration file found. Setup your hosts with --set-hosts.')
+elif '--set-hosts' in tmpcmdline:
+ if isroot(1):
+ PATH = default_distcc_dir
+ else:
+ PATH = os.path.join(os.environ.get('HOME'), '.distcc')
+ createdistccdir(PATH)
+ open(os.path.join(PATH, 'hosts'), 'w').write(cmdline + '\n')
+elif '--get-verbose' in tmpcmdline:
+ readenv('DISTCC_VERBOSE')
+elif '--set-verbose' in tmpcmdline:
+ writeenv('DISTCC_VERBOSE',tmpcmdline[1])
+elif '--get-log' in tmpcmdline:
+ readenv('DISTCC_LOG')
+elif '--set-log' in tmpcmdline:
+ writeenv('DISTCC_LOG',tmpcmdline[1])
+elif '--update-masquerade' in tmpcmdline:
+ isroot()
+ uninstalllinks()
+ print('Creating symlinks...')
+ installlink()
+ installlinks()
+elif '--update-masquerade-with-crossdev' in tmpcmdline:
+ isroot()
+ uninstalllinks()
+ print('Creating symlinks...')
+ installlinks()
+elif '--get-env' in tmpcmdline:
+ if len(tmpcmdline) == 1:
+ print(open(envfile, 'r').read().rstrip())
+ elif len(tmpcmdline) == 2:
+ readenv(tmpcmdline[1])
+ else:
+ print('!!! Error: Specify only one variable.')
+elif '--set-env' in tmpcmdline:
+ if len(tmpcmdline) > 2 and len(tmpcmdline) <= 3:
+ isroot()
+ writeenv(tmpcmdline[1],tmpcmdline[2])
+ else:
+ print('!!! Error: Awaiting two parameters.')
+else:
+ cmd = sys.argv[:1][0]
+ print('Usage: %s --set-hosts DISTCC_HOSTS | --get-hosts' % (cmd))
+ print(' %s --set-verbose { 0 | 1 } | --get-verbose' % (cmd))
+ print(' %s --set-log FILE | --get-log' % (cmd))
+ print(' %s --set-env VARIABLE VALUE | --get-env [VARIABLE]' % (cmd))
+ print(' %s --update-masquerade' % (cmd))
+ print(' %s --update-masquerade-with-crossdev' % (cmd))
diff --git a/sys-devel/distcc/metadata.xml b/sys-devel/distcc/metadata.xml
index afc07f8d9406..f1a9c5ab6e93 100644
--- a/sys-devel/distcc/metadata.xml
+++ b/sys-devel/distcc/metadata.xml
@@ -9,4 +9,8 @@
Distcc is a program to distribute compilation of C code across several
machines on a network.
</longdescription>
+ <use>
+ <flag name="crossdev">Enable support for <pkg>sys-devel/crossdev</pkg></flag>
+ <flag name="gssapi">Enable support for <pkg>net-libs/libgssglue</pkg></flag>
+ </use>
</pkgmetadata>