git: 6ff56ee2285f - main - net-mgmt/collectd5: Improve port

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Thu, 28 Aug 2025 21:10:09 UTC
The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6ff56ee2285f5d4e21d35a7d58e6a4db60f7cbb1

commit 6ff56ee2285f5d4e21d35a7d58e6a4db60f7cbb1
Author:     Anton Saietskii <vsasjason@gmail.com>
AuthorDate: 2025-08-28 21:04:58 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2025-08-28 21:04:58 +0000

    net-mgmt/collectd5: Improve port
    
    * Make PF plugin optional (ON by default) due to external dependency
    * Pet port{clippy,fmt}
    * Fix build with options PYTHON, TOKYOTYRANT, VIRT
    * Remove GNU_CONFIGURE_MANPREFIX
    * Remove unnecessary CPPFLAGS and LIBS
    
    Bump port revision for package change.
    
    PR:             288813
    Approved by:    Krzysztof <ports@bsdserwis.com> (maintainer)
    Co-authored-by: Vladimir Druzenko <vvd@FreeBSD.org>
---
 net-mgmt/collectd5/Makefile  | 140 +++++++++++++++++++++----------------------
 net-mgmt/collectd5/pkg-plist |   2 +-
 2 files changed, 70 insertions(+), 72 deletions(-)

diff --git a/net-mgmt/collectd5/Makefile b/net-mgmt/collectd5/Makefile
index f320ce0ce321..fe1fd7c915de 100644
--- a/net-mgmt/collectd5/Makefile
+++ b/net-mgmt/collectd5/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	collectd
-PORTVERSION=	5.12.0
-PORTREVISION=	22
+DISTVERSION=	5.12.0
+PORTREVISION=	23
 CATEGORIES=	net-mgmt
 MASTER_SITES=	https://storage.googleapis.com/collectd-tarballs/
 PKGNAMESUFFIX=	5
@@ -12,24 +12,47 @@ WWW=		https://www.collectd.org/
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-LIB_DEPENDS=	libpfctl.so:net/libpfctl
-LDFLAGS+=	-lpfctl
+USES=		autoreconf cpe gmake libtool localbase:ldflags pkgconfig \
+		shebangfix tar:bzip2
+USE_LDCONFIG=	yes
+USE_RC_SUBR=	collectd collectdmon
 
-USES=		autoreconf cpe gmake libtool localbase:ldflags pkgconfig shebangfix tar:bzip2
+SHEBANG_FILES=	contrib/collection.cgi
 
 GNU_CONFIGURE=	yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
+# NOTE: Plugins without dependencies are defined further down.
+CONFIGURE_ARGS=	--disable-all-plugins \
+		--disable-amqp \
+		--disable-ceph \
+		--disable-cgroups \
+		--disable-fhcount \
+		--disable-static \
+		--disable-turbostat \
+		--enable-disk \
+		--localstatedir=/var \
+		--without-libaquaero5 \
+		--without-libganglia \
+		--without-libiptc \
+		--without-libldap \
+		--without-libmnl \
+		--without-libnetapp \
+		--without-libowcapi \
+		--without-libsensors \
+		--without-mic \
+		--without-oracle
+
+INSTALL_TARGET=	install-strip
 
 OPTIONS_DEFINE=		CGI GCRYPT JAVA LOGGING LOGSTASH VIRT
+OPTIONS_DEFAULT=	GCRYPT LOGGING PING PF
 OPTIONS_GROUP=		INPUT OUTPUT
-OPTIONS_GROUP_OUTPUT=	INFLUXDB KAFKA MONGODB NOTIFYDESKTOP NOTIFYEMAIL PROMETHEUS \
-			RIEMANN RRDTOOL TSDB
-OPTIONS_GROUP_INPUT=	CHRONY CURL CURL_JSON CURL_XML DBI IPMI JSON \
-			MEMCACHEC MODBUS MQTT MYSQL NUTUPS OLSRD ONEWIRE OPENLDAP \
-			PERL PGSQL PINBA PING PYTHON RABBITMQ REDIS SIGROK \
-			SLURM SNMP STATSD TOKYOTYRANT VARNISH XML ZOOKEEPER
-
-OPTIONS_DEFAULT=	GCRYPT LOGGING PING
+OPTIONS_GROUP_INPUT=	CHRONY CURL CURL_JSON CURL_XML DBI IPMI JSON MEMCACHEC \
+			MODBUS MQTT MYSQL NUTUPS OLSRD ONEWIRE OPENLDAP PERL \
+			PF PGSQL PINBA PING PYTHON RABBITMQ REDIS SIGROK SLURM \
+			SNMP STATSD TOKYOTYRANT VARNISH XML ZOOKEEPER
+OPTIONS_GROUP_OUTPUT=	INFLUXDB KAFKA MONGODB NOTIFYDESKTOP NOTIFYEMAIL \
+			PROMETHEUS RIEMANN RRDTOOL TSDB
+OPTIONS_SUB=		yes
 
 CGI_DESC=		Install collection.cgi (requires rrdtool)
 CHRONY_DESC=		Enable chronyd plugin
@@ -56,6 +79,7 @@ OLSRD_DESC=		Enable olsrd plugin
 ONEWIRE_DESC=		Eanble onewire plugin (via owfs)
 OPENLDAP_DESC=		Enable OpenLDAP plugin
 PERL_DESC=		Enable libperl plugin and binding
+PF_DESC=		Enable PF stats plugin
 PGSQL_DESC=		Enable postgresql-based plugins
 PINBA_DESC=		Enable pinba plugin (via protobuf-c)
 PING_DESC=		Enable ping plugin
@@ -66,51 +90,21 @@ REDIS_DESC=		Enable redis-based plugins
 RIEMANN_DESC=		Enable write_riemann plugin (via riemann-c-client)
 RRDTOOL_DESC=		Enable rrdtool plugin (also rrdcached plugin)
 SIGROK_DESC=		Enable sigrok plugin (BROKEN)
-SLURM_DESC=		Enable slurm plugin
+SLURM_DESC=		Enable slurm plugin (BROKEN)
 SNMP_DESC=		Enable SNMP plugin
 STATSD_DESC=		Enable statsd plugin
 TOKYOTYRANT_DESC=	Enable tokyotyrant plugin
 TSDB_DESC=		Enable write_tsdb plugin
 VARNISH_DESC=		Enable varnish 7.x cache statistics
-VIRT_DESC=		Enable libvirt plugin (requires XML)
+VIRT_DESC=		Enable libvirt plugin (requires XML) (possible BROKEN)
 XML_DESC=		Enable XML plugins
 ZOOKEEPER_DESC=		Enable zookeeper plugin
 
-OPTIONS_SUB=	yes
-
-USE_RC_SUBR=	collectd collectdmon
-
-USE_LDCONFIG=	yes
-
-CPPFLAGS+=	-I${LOCALBASE}/include
-LIBS+=		-L${LOCALBASE}/lib
-
-# NOTE: Plugins without dependencies are defined further down.
-CONFIGURE_ARGS=	--disable-all-plugins \
-		--disable-amqp \
-		--disable-ceph \
-		--disable-cgroups \
-		--disable-fhcount \
-		--disable-static \
-		--disable-turbostat \
-		--enable-disk \
-		--localstatedir=/var \
-		--without-libaquaero5 \
-		--without-libganglia \
-		--without-libiptc \
-		--without-libldap \
-		--without-libmnl \
-		--without-libnetapp \
-		--without-libowcapi \
-		--without-libsensors \
-		--without-mic \
-		--without-oracle
-
-CGI_USES=		perl5
+CGI_IMPLIES=		RRDTOOL
 CGI_RUN_DEPENDS=	p5-CGI>=0:www/p5-CGI \
 			p5-HTML-Parser>=0:www/p5-HTML-Parser \
 			p5-URI>=0:net/p5-URI
-CGI_IMPLIES=		RRDTOOL
+CGI_USES=		perl5
 
 CHRONY_CONFIGURE_ENABLE=	chrony
 
@@ -124,10 +118,6 @@ CURL_JSON_CONFIGURE_ENABLE=	curl_json
 CURL_XML_IMPLIES=		CURL XML
 CURL_XML_CONFIGURE_ENABLE=	ascent bind curl_xml
 
-JAVA_USES=		java
-JAVA_CONFIGURE_ENABLE=	java
-JAVA_CONFIGURE_WITH=	java=${LOCALBASE}
-
 DBI_LIB_DEPENDS=	libdbi.so:databases/libdbi
 DBI_CONFIGURE_ENABLE=	dbi
 DBI_CFLAGS=		-Wno-deprecated-declarations
@@ -141,6 +131,10 @@ INFLUXDB_CONFIGURE_ENABLE=	write_influxdb_udp
 IPMI_LIB_DEPENDS=	libOpenIPMI.so:sysutils/openipmi
 IPMI_CONFIGURE_ENABLE=	ipmi
 
+JAVA_USES=		java
+JAVA_CONFIGURE_ENABLE=	java
+JAVA_CONFIGURE_WITH=	java=${LOCALBASE}
+
 JSON_LIB_DEPENDS=	libyajl.so:devel/yajl
 JSON_CONFIGURE_WITH=	libyajl=${LOCALBASE}
 
@@ -149,8 +143,8 @@ KAFKA_CONFIGURE_ENABLE=	write_kafka
 
 LOGGING_CONFIGURE_ENABLE=	debug
 
-LOGSTASH_CONFIGURE_ENABLE=	log_logstash
 LOGSTASH_IMPLIES=		JSON
+LOGSTASH_CONFIGURE_ENABLE=	log_logstash
 
 MEMCACHEC_LIB_DEPENDS=		libmemcached.so:databases/libmemcached
 MEMCACHEC_CONFIGURE_ENABLE=	memcachec
@@ -160,8 +154,8 @@ MODBUS_LIB_DEPENDS=		libmodbus.so:comms/libmodbus
 MODBUS_CONFIGURE_ENABLE=	modbus
 MODBUS_CONFIGURE_WITH=		libmodbus=use_pkgconfig
 
-MONGODB_LIB_DEPENDS+=		libmongoc-1.0.so:devel/mongo-c-driver \
-				libbson-1.0.so:devel/libbson
+MONGODB_LIB_DEPENDS=		libbson-1.0.so:devel/libbson \
+				libmongoc-1.0.so:devel/mongo-c-driver
 MONGODB_CONFIGURE_ENABLE=	write_mongodb
 MONGODB_CONFIGURE_WITH=		libmongoc
 
@@ -169,14 +163,15 @@ MQTT_LIB_DEPENDS=	libmosquitto.so:net/mosquitto
 MQTT_CONFIGURE_ENABLE=	mqtt
 MQTT_CONFIGURE_WITH=	libmosquitto=${LOCALBASE}
 
+MYSQL_LIB_DEPENDS=	libunwind.so:devel/libunwind
 MYSQL_USES=		mysql ssl
 MYSQL_CONFIGURE_ENABLE=	mysql
 MYSQL_CONFIGURE_WITH=	libmysql=${LOCALBASE}
 
 NOTIFYDESKTOP_LIB_DEPENDS=	libnotify.so:devel/libnotify
-NOTIFYDESKTOP_CONFIGURE_ENABLE=	notify_desktop
-NOTIFYDESKTOP_USE=		GNOME=gdkpixbuf
 NOTIFYDESKTOP_USES=		gettext-runtime gnome
+NOTIFYDESKTOP_USE=		GNOME=gdkpixbuf
+NOTIFYDESKTOP_CONFIGURE_ENABLE=	notify_desktop
 
 NOTIFYEMAIL_LIB_DEPENDS=	libesmtp.so:mail/libesmtp
 NOTIFYEMAIL_CONFIGURE_ENABLE=	notify_email
@@ -200,6 +195,10 @@ PERL_USES=		perl5
 PERL_CONFIGURE_ENABLE=	perl
 PERL_CONFIGURE_WITH=	libperl=${LOCALBASE} perl-bindings
 
+PF_LIB_DEPENDS=		libpfctl.so:net/libpfctl
+PF_CONFIGURE_ENABLE=	pf
+PF_LDFLAGS=		-lpfctl
+
 PGSQL_USES=		pgsql
 PGSQL_CONFIGURE_ENABLE=	postgresql
 PGSQL_CONFIGURE_WITH=	libpq=${LOCALBASE}
@@ -211,12 +210,12 @@ PING_LIB_DEPENDS=	liboping.so:net/liboping
 PING_CONFIGURE_ENABLE=	ping
 PING_CONFIGURE_WITH=	liboping=${LOCALBASE}
 
-PROMETHEUS_LIB_DEPENDS+=	libmicrohttpd.so:www/libmicrohttpd \
+PROMETHEUS_LIB_DEPENDS=		libmicrohttpd.so:www/libmicrohttpd \
 				libprotobuf-c.so:devel/protobuf-c \
 				libprotoc.so:devel/protobuf
 PROMETHEUS_CONFIGURE_ENABLE=	write_prometheus
 
-PYTHON_USES=			python
+PYTHON_USES=			gettext-runtime python
 PYTHON_CONFIGURE_ENABLE=	python
 PYTHON_CONFIGURE_ENV=		PYTHON_CONFIG=${PYTHON_CMD}-config
 
@@ -235,17 +234,17 @@ RRDTOOL_LIB_DEPENDS=		librrd.so:databases/rrdtool
 RRDTOOL_CONFIGURE_ENABLE=	rrdcached rrdtool
 RRDTOOL_CONFIGURE_WITH=		librrd=${LOCALBASE}
 
-SIGROK_USE=			GNOME=glib20
-SIGROK_CFLAGS=			`pkg-config --cflags libsigrok`
+SIGROK_BROKEN=			working only with sigrok < 0.4
 SIGROK_LIB_DEPENDS=		libsigrok.so:devel/libsigrok
-SIGROK_CONFIGURE_ENABLE=	sigrok
 SIGROK_USES=			gettext-runtime
-SIGROK_BROKEN=			working only with sigrok < 0.4
+SIGROK_USE=			GNOME=glib20
+SIGROK_CONFIGURE_ENABLE=	sigrok
+SIGROK_CFLAGS=			`pkg-config --cflags libsigrok`
 
-SLURM_BROKEN=			Does not compile with slurm-wlm >= 21.x
-SLURM_LIB_DEPENDS=		libslurm.so:sysutils/slurm-wlm
-SLURM_CONFIGURE_ENABLE=		slurm
-SLURM_CONFIGURE_WITH=		libslurm=${LOCALBASE}
+SLURM_BROKEN=		Does not compile with slurm-wlm >= 21.x
+SLURM_LIB_DEPENDS=	libslurm.so:sysutils/slurm-wlm
+SLURM_CONFIGURE_ENABLE=	slurm
+SLURM_CONFIGURE_WITH=	libslurm=${LOCALBASE}
 
 SNMP_LIB_DEPENDS=	libnetsnmp.so:net-mgmt/net-snmp
 SNMP_CONFIGURE_ENABLE=	snmp
@@ -255,6 +254,7 @@ STATSD_CONFIGURE_ENABLE=	statsd
 
 TOKYOTYRANT_LIB_DEPENDS=	libtokyocabinet.so:databases/tokyocabinet \
 				libtokyotyrant.so:databases/tokyotyrant
+TOKYOTYRANT_USES=		lua
 TOKYOTYRANT_CONFIGURE_ENABLE=	tokyotyrant
 TOKYOTYRANT_CONFIGURE_WITH=	libtokyotyrant=${LOCALBASE}
 
@@ -268,10 +268,11 @@ VIRT_LIB_DEPENDS=	libgcrypt.so:security/libgcrypt \
 			libgpg-error.so:security/libgpg-error \
 			libvirt.so:devel/libvirt
 VIRT_CONFIGURE_ENABLE=	virt
+VIRT_CFLAGS=		-Wno-incompatible-function-pointer-types -DATTRIBUTE_UNUSED=
 
-XML_CFLAGS=		`pkg-config --cflags libxml-2.0`
 XML_LIB_DEPENDS=	libxml2.so:textproc/libxml2
 XML_CONFIGURE_WITH=	libxml2
+XML_CFLAGS=		`pkg-config --cflags libxml-2.0`
 
 ZOOKEEPER_LIB_DEPENDS=		libzookeeper_mt.so:devel/libzookeeper
 ZOOKEEPER_CONFIGURE_ENABLE=	zookeeper
@@ -303,7 +304,6 @@ CONFIGURE_ARGS+=	--enable-aggregation \
 			--enable-network \
 			--enable-ntpd \
 			--enable-openvpn \
-			--enable-pf \
 			--enable-powerdns \
 			--enable-processes \
 			--enable-statsd \
@@ -328,8 +328,6 @@ CONFIGURE_ARGS+=	--enable-aggregation \
 			--enable-write_graphite \
 			--enable-write_log \
 			--enable-zfs_arc
-INSTALL_TARGET=		install-strip
-SHEBANG_FILES=		contrib/collection.cgi
 
 post-patch:
 	@${REINPLACE_CMD} \
diff --git a/net-mgmt/collectd5/pkg-plist b/net-mgmt/collectd5/pkg-plist
index 82711b36ef62..d451f1015e01 100644
--- a/net-mgmt/collectd5/pkg-plist
+++ b/net-mgmt/collectd5/pkg-plist
@@ -66,7 +66,7 @@ lib/collectd/ntpd.so
 %%OPENLDAP%%lib/collectd/openldap.so
 lib/collectd/openvpn.so
 %%PERL%%lib/collectd/perl.so
-lib/collectd/pf.so
+%%PF%%lib/collectd/pf.so
 %%PINBA%%lib/collectd/pinba.so
 %%PING%%lib/collectd/ping.so
 %%PGSQL%%lib/collectd/postgresql.so