git: e24e02041179 - main - sysutils/bacnet-stack-apps: New port: open source protocol stack for embedded systems (apps)

From: Jose Alonso Cardenas Marquez <acm_at_FreeBSD.org>
Date: Wed, 25 Oct 2023 20:30:21 UTC
The branch main has been updated by acm:

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

commit e24e020411794a631511da1ea4120671bdd17a27
Author:     Jose Alonso Cardenas Marquez <acm@FreeBSD.org>
AuthorDate: 2023-10-25 20:28:29 +0000
Commit:     Jose Alonso Cardenas Marquez <acm@FreeBSD.org>
CommitDate: 2023-10-25 20:28:29 +0000

    sysutils/bacnet-stack-apps: New port: open source protocol stack for embedded systems (apps)
    
    BACnet Protocol Stack library provides a BACnet application layer, network
    layer and media access (MAC) layer communications services. (Applications)
---
 sysutils/Makefile                                  |  1 +
 sysutils/bacnet-stack-apps/Makefile                | 53 ++++++++++++++++++++
 sysutils/bacnet-stack-apps/distinfo                |  3 ++
 .../bacnet-stack-apps/files/patch-CMakeLists.txt   | 19 ++++++++
 sysutils/bacnet-stack-apps/pkg-descr               |  2 +
 sysutils/bacnet-stack-apps/pkg-plist               | 57 ++++++++++++++++++++++
 6 files changed, 135 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index 7b910c8ac6cc..7523979e2758 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -88,6 +88,7 @@
     SUBDIR += backuppc-devel
     SUBDIR += backuppc4
     SUBDIR += backupuser
+    SUBDIR += bacnet-stack-apps
     SUBDIR += bacula-libs3
     SUBDIR += bacula11-client
     SUBDIR += bacula11-client-static
diff --git a/sysutils/bacnet-stack-apps/Makefile b/sysutils/bacnet-stack-apps/Makefile
new file mode 100644
index 000000000000..2adfb88901a1
--- /dev/null
+++ b/sysutils/bacnet-stack-apps/Makefile
@@ -0,0 +1,53 @@
+PORTNAME=	bacnet-stack
+PORTVERSION=	1.3.1
+CATEGORIES=	devel
+PKGNAMESUFFIX=	-apps
+
+MAINTAINER=	acm@FreeBSD.org
+COMMENT=	open source protocol stack for embedded systems (apps)
+WWW=		https://github.com/bacnet-stack/bacnet-stack
+
+LICENSE=	GPLv2+
+LICENSE_FILE=	license/readme.txt
+
+RUN_DEPENDS=	bash:shells/bash
+
+USES=		gmake compiler:c++11-lang shebangfix
+USE_GITHUB=	yes
+GH_ACCOUNT=	bacnet-stack
+GH_TAGNAME=	934761d
+
+LDFLAGS=	-lm
+
+ALL_TARGET=	bsd
+
+SHEBANG_LANG=	bash
+SHEBANG_FILES=	bin/*.sh
+
+BACNET_APPS=	bacabort bacackalarm bacale bacarf bacawf bacco bacdcc bacdo \
+		bacepics bacerror bacevent bacge baciam baciamr bacinitr \
+		bacnni bacpoll bacrbdt bacrd bacrfdt bacrle bacrp bacrpm bacrr \
+		bacscov bacserv bacts bacucov bacuevent bacupt bacwbdt bacwh \
+		bacwi bacwinn bacwir bacwp bacwpm
+BACNET_SCRIPTS=	abort-reason.sh bacbbmd.sh bacroute.sh bacrpd.sh bvlc.sh \
+		door-status.sh error-code.sh event-state.sh event-type.sh \
+		lock-status.sh object-type.sh program-request.sh \
+		program-state.sh property_id.sh property-states.sh \
+		reliability.sh restart-reason.sh router-mstp.sh units.sh \
+		vendor-id.sh
+
+post-patch:
+	@${REINPLACE_CMD} -i "" 's|\./bin/||g' ${WRKSRC}/bin/*.sh
+	@${REINPLACE_CMD} -i "" 's|\./||g' ${WRKSRC}/bin/*.sh
+
+do-install:
+	@${MKDIR} ${STAGEDIR}${DATADIR}
+.for FILE in ${BACNET_APPS}
+	${INSTALL_PROGRAM} ${WRKSRC}/bin/${FILE} ${STAGEDIR}${PREFIX}/bin/
+.endfor
+
+.for FILE in ${BACNET_SCRIPTS}
+	${INSTALL_SCRIPT} ${WRKSRC}/bin/${FILE} ${STAGEDIR}${DATADIR}
+.endfor
+
+.include <bsd.port.mk>
diff --git a/sysutils/bacnet-stack-apps/distinfo b/sysutils/bacnet-stack-apps/distinfo
new file mode 100644
index 000000000000..8c357ebe9dd8
--- /dev/null
+++ b/sysutils/bacnet-stack-apps/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1696361556
+SHA256 (bacnet-stack-bacnet-stack-1.3.1-934761d_GH0.tar.gz) = 7696a2e5896fe1a2c2ec321b9524bb1ba07e23b6f1b6d0bad6246981ffcabfff
+SIZE (bacnet-stack-bacnet-stack-1.3.1-934761d_GH0.tar.gz) = 31214388
diff --git a/sysutils/bacnet-stack-apps/files/patch-CMakeLists.txt b/sysutils/bacnet-stack-apps/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..69f004052602
--- /dev/null
+++ b/sysutils/bacnet-stack-apps/files/patch-CMakeLists.txt
@@ -0,0 +1,19 @@
+--- CMakeLists.txt.orig	2023-09-29 19:56:28.400665000 -0500
++++ CMakeLists.txt	2023-09-29 19:57:28.695265000 -0500
+@@ -562,6 +562,16 @@
+     ports/bsd/datetime-init.c
+     ports/bsd/mstimer-init.c
+     ports/bsd/stdbool.h)
++elseif(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
++  message(STATUS "BACNET: building for FreeBSD")
++  set(BACNET_PORT_DIRECTORY_PATH ${CMAKE_CURRENT_LIST_DIR}/ports/bsd)
++    
++  target_sources(${PROJECT_NAME} PRIVATE
++    ports/bsd/bacport.h
++    ports/bsd/bip-init.c
++    ports/bsd/datetime-init.c
++    ports/bsd/mstimer-init.c
++    ports/bsd/stdbool.h)
+ endif()
+ 
+ target_include_directories(${PROJECT_NAME} PUBLIC
diff --git a/sysutils/bacnet-stack-apps/pkg-descr b/sysutils/bacnet-stack-apps/pkg-descr
new file mode 100644
index 000000000000..9572703f3978
--- /dev/null
+++ b/sysutils/bacnet-stack-apps/pkg-descr
@@ -0,0 +1,2 @@
+BACnet Protocol Stack library provides a BACnet application layer, network
+layer and media access (MAC) layer communications services. (Applications)
diff --git a/sysutils/bacnet-stack-apps/pkg-plist b/sysutils/bacnet-stack-apps/pkg-plist
new file mode 100644
index 000000000000..bf3fad4ec2a2
--- /dev/null
+++ b/sysutils/bacnet-stack-apps/pkg-plist
@@ -0,0 +1,57 @@
+bin/bacabort
+bin/bacackalarm
+bin/bacale
+bin/bacarf
+bin/bacawf
+bin/bacco
+bin/bacdcc
+bin/bacdo
+bin/bacepics
+bin/bacerror
+bin/bacevent
+bin/bacge
+bin/baciam
+bin/baciamr
+bin/bacinitr
+bin/bacnni
+bin/bacpoll
+bin/bacrbdt
+bin/bacrd
+bin/bacrfdt
+bin/bacrle
+bin/bacrp
+bin/bacrpm
+bin/bacrr
+bin/bacscov
+bin/bacserv
+bin/bacts
+bin/bacucov
+bin/bacuevent
+bin/bacupt
+bin/bacwbdt
+bin/bacwh
+bin/bacwi
+bin/bacwinn
+bin/bacwir
+bin/bacwp
+bin/bacwpm
+%%DATADIR%%/abort-reason.sh
+%%DATADIR%%/bacbbmd.sh
+%%DATADIR%%/bacroute.sh
+%%DATADIR%%/bacrpd.sh
+%%DATADIR%%/bvlc.sh
+%%DATADIR%%/door-status.sh
+%%DATADIR%%/error-code.sh
+%%DATADIR%%/event-state.sh
+%%DATADIR%%/event-type.sh
+%%DATADIR%%/lock-status.sh
+%%DATADIR%%/object-type.sh
+%%DATADIR%%/program-request.sh
+%%DATADIR%%/program-state.sh
+%%DATADIR%%/property-states.sh
+%%DATADIR%%/property_id.sh
+%%DATADIR%%/reliability.sh
+%%DATADIR%%/restart-reason.sh
+%%DATADIR%%/router-mstp.sh
+%%DATADIR%%/units.sh
+%%DATADIR%%/vendor-id.sh