linux_mptcp,linux_mptcp_95: remove out-of-tree mptcp kernel

Multipath tcp (mptcp) is now part of the official linux kernel. The
official kernel still lacks features compared to this out of tree ones
but considering the userbase, I dont see any compelling reason.
I keep using that kernel and those utilities so they will stay packaged
at https://github.com/teto/mptcp-flake where they wont annoy the whole
nixpkgs crowd that doesn't care about it.
This commit is contained in:
Matthieu Coudron 2022-10-03 14:40:12 +02:00 committed by Matthieu Coudron
parent 151fcb720c
commit a3f854aef3
6 changed files with 5 additions and 102 deletions

View File

@ -1,40 +0,0 @@
{ lib, iproute2, fetchFromGitHub, fetchpatch }:
iproute2.overrideAttrs (oa: rec {
pname = "iproute_mptcp";
version = "0.95";
src = fetchFromGitHub {
owner = "multipath-tcp";
repo = "iproute-mptcp";
rev = "mptcp_v${version}";
sha256 = "07fihvwlaj0ng8s8sxqhd0a9h1narcnp4ibk88km9cpsd32xv4q3";
};
preConfigure = oa.preConfigure + ''
patchShebangs configure
'';
patches = [
# We override "patches" to never apply any iproute2 patches:
] ++ [
# iproute-mptcp patches:
# Pull upstream fix for -fno-common toolchain support:
# https://github.com/multipath-tcp/iproute-mptcp/pull/8
(fetchpatch {
name = "fno-common.patch";
url = "https://github.com/multipath-tcp/iproute-mptcp/commit/7aebfde8624c978f6f73b03142892f802d21cc0b.patch";
sha256 = "098402sjdm10r9xggz6naygnfjs74d9k3s2wc2aczx0d2zayhff8";
})
];
meta = with lib; {
homepage = "https://github.com/multipath-tcp/iproute-mptcp";
description = "IP-Route extensions for MultiPath TCP";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = with maintainers; [ teto ];
priority = 2;
};
})

View File

@ -1,27 +0,0 @@
{ lib, buildPackages, fetchFromGitHub, perl, buildLinux, structuredExtraConfig ? {}, ... } @ args:
let
mptcpVersion = "0.95.1";
modDirVersion = "4.19.126";
in
buildLinux ({
version = "${modDirVersion}-mptcp_v${mptcpVersion}";
inherit modDirVersion;
extraMeta = {
branch = "4.19";
maintainers = with lib.maintainers; [ teto layus ];
};
src = fetchFromGitHub {
owner = "multipath-tcp";
repo = "mptcp";
rev = "v${mptcpVersion}";
sha256 = "sha256-J9UXhkI49cq83EtojLHieRtp8fT3LXTJNIqb+mUwZdM=";
};
structuredExtraConfig = lib.mkMerge [
(import ./mptcp-config.nix { inherit lib; })
structuredExtraConfig
];
} // args)

View File

@ -1,21 +0,0 @@
{ lib, nettools, fetchFromGitHub }:
nettools.overrideAttrs(oa: rec {
pname = "net-tools-mptcp";
version = "0.95";
src = fetchFromGitHub {
owner = "multipath-tcp";
repo = "net-tools";
rev = "mptcp_v${version}";
sha256 = "0i7gr1y699nc7j9qllsx8kicqkpkhw51x4chcmyl5xs06b2mdjri";
};
meta = with lib; {
homepage = "https://github.com/multipath-tcp/net-tools";
description = "A set of tools for controlling the network subsystem in Linux";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ teto ];
};
})

View File

@ -521,6 +521,7 @@ mapAliases ({
ipfs-migrator-unwrapped = kubo-migrator-unwrapped; # Added 2022-09-27
ipfs-migrator = kubo-migrator; # Added 2022-09-27
iproute = throw "'iproute' has been renamed to/replaced by 'iproute2'"; # Converted to throw 2022-09-24
iproute_mptcp = throw "'iproute_mptcp' has been moved to https://github.com/teto/mptcp-flake"; # Converted to throw 2022-10-04
ipsecTools = throw "ipsecTools has benn removed, because it was no longer maintained upstream"; # Added 2021-12-15
itch-setup = throw "itch-setup has benn removed, use itch instead"; # Added 2022-06-02
@ -677,7 +678,9 @@ mapAliases ({
linux_5_19 = linuxKernel.kernels.linux_5_19;
linux_5_4 = linuxKernel.kernels.linux_5_4;
linux_6_0 = linuxKernel.kernels.linux_6_0;
linux_mptcp_95 = linuxKernel.kernels.linux_mptcp_95;
linuxPackages_mptcp = throw "'linuxPackages_mptcp' has been moved to https://github.com/teto/mptcp-flake"; # Converted to throw 2022-10-04
linux_mptcp = throw "'linux_mptcp' has been moved to https://github.com/teto/mptcp-flake"; # Converted to throw 2022-10-04
linux_mptcp_95 = throw "'linux_mptcp_95' has been moved to https://github.com/teto/mptcp-flake"; # Converted to throw 2022-10-04
linux_rpi0 = linuxKernel.kernels.linux_rpi1;
linux_rpi02w = linuxKernel.kernels.linux_rpi3;
linux_rpi1 = linuxKernel.kernels.linux_rpi1;
@ -776,6 +779,7 @@ mapAliases ({
ncat = throw "'ncat' has been renamed to/replaced by 'nmap'"; # Converted to throw 2022-02-22
neap = throw "neap was removed from nixpkgs, as it relies on python2"; # Added 2022-01-12
neochat = libsForQt5.plasmaMobileGear.neochat; # added 2022-05-10
nettools_mptcp = throw "'nettools_mptcp' has been moved to https://github.com/teto/mptcp-flake"; # Converted to throw 2022-10-04
networkmanager_fortisslvpn = throw "'networkmanager_fortisslvpn' has been renamed to/replaced by 'networkmanager-fortisslvpn'"; # Converted to throw 2022-02-22
networkmanager_iodine = throw "'networkmanager_iodine' has been renamed to/replaced by 'networkmanager-iodine'"; # Converted to throw 2022-02-22
networkmanager_l2tp = throw "'networkmanager_l2tp' has been renamed to/replaced by 'networkmanager-l2tp'"; # Converted to throw 2022-02-22

View File

@ -24605,8 +24605,6 @@ with pkgs;
iproute2 = callPackage ../os-specific/linux/iproute { };
iproute_mptcp = callPackage ../os-specific/linux/iproute/mptcp.nix { };
iputils = hiPrio (callPackage ../os-specific/linux/iputils { });
# hiPrio for collisions with inetutils (ping)
@ -24763,10 +24761,6 @@ with pkgs;
linuxPackages_testing_bcachefs = linuxKernel.packages.linux_testing_bcachefs;
linux_testing_bcachefs = linuxKernel.kernels.linux_testing_bcachefs;
# kernel with mtcp support
linuxPackages_mptcp = linuxKernel.packageAliases.linux_mptcp;
linux_mptcp = linuxPackages_mptcp.kernel;
# Realtime kernel
linuxPackages-rt = linuxKernel.packageAliases.linux_rt_default;
linuxPackages-rt_latest = linuxKernel.packageAliases.linux_rt_latest;
@ -24955,8 +24949,6 @@ with pkgs;
then callPackage ../os-specific/linux/net-tools { }
else unixtools.nettools;
nettools_mptcp = callPackage ../os-specific/linux/net-tools/mptcp.nix { };
nftables = callPackage ../os-specific/linux/nftables { };
noah = callPackage ../os-specific/darwin/noah {

View File

@ -61,10 +61,6 @@ in {
# New vendor kernels should go to nixos-hardware instead.
# e.g. https://github.com/NixOS/nixos-hardware/tree/master/microsoft/surface/kernel
linux_mptcp_95 = callPackage ../os-specific/linux/kernel/linux-mptcp-95.nix {
kernelPatches = linux_4_19.kernelPatches;
};
linux_rpi1 = callPackage ../os-specific/linux/kernel/linux-rpi.nix {
kernelPatches = with kernelPatches; [
bridge_stp_helper
@ -555,7 +551,6 @@ in {
};
packages = recurseIntoAttrs (vanillaPackages // rtPackages // rpiPackages // {
linux_mptcp_95 = packagesFor kernels.linux_mptcp_95;
# Intentionally lacks recurseIntoAttrs, as -rc kernels will quite likely break out-of-tree modules and cause failed Hydra builds.
linux_testing = packagesFor kernels.linux_testing;