diff options
Diffstat (limited to 'devel/openfec')
| -rw-r--r-- | devel/openfec/Makefile | 38 | ||||
| -rw-r--r-- | devel/openfec/distinfo | 3 | ||||
| -rw-r--r-- | devel/openfec/files/COPYRIGHT-LDPC | 15 | ||||
| -rw-r--r-- | devel/openfec/files/patch-CMakeLists.txt | 55 | ||||
| -rw-r--r-- | devel/openfec/pkg-descr | 19 | ||||
| -rw-r--r-- | devel/openfec/pkg-plist | 48 |
6 files changed, 178 insertions, 0 deletions
diff --git a/devel/openfec/Makefile b/devel/openfec/Makefile new file mode 100644 index 000000000000..dd4e30d735d6 --- /dev/null +++ b/devel/openfec/Makefile @@ -0,0 +1,38 @@ +PORTNAME= openfec +DISTVERSIONPREFIX= v +DISTVERSION= 1.4.2.12 +PORTREVISION= 1 +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 + +USES= cmake pathfix +USE_LDCONFIG= yes + +USE_GITHUB= yes +GH_ACCOUNT= roc-streaming + +.if defined(WITH_DEBUG) +CFLAGS+= -DOF_DEBUG +.endif + +TEST_TARGET= test + +.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/files/patch-CMakeLists.txt b/devel/openfec/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..24b34a9fb74c --- /dev/null +++ b/devel/openfec/files/patch-CMakeLists.txt @@ -0,0 +1,55 @@ +--- CMakeLists.txt.orig 2025-11-10 21:36:14 UTC ++++ CMakeLists.txt +@@ -23,33 +23,33 @@ ENABLE_TESTING() + + ENABLE_TESTING() + +-if (PROFILING STREQUAL "ON") ++#if (PROFILING STREQUAL "ON") + +-else(PROFILING STREQUAL "ON") ++#else(PROFILING STREQUAL "ON") + +-endif(PROFILING STREQUAL "ON") ++#endif(PROFILING STREQUAL "ON") + +-if (DEBUG STREQUAL "ON") ++#if (DEBUG STREQUAL "ON") + # Debug mode +-ADD_DEFINITIONS(-DOF_DEBUG) +-set(CMAKE_BUILD_TYPE Debug) +-message(STATUS "Debug mode ON" ) ++#ADD_DEFINITIONS(-DOF_DEBUG) ++#set(CMAKE_BUILD_TYPE Debug) ++#message(STATUS "Debug mode ON" ) + +-else(DEBUG STREQUAL "ON") ++#else(DEBUG STREQUAL "ON") + # Release mode +-set(CMAKE_BUILD_TYPE Release) +-set(OPTIMIZE "3" CACHE STRING "Set optimization level (0-3 or DEFAULT)") +-if (NOT OPTIMIZE STREQUAL "DEFAULT") +- string(REGEX REPLACE "(-O[A-Za-z0-9]+)" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") +- string(REGEX REPLACE "(-O[A-Za-z0-9]+)" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") +- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O${OPTIMIZE}") +-endif() +-message(STATUS "Debug mode OFF") +-message(STATUS "Optimization level ${OPTIMIZE}") ++#set(CMAKE_BUILD_TYPE Release) ++#set(OPTIMIZE "3" CACHE STRING "Set optimization level (0-3 or DEFAULT)") ++#if (NOT OPTIMIZE STREQUAL "DEFAULT") ++# string(REGEX REPLACE "(-O[A-Za-z0-9]+)" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") ++# string(REGEX REPLACE "(-O[A-Za-z0-9]+)" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") ++# set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O${OPTIMIZE}") ++#endif() ++#message(STATUS "Debug mode OFF") ++#message(STATUS "Optimization level ${OPTIMIZE}") + +-endif (DEBUG STREQUAL "ON") ++#endif (DEBUG STREQUAL "ON") + +-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -Wno-unused-result") ++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-result") + + set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin/${CMAKE_BUILD_TYPE} + CACHE STRING "output path for libraries") 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 |
