all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ryan Sundberg via Guix-patches via <guix-patches@gnu.org>
To: 48889@debbugs.gnu.org
Subject: [bug#48889] [PATCH 1/4] New package: bird bgp daemon, versions 1 and 2
Date: Fri, 18 Jun 2021 08:40:42 -0700	[thread overview]
Message-ID: <121011e9-4626-bdd1-ab77-cfef163b903e@arctype.co> (raw)
In-Reply-To: <d25c44db-259e-fed6-73a9-ac6d0ed536f8@arctype.co>


[-- Attachment #1.1.1: Type: text/plain, Size: 2676 bytes --]

Hello Guix, here is one more version of this patch to add the bird
daemon. This time it builds both bird and bird6 individually for bird
version 1.x, since --enable-ipv6 is a mutually exclusive config
option,the binaries have to be built separately.



--
Sincerely,
Ryan Sundberg

On 6/8/21 11:50 PM, Ryan Sundberg via Guix-patches via wrote:
> 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.
>>

[-- Attachment #1.1.2: 0001-gnu-Add-bird-versions-1.6.7-and-2.0.8.patch --]
[-- Type: text/x-patch, Size: 3524 bytes --]

From ed01b4254a54e43ce66d910c780b5a1ee885e243 Mon Sep 17 00:00:00 2001
From: Ryan Sundberg <ryan@arctype.co>
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 <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.
 ;;;
@@ -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


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]

      reply	other threads:[~2021-06-18 15:43 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-06 18:52 [bug#48889] [PATCH 1/4] New package: bird bgp daemon, versions 1 and 2 Ryan Sundberg via Guix-patches via
2021-06-06 18:52 ` [bug#48889] [PATCH 2/4] Ceph: patch rbd to use $PATH lookups for modprobe Ryan Sundberg via Guix-patches via
2021-06-07  9:40   ` Maxime Devos
2021-06-06 18:52 ` [bug#48889] [PATCH 3/4] Ceph: upgrade minor version to latest stable release (14.2.21) Ryan Sundberg via Guix-patches via
2021-06-06 18:52 ` [bug#48889] [PATCH 4/4] bpftool: new package Ryan Sundberg via Guix-patches via
2021-06-07  9:50   ` Maxime Devos
2021-06-09  7:06     ` Ryan Sundberg via Guix-patches via
2021-06-07  9:35 ` [bug#48889] [PATCH 1/4] New package: bird bgp daemon, versions 1 and 2 Maxime Devos
2021-06-09  6:50   ` Ryan Sundberg via Guix-patches via
2021-06-18 15:40     ` Ryan Sundberg via Guix-patches via [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=121011e9-4626-bdd1-ab77-cfef163b903e@arctype.co \
    --to=guix-patches@gnu.org \
    --cc=48889@debbugs.gnu.org \
    --cc=ryan@arctype.co \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.