diff options
Diffstat (limited to 'pkgs/os-specific/linux/kernel/linux-libre.nix')
-rw-r--r-- | pkgs/os-specific/linux/kernel/linux-libre.nix | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix new file mode 100644 index 000000000000..2195bb7a29ce --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-libre.nix @@ -0,0 +1,38 @@ +{ stdenv, lib, fetchsvn, linux +, scripts ? fetchsvn { + url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/tags/"; + rev = "r15295"; + sha256 = "03kqbjy7w9zg6ry86h9sxa33z0rblznhba109lwmjwy0wx7yk1cs"; + } +, ... +}: + +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; + +in linux.override { + argsOverride = { + modDirVersion = "${linux.modDirVersion}-gnu"; + + src = stdenv.mkDerivation { + name = "${linux.name}-libre-src"; + src = linux.src; + buildPhase = '' + ${scripts}/${majorMinor}-gnu/deblob-${majorMinor} \ + ${major} ${minor} ${patch} + ''; + checkPhase = '' + ${scripts}/deblob-check + ''; + installPhase = '' + cp -r . "$out" + ''; + }; + + maintainers = [ lib.maintainers.qyliss ]; + }; +} |