at master 1.5 kB view raw
1{ 2 stdenv, 3 lib, 4 fetchsvn, 5 linux, 6 scripts ? fetchsvn { 7 url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/"; 8 rev = "19872"; 9 hash = "sha256-zbs5iWCaDtwovJLHnBlHfDBZ2DbggToRj3YZ5Nbx/RM="; 10 }, 11 ... 12}@args: 13 14let 15 majorMinor = lib.versions.majorMinor linux.modDirVersion; 16 17 major = lib.versions.major linux.modDirVersion; 18 minor = lib.versions.minor linux.modDirVersion; 19 patch = lib.versions.patch linux.modDirVersion; 20 21 # See http://linux-libre.fsfla.org/pub/linux-libre/releases 22 versionPrefix = if linux.kernelOlder "5.14" then "gnu1" else "gnu"; 23in 24linux.override { 25 argsOverride = { 26 modDirVersion = "${linux.modDirVersion}-${versionPrefix}"; 27 isLibre = true; 28 pname = "linux-libre"; 29 30 src = stdenv.mkDerivation { 31 name = "${linux.name}-libre-src"; 32 src = linux.src; 33 34 buildPhase = '' 35 runHook preBuild 36 37 # --force flag to skip empty files after deblobbing 38 ${scripts}/${majorMinor}/deblob-${majorMinor} --force ${major} ${minor} ${patch} 39 40 runHook postBuild 41 ''; 42 43 checkPhase = '' 44 runHook preCheck 45 46 ${scripts}/deblob-check 47 48 runHook postCheck 49 ''; 50 51 installPhase = '' 52 runHook preInstall 53 54 cp -r . "$out" 55 56 runHook postInstall 57 ''; 58 }; 59 60 extraPassthru.updateScript = ./update-libre.sh; 61 62 maintainers = with lib.maintainers; [ qyliss ]; 63 }; 64} 65// (args.argsOverride or { })