# Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
# Copyright © 2017 Clément Lassieur <clement@lassieur.org>
# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
+# Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
#
# This file is part of GNU Guix.
#
%D%/packages/patches/qemu-CVE-2017-9524.patch \
%D%/packages/patches/qt4-ldflags.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
+ %D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
%D%/packages/patches/rapicorn-isnan.patch \
%D%/packages/patches/raptor2-heap-overflow.patch \
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
+ #:use-module (gnu packages dejagnu)
#:use-module (gnu packages flex)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages readline)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
socket on a different system). This is similar to 'ssh -L' functionality, but
does not use SSH and requires a pre-shared symmetric key.")
(license license:bsd-2)))
+
+(define-public quagga
+ (package
+ (name "quagga")
+ (version "1.2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/quagga/quagga-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1kgvcr9cfgys5asvb5lh5h95silkr624apqm5x68xva19xfvmpda"))
+ (patches
+ (search-patches "quagga-reproducible-build.patch"))))
+ (build-system gnu-build-system)
+ (native-inputs `(("pkg-config",pkg-config)
+ ("perl",perl)
+ ("dejagnu",dejagnu)))
+ (inputs `(("readline",readline)
+ ("c-ares",c-ares)))
+ (synopsis "Routing Software Suite")
+ (description "Quagga is a routing software suite, providing implementations
+of OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4 for Unix platforms.
+
+The Quagga architecture consists of a core daemon, @command{zebra}, which
+acts as an abstraction layer to the underlying Unix kernel and presents the
+Zserv API over a Unix or TCP stream to Quagga clients. It is these Zserv
+clients which typically implement a routing protocol and communicate routing
+updates to the zebra daemon.")
+ (home-page "http://www.nongnu.org/quagga/")
+ (license license:gpl2+)))
--- /dev/null
+Make sure, that vtysh_cmd.c is deterministically generated.
+
+--- a/vtysh/extract.pl.in 2017-03-10 13:55:06.000000000 +0100
++++ b/vtysh/extract.pl.in 2017-06-24 00:51:56.460000000 +0200
+@@ -214,7 +214,7 @@
+ }
+
+ # Output DEFSH
+-foreach (keys %live) {
++foreach (sort keys %live) {
+ my ($proto);
+ my ($key);
+ $key = $live{$_};
+@@ -229,7 +229,7 @@
+ {
+ EOF
+
+-foreach (keys %odefun) {
++foreach (sort keys %odefun) {
+ my ($node, $str) = (split (/,/));
+ $cmd = $ocmd{$_};
+ $cmd =~ s/_cmd/_cmd_vtysh/;