nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

49 lines
1.3 KiB
Nix
Raw Normal View History

2018-08-20 22:32:29 +00:00
{ stdenv, lib, fetchsvn, linux
, scripts ? fetchsvn {
url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
2024-10-10 11:05:42 +00:00
rev = "19643";
sha256 = "1gnji0hglzh6kj9ssawlrix1vlbcyfjdjx5d9qwpnn2p0sgsq7nj";
2018-08-20 22:32:29 +00:00
}
, ...
2024-07-29 07:56:29 +00:00
} @ args:
2018-08-20 22:32:29 +00:00
let
majorMinor = lib.versions.majorMinor linux.modDirVersion;
major = lib.versions.major linux.modDirVersion;
minor = lib.versions.minor linux.modDirVersion;
patch = lib.versions.patch linux.modDirVersion;
# See http://linux-libre.fsfla.org/pub/linux-libre/releases
versionPrefix = if linux.kernelOlder "5.14" then
"gnu1"
else
"gnu";
2018-08-20 22:32:29 +00:00
in linux.override {
argsOverride = {
modDirVersion = "${linux.modDirVersion}-${versionPrefix}";
2020-10-29 08:15:05 +00:00
isLibre = true;
2024-05-29 18:46:51 +00:00
pname = "linux-libre";
2018-08-20 22:32:29 +00:00
src = stdenv.mkDerivation {
name = "${linux.name}-libre-src";
src = linux.src;
buildPhase = ''
# --force flag to skip empty files after deblobbing
${scripts}/${majorMinor}/deblob-${majorMinor} --force \
2018-08-20 22:32:29 +00:00
${major} ${minor} ${patch}
'';
checkPhase = ''
${scripts}/deblob-check
'';
installPhase = ''
cp -r . "$out"
'';
};
passthru.updateScript = ./update-libre.sh;
2024-06-24 21:05:06 +00:00
maintainers = with lib.maintainers; [ qyliss ];
2018-08-20 22:32:29 +00:00
};
2024-07-29 07:56:29 +00:00
} // (args.argsOverride or { })