guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: gnu: Add quagga.


From: Marius Bakke
Subject: 01/01: gnu: Add quagga.
Date: Mon, 26 Jun 2017 14:43:56 -0400 (EDT)

mbakke pushed a commit to branch master
in repository guix.

commit c2700e785b3048f5ebe0ade82a475c47d00d3642
Author: Gábor Boskovits <address@hidden>
Date:   Mon Jun 26 17:51:33 2017 +0200

    gnu: Add quagga.
    
    * gnu/packages/networking.scm (quagga): New variable.
    * gnu/packages/patches/quagga-reproducible-build.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Add it.
    
    Signed-off-by: Marius Bakke <address@hidden>
---
 gnu/local.mk                                       |  2 ++
 gnu/packages/networking.scm                        | 34 ++++++++++++++++++++++
 .../patches/quagga-reproducible-build.patch        | 22 ++++++++++++++
 3 files changed, 58 insertions(+)

diff --git a/gnu/local.mk b/gnu/local.mk
index 5d024de..b3dd195 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -14,6 +14,7 @@
 # Copyright © 2017 Tobias Geerinckx-Rice <address@hidden>
 # Copyright © 2017 Clément Lassieur <address@hidden>
 # Copyright © 2017 Mathieu Othacehe <address@hidden>
+# Copyright © 2017 Gábor Boskovits <address@hidden>
 #
 # This file is part of GNU Guix.
 #
@@ -961,6 +962,7 @@ dist_patch_DATA =                                           
\
   %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             \
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 06a2c8b..396c41a 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -16,6 +16,7 @@
 ;;; Copyright © 2017 Leo Famulari <address@hidden>
 ;;; Copyright © 2017 Efraim Flashner <address@hidden>
 ;;; Copyright © 2017 Rutger Helling <address@hidden>
+;;; Copyright © 2017 Gábor Boskovits <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -51,6 +52,7 @@
   #: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)
@@ -64,6 +66,7 @@
   #: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)
@@ -1308,3 +1311,34 @@ transparently have a connection established to another 
address (e.g., a UNIX
 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+)))
diff --git a/gnu/packages/patches/quagga-reproducible-build.patch 
b/gnu/packages/patches/quagga-reproducible-build.patch
new file mode 100644
index 0000000..80efe4b
--- /dev/null
+++ b/gnu/packages/patches/quagga-reproducible-build.patch
@@ -0,0 +1,22 @@
+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/;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]