summary refs log tree commit diff
path: root/pkgs/os-specific/linux/module-init-tools/aggregator.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/linux/module-init-tools/aggregator.nix')
-rw-r--r--pkgs/os-specific/linux/module-init-tools/aggregator.nix33
1 files changed, 33 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/module-init-tools/aggregator.nix b/pkgs/os-specific/linux/module-init-tools/aggregator.nix
new file mode 100644
index 00000000000..b0a518cd216
--- /dev/null
+++ b/pkgs/os-specific/linux/module-init-tools/aggregator.nix
@@ -0,0 +1,33 @@
+args : with args;
+	with builderDefs {
+		addSbinPath = true;
+		src = "";
+		buildInputs = [lndir module_init_tools];
+		configureFlags = [];
+	} null; /* null is a terminator for sumArgs */
+let 
+
+doCollect = FullDepEntry (''
+ensureDir $out/
+cd $out/
+for i in $moduleSources; do 
+	lndir $i/
+done
+cd lib/modules/
+rm */modules.*
+MODULE_DIR=$PWD/ depmod -a 
+'') [minInit addInputs defEnsureDir];
+in
+stdenv.mkDerivation rec {
+	name = "module-aggregator";
+	inherit moduleSources;
+	builder = writeScript (name + "-builder")
+		(textClosure [doCollect doForceShare doPropagate]);
+	meta = {
+		description = "
+		A directory to hold all  the modules, including those 
+		built separately from kernel. Earlier directories in 
+		moduleSources have higher priority.
+";
+	};
+}