summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/ebuild.sh7
-rw-r--r--man/make.conf.53
-rw-r--r--pym/_emerge/EbuildPhase.py2
-rw-r--r--pym/portage/const.py2
4 files changed, 12 insertions, 2 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index c3cf18164..37a308481 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -1071,6 +1071,13 @@ dyn_compile() {
trap abort_compile SIGINT SIGQUIT
+ if hasq distcc $FEATURES && hasq distcc-pump $FEATURES ; then
+ if [[ -z $INCLUDE_SERVER_PORT ]] || [[ ! -w $INCLUDE_SERVER_PORT ]] ; then
+ eval $(/usr/bin/pump --startup)
+ trap "/usr/bin/pump --shutdown" EXIT
+ fi
+ fi
+
ebuild_phase pre_src_compile
vecho ">>> Compiling source in $PWD ..."
diff --git a/man/make.conf.5 b/man/make.conf.5
index bec815850..86ac46231 100644
--- a/man/make.conf.5
+++ b/man/make.conf.5
@@ -257,6 +257,9 @@ will be reused whenever they are available.
.B distcc
Enable portage support for the distcc package.
.TP
+.B distcc\-pump
+Enable portage support for the distcc package with pump mode.
+.TP
.B distlocks
Portage uses lockfiles to ensure competing instances don't clobber
each other's files. This feature is enabled by default but may cause
diff --git a/pym/_emerge/EbuildPhase.py b/pym/_emerge/EbuildPhase.py
index db1d59e62..306932f42 100644
--- a/pym/_emerge/EbuildPhase.py
+++ b/pym/_emerge/EbuildPhase.py
@@ -33,7 +33,7 @@ class EbuildPhase(CompositeTask):
("_ebuild_lock",)
# FEATURES displayed prior to setup phase
- _features_display = ("ccache", "distcc", "fakeroot",
+ _features_display = ("ccache", "distcc", "distcc-pump", "fakeroot",
"installsources", "keeptemp", "keepwork", "nostrip",
"preserve-libs", "sandbox", "selinux", "sesandbox",
"splitdebug", "suidctl", "test", "userpriv",
diff --git a/pym/portage/const.py b/pym/portage/const.py
index 98f3dac6d..e91c00989 100644
--- a/pym/portage/const.py
+++ b/pym/portage/const.py
@@ -88,7 +88,7 @@ EBUILD_PHASES = ("pretend", "setup", "unpack", "prepare", "configure"
SUPPORTED_FEATURES = frozenset([
"assume-digests", "binpkg-logs", "buildpkg", "buildsyspkg", "candy",
"ccache", "chflags", "collision-protect", "compress-build-logs",
- "digest", "distcc", "distlocks", "ebuild-locks", "fakeroot",
+ "digest", "distcc", "distcc-pump", "distlocks", "ebuild-locks", "fakeroot",
"fail-clean", "fixpackages", "force-mirror", "getbinpkg",
"installsources", "keeptemp", "keepwork", "fixlafiles", "lmirror",
"metadata-transfer", "mirror", "multilib-strict", "news",