git: 857e6ea25c90 - main - devel/libiec61850: New port: open-source library for the IEC 61850 protocols

From: Jose Alonso Cardenas Marquez <acm_at_FreeBSD.org>
Date: Sun, 18 Feb 2024 19:29:42 UTC
The branch main has been updated by acm:

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

commit 857e6ea25c9022f36be11745ee32a6ca3dfac549
Author:     Jose Alonso Cardenas Marquez <acm@FreeBSD.org>
AuthorDate: 2024-02-18 19:28:57 +0000
Commit:     Jose Alonso Cardenas Marquez <acm@FreeBSD.org>
CommitDate: 2024-02-18 19:28:57 +0000

    devel/libiec61850: New port: open-source library for the IEC 61850 protocols
    
    libiec61850 is an open-source (GPLv3) implementation of an IEC 61850 client and
    server library implementing the protocols MMS, GOOSE and SV. It is implemented
    in C (according to the C99 standard) to provide maximum portability. It can be
    used to implement IEC 61850 compliant client and server applications on
    embedded systems and PCs running FreeBSD, Linux, Windows, and MacOS. Included
    is a set of simple example applications that can be used as a starting point to
    implement own IEC 61850 compliant devices or to communicate with IEC 61850
    devices. The library has been successfully used in many commercial software
    products and devices.
---
 devel/Makefile              |  1 +
 devel/libiec61850/Makefile  | 20 ++++++++++++++++++++
 devel/libiec61850/distinfo  |  3 +++
 devel/libiec61850/pkg-descr |  9 +++++++++
 devel/libiec61850/pkg-plist | 35 +++++++++++++++++++++++++++++++++++
 5 files changed, 68 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index ad7af082168d..ad7ed6b60dd3 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -1295,6 +1295,7 @@
     SUBDIR += libhtp
     SUBDIR += libibuddy
     SUBDIR += libical
+    SUBDIR += libiec61850
     SUBDIR += libindicator
     SUBDIR += libinjection
     SUBDIR += libinotify
diff --git a/devel/libiec61850/Makefile b/devel/libiec61850/Makefile
new file mode 100644
index 000000000000..445dbbb2cd71
--- /dev/null
+++ b/devel/libiec61850/Makefile
@@ -0,0 +1,20 @@
+PORTNAME=	libiec61850
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.5.3
+CATEGORIES=	devel
+
+MAINTAINER=	acm@FreeBSD.org
+COMMENT=	open-source library for the IEC 61850 protocols
+WWW=		http://libiec61850.com/libiec61850
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+USES=		cmake compiler:c++11-lang
+USE_GITHUB=	yes
+GH_ACCOUNT=	mz-automation
+GH_PROJECT=	libiec61850
+
+LDFLAGS=	-lm
+
+.include <bsd.port.mk>
diff --git a/devel/libiec61850/distinfo b/devel/libiec61850/distinfo
new file mode 100644
index 000000000000..1122b9ef4fcd
--- /dev/null
+++ b/devel/libiec61850/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1708210457
+SHA256 (mz-automation-libiec61850-v1.5.3_GH0.tar.gz) = a0f396a5e2249398f2432bb9698e3aecdb9de11b28e5af68f7fb8b14bc3b2f44
+SIZE (mz-automation-libiec61850-v1.5.3_GH0.tar.gz) = 1402548
diff --git a/devel/libiec61850/pkg-descr b/devel/libiec61850/pkg-descr
new file mode 100644
index 000000000000..3b333f544c54
--- /dev/null
+++ b/devel/libiec61850/pkg-descr
@@ -0,0 +1,9 @@
+libiec61850 is an open-source (GPLv3) implementation of an IEC 61850 client and
+server library implementing the protocols MMS, GOOSE and SV. It is implemented
+in C (according to the C99 standard) to provide maximum portability. It can be
+used to implement IEC 61850 compliant client and server applications on
+embedded systems and PCs running FreeBSD, Linux, Windows, and MacOS. Included
+is a set of simple example applications that can be used as a starting point to
+implement own IEC 61850 compliant devices or to communicate with IEC 61850
+devices. The library has been successfully used in many commercial software
+products and devices.
diff --git a/devel/libiec61850/pkg-plist b/devel/libiec61850/pkg-plist
new file mode 100644
index 000000000000..b47853360231
--- /dev/null
+++ b/devel/libiec61850/pkg-plist
@@ -0,0 +1,35 @@
+include/libiec61850/goose_publisher.h
+include/libiec61850/goose_receiver.h
+include/libiec61850/goose_subscriber.h
+include/libiec61850/hal_base.h
+include/libiec61850/hal_ethernet.h
+include/libiec61850/hal_filesystem.h
+include/libiec61850/hal_socket.h
+include/libiec61850/hal_thread.h
+include/libiec61850/hal_time.h
+include/libiec61850/iec61850_cdc.h
+include/libiec61850/iec61850_client.h
+include/libiec61850/iec61850_common.h
+include/libiec61850/iec61850_config_file_parser.h
+include/libiec61850/iec61850_dynamic_model.h
+include/libiec61850/iec61850_model.h
+include/libiec61850/iec61850_server.h
+include/libiec61850/iso_connection_parameters.h
+include/libiec61850/libiec61850_common_api.h
+include/libiec61850/linked_list.h
+include/libiec61850/logging_api.h
+include/libiec61850/mms_client_connection.h
+include/libiec61850/mms_common.h
+include/libiec61850/mms_server.h
+include/libiec61850/mms_type_spec.h
+include/libiec61850/mms_types.h
+include/libiec61850/mms_value.h
+include/libiec61850/sv_publisher.h
+include/libiec61850/sv_subscriber.h
+include/libiec61850/tls_config.h
+lib/libhal-shared.a
+lib/libhal.a
+lib/libiec61850.a
+lib/libiec61850.so
+lib/libiec61850.so.1.5.3
+share/pkgconfig/libiec61850.pc