1{ stdenv, lib, fetchFromGitHub, kernel }:
2
3stdenv.mkDerivation {
4 pname = "sch_cake";
5 version = "unstable-2017-07-16";
6
7 src = fetchFromGitHub {
8 owner = "dtaht";
9 repo = "sch_cake";
10 rev = "e641a56f27b6848736028f87eda65ac3df9f99f7";
11 sha256 = "08582jy01j32b3mj8hf6m8687qrcz64zv2m236j24inlkmd94q21";
12 };
13
14 hardeningDisable = [ "pic" ];
15
16 makeFlags = [
17 "KERNEL_VERSION=${kernel.version}"
18 "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
19 ];
20
21 installPhase = ''
22 install -v -m 644 -D sch_cake.ko \
23 $out/lib/modules/${kernel.modDirVersion}/kernel/net/sched/sch_cake.ko
24 '';
25
26 meta = with lib; {
27 description = "The cake qdisc scheduler";
28 homepage = "https://www.bufferbloat.net/projects/codel/wiki/Cake/";
29 license = with licenses; [ bsd3 gpl2 ];
30 maintainers = with maintainers; [ fpletz ];
31 platforms = platforms.linux;
32 broken = lib.versionAtLeast kernel.version "4.13";
33 };
34}