diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/quagga/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/quagga/default.nix | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/quagga/default.nix b/nixpkgs/pkgs/servers/quagga/default.nix new file mode 100644 index 000000000000..1d8f0c36caec --- /dev/null +++ b/nixpkgs/pkgs/servers/quagga/default.nix @@ -0,0 +1,73 @@ +{ stdenv, fetchurl, libcap, libnl, readline, net_snmp, less, perl, texinfo, + pkgconfig, c-ares }: + +stdenv.mkDerivation rec { + name = "quagga-${version}"; + version = "1.2.4"; + + src = fetchurl { + url = "mirror://savannah/quagga/${name}.tar.gz"; + sha256 = "1lsksqxij5f1llqn86pkygrf5672kvrqn1kvxghi169hqf1c0r73"; + }; + + buildInputs = + [ readline net_snmp c-ares ] + ++ stdenv.lib.optionals stdenv.isLinux [ libcap libnl ]; + + nativeBuildInputs = [ pkgconfig perl texinfo ]; + + configureFlags = [ + "--sysconfdir=/etc/quagga" + "--localstatedir=/run/quagga" + "--sbindir=$(out)/libexec/quagga" + "--disable-exampledir" + "--enable-user=quagga" + "--enable-group=quagga" + "--enable-configfile-mask=0640" + "--enable-logfile-mask=0640" + "--enable-vtysh" + "--enable-vty-group=quaggavty" + "--enable-snmp" + "--enable-multipath=64" + "--enable-rtadv" + "--enable-irdp" + "--enable-opaque-lsa" + "--enable-ospf-te" + "--enable-pimd" + "--enable-isis-topology" + ]; + + preConfigure = '' + substituteInPlace vtysh/vtysh.c --replace \"more\" \"${less}/bin/less\" + ''; + + postInstall = '' + rm -f $out/bin/test_igmpv3_join + mv -f $out/libexec/quagga/ospfclient $out/bin/ + ''; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "Quagga BGP/OSPF/ISIS/RIP/RIPNG routing daemon suite"; + longDescription = '' + GNU Quagga is free software which manages TCP/IP based routing protocols. + It supports BGP4, BGP4+, OSPFv2, OSPFv3, IS-IS, RIPv1, RIPv2, and RIPng as + well as the IPv6 versions of these. + + As the predecessor Zebra has been considered orphaned, the Quagga project + has been formed by members of the zebra mailing list and the former + zebra-pj project to continue developing. + + Quagga uses threading if the kernel supports it, but can also run on + kernels that do not support threading. Each protocol has its own daemon. + + It is more than a routed replacement, it can be used as a Route Server and + a Route Reflector. + ''; + homepage = https://www.nongnu.org/quagga/; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = with maintainers; [ tavyc ]; + }; +} |