[-- Attachment #1: Type: text/plain, Size: 1158 bytes --] There is a new pull request by unspecd against master on the void-packages repository https://github.com/unspecd/void-packages pkg/codec2 https://github.com/void-linux/void-packages/pull/34315 New package: codec2-1.0.1 <!-- Uncomment relevant sections and delete options which are not applicable --> #### Testing the changes - I tested the changes in this PR: **briefly** #### New package - This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES** <!-- Note: If the build is likely to take more than 2 hours, please [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration) and test at least one native build and, if supported, at least one cross build. Ignore this section if this PR is not skipping CI. --> #### Local build testing - I built this PR locally for my native architecture, x86_64-musl - I built this PR locally for these architectures (if supported. mark crossbuilds): - aarch64-musl A patch file from https://github.com/void-linux/void-packages/pull/34315.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-pkg/codec2-34315.patch --] [-- Type: text/x-diff, Size: 3023 bytes --] From 0006a340fbc6fcfbb86d970904ba61a41e0fa086 Mon Sep 17 00:00:00 2001 From: Evgeny Ermakov <evgeny.v.ermakov@gmail.com> Date: Mon, 29 Nov 2021 00:50:13 +1100 Subject: [PATCH] New package: codec2-1.0.1 --- common/shlibs | 1 + srcpkgs/codec2-devel | 1 + srcpkgs/codec2/patches/cross.patch | 15 +++++++++++++++ srcpkgs/codec2/template | 22 ++++++++++++++++++++++ 4 files changed, 39 insertions(+) create mode 120000 srcpkgs/codec2-devel create mode 100644 srcpkgs/codec2/patches/cross.patch create mode 100644 srcpkgs/codec2/template diff --git a/common/shlibs b/common/shlibs index dac22845d445..41776172f36c 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4070,3 +4070,4 @@ libbrial_groebner.so.3 brial-1.2.10_1 libm4ri-0.0.20200125.so m4ri-20200125_1 libm4rie-0.0.20200125.so m4rie-20200125_1 libptytty.so.0 libptytty-2.0_1 +libcodec2.so.1.0 codec2-1.0.1_1 diff --git a/srcpkgs/codec2-devel b/srcpkgs/codec2-devel new file mode 120000 index 000000000000..989913a1d9d7 --- /dev/null +++ b/srcpkgs/codec2-devel @@ -0,0 +1 @@ +codec2/ \ No newline at end of file diff --git a/srcpkgs/codec2/patches/cross.patch b/srcpkgs/codec2/patches/cross.patch new file mode 100644 index 000000000000..46b52c0b805c --- /dev/null +++ b/srcpkgs/codec2/patches/cross.patch @@ -0,0 +1,15 @@ +# reason: +# [110/327] Generating codebookjvm.c +# FAILED: src/codebookjvm.c /builddir/codec2-1.0.1/build/src/codebookjvm.c +# /bin/sh: line 1: /builddir/codec2-1.0.1/build/src/generate_codebook: cannot execute binary file: Exec format error + +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -68,6 +68,7 @@ + ExternalProject_Add(codec2_native + SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/.. + BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/codec2_native ++ CMAKE_ARGS -DCMAKE_C_COMPILER=$ENV{CC_FOR_BUILD} -DCMAKE_C_FLAGS=$ENV{CFLAGS_FOR_BUILD} + BUILD_COMMAND ${CMAKE_COMMAND} --build . --target generate_codebook + INSTALL_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/codec2_native/src/generate_codebook ${CMAKE_CURRENT_BINARY_DIR} + BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/generate_codebook diff --git a/srcpkgs/codec2/template b/srcpkgs/codec2/template new file mode 100644 index 000000000000..54655d2686a2 --- /dev/null +++ b/srcpkgs/codec2/template @@ -0,0 +1,22 @@ +# Template file for 'codec2' +pkgname=codec2 +version=1.0.1 +revision=1 +build_style=cmake +short_desc="Low bit rate speech codec" +maintainer="Evgeny Ermakov <evgeny.v.ermakov@gmail.com>" +license="LGPL-2.1-only" +homepage="https://www.rowetel.com/codec2.html" +distfiles="https://github.com/drowe67/codec2/archive/v${version}.tar.gz" +checksum=14227963940d79e0ec5af810f37101b30e1c7e8555abd96c56b3c0473abac8ef + +codec2-devel_package() { + depends="${sourcepkg}>=${version}_${revision}" + short_desc+=" - development files" + pkg_install() { + vmove usr/include + vmove usr/lib/cmake + vmove usr/lib/pkgconfig + vmove "usr/lib/*.so" + } +}
[-- Attachment #1: Type: text/plain, Size: 1163 bytes --] There is an updated pull request by unspecd against master on the void-packages repository https://github.com/unspecd/void-packages pkg/codec2 https://github.com/void-linux/void-packages/pull/34315 New package: codec2-1.0.1 <!-- Uncomment relevant sections and delete options which are not applicable --> #### Testing the changes - I tested the changes in this PR: **briefly** #### New package - This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES** <!-- Note: If the build is likely to take more than 2 hours, please [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration) and test at least one native build and, if supported, at least one cross build. Ignore this section if this PR is not skipping CI. --> #### Local build testing - I built this PR locally for my native architecture, x86_64-musl - I built this PR locally for these architectures (if supported. mark crossbuilds): - aarch64-musl A patch file from https://github.com/void-linux/void-packages/pull/34315.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-pkg/codec2-34315.patch --] [-- Type: text/x-diff, Size: 3015 bytes --] From 391228bb4505411801d838d6c0a9d7d51ae0b368 Mon Sep 17 00:00:00 2001 From: Evgeny Ermakov <evgeny.v.ermakov@gmail.com> Date: Mon, 29 Nov 2021 00:50:13 +1100 Subject: [PATCH] New package: codec2-1.0.1 --- common/shlibs | 1 + srcpkgs/codec2-devel | 1 + srcpkgs/codec2/patches/cross.patch | 15 +++++++++++++++ srcpkgs/codec2/template | 22 ++++++++++++++++++++++ 4 files changed, 39 insertions(+) create mode 120000 srcpkgs/codec2-devel create mode 100644 srcpkgs/codec2/patches/cross.patch create mode 100644 srcpkgs/codec2/template diff --git a/common/shlibs b/common/shlibs index ad60646030fe..aa85f4ce0358 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4071,3 +4071,4 @@ libm4ri-0.0.20200125.so m4ri-20200125_1 libm4rie-0.0.20200125.so m4rie-20200125_1 libptytty.so.0 libptytty-2.0_1 libcoeurl.so.0 coeurl-0.1.0_1 +libcodec2.so.1.0 codec2-1.0.1_1 diff --git a/srcpkgs/codec2-devel b/srcpkgs/codec2-devel new file mode 120000 index 000000000000..989913a1d9d7 --- /dev/null +++ b/srcpkgs/codec2-devel @@ -0,0 +1 @@ +codec2/ \ No newline at end of file diff --git a/srcpkgs/codec2/patches/cross.patch b/srcpkgs/codec2/patches/cross.patch new file mode 100644 index 000000000000..46b52c0b805c --- /dev/null +++ b/srcpkgs/codec2/patches/cross.patch @@ -0,0 +1,15 @@ +# reason: +# [110/327] Generating codebookjvm.c +# FAILED: src/codebookjvm.c /builddir/codec2-1.0.1/build/src/codebookjvm.c +# /bin/sh: line 1: /builddir/codec2-1.0.1/build/src/generate_codebook: cannot execute binary file: Exec format error + +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -68,6 +68,7 @@ + ExternalProject_Add(codec2_native + SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/.. + BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/codec2_native ++ CMAKE_ARGS -DCMAKE_C_COMPILER=$ENV{CC_FOR_BUILD} -DCMAKE_C_FLAGS=$ENV{CFLAGS_FOR_BUILD} + BUILD_COMMAND ${CMAKE_COMMAND} --build . --target generate_codebook + INSTALL_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/codec2_native/src/generate_codebook ${CMAKE_CURRENT_BINARY_DIR} + BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/generate_codebook diff --git a/srcpkgs/codec2/template b/srcpkgs/codec2/template new file mode 100644 index 000000000000..54655d2686a2 --- /dev/null +++ b/srcpkgs/codec2/template @@ -0,0 +1,22 @@ +# Template file for 'codec2' +pkgname=codec2 +version=1.0.1 +revision=1 +build_style=cmake +short_desc="Low bit rate speech codec" +maintainer="Evgeny Ermakov <evgeny.v.ermakov@gmail.com>" +license="LGPL-2.1-only" +homepage="https://www.rowetel.com/codec2.html" +distfiles="https://github.com/drowe67/codec2/archive/v${version}.tar.gz" +checksum=14227963940d79e0ec5af810f37101b30e1c7e8555abd96c56b3c0473abac8ef + +codec2-devel_package() { + depends="${sourcepkg}>=${version}_${revision}" + short_desc+=" - development files" + pkg_install() { + vmove usr/include + vmove usr/lib/cmake + vmove usr/lib/pkgconfig + vmove "usr/lib/*.so" + } +}
[-- Attachment #1: Type: text/plain, Size: 1163 bytes --] There is an updated pull request by unspecd against master on the void-packages repository https://github.com/unspecd/void-packages pkg/codec2 https://github.com/void-linux/void-packages/pull/34315 New package: codec2-1.0.1 <!-- Uncomment relevant sections and delete options which are not applicable --> #### Testing the changes - I tested the changes in this PR: **briefly** #### New package - This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES** <!-- Note: If the build is likely to take more than 2 hours, please [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration) and test at least one native build and, if supported, at least one cross build. Ignore this section if this PR is not skipping CI. --> #### Local build testing - I built this PR locally for my native architecture, x86_64-musl - I built this PR locally for these architectures (if supported. mark crossbuilds): - aarch64-musl A patch file from https://github.com/void-linux/void-packages/pull/34315.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-pkg/codec2-34315.patch --] [-- Type: text/x-diff, Size: 3154 bytes --] From b0f6165ce832ba7e65ec3a8a87b2d6d930e91f0e Mon Sep 17 00:00:00 2001 From: Evgeny Ermakov <evgeny.v.ermakov@gmail.com> Date: Mon, 29 Nov 2021 00:50:13 +1100 Subject: [PATCH] New package: codec2-1.0.1 --- common/shlibs | 1 + srcpkgs/codec2-devel | 1 + srcpkgs/codec2/patches/cross.patch | 15 +++++++++++++++ srcpkgs/codec2/template | 24 ++++++++++++++++++++++++ 4 files changed, 41 insertions(+) create mode 120000 srcpkgs/codec2-devel create mode 100644 srcpkgs/codec2/patches/cross.patch create mode 100644 srcpkgs/codec2/template diff --git a/common/shlibs b/common/shlibs index ad60646030fe..aa85f4ce0358 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4071,3 +4071,4 @@ libm4ri-0.0.20200125.so m4ri-20200125_1 libm4rie-0.0.20200125.so m4rie-20200125_1 libptytty.so.0 libptytty-2.0_1 libcoeurl.so.0 coeurl-0.1.0_1 +libcodec2.so.1.0 codec2-1.0.1_1 diff --git a/srcpkgs/codec2-devel b/srcpkgs/codec2-devel new file mode 120000 index 000000000000..989913a1d9d7 --- /dev/null +++ b/srcpkgs/codec2-devel @@ -0,0 +1 @@ +codec2/ \ No newline at end of file diff --git a/srcpkgs/codec2/patches/cross.patch b/srcpkgs/codec2/patches/cross.patch new file mode 100644 index 000000000000..46b52c0b805c --- /dev/null +++ b/srcpkgs/codec2/patches/cross.patch @@ -0,0 +1,15 @@ +# reason: +# [110/327] Generating codebookjvm.c +# FAILED: src/codebookjvm.c /builddir/codec2-1.0.1/build/src/codebookjvm.c +# /bin/sh: line 1: /builddir/codec2-1.0.1/build/src/generate_codebook: cannot execute binary file: Exec format error + +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -68,6 +68,7 @@ + ExternalProject_Add(codec2_native + SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/.. + BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/codec2_native ++ CMAKE_ARGS -DCMAKE_C_COMPILER=$ENV{CC_FOR_BUILD} -DCMAKE_C_FLAGS=$ENV{CFLAGS_FOR_BUILD} + BUILD_COMMAND ${CMAKE_COMMAND} --build . --target generate_codebook + INSTALL_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/codec2_native/src/generate_codebook ${CMAKE_CURRENT_BINARY_DIR} + BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/generate_codebook diff --git a/srcpkgs/codec2/template b/srcpkgs/codec2/template new file mode 100644 index 000000000000..8b54776e7ce6 --- /dev/null +++ b/srcpkgs/codec2/template @@ -0,0 +1,24 @@ +# Template file for 'codec2' +pkgname=codec2 +version=1.0.1 +revision=1 +build_style=cmake +checkdepends="gnuplot octave python3-numpy sox valgrind" +short_desc="Low bit rate speech codec" +maintainer="Evgeny Ermakov <evgeny.v.ermakov@gmail.com>" +license="LGPL-2.1-only" +homepage="https://www.rowetel.com/codec2.html" +distfiles="https://github.com/drowe67/codec2/archive/v${version}.tar.gz" +checksum=14227963940d79e0ec5af810f37101b30e1c7e8555abd96c56b3c0473abac8ef +make_check="no" # https://github.com/void-linux/void-packages/runs/4358870245 + +codec2-devel_package() { + depends="${sourcepkg}>=${version}_${revision}" + short_desc+=" - development files" + pkg_install() { + vmove usr/include + vmove usr/lib/cmake + vmove usr/lib/pkgconfig + vmove "usr/lib/*.so" + } +}
[-- Attachment #1: Type: text/plain, Size: 372 bytes --] New comment by unspecd on void-packages repository https://github.com/void-linux/void-packages/pull/34315#issuecomment-982008789 Comment: Some tests failed with the message saying something about regular expressions: ``` 94/120 Test #94: test_fsk_modem_octave_port .....................***Failed Required regular expression not found. Regex=[PASS ] 0.37 sec ```
[-- Attachment #1: Type: text/plain, Size: 388 bytes --] New comment by Chocimier on void-packages repository https://github.com/void-linux/void-packages/pull/34315#issuecomment-982016345 Comment: They use regexes after test action to validate result. "Required regular expression not found" means "test fail". Important lines are "???: command not found". Add them to checkdepends. You can run tests locally with `./xbps-src pkg -Q codec2`.
[-- Attachment #1: Type: text/plain, Size: 585 bytes --] New comment by unspecd on void-packages repository https://github.com/void-linux/void-packages/pull/34315#issuecomment-982025213 Comment: They use octave, but the signal processing package is missing. ``` $ octave-cli octave:1> pkg load signal error: package signal is not installed error: called from load_packages at line 47 column 7 pkg at line 588 column 7 ``` https://github.com/drowe67/codec2: > 1. Install GNU Octave and libraries on Ubuntu with: > > sudo apt install octave octave-common octave-signal liboctave-dev gnuplot python3-numpy sox valgrind
[-- Attachment #1: Type: text/plain, Size: 210 bytes --] New comment by Chocimier on void-packages repository https://github.com/void-linux/void-packages/pull/34315#issuecomment-982029062 Comment: Then disable tests depending on octave like networkmanager-qt5 do.
[-- Attachment #1: Type: text/plain, Size: 1163 bytes --] There is an updated pull request by unspecd against master on the void-packages repository https://github.com/unspecd/void-packages pkg/codec2 https://github.com/void-linux/void-packages/pull/34315 New package: codec2-1.0.1 <!-- Uncomment relevant sections and delete options which are not applicable --> #### Testing the changes - I tested the changes in this PR: **briefly** #### New package - This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES** <!-- Note: If the build is likely to take more than 2 hours, please [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration) and test at least one native build and, if supported, at least one cross build. Ignore this section if this PR is not skipping CI. --> #### Local build testing - I built this PR locally for my native architecture, x86_64-musl - I built this PR locally for these architectures (if supported. mark crossbuilds): - aarch64-musl A patch file from https://github.com/void-linux/void-packages/pull/34315.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-pkg/codec2-34315.patch --] [-- Type: text/x-diff, Size: 20752 bytes --] From d0a6e4bd3b6f30b6aa002f6647e8aa592c727fd7 Mon Sep 17 00:00:00 2001 From: Evgeny Ermakov <evgeny.v.ermakov@gmail.com> Date: Mon, 29 Nov 2021 00:50:13 +1100 Subject: [PATCH] New package: codec2-1.0.1 --- common/shlibs | 1 + srcpkgs/codec2-devel | 1 + srcpkgs/codec2/patches/cross.patch | 15 + .../codec2/patches/disable-failed-tests.patch | 265 ++++++++++++++++++ srcpkgs/codec2/template | 23 ++ 5 files changed, 305 insertions(+) create mode 120000 srcpkgs/codec2-devel create mode 100644 srcpkgs/codec2/patches/cross.patch create mode 100644 srcpkgs/codec2/patches/disable-failed-tests.patch create mode 100644 srcpkgs/codec2/template diff --git a/common/shlibs b/common/shlibs index ad60646030fe..aa85f4ce0358 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4071,3 +4071,4 @@ libm4ri-0.0.20200125.so m4ri-20200125_1 libm4rie-0.0.20200125.so m4rie-20200125_1 libptytty.so.0 libptytty-2.0_1 libcoeurl.so.0 coeurl-0.1.0_1 +libcodec2.so.1.0 codec2-1.0.1_1 diff --git a/srcpkgs/codec2-devel b/srcpkgs/codec2-devel new file mode 120000 index 000000000000..989913a1d9d7 --- /dev/null +++ b/srcpkgs/codec2-devel @@ -0,0 +1 @@ +codec2/ \ No newline at end of file diff --git a/srcpkgs/codec2/patches/cross.patch b/srcpkgs/codec2/patches/cross.patch new file mode 100644 index 000000000000..46b52c0b805c --- /dev/null +++ b/srcpkgs/codec2/patches/cross.patch @@ -0,0 +1,15 @@ +# reason: +# [110/327] Generating codebookjvm.c +# FAILED: src/codebookjvm.c /builddir/codec2-1.0.1/build/src/codebookjvm.c +# /bin/sh: line 1: /builddir/codec2-1.0.1/build/src/generate_codebook: cannot execute binary file: Exec format error + +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -68,6 +68,7 @@ + ExternalProject_Add(codec2_native + SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/.. + BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/codec2_native ++ CMAKE_ARGS -DCMAKE_C_COMPILER=$ENV{CC_FOR_BUILD} -DCMAKE_C_FLAGS=$ENV{CFLAGS_FOR_BUILD} + BUILD_COMMAND ${CMAKE_COMMAND} --build . --target generate_codebook + INSTALL_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/codec2_native/src/generate_codebook ${CMAKE_CURRENT_BINARY_DIR} + BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/generate_codebook diff --git a/srcpkgs/codec2/patches/disable-failed-tests.patch b/srcpkgs/codec2/patches/disable-failed-tests.patch new file mode 100644 index 000000000000..9f6dfd265102 --- /dev/null +++ b/srcpkgs/codec2/patches/disable-failed-tests.patch @@ -0,0 +1,265 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -378,36 +378,17 @@ + ") + set_tests_properties(test_fdmdv_16to8_short PROPERTIES PASS_REGULAR_EXPRESSION "PASS") + +- add_test(NAME test_CML_ldpcut +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; SHORT_VERSION_FOR_CTEST=1 octave-cli -qf ldpcut.m") +- set_tests_properties(test_CML_ldpcut PROPERTIES PASS_REGULAR_EXPRESSION "Nerr: 0") +- + # check channel simulator measures correct Peak to Average Power Ratio (about 0dB) with a sine wave input signal + add_test(NAME test_cohpsk_ch_papr + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}; + ./misc/mksine - 1000 10 | ./src/cohpsk_ch - /dev/null -100 --Fs 8000 --ctest") + +- add_test(NAME test_codec2_700c_octave_port +- COMMAND sh -c " +- cd ${CMAKE_CURRENT_BINARY_DIR}/src; +- ./c2sim ${CMAKE_CURRENT_SOURCE_DIR}/raw/cq_ref.raw --phase0 --postfilter --dump cq_ref --lpc 10 --dump_pitch_e cq_ref_pitche.txt; +- cd ${CMAKE_CURRENT_BINARY_DIR}/unittest; ./tnewamp1 ${CMAKE_CURRENT_SOURCE_DIR}/raw/cq_ref.raw; +- cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- DISPLAY=\"\" octave-cli -qf --eval 'tnewamp1(\"${CMAKE_CURRENT_BINARY_DIR}/src/cq_ref\", \"${CMAKE_CURRENT_BINARY_DIR}/unittest\")'") +- set_tests_properties(test_codec2_700c_octave_port PROPERTIES PASS_REGULAR_EXPRESSION "fails: 0") +- + add_test(NAME test_FDMDV_modem_octave_port + COMMAND sh -c "$<TARGET_FILE:tfdmdv> && DISPLAY=\"\" octave-cli --no-gui -qf ${CMAKE_CURRENT_SOURCE_DIR}/octave/tfdmdv.m" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/octave) + set_tests_properties(test_FDMDV_modem_octave_port PROPERTIES + PASS_REGULAR_EXPRESSION "fails: 0") + +- add_test(NAME test_COHPSK_modem_octave_port +- COMMAND sh -c "$<TARGET_FILE:tcohpsk> && DISPLAY=\"\" octave-cli --no-gui -qf ${CMAKE_CURRENT_SOURCE_DIR}/octave/tcohpsk.m" +- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/octave) +- set_tests_properties(test_COHPSK_modem_octave_port PROPERTIES +- PASS_REGULAR_EXPRESSION "fails: 0") +- + add_test(NAME test_COHPSK_modem_AWGN_BER + COMMAND sh -c "$<TARGET_FILE:cohpsk_get_test_bits> - 5600 | $<TARGET_FILE:cohpsk_mod> - - | $<TARGET_FILE:cohpsk_ch> - - -30 | $<TARGET_FILE:cohpsk_demod> - - | $<TARGET_FILE:cohpsk_put_test_bits> -" + ) +@@ -435,61 +416,8 @@ + set_tests_properties(test_OFDM_modem_octave_port_Nc_31 PROPERTIES + PASS_REGULAR_EXPRESSION "fails: 0") + +- add_test(NAME test_OFDM_modem_octave_qam16_uncoded +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- echo \"ofdm_tx('test_qam16.raw','qam16c1',3,12,'awgn','bursts',3); ofdm_rx('test_qam16.raw','qam16c1', 'passber', 0.05, 'packetsperburst', 1); quit\" | +- DISPLAY=\"\" octave-cli") +- set_tests_properties(test_OFDM_modem_octave_qam16_uncoded PROPERTIES PASS_REGULAR_EXPRESSION "Pass") +- +- add_test(NAME test_OFDM_modem_esno_est_octave +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- echo 'pkg load signal; esno_est; esno_est_tests_octave' | +- PATH_TO_UNITEST=${CMAKE_CURRENT_BINARY_DIR}/unittest/ DISPLAY=\"\" octave-cli") +- set_tests_properties(test_OFDM_modem_esno_est_octave PROPERTIES PASS_REGULAR_EXPRESSION "AWGN Pass.*MPP Pass") +- +- add_test(NAME test_OFDM_modem_esno_est_c +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- echo 'pkg load signal; esno_est; esno_est_tests_c' | +- PATH_TO_UNITEST=${CMAKE_CURRENT_BINARY_DIR}/unittest/ DISPLAY=\"\" octave-cli") +- set_tests_properties(test_OFDM_modem_esno_est_c PROPERTIES PASS_REGULAR_EXPRESSION "AWGN Pass.*MPP Pass") +- + + # ---------------------------------- Data Mode burst acquisition tests ---------------------------------- +- +- add_test(NAME test_OFDM_modem_octave_burst_acq +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- echo \"ofdm_acquisition; quit\" | DISPLAY=\"\" octave-cli") +- set_tests_properties(test_OFDM_modem_octave_burst_acq PROPERTIES PASS_REGULAR_EXPRESSION "P.acq. = 1.00") +- +- add_test(NAME test_OFDM_modem_octave_datac0_postamble +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- echo \"ofdm_tx('test_datac0.raw','datac0',1,100,'awgn','bursts',3); ofdm_rx('test_datac0.raw','datac0','packetsperburst',1,'postambletest','passber', 1E-6); quit\" | +- DISPLAY=\"\" octave-cli") +- set_tests_properties(test_OFDM_modem_octave_datac0_postamble PROPERTIES PASS_REGULAR_EXPRESSION "Pass") +- +- # Check C port of burst acquisition +- add_test(NAME test_OFDM_modem_burst_acq_port +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- echo \"tofdm_acq; quit\" | PATH_TO_UNITTEST=${CMAKE_CURRENT_BINARY_DIR}/unittest DISPLAY=\"\" octave-cli") +- set_tests_properties(test_OFDM_modem_burst_acq_port PROPERTIES PASS_REGULAR_EXPRESSION "PASS") +- +- # Give uncoded Octave burst data modem a workout on a poor channel (0dB SNR MPP) +- add_test(NAME test_OFDM_modem_octave_datac0_mpp +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- echo \"ofdm_tx('test_datac0.raw','datac0',1,0,'mpp','bursts',10); \ +- ofdm_rx('test_datac0.raw','datac0','packetsperburst',1,'passpacketcount',9);\ +- quit\" | +- DISPLAY=\"\" octave-cli") +- set_tests_properties(test_OFDM_modem_octave_datac0_mpp PROPERTIES PASS_REGULAR_EXPRESSION "Pass") +- +- # Same for coded Octave burst data modem - look out for bit rot as simulations evolve .... +- add_test(NAME test_OFDM_modem_octave_datac0_mpp_coded +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- echo \"ofdm_ldpc_tx('test_datac0.raw','datac0',1,0,'mpp','bursts',10); \ +- ofdm_ldpc_rx('test_datac0.raw','datac0','packetsperburst',1,'passpacketcount',9);\ +- quit\" | +- DISPLAY=\"\" octave-cli") +- set_tests_properties(test_OFDM_modem_octave_datac0_mpp_coded PROPERTIES PASS_REGULAR_EXPRESSION "Pass") + + # ---------------------------------- ofdm_mod/demod level C modem tests ---------------------------------- + +@@ -519,18 +447,6 @@ + COMMAND sh -c "$<TARGET_FILE:ofdm_mod> --in /dev/zero --ldpc --testframes 60 --txbpf | $<TARGET_FILE:cohpsk_ch> - - -20 --Fs 8000 -f -50 | $<TARGET_FILE:ofdm_demod> --out /dev/null --testframes --ldpc --verbose 1" + ) + +- add_test(NAME test_OFDM_modem_fading_BER +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/unittest; +- PATH=$PATH:${CMAKE_CURRENT_BINARY_DIR}/src ./ofdm_fade.sh") +- +- add_test(NAME test_OFDM_modem_phase_est_bw +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/unittest; +- PATH=$PATH:${CMAKE_CURRENT_BINARY_DIR}/src ./ofdm_phase_est_bw.sh") +- +- add_test(NAME test_OFDM_modem_fading_DPSK_BER +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/unittest; +- PATH=$PATH:${CMAKE_CURRENT_BINARY_DIR}/src ./ofdm_fade_dpsk.sh") +- + add_test(NAME test_OFDM_modem_time_sync_700D + COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/unittest; + PATH=$PATH:${CMAKE_CURRENT_BINARY_DIR}/src ./ofdm_time_sync.sh 700D") +@@ -556,30 +472,6 @@ + # running in C, then the FreeDV API. Here we test Octave and the C versions of the + # OFDM modem working together, to help prevent any bit rot between them + +- # DATAC0 burst mode Octave Tx, C Rx +- add_test(NAME test_OFDM_modem_datac0_octave_burst +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- DISPLAY=\"\" octave-cli -qf --eval \"ofdm_ldpc_tx('${CMAKE_CURRENT_BINARY_DIR}/test.raw','datac0',1,100,'awgn','bursts',3)\"; +- cd ${CMAKE_CURRENT_BINARY_DIR}; +- cat test.raw | ./src/ofdm_demod --mode datac0 --out /dev/null --testframes --ldpc --verbose 1 --packetsperburst 1") +- set_tests_properties(test_OFDM_modem_datac0_octave_burst PROPERTIES PASS_REGULAR_EXPRESSION "Coded PER: 0.0000 Tpkts: 3") +- +- # DATAC1 C Tx, Octave Rx +- add_test(NAME test_OFDM_modem_datac1_octave +- COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}; +- ./src/ofdm_mod --mode datac1 --in /dev/zero --testframes 20 --verbose 1 --ldpc > test.raw; +- cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- DISPLAY=\"\" octave-cli -qf --eval 'ofdm_ldpc_rx(\"${CMAKE_CURRENT_BINARY_DIR}/test.raw\",\"datac1\")'") +- set_tests_properties(test_OFDM_modem_datac1_octave PROPERTIES PASS_REGULAR_EXPRESSION "Coded PER: 0.0000 Pckts: 4") +- +- # DATAC3 C Tx, Octave Rx +- add_test(NAME test_OFDM_modem_datac3_octave +- COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}; +- ./src/ofdm_mod --mode datac3 --in /dev/zero --testframes 20 --verbose 1 --ldpc > test.raw; +- cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- DISPLAY=\"\" octave-cli -qf --eval 'ofdm_ldpc_rx(\"${CMAKE_CURRENT_BINARY_DIR}/test.raw\",\"datac3\")'") +- set_tests_properties(test_OFDM_modem_datac3_octave PROPERTIES PASS_REGULAR_EXPRESSION "Coded PER: 0.0000 Pckts: 5") +- + # DATAC1 C Tx, C Rx, uncoded + add_test(NAME test_OFDM_modem_datac1 + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; +@@ -611,13 +503,6 @@ + ./ldpc_dec - /dev/null --code HRA_112_112 --sd --testframes" + ) + +- add_test(NAME test_ldpc_enc_dec_HRA_56_56 +- COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; +- ./ldpc_enc /dev/zero - --sd --code HRA_56_56 --testframes 200 | +- ./ldpc_noise - - 0.5 | +- ./ldpc_dec - /dev/null --code HRA_56_56 --sd --testframes" +- ) +- + add_test(NAME test_ldpc_enc_dec_HRAb_396_504 + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; + ./ldpc_enc /dev/zero - --sd --code HRAb_396_504 --testframes 200 | +@@ -660,13 +545,6 @@ + ./ldpc_dec - /dev/null --code H_4096_8192_3d --sd --testframes" + ) + +- add_test(NAME test_ldpc_enc_dec_H_16200_9720 +- COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; +- ./ldpc_enc /dev/zero - --sd --code H_16200_9720 --testframes 10 | +- ./ldpc_noise - - 0.5 | +- ./ldpc_dec - /dev/null --code H_16200_9720 --sd --testframes" +- ) +- + add_test(NAME test_ldpc_enc_dec_H_1024_2048_4f + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; + ./ldpc_enc /dev/zero - --sd --code H_1024_2048_4f --testframes 100 | +@@ -674,13 +552,6 @@ + ./ldpc_dec - /dev/null --code H_1024_2048_4f --sd --testframes" + ) + +- add_test(NAME test_ldpc_enc_dec_H_2064_516_sparse +- COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; +- ./ldpc_enc /dev/zero - --sd --code H_2064_516_sparse --testframes 100 | +- ./ldpc_noise - - -2.0 | +- ./ldpc_dec - /dev/null --code H_2064_516_sparse --sd --testframes" +- ) +- + # ------------------------------------------------------------------------- + # FreeDV API + # ------------------------------------------------------------------------- +@@ -709,14 +580,6 @@ + ./freedv_rx 700D - /dev/null --squelch -2 -vv") + set_tests_properties(test_freedv_api_700D_speech PROPERTIES PASS_REGULAR_EXPRESSION "frames decoded: 62 output speech samples: 7") + +- # no random speech output due to trial sync when listening to noise +- add_test(NAME test_freedv_api_700D_burble +- COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; +- ./freedv_tx 700D ../../raw/ve9qrp.raw - | +- ./cohpsk_ch - - -8 --Fs 8000 | +- ./freedv_rx 700D - /dev/null --squelch -2 -vv") +- set_tests_properties(test_freedv_api_700D_burble PROPERTIES PASS_REGULAR_EXPRESSION "output speech samples: 0") +- + add_test(NAME test_freedv_api_700D_AWGN_BER + COMMAND sh -c "dd bs=2560 count=120 if=/dev/zero | $<TARGET_FILE:freedv_tx> 700D - - --testframes | $<TARGET_FILE:cohpsk_ch> - - -20 --Fs 8000 -f -10 | $<TARGET_FILE:freedv_rx> 700D - /dev/null --testframes --discard" + ) +@@ -833,16 +696,7 @@ + ./freedv_rx 700E 700E_reliable.raw /dev/null --txtrx 700E_reliable.txt --reliabletext 2>/dev/null; + if [ `cat 700E_reliable.txt | wc -l` -ge 10 ]; then echo 1; fi") + set_tests_properties(test_freedv_reliable_text_awgn_700E PROPERTIES PASS_REGULAR_EXPRESSION "1") +- +- add_test(NAME test_freedv_reliable_text_fade_1600 +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/unittest; ./reliable_text_fade.sh 1600 -28 3 0 '${CMAKE_CURRENT_BINARY_DIR}/src'") + +- add_test(NAME test_freedv_reliable_text_fade_700D +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/unittest; ./reliable_text_fade.sh 700D -19 8 1 '${CMAKE_CURRENT_BINARY_DIR}/src'") +- +- add_test(NAME test_freedv_reliable_text_fade_700E +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/unittest; ./reliable_text_fade.sh 700E -22 9 1 '${CMAKE_CURRENT_BINARY_DIR}/src'") +- + if(LPCNET) + add_test(NAME test_freedv_reliable_text_ideal_2020 + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; +@@ -1009,11 +863,6 @@ + COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; DISPLAY=\"\" octave-cli -qf fsk_lib_demo.m") + set_tests_properties(test_fsk_lib PROPERTIES PASS_REGULAR_EXPRESSION "PASS") + +- add_test(NAME test_fsk_modem_octave_port +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- PATH_TO_TFSK=${CMAKE_CURRENT_BINARY_DIR}/unittest/tfsk octave-cli -qf tfsk.m") +- set_tests_properties(test_fsk_modem_octave_port PROPERTIES PASS_REGULAR_EXPRESSION "PASS") +- + add_test(NAME test_fsk_modem_mod_demod + COMMAND sh -c "$<TARGET_FILE:fsk_get_test_bits> - 10000 | + $<TARGET_FILE:fsk_mod> 2 8000 100 1200 100 - - | +@@ -1055,11 +904,6 @@ + ./fsk_demod -c -p 8 --mask $tx_tone_sep -t1 --nsym 100 4 8000 $Rs - - 2>stats.txt | + ./fsk_put_test_bits -t 0.25 -b 0.20 -p $rx_packets -f $bits -q -") + +- # Octave 4FSK LLR reference simulation - make sure this keeps working +- add_test(NAME test_fsk_lib_4fsk_ldpc +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; DISPLAY=\"\" octave-cli -qf fsk_lib_ldpc_demo.m") +- set_tests_properties(test_fsk_lib_4fsk_ldpc PROPERTIES PASS_REGULAR_EXPRESSION "PASS") +- + # Command line Unique Word (UW) framer in hard decision mode + add_test(NAME test_fsk_framer + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; +@@ -1158,15 +1002,6 @@ + ./freedv_data_raw_rx DATAC3 - binaryOut.bin -v; + diff binaryIn.bin binaryOut.bin") + +- # FSK LDPC default 100 bit/s 2FSK, enough noise for several % raw BER to give +- # FEC/acquisition a work out, bursts of 1 frame as that stresses acquisition +- add_test(NAME test_freedv_data_raw_fsk_ldpc_100 +- COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; +- ./freedv_data_raw_tx --testframes 10 --bursts 10 FSK_LDPC /dev/zero - | +- ./cohpsk_ch - - -5 --Fs 8000 --ssbfilt 0 | +- ./freedv_data_raw_rx --testframes -v FSK_LDPC - /dev/null") +- set_tests_properties(test_freedv_data_raw_fsk_ldpc_100 PROPERTIES PASS_REGULAR_EXPRESSION "Frms.: 10") +- + # FSK LDPC 1000 bit/s 2FSK, Fs=40kHz, as different configs can upset acquisition + add_test(NAME test_freedv_data_raw_fsk_ldpc_1k + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; diff --git a/srcpkgs/codec2/template b/srcpkgs/codec2/template new file mode 100644 index 000000000000..64df1be1dcf0 --- /dev/null +++ b/srcpkgs/codec2/template @@ -0,0 +1,23 @@ +# Template file for 'codec2' +pkgname=codec2 +version=1.0.1 +revision=1 +build_style=cmake +checkdepends="gnuplot octave python3-numpy sox valgrind" +short_desc="Low bit rate speech codec" +maintainer="Evgeny Ermakov <evgeny.v.ermakov@gmail.com>" +license="LGPL-2.1-only" +homepage="https://www.rowetel.com/codec2.html" +distfiles="https://github.com/drowe67/codec2/archive/v${version}.tar.gz" +checksum=14227963940d79e0ec5af810f37101b30e1c7e8555abd96c56b3c0473abac8ef + +codec2-devel_package() { + depends="${sourcepkg}>=${version}_${revision}" + short_desc+=" - development files" + pkg_install() { + vmove usr/include + vmove usr/lib/cmake + vmove usr/lib/pkgconfig + vmove "usr/lib/*.so" + } +}
[-- Attachment #1: Type: text/plain, Size: 1163 bytes --] There is an updated pull request by unspecd against master on the void-packages repository https://github.com/unspecd/void-packages pkg/codec2 https://github.com/void-linux/void-packages/pull/34315 New package: codec2-1.0.1 <!-- Uncomment relevant sections and delete options which are not applicable --> #### Testing the changes - I tested the changes in this PR: **briefly** #### New package - This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES** <!-- Note: If the build is likely to take more than 2 hours, please [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration) and test at least one native build and, if supported, at least one cross build. Ignore this section if this PR is not skipping CI. --> #### Local build testing - I built this PR locally for my native architecture, x86_64-musl - I built this PR locally for these architectures (if supported. mark crossbuilds): - aarch64-musl A patch file from https://github.com/void-linux/void-packages/pull/34315.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-pkg/codec2-34315.patch --] [-- Type: text/x-diff, Size: 24792 bytes --] From b7f407a9d5b88afbbd3f4844892c86f078f3374f Mon Sep 17 00:00:00 2001 From: Evgeny Ermakov <evgeny.v.ermakov@gmail.com> Date: Mon, 29 Nov 2021 00:50:13 +1100 Subject: [PATCH] New package: codec2-1.0.1 --- common/shlibs | 1 + srcpkgs/codec2-devel | 1 + srcpkgs/codec2/patches/cross.patch | 15 + .../codec2/patches/disable-failed-tests.patch | 328 ++++++++++++++++++ srcpkgs/codec2/template | 23 ++ 5 files changed, 368 insertions(+) create mode 120000 srcpkgs/codec2-devel create mode 100644 srcpkgs/codec2/patches/cross.patch create mode 100644 srcpkgs/codec2/patches/disable-failed-tests.patch create mode 100644 srcpkgs/codec2/template diff --git a/common/shlibs b/common/shlibs index ad60646030fe..aa85f4ce0358 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4071,3 +4071,4 @@ libm4ri-0.0.20200125.so m4ri-20200125_1 libm4rie-0.0.20200125.so m4rie-20200125_1 libptytty.so.0 libptytty-2.0_1 libcoeurl.so.0 coeurl-0.1.0_1 +libcodec2.so.1.0 codec2-1.0.1_1 diff --git a/srcpkgs/codec2-devel b/srcpkgs/codec2-devel new file mode 120000 index 000000000000..989913a1d9d7 --- /dev/null +++ b/srcpkgs/codec2-devel @@ -0,0 +1 @@ +codec2/ \ No newline at end of file diff --git a/srcpkgs/codec2/patches/cross.patch b/srcpkgs/codec2/patches/cross.patch new file mode 100644 index 000000000000..46b52c0b805c --- /dev/null +++ b/srcpkgs/codec2/patches/cross.patch @@ -0,0 +1,15 @@ +# reason: +# [110/327] Generating codebookjvm.c +# FAILED: src/codebookjvm.c /builddir/codec2-1.0.1/build/src/codebookjvm.c +# /bin/sh: line 1: /builddir/codec2-1.0.1/build/src/generate_codebook: cannot execute binary file: Exec format error + +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -68,6 +68,7 @@ + ExternalProject_Add(codec2_native + SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/.. + BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/codec2_native ++ CMAKE_ARGS -DCMAKE_C_COMPILER=$ENV{CC_FOR_BUILD} -DCMAKE_C_FLAGS=$ENV{CFLAGS_FOR_BUILD} + BUILD_COMMAND ${CMAKE_COMMAND} --build . --target generate_codebook + INSTALL_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/codec2_native/src/generate_codebook ${CMAKE_CURRENT_BINARY_DIR} + BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/generate_codebook diff --git a/srcpkgs/codec2/patches/disable-failed-tests.patch b/srcpkgs/codec2/patches/disable-failed-tests.patch new file mode 100644 index 000000000000..36e8b8a8aad6 --- /dev/null +++ b/srcpkgs/codec2/patches/disable-failed-tests.patch @@ -0,0 +1,328 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -378,36 +378,17 @@ + ") + set_tests_properties(test_fdmdv_16to8_short PROPERTIES PASS_REGULAR_EXPRESSION "PASS") + +- add_test(NAME test_CML_ldpcut +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; SHORT_VERSION_FOR_CTEST=1 octave-cli -qf ldpcut.m") +- set_tests_properties(test_CML_ldpcut PROPERTIES PASS_REGULAR_EXPRESSION "Nerr: 0") +- + # check channel simulator measures correct Peak to Average Power Ratio (about 0dB) with a sine wave input signal + add_test(NAME test_cohpsk_ch_papr + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}; + ./misc/mksine - 1000 10 | ./src/cohpsk_ch - /dev/null -100 --Fs 8000 --ctest") + +- add_test(NAME test_codec2_700c_octave_port +- COMMAND sh -c " +- cd ${CMAKE_CURRENT_BINARY_DIR}/src; +- ./c2sim ${CMAKE_CURRENT_SOURCE_DIR}/raw/cq_ref.raw --phase0 --postfilter --dump cq_ref --lpc 10 --dump_pitch_e cq_ref_pitche.txt; +- cd ${CMAKE_CURRENT_BINARY_DIR}/unittest; ./tnewamp1 ${CMAKE_CURRENT_SOURCE_DIR}/raw/cq_ref.raw; +- cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- DISPLAY=\"\" octave-cli -qf --eval 'tnewamp1(\"${CMAKE_CURRENT_BINARY_DIR}/src/cq_ref\", \"${CMAKE_CURRENT_BINARY_DIR}/unittest\")'") +- set_tests_properties(test_codec2_700c_octave_port PROPERTIES PASS_REGULAR_EXPRESSION "fails: 0") +- + add_test(NAME test_FDMDV_modem_octave_port + COMMAND sh -c "$<TARGET_FILE:tfdmdv> && DISPLAY=\"\" octave-cli --no-gui -qf ${CMAKE_CURRENT_SOURCE_DIR}/octave/tfdmdv.m" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/octave) + set_tests_properties(test_FDMDV_modem_octave_port PROPERTIES + PASS_REGULAR_EXPRESSION "fails: 0") + +- add_test(NAME test_COHPSK_modem_octave_port +- COMMAND sh -c "$<TARGET_FILE:tcohpsk> && DISPLAY=\"\" octave-cli --no-gui -qf ${CMAKE_CURRENT_SOURCE_DIR}/octave/tcohpsk.m" +- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/octave) +- set_tests_properties(test_COHPSK_modem_octave_port PROPERTIES +- PASS_REGULAR_EXPRESSION "fails: 0") +- + add_test(NAME test_COHPSK_modem_AWGN_BER + COMMAND sh -c "$<TARGET_FILE:cohpsk_get_test_bits> - 5600 | $<TARGET_FILE:cohpsk_mod> - - | $<TARGET_FILE:cohpsk_ch> - - -30 | $<TARGET_FILE:cohpsk_demod> - - | $<TARGET_FILE:cohpsk_put_test_bits> -" + ) +@@ -423,73 +404,7 @@ + add_test(NAME test_OFDM_qam16 + COMMAND sh -c "${CMAKE_CURRENT_BINARY_DIR}/unittest/tqam16") + +- add_test(NAME test_OFDM_modem_octave_port +- COMMAND sh -c "PATH_TO_TOFDM=${CMAKE_CURRENT_BINARY_DIR}/unittest/tofdm DISPLAY=\"\" octave-cli --no-gui -qf ${CMAKE_CURRENT_SOURCE_DIR}/octave/tofdm.m" +- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/octave) +- set_tests_properties(test_OFDM_modem_octave_port PROPERTIES +- PASS_REGULAR_EXPRESSION "fails: 0") +- +- add_test(NAME test_OFDM_modem_octave_port_Nc_31 +- COMMAND sh -c "NC=31 PATH_TO_TOFDM=${CMAKE_CURRENT_BINARY_DIR}/unittest/tofdm DISPLAY=\"\" octave-cli --no-gui -qf ${CMAKE_CURRENT_SOURCE_DIR}/octave/tofdm.m" +- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/octave) +- set_tests_properties(test_OFDM_modem_octave_port_Nc_31 PROPERTIES +- PASS_REGULAR_EXPRESSION "fails: 0") +- +- add_test(NAME test_OFDM_modem_octave_qam16_uncoded +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- echo \"ofdm_tx('test_qam16.raw','qam16c1',3,12,'awgn','bursts',3); ofdm_rx('test_qam16.raw','qam16c1', 'passber', 0.05, 'packetsperburst', 1); quit\" | +- DISPLAY=\"\" octave-cli") +- set_tests_properties(test_OFDM_modem_octave_qam16_uncoded PROPERTIES PASS_REGULAR_EXPRESSION "Pass") +- +- add_test(NAME test_OFDM_modem_esno_est_octave +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- echo 'pkg load signal; esno_est; esno_est_tests_octave' | +- PATH_TO_UNITEST=${CMAKE_CURRENT_BINARY_DIR}/unittest/ DISPLAY=\"\" octave-cli") +- set_tests_properties(test_OFDM_modem_esno_est_octave PROPERTIES PASS_REGULAR_EXPRESSION "AWGN Pass.*MPP Pass") +- +- add_test(NAME test_OFDM_modem_esno_est_c +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- echo 'pkg load signal; esno_est; esno_est_tests_c' | +- PATH_TO_UNITEST=${CMAKE_CURRENT_BINARY_DIR}/unittest/ DISPLAY=\"\" octave-cli") +- set_tests_properties(test_OFDM_modem_esno_est_c PROPERTIES PASS_REGULAR_EXPRESSION "AWGN Pass.*MPP Pass") +- +- + # ---------------------------------- Data Mode burst acquisition tests ---------------------------------- +- +- add_test(NAME test_OFDM_modem_octave_burst_acq +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- echo \"ofdm_acquisition; quit\" | DISPLAY=\"\" octave-cli") +- set_tests_properties(test_OFDM_modem_octave_burst_acq PROPERTIES PASS_REGULAR_EXPRESSION "P.acq. = 1.00") +- +- add_test(NAME test_OFDM_modem_octave_datac0_postamble +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- echo \"ofdm_tx('test_datac0.raw','datac0',1,100,'awgn','bursts',3); ofdm_rx('test_datac0.raw','datac0','packetsperburst',1,'postambletest','passber', 1E-6); quit\" | +- DISPLAY=\"\" octave-cli") +- set_tests_properties(test_OFDM_modem_octave_datac0_postamble PROPERTIES PASS_REGULAR_EXPRESSION "Pass") +- +- # Check C port of burst acquisition +- add_test(NAME test_OFDM_modem_burst_acq_port +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- echo \"tofdm_acq; quit\" | PATH_TO_UNITTEST=${CMAKE_CURRENT_BINARY_DIR}/unittest DISPLAY=\"\" octave-cli") +- set_tests_properties(test_OFDM_modem_burst_acq_port PROPERTIES PASS_REGULAR_EXPRESSION "PASS") +- +- # Give uncoded Octave burst data modem a workout on a poor channel (0dB SNR MPP) +- add_test(NAME test_OFDM_modem_octave_datac0_mpp +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- echo \"ofdm_tx('test_datac0.raw','datac0',1,0,'mpp','bursts',10); \ +- ofdm_rx('test_datac0.raw','datac0','packetsperburst',1,'passpacketcount',9);\ +- quit\" | +- DISPLAY=\"\" octave-cli") +- set_tests_properties(test_OFDM_modem_octave_datac0_mpp PROPERTIES PASS_REGULAR_EXPRESSION "Pass") +- +- # Same for coded Octave burst data modem - look out for bit rot as simulations evolve .... +- add_test(NAME test_OFDM_modem_octave_datac0_mpp_coded +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- echo \"ofdm_ldpc_tx('test_datac0.raw','datac0',1,0,'mpp','bursts',10); \ +- ofdm_ldpc_rx('test_datac0.raw','datac0','packetsperburst',1,'passpacketcount',9);\ +- quit\" | +- DISPLAY=\"\" octave-cli") +- set_tests_properties(test_OFDM_modem_octave_datac0_mpp_coded PROPERTIES PASS_REGULAR_EXPRESSION "Pass") + + # ---------------------------------- ofdm_mod/demod level C modem tests ---------------------------------- + +@@ -519,22 +434,6 @@ + COMMAND sh -c "$<TARGET_FILE:ofdm_mod> --in /dev/zero --ldpc --testframes 60 --txbpf | $<TARGET_FILE:cohpsk_ch> - - -20 --Fs 8000 -f -50 | $<TARGET_FILE:ofdm_demod> --out /dev/null --testframes --ldpc --verbose 1" + ) + +- add_test(NAME test_OFDM_modem_fading_BER +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/unittest; +- PATH=$PATH:${CMAKE_CURRENT_BINARY_DIR}/src ./ofdm_fade.sh") +- +- add_test(NAME test_OFDM_modem_phase_est_bw +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/unittest; +- PATH=$PATH:${CMAKE_CURRENT_BINARY_DIR}/src ./ofdm_phase_est_bw.sh") +- +- add_test(NAME test_OFDM_modem_fading_DPSK_BER +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/unittest; +- PATH=$PATH:${CMAKE_CURRENT_BINARY_DIR}/src ./ofdm_fade_dpsk.sh") +- +- add_test(NAME test_OFDM_modem_time_sync_700D +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/unittest; +- PATH=$PATH:${CMAKE_CURRENT_BINARY_DIR}/src ./ofdm_time_sync.sh 700D") +- + if(LPCNET) + add_test(NAME test_OFDM_modem_time_sync_2020 + COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/unittest; +@@ -556,30 +455,6 @@ + # running in C, then the FreeDV API. Here we test Octave and the C versions of the + # OFDM modem working together, to help prevent any bit rot between them + +- # DATAC0 burst mode Octave Tx, C Rx +- add_test(NAME test_OFDM_modem_datac0_octave_burst +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- DISPLAY=\"\" octave-cli -qf --eval \"ofdm_ldpc_tx('${CMAKE_CURRENT_BINARY_DIR}/test.raw','datac0',1,100,'awgn','bursts',3)\"; +- cd ${CMAKE_CURRENT_BINARY_DIR}; +- cat test.raw | ./src/ofdm_demod --mode datac0 --out /dev/null --testframes --ldpc --verbose 1 --packetsperburst 1") +- set_tests_properties(test_OFDM_modem_datac0_octave_burst PROPERTIES PASS_REGULAR_EXPRESSION "Coded PER: 0.0000 Tpkts: 3") +- +- # DATAC1 C Tx, Octave Rx +- add_test(NAME test_OFDM_modem_datac1_octave +- COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}; +- ./src/ofdm_mod --mode datac1 --in /dev/zero --testframes 20 --verbose 1 --ldpc > test.raw; +- cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- DISPLAY=\"\" octave-cli -qf --eval 'ofdm_ldpc_rx(\"${CMAKE_CURRENT_BINARY_DIR}/test.raw\",\"datac1\")'") +- set_tests_properties(test_OFDM_modem_datac1_octave PROPERTIES PASS_REGULAR_EXPRESSION "Coded PER: 0.0000 Pckts: 4") +- +- # DATAC3 C Tx, Octave Rx +- add_test(NAME test_OFDM_modem_datac3_octave +- COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}; +- ./src/ofdm_mod --mode datac3 --in /dev/zero --testframes 20 --verbose 1 --ldpc > test.raw; +- cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- DISPLAY=\"\" octave-cli -qf --eval 'ofdm_ldpc_rx(\"${CMAKE_CURRENT_BINARY_DIR}/test.raw\",\"datac3\")'") +- set_tests_properties(test_OFDM_modem_datac3_octave PROPERTIES PASS_REGULAR_EXPRESSION "Coded PER: 0.0000 Pckts: 5") +- + # DATAC1 C Tx, C Rx, uncoded + add_test(NAME test_OFDM_modem_datac1 + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; +@@ -611,13 +486,6 @@ + ./ldpc_dec - /dev/null --code HRA_112_112 --sd --testframes" + ) + +- add_test(NAME test_ldpc_enc_dec_HRA_56_56 +- COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; +- ./ldpc_enc /dev/zero - --sd --code HRA_56_56 --testframes 200 | +- ./ldpc_noise - - 0.5 | +- ./ldpc_dec - /dev/null --code HRA_56_56 --sd --testframes" +- ) +- + add_test(NAME test_ldpc_enc_dec_HRAb_396_504 + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; + ./ldpc_enc /dev/zero - --sd --code HRAb_396_504 --testframes 200 | +@@ -660,13 +528,6 @@ + ./ldpc_dec - /dev/null --code H_4096_8192_3d --sd --testframes" + ) + +- add_test(NAME test_ldpc_enc_dec_H_16200_9720 +- COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; +- ./ldpc_enc /dev/zero - --sd --code H_16200_9720 --testframes 10 | +- ./ldpc_noise - - 0.5 | +- ./ldpc_dec - /dev/null --code H_16200_9720 --sd --testframes" +- ) +- + add_test(NAME test_ldpc_enc_dec_H_1024_2048_4f + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; + ./ldpc_enc /dev/zero - --sd --code H_1024_2048_4f --testframes 100 | +@@ -674,13 +535,6 @@ + ./ldpc_dec - /dev/null --code H_1024_2048_4f --sd --testframes" + ) + +- add_test(NAME test_ldpc_enc_dec_H_2064_516_sparse +- COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; +- ./ldpc_enc /dev/zero - --sd --code H_2064_516_sparse --testframes 100 | +- ./ldpc_noise - - -2.0 | +- ./ldpc_dec - /dev/null --code H_2064_516_sparse --sd --testframes" +- ) +- + # ------------------------------------------------------------------------- + # FreeDV API + # ------------------------------------------------------------------------- +@@ -697,10 +551,6 @@ + ./freedv_tx 700C ../../raw/ve9qrp_10s.raw - | ./freedv_rx 700C - /dev/null") + set_tests_properties(test_freedv_api_700C PROPERTIES PASS_REGULAR_EXPRESSION "frames decoded: 125") + +- add_test(NAME test_freedv_api_700D_backwards_compatability +- COMMAND sh -c "$<TARGET_FILE:freedv_rx> 700D ${CMAKE_CURRENT_SOURCE_DIR}/raw/testframes_700d.raw /dev/null --testframes --discard" +- ) +- + # speech output on valid signal (at least 70000 samples), to exercise freedv_bits_to_speech() speech output logic + add_test(NAME test_freedv_api_700D_speech + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; +@@ -709,14 +559,6 @@ + ./freedv_rx 700D - /dev/null --squelch -2 -vv") + set_tests_properties(test_freedv_api_700D_speech PROPERTIES PASS_REGULAR_EXPRESSION "frames decoded: 62 output speech samples: 7") + +- # no random speech output due to trial sync when listening to noise +- add_test(NAME test_freedv_api_700D_burble +- COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; +- ./freedv_tx 700D ../../raw/ve9qrp.raw - | +- ./cohpsk_ch - - -8 --Fs 8000 | +- ./freedv_rx 700D - /dev/null --squelch -2 -vv") +- set_tests_properties(test_freedv_api_700D_burble PROPERTIES PASS_REGULAR_EXPRESSION "output speech samples: 0") +- + add_test(NAME test_freedv_api_700D_AWGN_BER + COMMAND sh -c "dd bs=2560 count=120 if=/dev/zero | $<TARGET_FILE:freedv_tx> 700D - - --testframes | $<TARGET_FILE:cohpsk_ch> - - -20 --Fs 8000 -f -10 | $<TARGET_FILE:freedv_rx> 700D - /dev/null --testframes --discard" + ) +@@ -820,29 +662,13 @@ + if [ `cat 1600_reliable.txt | wc -l` -ge 10 ]; then echo 1; fi") + set_tests_properties(test_freedv_reliable_text_awgn_1600 PROPERTIES PASS_REGULAR_EXPRESSION "1") + +- add_test(NAME test_freedv_reliable_text_awgn_700D +- COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; +- ./freedv_tx 700D ../../raw/ve9qrp.raw - --reliabletext AB1CDEF --txbpf 1 --clip 1 | ./cohpsk_ch - - -12 --Fs 8000 -f -5 > 700D_reliable.raw 2>/dev/null; +- ./freedv_rx 700D 700D_reliable.raw /dev/null --txtrx 700D_reliable.txt --reliabletext 2>/dev/null; +- if [ `cat 700D_reliable.txt | wc -l` -ge 10 ]; then echo 1; fi") +- set_tests_properties(test_freedv_reliable_text_awgn_700D PROPERTIES PASS_REGULAR_EXPRESSION "1") +- + add_test(NAME test_freedv_reliable_text_awgn_700E + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; + ./freedv_tx 700E ../../raw/ve9qrp.raw - --reliabletext AB1CDEF --txbpf 1 --clip 1 | ./cohpsk_ch - - -15 --Fs 8000 -f -5 > 700E_reliable.raw 2>/dev/null; + ./freedv_rx 700E 700E_reliable.raw /dev/null --txtrx 700E_reliable.txt --reliabletext 2>/dev/null; + if [ `cat 700E_reliable.txt | wc -l` -ge 10 ]; then echo 1; fi") + set_tests_properties(test_freedv_reliable_text_awgn_700E PROPERTIES PASS_REGULAR_EXPRESSION "1") +- +- add_test(NAME test_freedv_reliable_text_fade_1600 +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/unittest; ./reliable_text_fade.sh 1600 -28 3 0 '${CMAKE_CURRENT_BINARY_DIR}/src'") + +- add_test(NAME test_freedv_reliable_text_fade_700D +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/unittest; ./reliable_text_fade.sh 700D -19 8 1 '${CMAKE_CURRENT_BINARY_DIR}/src'") +- +- add_test(NAME test_freedv_reliable_text_fade_700E +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/unittest; ./reliable_text_fade.sh 700E -22 9 1 '${CMAKE_CURRENT_BINARY_DIR}/src'") +- + if(LPCNET) + add_test(NAME test_freedv_reliable_text_ideal_2020 + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; +@@ -1009,11 +835,6 @@ + COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; DISPLAY=\"\" octave-cli -qf fsk_lib_demo.m") + set_tests_properties(test_fsk_lib PROPERTIES PASS_REGULAR_EXPRESSION "PASS") + +- add_test(NAME test_fsk_modem_octave_port +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; +- PATH_TO_TFSK=${CMAKE_CURRENT_BINARY_DIR}/unittest/tfsk octave-cli -qf tfsk.m") +- set_tests_properties(test_fsk_modem_octave_port PROPERTIES PASS_REGULAR_EXPRESSION "PASS") +- + add_test(NAME test_fsk_modem_mod_demod + COMMAND sh -c "$<TARGET_FILE:fsk_get_test_bits> - 10000 | + $<TARGET_FILE:fsk_mod> 2 8000 100 1200 100 - - | +@@ -1055,11 +876,6 @@ + ./fsk_demod -c -p 8 --mask $tx_tone_sep -t1 --nsym 100 4 8000 $Rs - - 2>stats.txt | + ./fsk_put_test_bits -t 0.25 -b 0.20 -p $rx_packets -f $bits -q -") + +- # Octave 4FSK LLR reference simulation - make sure this keeps working +- add_test(NAME test_fsk_lib_4fsk_ldpc +- COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave; DISPLAY=\"\" octave-cli -qf fsk_lib_ldpc_demo.m") +- set_tests_properties(test_fsk_lib_4fsk_ldpc PROPERTIES PASS_REGULAR_EXPRESSION "PASS") +- + # Command line Unique Word (UW) framer in hard decision mode + add_test(NAME test_fsk_framer + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; +@@ -1158,15 +974,6 @@ + ./freedv_data_raw_rx DATAC3 - binaryOut.bin -v; + diff binaryIn.bin binaryOut.bin") + +- # FSK LDPC default 100 bit/s 2FSK, enough noise for several % raw BER to give +- # FEC/acquisition a work out, bursts of 1 frame as that stresses acquisition +- add_test(NAME test_freedv_data_raw_fsk_ldpc_100 +- COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; +- ./freedv_data_raw_tx --testframes 10 --bursts 10 FSK_LDPC /dev/zero - | +- ./cohpsk_ch - - -5 --Fs 8000 --ssbfilt 0 | +- ./freedv_data_raw_rx --testframes -v FSK_LDPC - /dev/null") +- set_tests_properties(test_freedv_data_raw_fsk_ldpc_100 PROPERTIES PASS_REGULAR_EXPRESSION "Frms.: 10") +- + # FSK LDPC 1000 bit/s 2FSK, Fs=40kHz, as different configs can upset acquisition + add_test(NAME test_freedv_data_raw_fsk_ldpc_1k + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; +@@ -1201,20 +1008,6 @@ + ls -l hts1a_out.raw") + set_tests_properties(test_demo_c2demo PROPERTIES PASS_REGULAR_EXPRESSION "48000") + +- add_test(NAME test_demo_700d +- COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}; +- cat ../raw/ve9qrp_10s.raw | ./demo/freedv_700d_tx | +- ./demo/freedv_700d_rx > ve9qrp_10s_700d.raw; +- ls -l ve9qrp_10s_700d.raw") +- set_tests_properties(test_demo_700d PROPERTIES PASS_REGULAR_EXPRESSION "158720") +- +- add_test(NAME test_demo_700d_python +- COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}; +- cat ../raw/ve9qrp_10s.raw | ./demo/freedv_700d_tx | +- ../demo/freedv_700d_rx.py > ve9qrp_10s_700d.raw; +- ls -l ve9qrp_10s_700d.raw") +- set_tests_properties(test_demo_700d_python PROPERTIES PASS_REGULAR_EXPRESSION "161280") +- + add_test(NAME test_demo_datac1 + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}; + head -c $((510*10)) </dev/urandom > binaryIn.bin; + +Diff finished. Tue Nov 30 10:28:17 2021 diff --git a/srcpkgs/codec2/template b/srcpkgs/codec2/template new file mode 100644 index 000000000000..64df1be1dcf0 --- /dev/null +++ b/srcpkgs/codec2/template @@ -0,0 +1,23 @@ +# Template file for 'codec2' +pkgname=codec2 +version=1.0.1 +revision=1 +build_style=cmake +checkdepends="gnuplot octave python3-numpy sox valgrind" +short_desc="Low bit rate speech codec" +maintainer="Evgeny Ermakov <evgeny.v.ermakov@gmail.com>" +license="LGPL-2.1-only" +homepage="https://www.rowetel.com/codec2.html" +distfiles="https://github.com/drowe67/codec2/archive/v${version}.tar.gz" +checksum=14227963940d79e0ec5af810f37101b30e1c7e8555abd96c56b3c0473abac8ef + +codec2-devel_package() { + depends="${sourcepkg}>=${version}_${revision}" + short_desc+=" - development files" + pkg_install() { + vmove usr/include + vmove usr/lib/cmake + vmove usr/lib/pkgconfig + vmove "usr/lib/*.so" + } +}
[-- Attachment #1: Type: text/plain, Size: 1163 bytes --] There is an updated pull request by unspecd against master on the void-packages repository https://github.com/unspecd/void-packages pkg/codec2 https://github.com/void-linux/void-packages/pull/34315 New package: codec2-1.0.1 <!-- Uncomment relevant sections and delete options which are not applicable --> #### Testing the changes - I tested the changes in this PR: **briefly** #### New package - This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES** <!-- Note: If the build is likely to take more than 2 hours, please [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration) and test at least one native build and, if supported, at least one cross build. Ignore this section if this PR is not skipping CI. --> #### Local build testing - I built this PR locally for my native architecture, x86_64-musl - I built this PR locally for these architectures (if supported. mark crossbuilds): - aarch64-musl A patch file from https://github.com/void-linux/void-packages/pull/34315.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-pkg/codec2-34315.patch --] [-- Type: text/x-diff, Size: 4313 bytes --] From 9c20df703a624d67bd5d0a33d7b308290d6cce88 Mon Sep 17 00:00:00 2001 From: Evgeny Ermakov <evgeny.v.ermakov@gmail.com> Date: Mon, 29 Nov 2021 00:50:13 +1100 Subject: [PATCH] New package: codec2-1.0.1 --- common/shlibs | 1 + srcpkgs/codec2-devel | 1 + srcpkgs/codec2/patches/cross.patch | 15 ++++++++ srcpkgs/codec2/template | 62 ++++++++++++++++++++++++++++++ 4 files changed, 79 insertions(+) create mode 120000 srcpkgs/codec2-devel create mode 100644 srcpkgs/codec2/patches/cross.patch create mode 100644 srcpkgs/codec2/template diff --git a/common/shlibs b/common/shlibs index ad60646030fe..aa85f4ce0358 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4071,3 +4071,4 @@ libm4ri-0.0.20200125.so m4ri-20200125_1 libm4rie-0.0.20200125.so m4rie-20200125_1 libptytty.so.0 libptytty-2.0_1 libcoeurl.so.0 coeurl-0.1.0_1 +libcodec2.so.1.0 codec2-1.0.1_1 diff --git a/srcpkgs/codec2-devel b/srcpkgs/codec2-devel new file mode 120000 index 000000000000..989913a1d9d7 --- /dev/null +++ b/srcpkgs/codec2-devel @@ -0,0 +1 @@ +codec2/ \ No newline at end of file diff --git a/srcpkgs/codec2/patches/cross.patch b/srcpkgs/codec2/patches/cross.patch new file mode 100644 index 000000000000..46b52c0b805c --- /dev/null +++ b/srcpkgs/codec2/patches/cross.patch @@ -0,0 +1,15 @@ +# reason: +# [110/327] Generating codebookjvm.c +# FAILED: src/codebookjvm.c /builddir/codec2-1.0.1/build/src/codebookjvm.c +# /bin/sh: line 1: /builddir/codec2-1.0.1/build/src/generate_codebook: cannot execute binary file: Exec format error + +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -68,6 +68,7 @@ + ExternalProject_Add(codec2_native + SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/.. + BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/codec2_native ++ CMAKE_ARGS -DCMAKE_C_COMPILER=$ENV{CC_FOR_BUILD} -DCMAKE_C_FLAGS=$ENV{CFLAGS_FOR_BUILD} + BUILD_COMMAND ${CMAKE_COMMAND} --build . --target generate_codebook + INSTALL_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/codec2_native/src/generate_codebook ${CMAKE_CURRENT_BINARY_DIR} + BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/generate_codebook diff --git a/srcpkgs/codec2/template b/srcpkgs/codec2/template new file mode 100644 index 000000000000..10521d98c05d --- /dev/null +++ b/srcpkgs/codec2/template @@ -0,0 +1,62 @@ +# Template file for 'codec2' +pkgname=codec2 +version=1.0.1 +revision=1 +build_style=cmake +checkdepends="gnuplot octave python3-numpy sox valgrind" +short_desc="Low bit rate speech codec" +maintainer="Evgeny Ermakov <evgeny.v.ermakov@gmail.com>" +license="LGPL-2.1-only" +homepage="https://www.rowetel.com/codec2.html" +distfiles="https://github.com/drowe67/codec2/archive/v${version}.tar.gz" +checksum=14227963940d79e0ec5af810f37101b30e1c7e8555abd96c56b3c0473abac8ef + +do_check() { + cd build + ctest -E "test_CML_ldpcut|\ +test_COHPSK_modem_octave_port|\ +test_OFDM_modem_burst_acq_port|\ +test_OFDM_modem_datac0_octave_burst|\ +test_OFDM_modem_datac1_octave|\ +test_OFDM_modem_datac3_octave|\ +test_OFDM_modem_esno_est_c|\ +test_OFDM_modem_esno_est_octave|\ +test_OFDM_modem_fading_BER|\ +test_OFDM_modem_fading_DPSK_BER|\ +test_OFDM_modem_octaeve_datac0_mpp|\ +test_OFDM_modem_octave_burst_acq|\ +test_OFDM_modem_octave_datac0_mpp|\ +test_OFDM_modem_octave_datac0_mpp_coded|\ +test_OFDM_modem_octave_datac0_postamble|\ +test_OFDM_modem_octave_port|\ +test_OFDM_modem_octave_port_Nc_31|\ +test_OFDM_modem_octave_qam16_uncoded|\ +test_OFDM_modem_phase_est_bw|\ +test_OFDM_modem_time_sync_700D|\ +test_codec2_700c_octave_port|\ +test_demo_700d|\ +test_demo_700d_python|\ +test_freedv_api_700D_backwards_compatability|\ +test_freedv_api_700D_burble|\ +test_freedv_data_raw_fsk_ldpc_100|\ +test_freedv_reliable_text_awgn_700D|\ +test_freedv_reliable_text_fade_1600|\ +test_freedv_reliable_text_fade_700D|\ +test_freedv_reliable_text_fade_700E|\ +test_fsk_lib_4fsk_ldpc|\ +test_fsk_modem_octave_port|\ +test_ldpc_enc_dec_HRA_56_56|\ +test_ldpc_enc_dec_H_16200_9720|\ +test_ldpc_enc_dec_H_2064_516_sparse" +} + +codec2-devel_package() { + depends="${sourcepkg}>=${version}_${revision}" + short_desc+=" - development files" + pkg_install() { + vmove usr/include + vmove usr/lib/cmake + vmove usr/lib/pkgconfig + vmove "usr/lib/*.so" + } +}
[-- Attachment #1: Type: text/plain, Size: 1165 bytes --] There is an updated pull request by Chocimier against master on the void-packages repository https://github.com/unspecd/void-packages pkg/codec2 https://github.com/void-linux/void-packages/pull/34315 New package: codec2-1.0.1 <!-- Uncomment relevant sections and delete options which are not applicable --> #### Testing the changes - I tested the changes in this PR: **briefly** #### New package - This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES** <!-- Note: If the build is likely to take more than 2 hours, please [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration) and test at least one native build and, if supported, at least one cross build. Ignore this section if this PR is not skipping CI. --> #### Local build testing - I built this PR locally for my native architecture, x86_64-musl - I built this PR locally for these architectures (if supported. mark crossbuilds): - aarch64-musl A patch file from https://github.com/void-linux/void-packages/pull/34315.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-pkg/codec2-34315.patch --] [-- Type: text/x-diff, Size: 4389 bytes --] From 5823ea41f324d667faf8598d129e8325a1950c8e Mon Sep 17 00:00:00 2001 From: Evgeny Ermakov <evgeny.v.ermakov@gmail.com> Date: Mon, 29 Nov 2021 00:50:13 +1100 Subject: [PATCH] New package: codec2-1.0.1 --- common/shlibs | 1 + srcpkgs/codec2-devel | 1 + srcpkgs/codec2/patches/cross.patch | 15 ++++++++ srcpkgs/codec2/template | 62 ++++++++++++++++++++++++++++++ 4 files changed, 79 insertions(+) create mode 120000 srcpkgs/codec2-devel create mode 100644 srcpkgs/codec2/patches/cross.patch create mode 100644 srcpkgs/codec2/template diff --git a/common/shlibs b/common/shlibs index b7e6f298a247..4edfe7d909d7 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4090,3 +4090,4 @@ libkmaillanguagetool.so.5 kdepim-addons-21.08.3_1 libkaddressbookmergelibprivate.so.5 kdepim-addons-21.08.3_1 libkmailconfirmbeforedeleting.so.5 kdepim-addons-21.08.3_1 libkaddressbookprivate.so.5 kaddressbook-21.08.3_1 +libcodec2.so.1.0 codec2-1.0.1_1 diff --git a/srcpkgs/codec2-devel b/srcpkgs/codec2-devel new file mode 120000 index 000000000000..d95961287843 --- /dev/null +++ b/srcpkgs/codec2-devel @@ -0,0 +1 @@ +codec2 \ No newline at end of file diff --git a/srcpkgs/codec2/patches/cross.patch b/srcpkgs/codec2/patches/cross.patch new file mode 100644 index 000000000000..46b52c0b805c --- /dev/null +++ b/srcpkgs/codec2/patches/cross.patch @@ -0,0 +1,15 @@ +# reason: +# [110/327] Generating codebookjvm.c +# FAILED: src/codebookjvm.c /builddir/codec2-1.0.1/build/src/codebookjvm.c +# /bin/sh: line 1: /builddir/codec2-1.0.1/build/src/generate_codebook: cannot execute binary file: Exec format error + +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -68,6 +68,7 @@ + ExternalProject_Add(codec2_native + SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/.. + BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/codec2_native ++ CMAKE_ARGS -DCMAKE_C_COMPILER=$ENV{CC_FOR_BUILD} -DCMAKE_C_FLAGS=$ENV{CFLAGS_FOR_BUILD} + BUILD_COMMAND ${CMAKE_COMMAND} --build . --target generate_codebook + INSTALL_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/codec2_native/src/generate_codebook ${CMAKE_CURRENT_BINARY_DIR} + BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/generate_codebook diff --git a/srcpkgs/codec2/template b/srcpkgs/codec2/template new file mode 100644 index 000000000000..10521d98c05d --- /dev/null +++ b/srcpkgs/codec2/template @@ -0,0 +1,62 @@ +# Template file for 'codec2' +pkgname=codec2 +version=1.0.1 +revision=1 +build_style=cmake +checkdepends="gnuplot octave python3-numpy sox valgrind" +short_desc="Low bit rate speech codec" +maintainer="Evgeny Ermakov <evgeny.v.ermakov@gmail.com>" +license="LGPL-2.1-only" +homepage="https://www.rowetel.com/codec2.html" +distfiles="https://github.com/drowe67/codec2/archive/v${version}.tar.gz" +checksum=14227963940d79e0ec5af810f37101b30e1c7e8555abd96c56b3c0473abac8ef + +do_check() { + cd build + ctest -E "test_CML_ldpcut|\ +test_COHPSK_modem_octave_port|\ +test_OFDM_modem_burst_acq_port|\ +test_OFDM_modem_datac0_octave_burst|\ +test_OFDM_modem_datac1_octave|\ +test_OFDM_modem_datac3_octave|\ +test_OFDM_modem_esno_est_c|\ +test_OFDM_modem_esno_est_octave|\ +test_OFDM_modem_fading_BER|\ +test_OFDM_modem_fading_DPSK_BER|\ +test_OFDM_modem_octaeve_datac0_mpp|\ +test_OFDM_modem_octave_burst_acq|\ +test_OFDM_modem_octave_datac0_mpp|\ +test_OFDM_modem_octave_datac0_mpp_coded|\ +test_OFDM_modem_octave_datac0_postamble|\ +test_OFDM_modem_octave_port|\ +test_OFDM_modem_octave_port_Nc_31|\ +test_OFDM_modem_octave_qam16_uncoded|\ +test_OFDM_modem_phase_est_bw|\ +test_OFDM_modem_time_sync_700D|\ +test_codec2_700c_octave_port|\ +test_demo_700d|\ +test_demo_700d_python|\ +test_freedv_api_700D_backwards_compatability|\ +test_freedv_api_700D_burble|\ +test_freedv_data_raw_fsk_ldpc_100|\ +test_freedv_reliable_text_awgn_700D|\ +test_freedv_reliable_text_fade_1600|\ +test_freedv_reliable_text_fade_700D|\ +test_freedv_reliable_text_fade_700E|\ +test_fsk_lib_4fsk_ldpc|\ +test_fsk_modem_octave_port|\ +test_ldpc_enc_dec_HRA_56_56|\ +test_ldpc_enc_dec_H_16200_9720|\ +test_ldpc_enc_dec_H_2064_516_sparse" +} + +codec2-devel_package() { + depends="${sourcepkg}>=${version}_${revision}" + short_desc+=" - development files" + pkg_install() { + vmove usr/include + vmove usr/lib/cmake + vmove usr/lib/pkgconfig + vmove "usr/lib/*.so" + } +}
[-- Attachment #1: Type: text/plain, Size: 1004 bytes --] There's a merged pull request on the void-packages repository New package: codec2-1.0.1 https://github.com/void-linux/void-packages/pull/34315 Description: <!-- Uncomment relevant sections and delete options which are not applicable --> #### Testing the changes - I tested the changes in this PR: **briefly** #### New package - This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES** <!-- Note: If the build is likely to take more than 2 hours, please [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration) and test at least one native build and, if supported, at least one cross build. Ignore this section if this PR is not skipping CI. --> #### Local build testing - I built this PR locally for my native architecture, x86_64-musl - I built this PR locally for these architectures (if supported. mark crossbuilds): - aarch64-musl