summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlarig Le Lay <alarig@swordarmor.fr>2023-08-27 12:19:28 +0200
committerJakov Smolić <jsmolic@gentoo.org>2023-08-27 12:38:58 +0200
commit3be33cda8a2de9a4e596e8ef294f20a73ad4ec56 (patch)
tree9379b9be34698cee3e054807db6dc55e349b8e98 /net-misc/frr
parentdev-util/clippy: add 9.0 (diff)
downloadgentoo-3be33cda8a2de9a4e596e8ef294f20a73ad4ec56.tar.gz
gentoo-3be33cda8a2de9a4e596e8ef294f20a73ad4ec56.tar.bz2
gentoo-3be33cda8a2de9a4e596e8ef294f20a73ad4ec56.zip
net-misc/frr: add 9.0
Signed-off-by: Alarig Le Lay <alarig@swordarmor.fr> Signed-off-by: Jakov Smolić <jsmolic@gentoo.org>
Diffstat (limited to 'net-misc/frr')
-rw-r--r--net-misc/frr/Manifest1
-rw-r--r--net-misc/frr/frr-9.0.ebuild151
2 files changed, 152 insertions, 0 deletions
diff --git a/net-misc/frr/Manifest b/net-misc/frr/Manifest
index 3c484721b244..4feffad67131 100644
--- a/net-misc/frr/Manifest
+++ b/net-misc/frr/Manifest
@@ -1,3 +1,4 @@
DIST frr-8.4.2.tar.gz 9893223 BLAKE2B 670fb131c2959b0ce4f3133ef38caeb7832275844b16f8582a693033f5466ad0eb98ab45ed9615e0a121ab80bf034edafe7ee816c47d767bd8a13b52f3138eac SHA512 1ee9d17ef3b85c5c10df624a6560bcacb2b5daa3d6231e457f06d9eb6e5ccf375064a46e809d851c23cb6daf7a4299d1f25be589992ef729e80f9bad41a8d7f7
DIST frr-8.5.2.tar.gz 10076639 BLAKE2B 2e2aca4e42757f66c9ca4725826c6cc1d611930490eed2a175ca5b56910f2c09a9d842b2a9370a64a9fdac6a6314bd4573be609d14dbf956049d9fbf49310404 SHA512 1afa6ca1a41096aa47dc2fc39ab87290b3cbf634a1632e7910a5b69d2816998fbccbca616f261a410aa146a21dd26d12b7e6812da4ec08545b1500f8b546b972
DIST frr-8.5.tar.gz 10068379 BLAKE2B ed7aa538997bdbfde0370f36a8980ad3ae882a2325cdc7c3b2bdba9d6a43cd9ca04ff96b94b7827e06593a15c104cdadbd2632e136eb2d68e7ed87095a9294a4 SHA512 13e2ea8642fc00b565e9a36d2d59abe5d0e11caf646199cd928184fda2de004bda9892ae8a2f91870d5ac218bb127725663b693e4d764e5b21c942bb20b8d66f
+DIST frr-9.0.tar.gz 10332694 BLAKE2B 82221df6da189d5e687af4618af71933eb512413126dfb312bfcc663e5fc6f85e29c33da84117f40598452e6033cb24e9cba8d28f00d63fee2bf45a43babef17 SHA512 d3af6c24abbc8745f9646a22c023bd1d0e155776ffd09c9dd0b81b93c383723c9e7dd987319551db85dab5fd45d47cbcbf47a1ae1b6861cd7930bc27f18d2e25
diff --git a/net-misc/frr/frr-9.0.ebuild b/net-misc/frr/frr-9.0.ebuild
new file mode 100644
index 000000000000..660d036fbe0b
--- /dev/null
+++ b/net-misc/frr/frr-9.0.ebuild
@@ -0,0 +1,151 @@
+# 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=
+ dev-libs/protobuf-c:0=
+ >=net-libs/libyang-2.0.0
+ <net-libs/libyang-2.1.111
+ 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
+)
+
+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
+}