diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index c2f4e6843f591..936a58dfc20a8 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -10,7 +10,7 @@ extraConfig ? "" , # The version number used for the module directory - modDirVersion ? version + modVersion ? null , # An attribute set whose attributes express the availability of # certain features in this kernel. E.g. `{iwlwifi = true;}' @@ -118,7 +118,7 @@ let }; kernel = buildLinux { - inherit version modDirVersion src kernelPatches stdenv; + inherit version src kernelPatches stdenv; configfile = configfile.nativeDrv or configfile; @@ -127,6 +127,12 @@ let config = { CONFIG_MODULES = "y"; CONFIG_FW_LOADER = "m"; }; crossConfig = { CONFIG_MODULES = "y"; CONFIG_FW_LOADER = "m"; }; + + modDirVersion = if (modVersion == null) then + # modDirVersion needs to be x.y.z, will automatically add .0 if needed + with lib; (concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")))) + else + modVersion; }; passthru = { diff --git a/pkgs/os-specific/linux/kernel/linux-4.13.nix b/pkgs/os-specific/linux/kernel/linux-4.13.nix index bc940e0bc1bbd..575dfc298a3c9 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.13.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.13.nix @@ -2,7 +2,6 @@ import ./generic.nix (args // rec { version = "4.13.15"; - extraMeta.branch = "4.13"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix index 71a9c9322ebd4..fa0506b5079fb 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix @@ -1,16 +1,8 @@ { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: -with stdenv.lib; - import ./generic.nix (args // rec { version = "4.14.1"; - # modDirVersion needs to be x.y.z, will automatically add .0 if needed - modDirVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))); - - # branchVersion needs to be x.y - extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version))); - src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; sha256 = "1rsdrdapjw8lhm8dyckwxfihykirbkincm5k0lwwx1pr09qgdfbg"; diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix index bff438fa0a270..76c9e23f77bbf 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix @@ -2,7 +2,6 @@ import ./generic.nix (args // rec { version = "4.4.100"; - extraMeta.branch = "4.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix index 96fe2223b94eb..cdcccf63736d6 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.9.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix @@ -2,7 +2,6 @@ import ./generic.nix (args // rec { version = "4.9.64"; - extraMeta.branch = "4.9"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; diff --git a/pkgs/os-specific/linux/kernel/linux-beagleboard.nix b/pkgs/os-specific/linux/kernel/linux-beagleboard.nix index 33885a082d635..f79c02c662f19 100644 --- a/pkgs/os-specific/linux/kernel/linux-beagleboard.nix +++ b/pkgs/os-specific/linux/kernel/linux-beagleboard.nix @@ -1,12 +1,13 @@ { stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args: let - modDirVersion = "4.9.61"; + modVersion = "4.9.61"; tag = "r76"; in import ./generic.nix (args // rec { - version = "${modDirVersion}-ti-${tag}"; - inherit modDirVersion; + inherit modVersion; + + version = "${modVersion}-ti-${tag}"; src = fetchFromGitHub { owner = "beagleboard"; diff --git a/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix b/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix index 979e6c273fc80..b8836774e3399 100644 --- a/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix +++ b/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix @@ -7,19 +7,12 @@ let revision = "a"; sha256 = "16bb1jvip50v62slp6cy96zncjhjzp3hvh29jc8ilcpxgyipmhlc"; - # modVersion needs to be x.y.z, will automatically add .0 if needed - modVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))); - - # branchVersion needs to be x.y - branchVersion = concatStrings (intersperse "." (take 2 (splitString "." version))); - - modDirVersion = "${modVersion}-hardened"; + modVersion = "${version}-hardened"; in import ./generic.nix (args // { - inherit modDirVersion; + inherit modVersion; version = "${version}-${revision}"; - extraMeta.branch = "${branchVersion}"; src = fetchFromGitHub { inherit sha256; diff --git a/pkgs/os-specific/linux/kernel/linux-mptcp.nix b/pkgs/os-specific/linux/kernel/linux-mptcp.nix index 92b202100a63d..ecb34922d0874 100644 --- a/pkgs/os-specific/linux/kernel/linux-mptcp.nix +++ b/pkgs/os-specific/linux/kernel/linux-mptcp.nix @@ -2,13 +2,10 @@ import ./generic.nix (rec { mptcpVersion = "0.93"; - modDirVersion = "4.9.60"; - version = "${modDirVersion}-mptcp_v${mptcpVersion}"; + modVersion = "4.9.60"; + version = "${modVersion}-mptcp_v${mptcpVersion}"; - extraMeta = { - branch = "4.4"; - maintainers = with stdenv.lib.maintainers; [ teto layus ]; - }; + extraMeta.maintainers = with stdenv.lib.maintainers; [ teto layus ]; src = fetchFromGitHub { owner = "multipath-tcp"; diff --git a/pkgs/os-specific/linux/kernel/linux-rpi.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix index fb97aa579df08..bafd8e0988dac 100644 --- a/pkgs/os-specific/linux/kernel/linux-rpi.nix +++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix @@ -1,12 +1,13 @@ { stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args: let - modDirVersion = "4.9.59"; + modVersion = "4.9.59"; tag = "1.20171029"; in stdenv.lib.overrideDerivation (import ./generic.nix (args // rec { - version = "${modDirVersion}-${tag}"; - inherit modDirVersion; + inherit modVersion; + + version = "${modVersion}-${tag}"; src = fetchFromGitHub { owner = "raspberrypi"; diff --git a/pkgs/os-specific/linux/kernel/linux-samus-4.12.nix b/pkgs/os-specific/linux/kernel/linux-samus-4.12.nix index f262dfe34b79b..00ec9512db761 100644 --- a/pkgs/os-specific/linux/kernel/linux-samus-4.12.nix +++ b/pkgs/os-specific/linux/kernel/linux-samus-4.12.nix @@ -4,13 +4,13 @@ assert stdenv.is64bit; import ./generic.nix (args // rec { version = "4.12.2"; - extraMeta.branch = "4.12-2"; + revision = "4.12-2"; src = let upstream = fetchFromGitHub { owner = "raphael"; repo = "linux-samus"; - rev = "v${extraMeta.branch}"; + rev = "v${revision}"; sha256 = "1dr74i79p8r13522w2ppi8gnjd9bhngc9d2hsn91ji6f5a8fbxx9"; }; in "${upstream}/build/linux"; diff --git a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix index a104cc5393c37..fdd8db13d1cc2 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix @@ -2,7 +2,7 @@ import ./generic.nix (args // rec { version = "4.11.2017.08.23"; - modDirVersion = "4.11.0"; + modVersion = "4.11.0"; extraMeta.branch = "master"; extraMeta.maintainers = [ stdenv.lib.maintainers.davidak ]; diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index 54e37e7213039..d1fee3f4a6a7a 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -2,8 +2,7 @@ import ./generic.nix (args // rec { version = "4.14-rc8"; - modDirVersion = "4.14.0-rc8"; - extraMeta.branch = "4.14"; + modVersion = "4.14.0-rc8"; src = fetchurl { url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index f922116ed36b4..82a1987da78c5 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -226,6 +226,9 @@ let maintainers.thoughtpolice ]; platforms = platforms.linux; + + # branch needs to be x.y + branch = with stdenv.lib; concatStrings (intersperse "." (take 2 (splitString "." version))); }; }; in