diff options
author | xeji <36407913+xeji@users.noreply.github.com> | 2018-08-30 09:01:00 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-30 09:01:00 +0200 |
commit | f629d365605618b414f702fe478fa38c927339ce (patch) | |
tree | 91466509c319aa1cea66b497fedaf13731d015d6 | |
parent | 29b48e00bc4c7510c3c9043165c8fca15d36100b (diff) | |
parent | be356b3d4a2b54b00d34cfcaa91ffda58b6547b0 (diff) | |
download | nixlib-f629d365605618b414f702fe478fa38c927339ce.tar nixlib-f629d365605618b414f702fe478fa38c927339ce.tar.gz nixlib-f629d365605618b414f702fe478fa38c927339ce.tar.bz2 nixlib-f629d365605618b414f702fe478fa38c927339ce.tar.lz nixlib-f629d365605618b414f702fe478fa38c927339ce.tar.xz nixlib-f629d365605618b414f702fe478fa38c927339ce.tar.zst nixlib-f629d365605618b414f702fe478fa38c927339ce.zip |
Merge pull request #45411 from alyssais/linux-libre
linux-libre: init
-rw-r--r-- | pkgs/os-specific/linux/kernel/linux-libre.nix | 38 | ||||
-rw-r--r-- | pkgs/servers/openafs/1.6/module.nix | 2 | ||||
-rw-r--r-- | pkgs/servers/openafs/1.8/module.nix | 2 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 6 |
4 files changed, 46 insertions, 2 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 ]; + }; +} diff --git a/pkgs/servers/openafs/1.6/module.nix b/pkgs/servers/openafs/1.6/module.nix index 2818996e5d4b..7ad9199b7ace 100644 --- a/pkgs/servers/openafs/1.6/module.nix +++ b/pkgs/servers/openafs/1.6/module.nix @@ -41,7 +41,7 @@ in stdenv.mkDerivation rec { installPhase = '' mkdir -p ${modDestDir} - cp src/libafs/MODLOAD-*/libafs-${kernel.version}.* ${modDestDir}/libafs.ko + cp src/libafs/MODLOAD-*/libafs-${kernel.modDirVersion}.* ${modDestDir}/libafs.ko xz -f ${modDestDir}/libafs.ko ''; diff --git a/pkgs/servers/openafs/1.8/module.nix b/pkgs/servers/openafs/1.8/module.nix index 8eeac8696c02..cfd9f0561e99 100644 --- a/pkgs/servers/openafs/1.8/module.nix +++ b/pkgs/servers/openafs/1.8/module.nix @@ -44,7 +44,7 @@ in stdenv.mkDerivation rec { installPhase = '' mkdir -p ${modDestDir} - cp src/libafs/MODLOAD-*/libafs-${kernel.version}.* ${modDestDir}/libafs.ko + cp src/libafs/MODLOAD-*/libafs-${kernel.modDirVersion}.* ${modDestDir}/libafs.ko xz -f ${modDestDir}/libafs.ko ''; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ebf6f4f36e8d..b4a5a9084136 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14257,6 +14257,12 @@ with pkgs; linuxPackages_hardkernel_latest = linuxPackages_hardkernel_4_14; linux_hardkernel_latest = linuxPackages_hardkernel_latest.kernel; + # GNU Linux-libre kernels + linuxPackages-libre = recurseIntoAttrs (linuxPackagesFor linux-libre); + linux-libre = callPackage ../os-specific/linux/kernel/linux-libre.nix {}; + linuxPackages_latest-libre = recurseIntoAttrs (linuxPackagesFor linux_latest-libre); + linux_latest-libre = linux-libre.override { linux = linux_latest; }; + # A function to build a manually-configured kernel linuxManualConfig = makeOverridable (callPackage ../os-specific/linux/kernel/manual-config.nix {}); |