nixos/hardware.deviceTree: Move things around

In response to comments, create a sub-folder for deviceTree packages
(starting with rpi), and a top-level package for helpers.
This commit is contained in:
Kai Wohlfahrt
2019-08-07 13:51:22 +01:00
committed by Kai Wohlfahrt
parent dd0a951279
commit 28cf80acf8
4 changed files with 23 additions and 18 deletions
@@ -0,0 +1,17 @@
{ stdenvNoCC, dtc, findutils }:
with stdenvNoCC.lib; {
applyOverlays = (base: overlays: stdenvNoCC.mkDerivation {
name = "device-tree-overlays";
nativeBuildInputs = [ dtc findutils ];
buildCommand = let
quotedDtbos = concatMapStringsSep " " (o: "\"${toString o}\"") (toList overlays);
in ''
for dtb in $(find ${base} -name "*.dtb" ); do
outDtb=$out/$(realpath --relative-to "${base}" "$dtb")
mkdir -p "$(dirname "$outDtb")"
fdtoverlay -o "$outDtb" -i "$dtb" ${quotedDtbos};
done
'';
});
}
@@ -0,0 +1,14 @@
{ stdenvNoCC, raspberrypifw }:
stdenvNoCC.mkDerivation {
name = "raspberrypi-dtbs-${raspberrypifw.version}";
nativeBuildInputs = [ raspberrypifw ];
buildCommand = ''
mkdir -p $out/broadcom/
cp ${raspberrypifw}/share/raspberrypi/boot/bcm*.dtb $out/broadcom
'';
passthru = {
# Compatible overlays that may be used
overlays = "${raspberrypifw}/share/raspberrypi/boot/overlays";
};
}