summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/build-support/src-only/default.nix6
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 8 insertions, 0 deletions
diff --git a/pkgs/build-support/src-only/default.nix b/pkgs/build-support/src-only/default.nix
new file mode 100644
index 00000000000..a93b3648090
--- /dev/null
+++ b/pkgs/build-support/src-only/default.nix
@@ -0,0 +1,6 @@
+{stdenv, name, src, patches ? [], buildInputs ? [], ...}: 
+stdenv.mkDerivation {
+  inherit src buildInputs patches name;
+  installPhase = "cp -r . $out";
+  phases = ["unpackPhase" "patchPhase" "installPhase"];
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 96ecb79f0a4..f4d1903b726 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -446,6 +446,8 @@ let
   linkFarm = name: entries: runCommand name {} ("mkdir -p $out; cd $out; \n" +
     (lib.concatMapStrings (x: "ln -s '${x.path}' '${x.name}';\n") entries));
 
+  srcOnly = args: (import ../build-support/src-only) ({inherit stdenv; } // args);
+
   substituteAll = import ../build-support/substitute/substitute-all.nix {
     inherit stdenv;
   };