From 2d4ce25b5b5183a5c7bfe839acf8a89a1e853ffd Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Mon, 31 Mar 2014 20:54:47 -0400 Subject: [PATCH] Add linux 3.14 --- .../os-specific/linux/kernel/common-config.nix | 4 +++- pkgs/os-specific/linux/kernel/linux-3.14.nix | 18 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 12 +++++++++++- 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 pkgs/os-specific/linux/kernel/linux-3.14.nix diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 8b96a321634..a2b139dc6fc 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -167,7 +167,9 @@ with stdenv.lib; STRICT_DEVMEM y # Filter access to /dev/mem SECURITY_SELINUX_BOOTPARAM_VALUE 0 # Disable SELinux by default DEVKMEM n # Disable /dev/kmem - CC_STACKPROTECTOR y # Detect buffer overflows on the stack + ${optionalString (versionOlder version "3.14") '' + CC_STACKPROTECTOR y # Detect buffer overflows on the stack + ''} ${optionalString (versionAtLeast version "3.12") '' USER_NS y # Support for user namespaces ''} diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix new file mode 100644 index 00000000000..31e6226a3de --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl, ... } @ args: + +import ./generic.nix (args // rec { + version = "3.14"; + extraMeta.branch = "3.14"; + modDirVersion = "3.14.0"; + + src = fetchurl { + url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; + sha256 = "61558aa490855f42b6340d1a1596be47454909629327c49a5e4e10268065dffa"; + }; + + features.iwlwifi = true; + features.efiBootStub = true; + features.needsCifsUtils = true; + features.canDisableNetfilterConntrackHelpers = true; + features.netfilterRPFilter = true; +} // (args.argsOverride or {})) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 25780de9b35..cc83d0ea4d4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6966,6 +6966,15 @@ let ]; }; + linux_3_14 = makeOverridable (import ../os-specific/linux/kernel/linux-3.14.nix) { + inherit fetchurl stdenv perl buildLinux; + kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") + [ kernelPatches.mips_fpureg_emu + kernelPatches.mips_fpu_sigill + kernelPatches.mips_ext3_n32 + ]; + }; + /* Linux kernel modules are inherently tied to a specific kernel. So rather than provide specific instances of those packages for a @@ -7062,8 +7071,9 @@ let linuxPackages_3_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_12 linuxPackages_3_12); linuxPackages_3_13_grsecurity = linuxPackagesFor pkgs.linux_3_13_grsecurity linuxPackages_3_13_grsecurity; linuxPackages_3_13 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_13 linuxPackages_3_13); + linuxPackages_3_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_14 linuxPackages_3_14); # Update this when adding a new version! - linuxPackages_latest = pkgs.linuxPackages_3_13; + linuxPackages_latest = pkgs.linuxPackages_3_14; # The current default kernel / kernel modules. linux = linuxPackages.kernel;