make kernel builder callPackage'able
This commit is contained in:
43
kernel/default.nix
Normal file
43
kernel/default.nix
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
callPackage
|
||||
, buildPackages
|
||||
, stdenvNoCC
|
||||
, fetchFromGitHub
|
||||
|
||||
, config
|
||||
}:
|
||||
let
|
||||
source = fetchFromGitHub {
|
||||
owner = "torvalds";
|
||||
repo = "linux";
|
||||
rev = "3d7cb6b04c3f3115719235cc6866b10326de34cd"; # v5.19
|
||||
hash = "sha256-OVsIRScAnrPleW1vbczRAj5L/SGGht2+GnvZJClMUu4=";
|
||||
};
|
||||
|
||||
# The kernel is huge and takes a long time just to
|
||||
# download and unpack. This derivation creates
|
||||
# a source tree in a suitable shape to build from -
|
||||
# today it just patches some scripts but as we add
|
||||
# support for boards/SoCs we expect the scope of
|
||||
# "pre-treatment" to grow
|
||||
|
||||
tree = stdenvNoCC.mkDerivation {
|
||||
name = "spindled-kernel-tree";
|
||||
src = source;
|
||||
phases = [ "unpackPhase" "patchScripts" "installPhase" ];
|
||||
patchScripts = ''
|
||||
patchShebangs scripts/
|
||||
# substituteInPlace Makefile --replace /bin/pwd ${buildPackages.pkgs.coreutils}/bin/pwd
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -a . $out
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
vmlinux = callPackage ./vmlinux.nix {
|
||||
inherit tree;
|
||||
inherit config;
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user