diff mbox series

[bug#48889,1/4] New package: bird bgp daemon, versions 1 and 2

Message ID d25c44db-259e-fed6-73a9-ac6d0ed536f8@arctype.co
State New
Headers show
Series [bug#48889,1/4] New package: bird bgp daemon, versions 1 and 2 | expand

Commit Message

Ryan Sundberg June 9, 2021, 6:50 a.m. UTC
Hi Maxime, thanks for the good feedback. Please see the revised patch here.

--
Sincerely,
Ryan Sundberg

On 6/7/21 2:35 AM, Maxime Devos wrote:
> Hi,
> 
> Ryan Sundberg via Guix-patches via schreef op zo 06-06-2021 om 11:52 [-0700]:
>> Adds the bird BGP daemon to gnu/packages/bird.scm
> 
> See commits (e.g. git log -n9) for how to format commit messages.
> 
>> ---
>>  gnu/packages/bird.scm | 74 +++++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 74 insertions(+)
>>  create mode 100644 gnu/packages/bird.scm
>>
>> diff --git a/gnu/packages/bird.scm b/gnu/packages/bird.scm
>> new file mode 100644
>> index 0000000000..5fac395906
>> --- /dev/null
>> +++ b/gnu/packages/bird.scm
> 
> Maybe gnu/packages/networking.scm, instead of creating a new
> module for a single package.
> 
>> +        #:phases (modify-phases %standard-phases
>> +                                ; Fix "cc not found" in tools/mergedirs
>> +                                (add-after 'bootstrap 'set-cc
>> +                                           (lambda _ 
>> +                                             (setenv "CPP" "gcc -E")
>> +                                             #t)))))
> 
> This most likely should be ,(string-append (cc-for-target) " -E"), to
> make sure cross-compiling works. Also, the more declarative #:make-flags
> is preferred above imperative setenv.
> 
>> +    (inputs
>> +      `(("autoconf" ,autoconf)
>> +        ("bison" ,bison)
>> +        ("flex" ,flex)
> 
> autoconf, bison & flex most likely should be native inputs.
> 
>> +        ("ncurses" ,ncurses)
>> +        ("readline" ,readline)))
>> +    (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, primarily targeted on (but not limited to) Linux and other UNIX-like systems and distributed under the GNU General Public License.")
>> +    (license gpl2+)))
> 
> The description line is too long.
> ./pre-inst-env guix lint bird@1.6.7 should detect that.
> 
> Greetings,
> Maxime.
>
diff mbox series

Patch

From 4cff7f7e80dd2e46705675aa14d14d95a7ee9a9d Mon Sep 17 00:00:00 2001
From: Ryan Sundberg <ryan@arctype.co>
Date: Fri, 4 Jun 2021 20:53:11 -0700
Subject: [PATCH 1/5] gnu: Add bird versions 1.6.7 and 2.0.8

* gnu/packages/networking.scm (bird): New variable.
{bird-1}: New variable.

Signed-off-by: Ryan Sundberg <ryan@arctype.co>
---
 gnu/packages/networking.scm | 52 +++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 462215c0f1..6ab23f4ae3 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -43,6 +43,7 @@ 
 ;;; Copyright © 2020 Hamzeh Nasajpour <h.nasajpour@pantherx.org>
 ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
 ;;; Copyright © 2021 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2021 Ryan Sundberg <ryan@arctype.co>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -4196,3 +4197,54 @@  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-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
+      `(#:configure-flags '("--enable-ipv6")
+        #: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"))
+                       #t)))))
+    (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
+      `(#:configure-flags '("--enable-ipv6")))))
-- 
2.31.1