1{
2 stdenvNoCC,
3 kmod,
4 modules,
5 buildEnv,
6 name ? "kernel-modules",
7}:
8
9buildEnv {
10 inherit name;
11
12 paths = modules;
13
14 postBuild = ''
15 source ${stdenvNoCC}/setup
16
17 if ! test -d "$out/lib/modules"; then
18 echo "No modules found."
19 # To support a kernel without modules
20 exit 0
21 fi
22
23 kernelVersion=$(cd $out/lib/modules && ls -d *)
24 if test "$(echo $kernelVersion | wc -w)" != 1; then
25 echo "inconsistent kernel versions: $kernelVersion"
26 exit 1
27 fi
28
29 echo "kernel version is $kernelVersion"
30
31 shopt -s extglob
32
33 # Regenerate the depmod map files. Be sure to pass an explicit
34 # kernel version number, otherwise depmod will use `uname -r'.
35 if test -w $out/lib/modules/$kernelVersion; then
36 rm -f $out/lib/modules/$kernelVersion/modules.!(builtin*|order*)
37 ${kmod}/bin/depmod -b $out -C $out/etc/depmod.d -a $kernelVersion
38 fi
39 '';
40}