Subject: [bug#27469] [PATCH] gnu: Add quagga.

From: Marius Bakke <[email-masked]>
Date: Sun, 25 Jun 2017 15:05:17 +0200

Gábor Boskovits <[email-masked]> writes:

> * gnu/packages/networking.scm (quagga): New variable.
> * gnu/packages/patches/quagga-reproducible-build.patch: New file.

Thanks for this!

[...]

> +(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)))
> +      (inputs `(("readline",readline)
> +                ("c-ares",c-ares)
> +                ("perl",perl)
> +                ("dejagnu",dejagnu)))

Dejagnu is a software test framework and should probably be a
"native-input", e.g. it's a build-time dependency only.
`guix gc -R (./pre-inst-env guix build quagga)` also lists no references
to perl, so it should likely also be a native-input. What do you think?

> +      (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, particularly
> +FreeBSD, Linux, Solaris and NetBSD.")
> +      (home-page "http://www.nongnu.org/quagga/")
> +      (license license:gpl2)))

The license is GPL2+ as listed in the source comment headers.

> diff --git a/gnu/packages/patches/quagga-reproducible-build.patch b/gnu/packages/patches/quagga-reproducible-build.patch
> new file mode 100644
> index 000000000..80efe4bf6
> --- /dev/null
> +++ b/gnu/packages/patches/quagga-reproducible-build.patch
> @@ -0,0 +1,22 @@
> +Make sure, that vtysh_cmd.c is deterministically generated.

Good catch! LGTM. Could you submit this fix upstream too?

Also, please add this patch to the relevant section in "gnu/local.mk".
See the commit log for examples.

Can you send an updated patch? Thanks in advance!