From ed01b4254a54e43ce66d910c780b5a1ee885e243 Mon Sep 17 00:00:00 2001 From: Ryan Sundberg Date: Fri, 4 Jun 2021 20:53:11 -0700 Subject: [PATCH] gnu: Add bird versions 1.6.7 and 2.0.8 * gnu/packages/networking.scm (bird): New variable. {bird-1}: New variable. --- gnu/packages/networking.scm | 63 +++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index f7357a263b..0c14331a5b 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -43,6 +43,7 @@ ;;; Copyright © 2020 Hamzeh Nasajpour ;;; Copyright © 2020 Michael Rohleder ;;; Copyright © 2021 Hartmut Goebel +;;; Copyright © 2021 Ryan Sundberg ;;; ;;; This file is part of GNU Guix. ;;; @@ -4199,3 +4200,65 @@ IPv6 Internet connectivity - it also works over IPv4.") ;; version. This exception does not (and cannot) modify any license terms ;; which apply to the Application, with which you must still comply license:lgpl3))) + +(define configure-bird6 + `(lambda* (#:key #:allow-other-keys #:rest args) + (let ((configure-phase (assoc-ref %standard-phases 'configure))) + (apply + configure-phase + (append args '(#:configure-flags ("--enable-ipv6"))))))) + +(define-public bird-1 + (package + (name "bird") + (version "1.6.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.nic.cz/labs/bird.git") + (commit (string-append "v" version)))) + (sha256 (base32 "0vbjp42c2zqmcrqcwm4g4fq1v93l6rlk0c27i0k08f3v07w75cih")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;; No tests defined for bird 1 + #:phases + (modify-phases + %standard-phases + ;; Fix "cc not found" in tools/mergedirs + (add-after 'bootstrap 'set-cc + (lambda _ + (setenv "CPP" ,(string-append (cc-for-target) " -E")))) + ;; Build bird6 after building bird. + ;; bird6 and bird are configured independently. + (add-after 'install 'configure-bird6 ,configure-bird6) + (add-after 'configure-bird6 'build-bird6 + (assoc-ref %standard-phases 'build)) + (add-after 'build-bird6 'install-bird6 + (assoc-ref %standard-phases 'install))))) + (inputs + `(("ncurses" ,ncurses) + ("readline" ,readline))) + (native-inputs + `(("autoconf" ,autoconf) + ("bison" ,bison) + ("flex" ,flex))) + (home-page "http://bird.network.cz/") + (synopsis "BIRD Internet Routing Daemon") + (description "The BIRD project aims to develop a dynamic IP routing daemon +with full support of all modern routing protocols, easy to use configuration +interface and powerful route filtering language.") + (license license:gpl2+))) + +(define-public bird + (package + (inherit bird-1) + (version "2.0.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.nic.cz/labs/bird.git") + (commit (string-append "v" version)))) + (sha256 (base32 "07mh41hsmkcpf6f6lnygzp6g59jma542pcqdkl54ysiqnjmi5zz1")))) + (arguments `()))) -- 2.31.1