summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakov Smolic <jakov.smolic@sartura.hr>2021-08-22 23:53:42 +0200
committerDavid Seifert <soap@gentoo.org>2021-08-22 23:53:42 +0200
commit0ae7306f468ae0443f2b03c4a594913af3d0e32f (patch)
tree08b30faecb00cb09a23ee0d8b6862fbd6477b59d /net-misc/frr
parentdev-util/clippy: Version bump to 8.0 (diff)
downloadgentoo-0ae7306f468ae0443f2b03c4a594913af3d0e32f.tar.gz
gentoo-0ae7306f468ae0443f2b03c4a594913af3d0e32f.tar.bz2
gentoo-0ae7306f468ae0443f2b03c4a594913af3d0e32f.zip
net-misc/frr: Version bump to 8.0
Closes: https://github.com/gentoo/gentoo/pull/22063 Signed-off-by: Jakov Smolic <jakov.smolic@sartura.hr> Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'net-misc/frr')
-rw-r--r--net-misc/frr/Manifest1
-rw-r--r--net-misc/frr/frr-8.0.ebuild147
2 files changed, 148 insertions, 0 deletions
diff --git a/net-misc/frr/Manifest b/net-misc/frr/Manifest
index 0edab74ae8da..4d5d97d69a77 100644
--- a/net-misc/frr/Manifest
+++ b/net-misc/frr/Manifest
@@ -1 +1,2 @@
DIST frr-7.5.1.tar.gz 6746148 BLAKE2B e6a8d38bac1323852d933ca9eaac681df8824407af008bb0170937a01564b3fb9fb081418630b7540f3ccdb899ac0948121d63accfa65ae0fd3fd6933fdafd6d SHA512 cf20316abd39a2d96bb377bd594464ae74c20ad70c60246409fe9f04f0177fcd8891a8da54d83bee962f589a00e71f7b51e78f9729c8680e6265ddd548e0464e
+DIST frr-8.0.tar.gz 8195258 BLAKE2B 75d8d4410a5377dae3bf6938c3b095b163ad87776420a16c07d461bb3f635d623de642fa0ae483094788369c9dc6a04d5424107bf60c848ac54756c4bdb20c97 SHA512 fdf1e68c16e266a74221fb194851ef47c888e90324de2e42a4ca68b9dbce1ba6f45d73b9830bdb17774ecdde736111fa562201a5763c49092b6ce1f0a4d4865a
diff --git a/net-misc/frr/frr-8.0.ebuild b/net-misc/frr/frr-8.0.ebuild
new file mode 100644
index 000000000000..09bbffa7a3c8
--- /dev/null
+++ b/net-misc/frr/frr-8.0.ebuild
@@ -0,0 +1,147 @@
+# Copyright 2020-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+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 kernel_linux nhrp ospfapi pam rpki snmp systemd 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.6.3[ssh] )
+ snmp? ( net-analyzer/net-snmp:= )
+"
+BDEPEND="
+ dev-util/clippy
+ sys-devel/flex
+ virtual/yacc
+ doc? ( dev-python/sphinx )
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ 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 )
+
+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-exampledir="${EPREFIX}"/usr/share/doc/${PF}/samples
+ --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)
+ $(use_enable systemd)
+ )
+
+ 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
+}