2018-08-20 23:32:29 +01:00
|
|
|
{ stdenv, lib, fetchsvn, linux
|
|
|
|
, scripts ? fetchsvn {
|
2019-09-15 18:42:29 +01:00
|
|
|
url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
|
2021-11-05 17:25:22 +00:00
|
|
|
rev = "18452";
|
|
|
|
sha256 = "0l9xnblid2nv6afp4d8g6kwlhwbw72cnqfaf2lix65bqc1ivdpl9";
|
2018-08-20 23:32:29 +01:00
|
|
|
}
|
2018-08-29 21:57:37 +01:00
|
|
|
, ...
|
2018-08-20 23:32:29 +01: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;
|
|
|
|
|
2021-10-05 20:59:30 +01:00
|
|
|
# See http://linux-libre.fsfla.org/pub/linux-libre/releases
|
|
|
|
versionPrefix = if linux.kernelOlder "5.14" then
|
|
|
|
"gnu1"
|
|
|
|
else
|
|
|
|
"gnu";
|
2018-08-20 23:32:29 +01:00
|
|
|
in linux.override {
|
|
|
|
argsOverride = {
|
2021-10-05 20:59:30 +01:00
|
|
|
modDirVersion = "${linux.modDirVersion}-${versionPrefix}";
|
2020-10-29 08:15:05 +00:00
|
|
|
isLibre = true;
|
2018-08-21 11:13:21 +01:00
|
|
|
|
2018-08-20 23:32:29 +01:00
|
|
|
src = stdenv.mkDerivation {
|
|
|
|
name = "${linux.name}-libre-src";
|
|
|
|
src = linux.src;
|
|
|
|
buildPhase = ''
|
2020-03-23 15:07:13 +00:00
|
|
|
# --force flag to skip empty files after deblobbing
|
|
|
|
${scripts}/${majorMinor}/deblob-${majorMinor} --force \
|
2018-08-20 23:32:29 +01:00
|
|
|
${major} ${minor} ${patch}
|
|
|
|
'';
|
|
|
|
checkPhase = ''
|
|
|
|
${scripts}/deblob-check
|
|
|
|
'';
|
|
|
|
installPhase = ''
|
|
|
|
cp -r . "$out"
|
|
|
|
'';
|
|
|
|
};
|
2018-08-21 11:13:21 +01:00
|
|
|
|
2019-12-16 04:27:41 +00:00
|
|
|
passthru.updateScript = ./update-libre.sh;
|
|
|
|
|
2021-10-05 20:59:30 +01:00
|
|
|
maintainers = with lib.maintainers; [ qyliss ivar ];
|
2018-08-20 23:32:29 +01:00
|
|
|
};
|
|
|
|
}
|