summary refs log tree commit diff
path: root/pkgs/top-level/all-packages.nix
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@viric.name>2012-12-22 19:35:15 +0100
committerLluís Batlle i Rossell <viric@viric.name>2012-12-26 21:53:57 +0000
commit3e578866201831ae1e83dcf86fec1f54de751e55 (patch)
tree7485ab18cdfb7f96f0806f12e7acf25eec914a26 /pkgs/top-level/all-packages.nix
parentd67da925a6b37514e818b7ea8e2d61f618f903ae (diff)
downloadnixpkgs-3e578866201831ae1e83dcf86fec1f54de751e55.tar
nixpkgs-3e578866201831ae1e83dcf86fec1f54de751e55.tar.gz
nixpkgs-3e578866201831ae1e83dcf86fec1f54de751e55.tar.bz2
nixpkgs-3e578866201831ae1e83dcf86fec1f54de751e55.tar.lz
nixpkgs-3e578866201831ae1e83dcf86fec1f54de751e55.tar.xz
nixpkgs-3e578866201831ae1e83dcf86fec1f54de751e55.tar.zst
nixpkgs-3e578866201831ae1e83dcf86fec1f54de751e55.zip
Adding wrappers for distcc, similar to those of ccache.
Diffstat (limited to 'pkgs/top-level/all-packages.nix')
-rw-r--r--pkgs/top-level/all-packages.nix17
1 files changed, 17 insertions, 0 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b251c703e8b..719a12695cc 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3075,6 +3075,23 @@ let
 
   distcc = callPackage ../development/tools/misc/distcc { };
 
+  # distccWrapper: wrapper that works as gcc or g++
+  # It can be used by setting in nixpkgs config like this, for example:
+  #    replaceStdenv = { pkgs }: pkgs.distccStdenv;
+  # But if you build in chroot, a default 'nix' will create
+  # a new net namespace, and won't have network access.
+  # You can use an override in packageOverrides to set extraConfig:
+  #    packageOverrides = pkgs: {
+  #     distccWrapper = pkgs.distccWrapper.override {
+  #       extraConfig = ''
+  #         DISTCC_HOSTS="myhost1 myhost2"
+  #       '';
+  #     };
+  #
+  distccWrapper = makeOverridable ({ extraConfig ? "" }:
+     wrapGCC (distcc.links extraConfig)) {};
+  distccStdenv = lowPrio (overrideGCC stdenv distccWrapper);
+
   docutils = builderDefsPackage (import ../development/tools/documentation/docutils) {
     inherit python pil makeWrapper;
   };