nixpkgs/pkgs/os-specific/linux/iproute/default.nix
Charles Strahan c1ee8fefd4 nixos: add support for Ubuntu Fan Networking
This provides support for Ubuntu Fan Networking [1].

This includes:

* The fanctl package, and a corresponding NixOS service.
* iproute patches.
* kernel patches.

closes #9188

1: https://wiki.ubuntu.com/FanNetworking
2015-08-13 14:27:14 -04:00

48 lines
1.2 KiB
Nix

{ fetchurl, stdenv, lib, flex, bison, db, iptables, pkgconfig
, enableFan ? false
}:
stdenv.mkDerivation rec {
name = "iproute2-4.1.1";
src = fetchurl {
url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz";
sha256 = "0vz6m2k6hdrjlg4x0r3cd75lg9ysmndbsp35pm8494zvksc7l1vk";
};
patches = lib.optionals enableFan [ ./ubuntu-fan.patch ];
preConfigure = ''
patchShebangs ./configure
sed -e '/ARPDDIR/d' -i Makefile
'';
makeFlags = [
"DESTDIR="
"LIBDIR=$(out)/lib"
"SBINDIR=$(out)/sbin"
"MANDIR=$(out)/share/man"
"DOCDIR=$(TMPDIR)/share/doc/${name}" # Don't install docs
];
buildFlags = [
"CONFDIR=/etc/iproute2"
];
installFlags = [
"CONFDIR=$(out)/etc/iproute2"
];
buildInputs = [ db iptables ];
nativeBuildInputs = [ bison flex pkgconfig ];
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2;
description = "A collection of utilities for controlling TCP/IP networking and traffic control in Linux";
platforms = platforms.linux;
license = licenses.gpl2;
maintainers = with maintainers; [ eelco wkennington ];
};
}