1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-26 09:46:09 +00:00
freebsd-ports/net/frr7/Makefile
Rene Ladan 3d9a815d9c all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.

Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.

finance/quickfix: mark BROKEN with PYTHON

libtool: compile:  c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++ -DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable -Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi -Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings -Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x -MT _quickfix_la-QuickfixPython.lo -MD -MP -MF .deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp  -fPIC -DPIC -o .libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean '-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
          ^~~~~~~~~~
1 warning and 1 error generated.

Reviewed by:	portmgr, vishwin, yuri
Differential Revision:	<https://reviews.freebsd.org/D40568>
2023-06-27 21:34:34 +02:00

141 lines
3.6 KiB
Makefile

PORTNAME= frr
PORTVERSION= 7.5.1
DISTVERSIONPREFIX= frr-
PORTREVISION= 4
CATEGORIES= net
.if defined(PYTHONTOOLS)
PKGNAMESUFFIX= 7-pythontools
.else
PKGNAMESUFFIX= 7
.endif
MAINTAINER= olivier@FreeBSD.org
COMMENT?= IP routing protocol suite including BGP, IS-IS, OSPF and RIP
WWW= https://frrouting.org/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
.if defined(PYTHONTOOLS)
RUN_DEPENDS= frr-reload:net/frr7
USES= python:run shebangfix
post-patch:
@${REINPLACE_CMD} -e 's|/etc/frr|${ETCDIR}|g' \
-e 's|/usr/bin|${PREFIX}/bin|g' \
-e 's|/usr/local/bin/tail|${TAIL}|g' \
${WRKSRC}/tools/frr-reload.py
do-install:
${MKDIR} ${STAGEDIR}/${PREFIX}/lib/frr
${INSTALL_SCRIPT} ${WRKSRC}/tools/frr-reload.py ${STAGEDIR}/${PREFIX}/lib/frr/
.else
BUILD_DEPENDS= gawk:lang/gawk
LIB_DEPENDS= libjson-c.so:devel/json-c \
libyang.so:net/libyang \
libpcre.so:devel/pcre \
libcares.so:dns/c-ares
USES= autoreconf bison compiler:c++11-lang gmake pkgconfig libtool \
makeinfo python:build readline shebangfix
BINARY_ALIAS= python=${PYTHON_VERSION}
CONFLICTS= openbgpd openospfd zebra quagga
GNU_CONFIGURE= yes
INSTALL_TARGET= install-strip
USE_LDCONFIG= yes
.endif
USE_GITHUB= yes
GH_ACCOUNT= FRRouting
.if defined(PYTHONTOOLS)
NO_BUILD= yes
NO_ARCH= yes
SHEBANG_FILES= tools/frr-reload.py
PLIST= ${.CURDIR}/pkg-plist
PKGMESSAGE= ""
.else
INFO= frr
OPTIONS_DEFINE= CONFIGROLLBACKS FPM DATACENTER LDPD PAM SHELLACCESS \
VTYSH MANPAGES MULTIPATH TCMALLOC RPKI SNMP
OPTIONS_DEFAULT= VTYSH RPKI FPM MANPAGES
OPTIONS_SUB= yes
CONFIGROLLBACKS_DESC= Enable configuration rollback support
FPM_DESC= Enable Forwarding Plane Manager support
DATACENTER_DESC= Use reduced BGP timers
LDPD_DESC= Build ldpd
MULTIPATH_DESC= Enable multipath function
PAM_DESC= Use libpam for PAM support in vtysh
RPKI_DESC= Add BGP RPKI (RFC 6810) support
SHELLACCESS_DESC= Allow users to access shell/telnet/ssh
SNMP_DESC= SNMP support
TCMALLOC_DESC= Use tcmalloc
VTYSH_DESC= Build integrated vty shell
USERS= frr
GROUPS= frr frrvty
CPPFLAGS+= -I${LOCALBASE}/include -Wno-error
LDFLAGS+= -L${LOCALBASE}/lib
# PIM compile but didn't work on FreeBSD
CONFIGURE_ARGS= --enable-user=frr \
--enable-group=frr \
--enable-vty-group=frrvty \
--disable-doc-html \
--sysconfdir=${ETCDIR} \
--localstatedir=/var/run/frr \
--disable-backtrace \
--disable-nhrpd \
--disable-pimd \
--disable-vrrpd \
--with-vtysh-pager=cat
MANPAGES_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR}
MANPAGES_CONFIGURE_OFF= --disable-doc
CONFIGROLLBACKS_LIB_DEPENDS= libsqlite3.so:databases/sqlite3
CONFIGROLLBACKS_CONFIGURE_ENABLE= config-rollbacks
DATACENTER_CONFIGURE_ENABLE= datacenter
SHELLACCESS_CONFIGURE_ENABLE= shell-access
FPM_CONFIGURE_ENABLE= fpm
PAM_CONFIGURE_WITH= libpam
LDPD_CONFIGURE_ENABLE= ldpd
MULTIPATH_CONFIGURE_ON= --enable-multipath=64
RPKI_CONFIGURE_ENABLE= rpki
RPKI_LIB_DEPENDS= librtr.so:net-mgmt/rtrlib \
libssh.so:security/libssh
TCMALLOC_CONFIGURE_ENABLE= tcmalloc
TCMALLOC_LIB_DEPENDS= libtcmalloc.so:devel/google-perftools
SNMP_CONFIGURE_ENABLE= snmp
SNMP_CFLAGS= "-std=gnu99"
SNMP_LIB_DEPENDS= libnetsnmp.so:net-mgmt/net-snmp
SNMP_USES= ssl
VTYSH_CONFIGURE_ENABLE= vtysh
USE_RC_SUBR= frr watchfrr
SHEBANG_FILES= yang/embedmodel.py
post-patch:
@${REINPLACE_CMD} -e 's|/etc/frr|${ETCDIR}|g' \
-e 's|/usr/lib/|${PREFIX}/lib/|g' \
-e 's|frr-pythontools|frr7-pythontools|g' \
${WRKSRC}/tools/frr-reload
post-install:
${MKDIR} ${STAGEDIR}/var/run/frr
${INSTALL_SCRIPT} ${WRKSRC}/tools/frr-reload ${STAGEDIR}${PREFIX}/sbin
.endif
.include <bsd.port.mk>