···
23
+
stdenv.mkDerivation rec {
27
+
src = fetchFromGitHub {
28
+
owner = "FRRouting";
30
+
rev = "${pname}-${version}";
31
+
sha256 = "0lzsvi3kl9zcd4k04vc3363z9v2yrp7wc8bziv6w9h5fznh2vkxp";
34
+
buildInputs = [ readline net-snmp c-ares json_c python3 libyang openssl czmq ]
35
+
++ lib.optionals stdenv.isLinux [ libcap ];
37
+
nativeBuildInputs = [ pkg-config perl texinfo autoreconfHook python3Packages.sphinx python3Packages.pytest flex bison ];
40
+
"--sysconfdir=/etc/frr"
41
+
"--localstatedir=/run/frr"
42
+
"--sbindir=$(out)/libexec/frr"
43
+
"--disable-exampledir"
45
+
"--enable-group=frr"
46
+
"--enable-configfile-mask=0640"
47
+
"--enable-logfile-mask=0640"
48
+
"--enable-vty-group=frrvty"
50
+
"--enable-multipath=64"
54
+
substituteInPlace tools/frr-reload --replace /usr/lib/frr/ $out/libexec/frr/
57
+
enableParallelBuilding = true;
59
+
passthru.tests = { inherit (nixosTests) frr; };
62
+
description = "FRR BGP/OSPF/ISIS/RIP/RIPNG routing daemon suite";
63
+
longDescription = ''
64
+
FRRouting (FRR) is a free and open source Internet routing protocol suite
65
+
for Linux and Unix platforms. It implements BGP, OSPF, RIP, IS-IS, PIM,
66
+
LDP, BFD, Babel, PBR, OpenFabric and VRRP, with alpha support for EIGRP
69
+
FRR’s seamless integration with native Linux/Unix IP networking stacks
70
+
makes it a general purpose routing stack applicable to a wide variety of
71
+
use cases including connecting hosts/VMs/containers to the network,
72
+
advertising network services, LAN switching and routing, Internet access
73
+
routers, and Internet peering.
75
+
FRR has its roots in the Quagga project. In fact, it was started by many
76
+
long-time Quagga developers who combined their efforts to improve on
77
+
Quagga’s well-established foundation in order to create the best routing
78
+
protocol stack available. We invite you to participate in the FRRouting
79
+
community and help shape the future of networking.
81
+
Join the ranks of network architects using FRR for ISPs, SaaS
82
+
infrastructure, web 2.0 businesses, hyperscale services, and Fortune 500
85
+
homepage = "https://frrouting.org/";
86
+
license = with licenses; [ gpl2Plus lgpl21Plus ];
87
+
platforms = platforms.unix;
88
+
maintainers = with maintainers; [ woffs ];