diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 01a605aac309..8b96a321634d 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -63,7 +63,9 @@ with stdenv.lib; # Networking options. IP_PNP n + ${optionalString (versionOlder version "3.13") '' IPV6_PRIVACY y + ''} NETFILTER_ADVANCED y IP_VS_PROTO_TCP y IP_VS_PROTO_UDP y @@ -176,7 +178,7 @@ with stdenv.lib; AIC79XX_DEBUG_ENABLE n AIC7XXX_DEBUG_ENABLE n AIC94XX_DEBUG n - ${optionalString (versionAtLeast version "3.3") '' + ${optionalString (versionAtLeast version "3.3" && versionOlder version "3.13") '' AUDIT_LOGINUID_IMMUTABLE y ''} B43_PCMCIA y diff --git a/pkgs/os-specific/linux/kernel/linux-3.13.nix b/pkgs/os-specific/linux/kernel/linux-3.13.nix new file mode 100644 index 000000000000..967de85b7b3f --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-3.13.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl, ... } @ args: + +import ./generic.nix (args // rec { + version = "3.13"; + + modDirVersion = "3.13.0"; + + src = fetchurl { + url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; + sha256 = "4d5e5eee5f276424c32e9591f1b6c971baedc7b49f28ce03d1f48b1e5d6226a2"; + }; + + features.iwlwifi = true; + features.efiBootStub = true; + features.needsCifsUtils = true; + features.canDisableNetfilterConntrackHelpers = true; + features.netfilterRPFilter = true; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index eb1f6eadf5d2..6c40c042f81b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6839,6 +6839,18 @@ let ]; }; + linux_3_13 = makeOverridable (import ../os-specific/linux/kernel/linux-3.13.nix) { + inherit fetchurl stdenv perl linuxManualConfig; + kernelPatches = + [ + kernelPatches.sec_perm_2_6_24 + ] ++ 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 @@ -6928,8 +6940,9 @@ let linuxPackages_3_11 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_11 linuxPackages_3_11); linuxPackages_3_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_12 linuxPackages_3_12); linuxPackages_3_12_grsecurity = linuxPackagesFor pkgs.linux_3_12_grsecurity linuxPackages_3_12_grsecurity; + linuxPackages_3_13 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_13 linuxPackages_3_13); # Update this when adding a new version! - linuxPackages_latest = pkgs.linuxPackages_3_12; + linuxPackages_latest = pkgs.linuxPackages_3_13; # The current default kernel / kernel modules. linux = linuxPackages.kernel;