summaryrefslogtreecommitdiff
path: root/net-misc/frr
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/frr')
-rw-r--r--net-misc/frr/Manifest3
-rw-r--r--net-misc/frr/files/frr-8.4.2-musl-gcc12.patch21
-rw-r--r--net-misc/frr/frr-8.4.2.ebuild150
3 files changed, 174 insertions, 0 deletions
diff --git a/net-misc/frr/Manifest b/net-misc/frr/Manifest
index e05d41191990..aa2c9ae8000d 100644
--- a/net-misc/frr/Manifest
+++ b/net-misc/frr/Manifest
@@ -1,9 +1,12 @@
AUX frr-7.5-ipctl-forwarding.patch 731 BLAKE2B 9c97d7fdc7b7facb59a73f4b693c285ebd91cb0ba8f7fea0ef49d5eddd8660100315ca7d74ece8d553cdd8ad79a9a0b1a4c173c6dedf90e0be2bdc72d948b2be SHA512 56bdeb8a1f350fea3ad8ed0cdba28964b00384878853e584746d8ce80c6f9ea5ca5adc4539e314f7fd82203c08d5f2ce6adeec61dac9a7a28282131d0d371447
AUX frr-8.4.1-logrotate.patch 2487 BLAKE2B f3eb9b9ce25dd9dd796668ecef5dfeb51b5f3ea3428ef4c03bd78becaf26deb5cb59aa56918fdc3c0230a8905d7edf4a12582ab4e6f7d297e3c94c62b7468b0c SHA512 8658dd1280d201d9f3a7f8caa6c5bf513133a3928ba97334202b0fed84dc03f12c82d76cbb8aeae3f363024d2373161c9bda74e1d9a27a085071c524c9941ad0
+AUX frr-8.4.2-musl-gcc12.patch 525 BLAKE2B 8aa00d5a41445e6a035e77481bf6dc3cf45380d7fe91e0d884cc32a19f3594d8822376837d87988803950ca3bb90914a387767b9d766bfb8784567c989e1160e SHA512 1d3ebc40533037aad992d64f207ecc6ebbe599bedfa3f83cd0e4820e3579daea50ffcc8376bc24154ce0fe1cac9002de6e43665f8addfdf38554e82fd502e8fe
AUX frr-openrc-v1 7078 BLAKE2B d5c0276540fa09318f6e92575dd7e03f3bc6ebfce186d062c2d65fa49c502b3b4de0fd32914ce7c4708bb6f6188296f75d387e0384c142381bb77cfb706c7e1c SHA512 8e6f0e58863402f0169b8a7625d049bf85db60bebe40a42dfb450a1bddfcd6f8f436002de6c1ff599c8f848e4ba85a70e4058cb55a9a49fafb1e69a8e7eb9f57
AUX frr.pam 969 BLAKE2B 227dc91f51fab504229fa5489486fed1aa393d33c024849724ea3fb934e3fd78ee6c9147240133d458ec52021f13e8a27a2d8a0b4625415007c4595222b815ee SHA512 9a169d58232eba7481aee83d92b4e104b6c4ca95e5b31befe29117fbcebc187ad87c061f37ec7c571ff5702101a329ae0c113cf714e2d0dcd39ca4212734a9ed
DIST frr-8.2.2.tar.gz 9439460 BLAKE2B 7ea4b44e3d167677e087ac8767c470b91c485e52f9e45513fb6da8498ff3c56e84dd90257eff3b0067c061e7596578968017cbec7de7ea951b6f80134332e1bf SHA512 52d8e82979823f61ec6f117db1eb41b23fd8ad3197ae3f9d2cfa3ad9d96636a3d2f0b36720b2041a9261c8b639ddd48e46a2351ce41cb596f7dc432cddf29256
DIST frr-8.4.1.tar.gz 9886182 BLAKE2B be270f34e9ffdbf87a10c7bbd73e9f244128821f1c014060880015e4e7e06165dbc1dc3253894bda5dc1a0607a5bdbad21a70532e9019f1e06d0abd24beffff1 SHA512 69f936580d2e7838e1f15fdfa71a4fa00e7acaa93df4cdbd6129560fbcd45f3754cf5d03b4c9331bf4850477560d63d5509d185098583d19fa93d9e960e1483a
+DIST frr-8.4.2.tar.gz 9893223 BLAKE2B 670fb131c2959b0ce4f3133ef38caeb7832275844b16f8582a693033f5466ad0eb98ab45ed9615e0a121ab80bf034edafe7ee816c47d767bd8a13b52f3138eac SHA512 1ee9d17ef3b85c5c10df624a6560bcacb2b5daa3d6231e457f06d9eb6e5ccf375064a46e809d851c23cb6daf7a4299d1f25be589992ef729e80f9bad41a8d7f7
EBUILD frr-8.2.2.ebuild 3482 BLAKE2B 1ecdd7877961ea2ba1629754dcaf13f8f6f784ec97f2156028028818205d19562db8a49abfa4476b8dcc5cba2abcdba744cb14cc1bd00812d4edc3e7e8f13ad1 SHA512 11153b799fc929bef902330fc1349f37ecfb0ebb7c1f2bacd795a50c42fc6f256c488b02df3538143bd4825c3ebf8ba78629b55296c91997d421f61faa02c800
EBUILD frr-8.4.1.ebuild 3527 BLAKE2B 5cf9bc7c4b68d50208f522287ae4ae08f8c5efab7e4d467c5ed25b098eb768e4489d3f07364d45c8f5ad992066df14275e1e36ac9735d4e4990c07fcfd1f6c17 SHA512 4c2d8c0f39ce1a1e568453d2820bb7e78cfad084de8edfd4124ec84fce7ccadacf41f8aedb9dca79b92837f0468e5523e031c1877e710e22645609a21773f2c7
+EBUILD frr-8.4.2.ebuild 3571 BLAKE2B 17dba82c3ac741a59cb6b3c19cbc0776c6f4f22c5a6322e8199b085ecdbba816f0f6ed1d74b3705358a1fe6adbe35c463a309e7a622de24616d90ae9ac3bdc33 SHA512 18bc611dee687f1ce3ac2c02e68a5c25394084e46df34b4d0b2c319b904a37929d8439f430c60338109d07ad1365bea41efd788d6129182041b2bd2c446d640e
MISC metadata.xml 845 BLAKE2B 5a563fb20d00884598122763e39d8ce4ef6f7a28b811517a4a01b892636c1ec7cfcf3b0e8bccf838882a8fac309bdbda8dd4fd093f7f58795bd0b711087aeff5 SHA512 1ba4423cf6be189aeec21a0f3a6623c48d61c39fca94dc7dc675fcfdd472c6063b3eefe3f11f5b0de385e759a5488f464a413b7ba1bfc8ae9913563bac6dd264
diff --git a/net-misc/frr/files/frr-8.4.2-musl-gcc12.patch b/net-misc/frr/files/frr-8.4.2-musl-gcc12.patch
new file mode 100644
index 000000000000..3c9374aefd6d
--- /dev/null
+++ b/net-misc/frr/files/frr-8.4.2-musl-gcc12.patch
@@ -0,0 +1,21 @@
+https://github.com/FRRouting/frr/pull/12741
+
+From def86a45a473a45bf8ac39ac4b82be3d09ae9cae Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sat, 4 Feb 2023 23:29:59 +0000
+Subject: [PATCH] pceplib: add <time.h> include for time_t
+
+Fixes build on musl. Used for time_t in the header.
+
+Bug: https://bugs.gentoo.org/862558
+--- a/pceplib/pcep_utils_counters.h
++++ b/pceplib/pcep_utils_counters.h
+@@ -30,6 +30,7 @@
+
+ #include <stdbool.h>
+ #include <stdint.h>
++#include <time.h>
+
+ #ifdef __cplusplus
+ extern "C" {
+
diff --git a/net-misc/frr/frr-8.4.2.ebuild b/net-misc/frr/frr-8.4.2.ebuild
new file mode 100644
index 000000000000..ada6b8925460
--- /dev/null
+++ b/net-misc/frr/frr-8.4.2.ebuild
@@ -0,0 +1,150 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools pam python-single-r1 systemd
+
+DESCRIPTION="The FRRouting Protocol Suite"
+HOMEPAGE="https://frrouting.org/"
+SRC_URI="https://github.com/FRRouting/frr/archive/${P}.tar.gz"
+# FRR tarballs have weird format.
+S="${WORKDIR}/frr-${P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="doc fpm grpc ipv6 nhrp ospfapi pam rpki snmp test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ ${PYTHON_DEPS}
+ acct-user/frr
+ dev-libs/json-c:0=
+ >=net-libs/libyang-2.0.0
+ sys-libs/libcap
+ sys-libs/readline:0=
+ virtual/libcrypt:=
+ grpc? ( net-libs/grpc:= )
+ nhrp? ( net-dns/c-ares:0= )
+ pam? ( sys-libs/pam )
+ rpki? ( >=net-libs/rtrlib-0.8.0[ssh] )
+ snmp? ( net-analyzer/net-snmp:= )
+"
+BDEPEND="
+ ~dev-util/clippy-${PV}
+ sys-devel/flex
+ app-alternatives/yacc
+ doc? ( dev-python/sphinx )
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ elibc_musl? ( sys-libs/queue-standalone )
+ test? ( $(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]') )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ $(python_gen_cond_dep 'dev-python/ipaddr[${PYTHON_USEDEP}]')
+ !net-misc/quagga
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.5-ipctl-forwarding.patch
+ "${FILESDIR}"/${PN}-8.4.1-logrotate.patch
+ "${FILESDIR}"/${PN}-8.4.2-musl-gcc12.patch
+)
+
+src_prepare() {
+ default
+
+ python_fix_shebang tools
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --disable-static
+ --with-pkg-extra-version="-gentoo"
+ --enable-configfile-mask=0640
+ --enable-logfile-mask=0640
+ --prefix="${EPREFIX}"/usr
+ --libdir="${EPREFIX}"/usr/lib/frr
+ --sbindir="${EPREFIX}"/usr/lib/frr
+ --libexecdir="${EPREFIX}"/usr/lib/frr
+ --sysconfdir="${EPREFIX}"/etc/frr
+ --localstatedir="${EPREFIX}"/run/frr
+ --with-moduledir="${EPREFIX}"/usr/lib/frr/modules
+ --with-clippy="${BROOT}"/usr/bin/clippy
+ --enable-user=frr
+ --enable-group=frr
+ --enable-vty-group=frr
+ --enable-multipath=64
+ $(use_enable doc)
+ $(use_enable fpm)
+ $(use_enable grpc)
+ $(use_enable ipv6 ospf6d)
+ $(use_enable ipv6 ripngd)
+ $(use_enable ipv6 rtadv)
+ $(use_enable kernel_linux realms)
+ $(use_enable nhrp nhrpd)
+ $(usex ospfapi '--enable-ospfclient' '' '' '')
+ $(use_enable rpki)
+ $(use_enable snmp)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ default
+
+ use doc && emake -C doc html
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+
+ # Install user documentation if asked
+ use doc && dodoc -r doc/user/_build/html
+
+ # Create configuration directory with correct permissions
+ keepdir /etc/frr
+ fowners frr:frr /etc/frr
+ fperms 775 /etc/frr
+
+ # Create logs directory with the correct permissions
+ keepdir /var/log/frr
+ fowners frr:frr /var/log/frr
+ fperms 775 /var/log/frr
+
+ # Install the default configuration files
+ insinto /etc/frr
+ doins tools/etc/frr/vtysh.conf
+ doins tools/etc/frr/frr.conf
+ doins tools/etc/frr/daemons
+
+ # Fix permissions/owners.
+ fowners frr:frr /etc/frr/vtysh.conf
+ fowners frr:frr /etc/frr/frr.conf
+ fowners frr:frr /etc/frr/daemons
+ fperms 640 /etc/frr/vtysh.conf
+ fperms 640 /etc/frr/frr.conf
+ fperms 640 /etc/frr/daemons
+
+ # Install logrotate configuration
+ insinto /etc/logrotate.d
+ newins redhat/frr.logrotate frr
+
+ # Install PAM configuration file
+ use pam && newpamd "${FILESDIR}"/frr.pam frr
+
+ # Install init scripts
+ systemd_dounit tools/frr.service
+ newinitd "${FILESDIR}"/frr-openrc-v1 frr
+
+ # Conflict files, installed by net-libs/libsmi, bug #758383
+ rm "${ED}"/usr/share/yang/ietf-interfaces.yang || die
+}