Edit

IABSD.fr/ports/sysutils/nut/Makefile

Branch :

  • Show log

    Commit

  • Author : sthen
    Date : 2025-09-05 11:04:35
    Hash : ca6b3ac2
    Message : update to nut-2.8.4

  • sysutils/nut/Makefile
  • COMMENT-main=	UPS monitoring program supporting many brands
    COMMENT-cgi=	CGIs for monitoring Nut-based UPSs
    COMMENT-snmp=	driver for monitoring UPS via SNMP
    COMMENT-xml=	driver for monitoring UPS via XML/HTTP
    
    V=		2.8.4
    DISTNAME=	nut-${V:C/-rc.*//}
    PKGNAME=	nut-${V:S/-rc/rc/}
    SITES=		https://github.com/networkupstools/nut/releases/download/v$V/
    
    PKGNAME-main=	${PKGNAME}
    PKGNAME-cgi=	${PKGNAME:S/-/-cgi-/}
    PKGNAME-snmp=	${PKGNAME:S/-/-snmp-/}
    PKGNAME-xml=	${PKGNAME:S/-/-xml-/}
    
    SHARED_LIBS +=  upsclient            5.0      # .7.0
    SHARED_LIBS +=  nutclient            2.0      # .2.2
    SHARED_LIBS +=  nutclientstub        1.0      # .1.1
    SHARED_LIBS +=  nutscan              4.0      # .4.0
    
    CATEGORIES=	sysutils
    HOMEPAGE=	https://networkupstools.org/
    
    # GPLv2+, some scripts (not packaged) are GPLv3+
    PERMIT_PACKAGE=	Yes
    
    COMPILER=	base-clang ports-gcc base-gcc
    
    COMMON +=	c crypto kvm pthread
    WANTLIB-main +=	${COMMON} ltdl m ssl ${COMPILER_LIBCXX} usb-1.0
    WANTLIB-xml +=	${COMMON} expat iconv intl neon proxy ssl z \
    		nghttp2 nghttp3 ngtcp2 ngtcp2_crypto_libressl
    WANTLIB-snmp +=	${COMMON} m netsnmp ssl
    WANTLIB-cgi +=	${COMMON} X11 expat fontconfig iconv intl
    WANTLIB-cgi +=	freetype gd jpeg m png ssl upsclient xcb z
    
    MODULES=	lang/python
    MODPY_RUNDEP=	No
    # if avahi is present at build time, avahi support is built in nut-scanner,
    # but it is dlopen()'d at runtime, so support is optional. don't list a
    # hard run dependency for this (to reduce deps in the common case).
    BUILD_DEPENDS+=	net/avahi,-libs
    BUILD_DEPENDS+=	textproc/asciidoc>=8.6.8 \
    		textproc/docbook-xsl
    
    WEB_ROOT=	/var/www
    SUBST_VARS=	BASESYSCONFDIR WEB_ROOT
    
    CONFIGURE_STYLE= autoreconf
    AUTOCONF_VERSION= 2.69
    AUTOMAKE_VERSION= 1.16
    
    SYSCONFDIR=	${BASESYSCONFDIR}/nut
    LDFLAGS+=	-L${LOCALBASE}/lib -pthread
    CONFIGURE_ARGS+= --datadir=${PREFIX}/share/nut \
    		--htmldir=${PREFIX}/share/doc/nut \
    		--includedir=${PREFIX}/include/nut \
    		--enable-cppunit=no \
    		--with-dev \
    		--with-doc=man \
    		--with-hal-libs="" \
    		--with-ssl \
    		--with-statepath=/var/db/nut \
    		--with-user=_ups \
    		--with-group=_ups \
    		--without-ipmi \
    		CPPFLAGS="-I${LOCALBASE}/include" \
    		LDFLAGS="${LDFLAGS}"
    
    PSEUDO_FLAVORS=		no_snmp no_xml
    FLAVOR?=
    MULTI_PACKAGES=		-main -cgi
    
    .if ${FLAVOR:Mno_snmp}
    CONFIGURE_ARGS+=	--without-snmp
    .else
    MULTI_PACKAGES+=	-snmp
    .endif
    
    .if ${FLAVOR:Mno_xml}
    CONFIGURE_ARGS+=	--without-neon
    .else
    MULTI_PACKAGES+=	-xml
    .endif
    
    LIB_DEPENDS-main=	${LIB_DEPENDS} \
    			devel/libtool,-ltdl \
    			devel/libusb1
    RUN_DEPENDS-main=	# empty
    
    PREFIX-cgi=		${WEB_ROOT}
    
    LIB_DEPENDS-xml=	net/neon
    RUN_DEPENDS-xml=	${RUN_DEPENDS} \
    			sysutils/nut
    
    LIB_DEPENDS-snmp=	net/net-snmp
    RUN_DEPENDS-snmp=	sysutils/nut
    
    LIB_DEPENDS-cgi=	devel/gettext,-runtime \
    			graphics/jpeg \
    			graphics/gd \
    			sysutils/nut
    
    .if ${MULTI_PACKAGES:M-cgi}
    BUILD_DEPENDS+=		graphics/gd>=1.8.3
    
    CONFIGURE_ARGS+=	--with-cgi \
    			--with-cgipath="${WEB_ROOT}/cgi-bin/nut" \
    			--with-gd-libs="-L${X11BASE}/lib -L${PREFIX}/lib \
    			    -lgd -lpng -lz -ljpeg -lm -lfreetype -lX11" \
    			--with-gd-includes="-I${PREFIX}/include"
    .endif
    
    USE_GMAKE=		Yes
    USE_LIBTOOL=		gnu# -all-static
    FAKE_FLAGS=		sysconfdir=${PREFIX}/share/examples/nut
    
    NO_TEST=		Yes
    
    pre-configure:
    	${SUBST_CMD} ${WRKSRC}/conf/upssched.conf.sample.in
    	-ln -s ${MODPY_BIN} ${WRKDIR}/bin/python
    
    post-install:
    	${INSTALL_DATA_DIR} ${WRKINST}${WEB_ROOT}/conf/nut/
    .for file in hosts.conf upsset.conf upsstats.html upsstats-single.html
    	${INSTALL_DATA} ${WRKBUILD}/conf/${file}.sample \
    	    ${WRKINST}${WEB_ROOT}/conf/nut/
    .endfor
    	${INSTALL_DATA_DIR} ${PREFIX}/share/doc/nut/
    	cd ${WRKSRC}/docs; cp -R ../[A-LN-Z]* ../MAINTAINERS \
    	    cables images ${PREFIX}/share/doc/nut/
    	-cd ${WRKSRC}/docs; cp -R *txt ${PREFIX}/share/doc/nut/
    	${INSTALL_SCRIPT} ${WRKSRC}/scripts/avahi/nut.service \
    	    ${PREFIX}/share/examples/nut
    
    .include <bsd.port.mk>