@@ -1,24 +1,33 @@
1−{ lib, buildPackages, fetchFromGitHub, fetchpatch, perl, buildLinux, ... } @ args:
1+{ lib
2+, fetchpatch
3+, kernel
4+, date ? "2021-07-08"
5+, commit ? "3693b2ca83ff9eda49660b31299d2bebe3a1075f"
6+, diffHash ? "1sfq3vwc2kxa761s292f2cqrm0vvqvkdx6drpyn5yaxwnapwidcw"
7+, kernelPatches # must always be defined in bcachefs' all-packages.nix entry because it's also a top-level attribute supplied by callPackage
8+, argsOverride ? {}
9+, ...
10+} @ args:
211
3−buildLinux (args // {
4− version = "5.9.0-2020.11.20";
5− modDirVersion = "5.9.0";
12+kernel.override ( args // {
613
7− src = fetchFromGitHub {
8− owner = "koverstreet";
9− repo = "bcachefs";
10− # commit does not exist on any branch on the target repository
11− rev = "6a505b63ed3003faf5000f19fd08bbd477d93fbc";
12− sha256 = "1rf34gzv9npafp1c3i6lymk3b0gnqp4rb0wl33pw6yrpgnsry3cc";
13− };
14+ argsOverride = {
15+ version = "${kernel.version}-bcachefs-unstable-${date}";
16+ extraMeta = {
17+ branch = "master";
18+ maintainers = with lib.maintainers; [ davidak chiiruno ];
19+ platforms = [ "x86_64-linux" ];
20+ };
21+ } // argsOverride;
1422
15− extraConfig = "BCACHEFS_FS m";
23+ kernelPatches = [ {
24+ name = "bcachefs-${commit}";
25+ patch = fetchpatch {
26+ name = "bcachefs-${commit}.diff";
27+ url = "https://evilpiepirate.org/git/bcachefs.git/rawdiff/?id=${commit}&id2=v${lib.versions.major kernel.version}.${lib.versions.minor kernel.version}";
28+ sha256 = diffHash;
29+ };
30+ extraConfig = "BCACHEFS_FS m";
31+ } ] ++ kernelPatches;
1632
17− extraMeta = {
18− branch = "master";
19− hydraPlatforms = []; # Should the testing kernels ever be built on Hydra?
20− maintainers = with lib.maintainers; [ davidak chiiruno ];
21− platforms = [ "x86_64-linux" ];
22− };
23−
24−} // (args.argsOverride or {}))
33+})