move sources into its own file
also a bunch of misc changes
This commit is contained in:
parent
c37ff41ca3
commit
dfc2cdbd89
4 changed files with 70 additions and 50 deletions
2
.github/workflows/cachix.yml
vendored
2
.github/workflows/cachix.yml
vendored
|
|
@ -25,7 +25,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
kernelVersion: ["54", "510", "511"]
|
kernelVersion: ["54", "510", "512"]
|
||||||
sched: [bmq, cfs, cacule, muqss, pds]
|
sched: [bmq, cfs, cacule, muqss, pds]
|
||||||
include:
|
include:
|
||||||
- kernelVersion: "510"
|
- kernelVersion: "510"
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@
|
||||||
};
|
};
|
||||||
}) (pkgs.lib.cartesianProductOfSets {
|
}) (pkgs.lib.cartesianProductOfSets {
|
||||||
scheduler = ["bmq" "cfs" "cacule" "muqss" "pds"];
|
scheduler = ["bmq" "cfs" "cacule" "muqss" "pds"];
|
||||||
version = ["5.4" "5.10" "5.11"];
|
version = ["5.4" "5.10" "5.12"];
|
||||||
})) // {
|
})) // {
|
||||||
"linux_tkg-upds-510" = callPackage ./packages/linux-tkg {
|
"linux_tkg-upds-510" = callPackage ./packages/linux-tkg {
|
||||||
version = "5.10";
|
version = "5.10";
|
||||||
|
|
|
||||||
|
|
@ -44,31 +44,7 @@
|
||||||
let
|
let
|
||||||
tkg = "2da317c20ed6f70085b195639b9aad2cacf31ab5";
|
tkg = "2da317c20ed6f70085b195639b9aad2cacf31ab5";
|
||||||
|
|
||||||
majorVersion =
|
sources = import ./sources.nix { inherit fetchFromGitHub lib version; };
|
||||||
if lib.versions.major version == "5"
|
|
||||||
then "5"
|
|
||||||
else throw "Unsupported major version";
|
|
||||||
minorVersion = lib.versions.minor version;
|
|
||||||
patchVersion =
|
|
||||||
if minorVersion == "4" then "128"
|
|
||||||
else if minorVersion == "10" then "46"
|
|
||||||
else if minorVersion == "12" then "13"
|
|
||||||
else throw "Unsupported minor version";
|
|
||||||
|
|
||||||
mmp = "${majorVersion}.${minorVersion}.${patchVersion}";
|
|
||||||
mm = "${majorVersion}.${minorVersion}";
|
|
||||||
|
|
||||||
kernelUrl = name: sha256: builtins.fetchurl {
|
|
||||||
inherit sha256;
|
|
||||||
url = "https://cdn.kernel.org/pub/linux/kernel/v${majorVersion}.x/${name}.xz";
|
|
||||||
};
|
|
||||||
|
|
||||||
tkgSource = fetchFromGitHub {
|
|
||||||
owner = "Frogging-Family";
|
|
||||||
repo = "linux-tkg";
|
|
||||||
rev = "2da317c20ed6f70085b195639b9aad2cacf31ab5";
|
|
||||||
sha256 = "06a5fpafids8nc550pcsyvar2igphi6bpghqzl6cp48hg6p2g07w";
|
|
||||||
};
|
|
||||||
|
|
||||||
boolToKernel = bool: with lib.kernel; if bool then yes else no;
|
boolToKernel = bool: with lib.kernel; if bool then yes else no;
|
||||||
boolToKernelMod = bool: with lib.kernel; if bool then module else no;
|
boolToKernelMod = bool: with lib.kernel; if bool then module else no;
|
||||||
|
|
@ -105,10 +81,10 @@ let
|
||||||
"5.4" = {
|
"5.4" = {
|
||||||
TP_SMAPI = module;
|
TP_SMAPI = module;
|
||||||
RAID6_USE_PREFER_GEN = yes;
|
RAID6_USE_PREFER_GEN = yes;
|
||||||
RCU_BOOST_DELAY = freeform 0;
|
RCU_BOOST_DELAY = freeform "0";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in base // (if builtins.hasAttr mm extras then extras.${mm} else {});
|
in base // (if builtins.hasAttr version extras then extras.${version} else {});
|
||||||
|
|
||||||
debug =
|
debug =
|
||||||
if debug
|
if debug
|
||||||
|
|
@ -154,7 +130,7 @@ let
|
||||||
in
|
in
|
||||||
if builtins.hasAttr scheduler schedConfigs
|
if builtins.hasAttr scheduler schedConfigs
|
||||||
then
|
then
|
||||||
if builtins.elem scheduler supportedSchedulers.${mm}
|
if builtins.elem scheduler supportedSchedulers.${version}
|
||||||
then schedConfigs.${scheduler}
|
then schedConfigs.${scheduler}
|
||||||
else throw "Unsupported scheduler for kernel version"
|
else throw "Unsupported scheduler for kernel version"
|
||||||
else throw "Unknown scheduler";
|
else throw "Unknown scheduler";
|
||||||
|
|
@ -260,7 +236,7 @@ let
|
||||||
"0003-glitched-base"
|
"0003-glitched-base"
|
||||||
]
|
]
|
||||||
++ lib.optional miscAdditions "0012-misc-additions"
|
++ lib.optional miscAdditions "0012-misc-additions"
|
||||||
++ lib.optionals (mm == "5.12") [
|
++ lib.optionals (version == "5.12") [
|
||||||
"0001-mm-Support-soft-dirty-flag-reset-for-VA-range"
|
"0001-mm-Support-soft-dirty-flag-reset-for-VA-range"
|
||||||
"0002-mm-Support-soft-dirty-flag-read-with-reset"
|
"0002-mm-Support-soft-dirty-flag-read-with-reset"
|
||||||
]
|
]
|
||||||
|
|
@ -272,33 +248,33 @@ let
|
||||||
};
|
};
|
||||||
map = {
|
map = {
|
||||||
muqss = [
|
muqss = [
|
||||||
"0004-${mm}-ck1"
|
"0004-${version}-ck1"
|
||||||
"0004-glitched-muqss"
|
"0004-glitched-muqss"
|
||||||
];
|
];
|
||||||
upds = [
|
upds = [
|
||||||
"0005-v${mm}_undead-pds099o"
|
"0005-v${version}_undead-pds099o"
|
||||||
"0005-undead-glitched-pds"
|
"0005-undead-glitched-pds"
|
||||||
];
|
];
|
||||||
pds = if mm == "5.4"
|
pds = if version == "5.4"
|
||||||
then [
|
then [
|
||||||
"0005-v${mm}_undead-pds099o"
|
"0005-v${version}_undead-pds099o"
|
||||||
"0005-glitched-pds"
|
"0005-glitched-pds"
|
||||||
]
|
]
|
||||||
else [
|
else [
|
||||||
"0009-prjc_v${mm}-r${prjcRevisions.${mm}}"
|
"0009-prjc_v${version}-r${prjcRevisions.${version}}"
|
||||||
"0005-glitched-pds"
|
"0005-glitched-pds"
|
||||||
];
|
];
|
||||||
bmq = if mm == "5.4"
|
bmq = if version == "5.4"
|
||||||
then [
|
then [
|
||||||
"0009-bmq_v5.4-r2"
|
"0009-bmq_v5.4-r2"
|
||||||
"0009-glitched-bmq"
|
"0009-glitched-bmq"
|
||||||
]
|
]
|
||||||
else [
|
else [
|
||||||
"0009-prjc_v${mm}-r${prjcRevisions.${mm}}"
|
"0009-prjc_v${version}-r${prjcRevisions.${version}}"
|
||||||
"0009-glitched-bmq"
|
"0009-glitched-bmq"
|
||||||
];
|
];
|
||||||
cacule = [
|
cacule = [
|
||||||
"0003-cacule-${mm}"
|
"0003-cacule-${version}"
|
||||||
"0003-glitched-cfs"
|
"0003-glitched-cfs"
|
||||||
];
|
];
|
||||||
cfs = ["0003-glitched-cfs"];
|
cfs = ["0003-glitched-cfs"];
|
||||||
|
|
@ -313,10 +289,10 @@ let
|
||||||
let map = rec {
|
let map = rec {
|
||||||
muqss = "0004-glitched-ondemand-muqss";
|
muqss = "0004-glitched-ondemand-muqss";
|
||||||
upds = "0005-undead-glitched-ondemand-pds";
|
upds = "0005-undead-glitched-ondemand-pds";
|
||||||
pds = if mm == "5.4"
|
pds = if version == "5.4"
|
||||||
then "0005-glitched-ondemand-pds"
|
then "0005-glitched-ondemand-pds"
|
||||||
else "0009-glitched-ondemand-bmq";
|
else "0009-glitched-ondemand-bmq";
|
||||||
bmq = if mm != "5.4"
|
bmq = if version != "5.4"
|
||||||
then "0009-glitched-ondemand-bmq"
|
then "0009-glitched-ondemand-bmq"
|
||||||
else {};
|
else {};
|
||||||
}; in
|
}; in
|
||||||
|
|
@ -324,21 +300,21 @@ let
|
||||||
then [map.${scheduler}]
|
then [map.${scheduler}]
|
||||||
else []
|
else []
|
||||||
)
|
)
|
||||||
++ lib.optional bcachefs "0008-${mm}-bcachefs"
|
++ lib.optional bcachefs "0008-${version}-bcachefs"
|
||||||
++ lib.optional fsync "0007-v${mm}-fsync"
|
++ lib.optional fsync "0007-v${version}-fsync"
|
||||||
++ lib.optional futex2 "0007-v${mm}-futex2_interface"
|
++ lib.optional futex2 "0007-v${version}-futex2_interface"
|
||||||
++ lib.optional winesync "0007-v${mm}-winesync"
|
++ lib.optional winesync "0007-v${version}-winesync"
|
||||||
++ lib.optional zfsFix "0011-ZFS-fix";
|
++ lib.optional zfsFix "0011-ZFS-fix";
|
||||||
|
|
||||||
toPatch = name: {
|
toPatch = name: {
|
||||||
inherit name;
|
inherit name;
|
||||||
patch = "${tkgSource}/linux-tkg-patches/${mm}/${name}.patch";
|
patch = "${sources.tkg}/linux-tkg-patches/${version}/${name}.patch";
|
||||||
};
|
};
|
||||||
tkgPatches = builtins.map (e: toPatch e) (lib.naturalSort patchNames);
|
tkgPatches = builtins.map (e: toPatch e) (lib.naturalSort patchNames);
|
||||||
|
|
||||||
suffix = if builtins.stringLength localVersion != 0 then "-tkg-${localVersion}" else "-tkg";
|
suffix = if builtins.stringLength localVersion != 0 then "-tkg-${localVersion}" else "-tkg";
|
||||||
in buildLinux(args // rec {
|
in buildLinux(args // rec {
|
||||||
version = "${mmp}-tkg";
|
version = "${sources.fullVersion}-tkg";
|
||||||
modDirVersion = version + suffix;
|
modDirVersion = version + suffix;
|
||||||
|
|
||||||
isZen = zenify;
|
isZen = zenify;
|
||||||
|
|
@ -351,9 +327,9 @@ in buildLinux(args // rec {
|
||||||
|
|
||||||
kernelPatches = #args.kernelPatches
|
kernelPatches = #args.kernelPatches
|
||||||
[{
|
[{
|
||||||
name = "patch-${mmp}";
|
name = "patch-${version}";
|
||||||
patch = kernelUrl "patch-${mmp}" "17d38hns5qfbw1pajpa5y38v86r49nqnw7a3pwsay5fapj69z8w4";
|
patch = sources.patchSrc;
|
||||||
}]
|
}]
|
||||||
++ tkgPatches;
|
++ tkgPatches;
|
||||||
src = kernelUrl "linux-${mm}.tar" "0rn3z942vjc7bixjw066rm6kcr0x0wzgxqfq1f6xd113pzrgc3bx";
|
src = sources.kernelSrc;
|
||||||
} // (args.argsOverride or {}))
|
} // (args.argsOverride or {}))
|
||||||
|
|
|
||||||
44
packages/linux-tkg/sources.nix
Normal file
44
packages/linux-tkg/sources.nix
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
{ fetchFromGitHub, lib, version }:
|
||||||
|
let
|
||||||
|
vMap = {
|
||||||
|
"5.4" = {
|
||||||
|
version = "5.4.128";
|
||||||
|
baseHash = "14glqppn90z79b36k4c76mv90q933i2bg54rgwlcl2v7n608jcxz";
|
||||||
|
patchHash = "04ylr4f4amzviqljhc6i79dqhjmjx45shf0rply1v5zqlfndb459";
|
||||||
|
};
|
||||||
|
"5.10" = {
|
||||||
|
version = "5.10.46";
|
||||||
|
baseHash = "0hyav21vzz5v1kgb455pcz9ncg5qqzxmp60na290scwq7vj9kpyw";
|
||||||
|
patchHash = "0jl31aayxyns3pkvm9mycvwakg2i45win9nfbirhcz7z5gfsa7fg";
|
||||||
|
};
|
||||||
|
"5.12" = {
|
||||||
|
version = "5.12.13";
|
||||||
|
baseHash = "0rn3z942vjc7bixjw066rm6kcr0x0wzgxqfq1f6xd113pzrgc3bx";
|
||||||
|
patchHash = "17d38hns5qfbw1pajpa5y38v86r49nqnw7a3pwsay5fapj69z8w4";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
tkg = fetchFromGitHub {
|
||||||
|
owner = "Frogging-Family";
|
||||||
|
repo = "linux-tkg";
|
||||||
|
rev = "2da317c20ed6f70085b195639b9aad2cacf31ab5";
|
||||||
|
sha256 = "06a5fpafids8nc550pcsyvar2igphi6bpghqzl6cp48hg6p2g07w";
|
||||||
|
};
|
||||||
|
|
||||||
|
ver =
|
||||||
|
if builtins.hasAttr version vMap
|
||||||
|
then vMap.${version}
|
||||||
|
else throw "Unsupported version";
|
||||||
|
in rec {
|
||||||
|
inherit tkg;
|
||||||
|
|
||||||
|
fullVersion = ver.version;
|
||||||
|
kernelSrc = builtins.fetchurl {
|
||||||
|
url = "https://cdn.kernel.org/pub/linux/kernel/v${lib.versions.major version}.x/linux-${version}.tar.xz";
|
||||||
|
sha256 = ver.baseHash;
|
||||||
|
};
|
||||||
|
patchSrc = builtins.fetchurl {
|
||||||
|
url = "https://cdn.kernel.org/pub/linux/kernel/v${lib.versions.major version}.x/patch-${fullVersion}.xz";
|
||||||
|
sha256 = ver.patchHash;
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue