Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Nov 2025 20:23:29 GMT
From:      Mark Felder <feld@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 550d8b459fb0 - main - devel/openfec: New Port
Message-ID:  <202511102023.5AAKNTKK065615@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by feld:

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

commit 550d8b459fb0114a459b8d95c2126a0a5ae13b88
Author:     Mark Felder <feld@FreeBSD.org>
AuthorDate: 2025-11-10 20:17:49 +0000
Commit:     Mark Felder <feld@FreeBSD.org>
CommitDate: 2025-11-10 20:23:17 +0000

    devel/openfec: New Port
    
    OpenFEC is a library that provides Application-Level Forward Erasure
    Correction (AL-FEC) codes, also known as Upper-Layers FEC (UL-FEC). The
    core purpose is to add redundancy to data in order to recover from
    erasures during transmission without requiring retransmission.
    
    This port is of the actively maintained fork by the roc-streaming project.
---
 devel/Makefile                     |  1 +
 devel/openfec/Makefile             | 37 +++++++++++++++++++++++++++++
 devel/openfec/distinfo             |  3 +++
 devel/openfec/files/COPYRIGHT-LDPC | 15 ++++++++++++
 devel/openfec/pkg-descr            | 19 +++++++++++++++
 devel/openfec/pkg-plist            | 48 ++++++++++++++++++++++++++++++++++++++
 6 files changed, 123 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 169a2d2f429f..0bf72a0c7606 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -1842,6 +1842,7 @@
     SUBDIR += opencl-clang
     SUBDIR += opencvs
     SUBDIR += opendht
+    SUBDIR += openfec
     SUBDIR += opengrok
     SUBDIR += openocd
     SUBDIR += openocd-devel
diff --git a/devel/openfec/Makefile b/devel/openfec/Makefile
new file mode 100644
index 000000000000..520e6c0f3e90
--- /dev/null
+++ b/devel/openfec/Makefile
@@ -0,0 +1,37 @@
+PORTNAME=	openfec
+PORTVERSION=	1.4.2.12
+DISTVERSIONPREFIX=v
+CATEGORIES=	devel
+
+MAINTAINER=	feld@FreeBSD.org
+COMMENT=	Forward Error Correction Library
+WWW=		https://github.com/roc-streaming/openfec
+
+# BSD2CLAUSE for the inlined FEC code by Luigi Rizzo
+# LDPC license for the inlined code from Radford Neal's LDPC project
+# which is similar to MIT license
+LICENSE=	BSD2CLAUSE CeCCIL CeCCIL-C LDPC
+LICENSE_COMB=	multi
+LICENSE_NAME_CeCCIL=	CEA CNRS INRIA Logiciel Libre License
+LICENSE_FILE_CeCCIL=	${WRKSRC}/Licence_CeCILL_V2-en.txt
+LICENSE_PERMS_CeCCIL=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+LICENSE_NAME_CeCCIL-C=	CEA CNRS INRIA Logiciel Libre Component License
+LICENSE_FILE_CeCCIL-C=	${WRKSRC}/LICENCE_CeCILL-C_V1-en.txt
+LICENSE_PERMS_CeCCIL-C=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+LICENSE_NAME_LDPC=	Radford Neal's LDPC simulator licence
+LICENSE_FILE_LDPC=	${FILESDIR}/COPYRIGHT-LDPC
+LICENSE_PERMS_LDPC=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+
+LIB_DEPENDS=	libuv.so:devel/libuv \
+		libunwind.so:devel/libunwind
+
+USES=	cmake tar:tgz
+
+USE_LDCONFIG=	yes
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	roc-streaming
+
+CMAKE_OFF+=	DEBUG:STRING
+
+.include <bsd.port.mk>
diff --git a/devel/openfec/distinfo b/devel/openfec/distinfo
new file mode 100644
index 000000000000..6ebbc1390aab
--- /dev/null
+++ b/devel/openfec/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1762800891
+SHA256 (roc-streaming-openfec-v1.4.2.12_GH0.tar.gz) = 3397f58c8fff945ece8ea19e7859040c98a5c6497e5d791397794094e15e5873
+SIZE (roc-streaming-openfec-v1.4.2.12_GH0.tar.gz) = 1114214
diff --git a/devel/openfec/files/COPYRIGHT-LDPC b/devel/openfec/files/COPYRIGHT-LDPC
new file mode 100644
index 000000000000..9cd0d7f65b4f
--- /dev/null
+++ b/devel/openfec/files/COPYRIGHT-LDPC
@@ -0,0 +1,15 @@
+Except as otherwise specified, all program code and documentation in this
+directory is copyright (c) 1995-2012 by Radford M. Neal.
+
+Permission is granted for anyone to copy, use, modify, and distribute
+these programs and accompanying documents for any purpose, provided
+this copyright notice is retained and prominently displayed, and note
+is made of any changes made to these programs.  These programs and
+documents are distributed without any warranty, express or implied.
+As the programs were written for research purposes only, they have not
+been tested to the degree that would be advisable in any important
+application.  All use of these programs is entirely at the user's own
+risk.
+
+Some routines in the module rand.c are taken from the GNU C Library,
+and are copyrighted as described there and in the file LGPL.
diff --git a/devel/openfec/pkg-descr b/devel/openfec/pkg-descr
new file mode 100644
index 000000000000..6d0afbcc983b
--- /dev/null
+++ b/devel/openfec/pkg-descr
@@ -0,0 +1,19 @@
+OpenFEC is a library that provides Application-Level Forward Erasure
+Correction (AL-FEC) codes, also known as Upper-Layers FEC (UL-FEC). The
+core purpose is to add redundancy to data in order to recover from
+erasures during transmission without requiring retransmission.
+Implemented as high-performance C-language software codecs, OpenFEC
+provides IPR-free, open AL-FEC codes positioned in the communication
+stack for robust transmission and distributed storage applications.
+
+The library serves as a platform for developers and researchers who need
+to integrate forward error correction capabilities into their
+applications, offering ready-to-use codecs, performance evaluation
+environments, and documentation. It's designed for applications where
+data loss during transmission needs to be recovered automatically,
+making it suitable for reliable communication systems, streaming
+applications, and distributed storage solutions where retransmission is
+not feasible.
+
+This package is a fork by the roc-streaming project with additional
+bugfixes. The original project is hosted at https://openfec.inrialpes.fr
diff --git a/devel/openfec/pkg-plist b/devel/openfec/pkg-plist
new file mode 100644
index 000000000000..8d7dee375c90
--- /dev/null
+++ b/devel/openfec/pkg-plist
@@ -0,0 +1,48 @@
+include/openfec/lib_advanced/ldpc_from_file/of_codec_profile.h
+include/openfec/lib_advanced/ldpc_from_file/of_ldpc_ff.h
+include/openfec/lib_advanced/ldpc_from_file/of_ldpc_ff_api.h
+include/openfec/lib_advanced/ldpc_from_file/of_ldpc_ff_includes.h
+include/openfec/lib_advanced/ldpc_from_file/of_ldpc_includes.h
+include/openfec/lib_common/linear_binary_codes_utils/binary_matrix/of_hamming_weight.h
+include/openfec/lib_common/linear_binary_codes_utils/binary_matrix/of_matrix_convert.h
+include/openfec/lib_common/linear_binary_codes_utils/binary_matrix/of_matrix_dense.h
+include/openfec/lib_common/linear_binary_codes_utils/binary_matrix/of_matrix_sparse.h
+include/openfec/lib_common/linear_binary_codes_utils/binary_matrix/of_tools.h
+include/openfec/lib_common/linear_binary_codes_utils/it_decoding/of_it_decoding.h
+include/openfec/lib_common/linear_binary_codes_utils/ml_decoding/of_ml_decoding.h
+include/openfec/lib_common/linear_binary_codes_utils/ml_decoding/of_ml_tool.h
+include/openfec/lib_common/linear_binary_codes_utils/of_create_pchk.h
+include/openfec/lib_common/linear_binary_codes_utils/of_linear_binary_code.h
+include/openfec/lib_common/linear_binary_codes_utils/of_symbol.h
+include/openfec/lib_common/of_build_config.h
+include/openfec/lib_common/of_cb.h
+include/openfec/lib_common/of_debug.h
+include/openfec/lib_common/of_mem.h
+include/openfec/lib_common/of_openfec_api.h
+include/openfec/lib_common/of_openfec_profile.h
+include/openfec/lib_common/of_rand.h
+include/openfec/lib_common/of_types.h
+include/openfec/lib_common/statistics/of_statistics.h
+include/openfec/lib_stable/2d_parity_matrix/of_2d_parity.h
+include/openfec/lib_stable/2d_parity_matrix/of_2d_parity_api.h
+include/openfec/lib_stable/2d_parity_matrix/of_2d_parity_includes.h
+include/openfec/lib_stable/2d_parity_matrix/of_codec_profile.h
+include/openfec/lib_stable/ldpc_staircase/of_codec_profile.h
+include/openfec/lib_stable/ldpc_staircase/of_ldpc_includes.h
+include/openfec/lib_stable/ldpc_staircase/of_ldpc_staircase.h
+include/openfec/lib_stable/ldpc_staircase/of_ldpc_staircase_api.h
+include/openfec/lib_stable/reed-solomon_gf_2_8/of_codec_profile.h
+include/openfec/lib_stable/reed-solomon_gf_2_8/of_reed-solomon_gf_2_8.h
+include/openfec/lib_stable/reed-solomon_gf_2_8/of_reed-solomon_gf_2_8_api.h
+include/openfec/lib_stable/reed-solomon_gf_2_8/of_reed-solomon_gf_2_8_includes.h
+include/openfec/lib_stable/reed-solomon_gf_2_m/galois_field_codes_utils/algebra_2_4.h
+include/openfec/lib_stable/reed-solomon_gf_2_m/galois_field_codes_utils/algebra_2_8.h
+include/openfec/lib_stable/reed-solomon_gf_2_m/galois_field_codes_utils/of_galois_field_code.h
+include/openfec/lib_stable/reed-solomon_gf_2_m/of_codec_profile.h
+include/openfec/lib_stable/reed-solomon_gf_2_m/of_reed-solomon_gf_2_m.h
+include/openfec/lib_stable/reed-solomon_gf_2_m/of_reed-solomon_gf_2_m_api.h
+include/openfec/lib_stable/reed-solomon_gf_2_m/of_reed-solomon_gf_2_m_includes.h
+lib/libopenfec.so
+lib/libopenfec.so.1
+lib/libopenfec.so.1.4.2
+libdata/pkgconfig/openfec.pc


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202511102023.5AAKNTKK065615>