pkgsrc/ham/gnuradio-core/Makefile.common

152 lines
5.1 KiB
Text
Raw Normal View History

# $NetBSD: Makefile.common,v 1.33 2021/04/29 23:30:14 thor Exp $
# This Makefile fragment is included in the package Makefiles for
# GNU Radio distributed packages (they all share common configure and build
# settings).
gnuradio-core: update to 3.8.1.0 Here is a very high level list of changes: ## Changed ### Project Scope - C++11 - merged the wholeness of the `next` branch - Dependency version bumps: CMake, GCC, MSVC, Swig, Boost - New dependencies: MPIR/GMP, Qt5, gsm, codec2 - Removed dependencies: libusb, Qt4, CppUnit - Python: Python 2 & Python 3 compatible. 3.8 will be the last Py2k-compatible release series - gengen was replaced by templates (if you don't know gengen, don't do any research; save yourself that sorrow) - Modern CMake (as far as feasible at this point) - VOLK version updated to v2.0.0 - .clang-format file now dictates coding style - clang-format'ed the whole tree. - installed CMake files now tell about configuration ### gnuradio-runtime - reworked fractional tag time handling, especially in the context of resamplers ### GRC - C++ generation as option - YAML instead of XML - removed `blks2` - much better canvas tooling - consistent gobject usage - ROUNDED ARROWS ### gr-qtgui - moving from Qt4 to Qt5 ### gr-utils - `gr_modtool` now vastly improved ### gr-vocoder - improved versatility - removed in-tree libgsm, libcodec2, use system-wide libs ## Removed ### Project Scope - Modules `gr-comedi`, `gr-fcd` and `gr-wxgui` are gone ### gr-comedi - nobody could remember who used this, or for what. It has seen 0 active code contributions in the 3.7 lifecycle ### gr-digital - python-based `packet_encoder` and related tools: Bugs that were sporadic and never fixed, so after long deprecation, we're removing it ### gr-fcd - since it's currently untestable by the CI, it's being removed, as there was no code contributions. Generally, we strive to include all batteries with GNU Radio. Re-integration within a more general SDR interface would be desirable. ### gr-utils - removed PyQwt (dead) based tools ### gr-wxgui - Unmaintained, breaks on increasingly many systems, always was slower than Qtgui. We've been starting to tell people to migrate to Qt since at least 2015. Now, we're finally removing it.
2020-08-30 22:43:46 +02:00
# used by ham/gnuradio-channels/Makefile
# used by ham/gnuradio-companion/Makefile
# used by ham/gnuradio-core/Makefile
gnuradio-*: update to 3.9.1.0 Changed C++14 C11 VOLK now “regular” dependency, not in-tree submodule numpy now also a CMake-checked hard dependency for Python support Exception Handling: throw by value, catch by reference (clang-tidy check) C++11: Emplace in vectors where you can; brings performance boni, but not included in clang-tidy-checks An exception-throwing block will now terminate the flow graph process, configurable through top_block gr-utils cleanup, folder restructuring config version checks installed CMake file will accept “at least this version” now PyBind11 replaces SWIG Full tree conversion from SWIG to Pybind11 bindings Doxygen now uses MathJax, full LaTeX installation no longer required GRC start flowgraph in folder where it resides gnuradio-runtime When calculating offsets in non-integer rate FEC, lround default seed for gr::random now actually as documented time-dependent loggers moved from gr::block to gr::basic_block PMT serialization PMT dicts no longer indistinguishable from pairs PMT symbol hashing no longer suffers under oddball own implementations gr-audio Increased ALSA buffer nperiods gr-blocks add, add_const VOLK’ized, templated this seems to break things in other places, even if it proves to be mathematically identical wavfile infrastructure: libsndfile now dependency gr-digital transcendental block: default to 32 bit float complex, not double Linear equalizer: separate adaptive algorithm, allows for using e.g. trained sequences instead of the classical LMS, CMA DFE: better structure for decision history gr-dtv LDPC encoder: template functions instead of #defined macros LDPC encoder: smaller tables through uint16_t for index tables gr-fec API uint8_t, not char gr-fft FFT blocks/functions templatized gr-filter logging format rational_resampler_base -> rational_resampler gr-uhd Required UHD version bumped to 3.9.7 logging format Deprecated gr-analog sig_source: freq port will be removed in the future gr-audio audio-sink, -source: Windows audio sink/source deprecated, the portaudio sink/source works even better under windows anyway gr-digital In favor of symbol_sync, deprecate: clock_recovery_mm msk_timing_recovery pfb_clock_sync Added C++ Generation all over the place PyBind bindings + generator gnuradio-runtime block_gateway: set_max_output_buffer GR_PREFS_PATH environment variable sensitivity to configure the path to the config file gnuradio-config-info --print-all GRC option to toggle ID visibilities globally Validation check for QT GUI hints Python snippets block header parsing tool block header parsing tool (GSoC 2019) gr_modtool option to convert blacklisted files gr-analog sig_source: cmd port adds support for dicts, setting of frequency, amplitude, offset and phase parameters gr-blocks selector now has control message ports Rotator-based freq shift convenience wrapper Message-to-Variable and vice versa blocks DC Spike removal IQ Swap Complex to interleaved char / short: scaling option Delay block: control message port Phase Shift block with message port wavfile_sink, _source can now deal with a lot of audio formats: uncompressed WAV/AIFF, µ- and A-law compressed audio, OGG/Vorbis, FLAC, even octave files Stream Demux, which demuxes streams according to lengths vector rotator: phase() getter gr-digital OFDM: multiple CP lengths ofdm_equalizer_simpledfe: enable_soft_output Constellation Encoder Constellation: normalization options gr-fec {en,de}code_rs_8, {en,de}code_rs_ccsds: Reed-Solomon en- and decoders gr-fft Windows: Gaussian Flat Top Tukey Window build() call now with default beta gr-filter GRC: File taps loader block Low pass FFT filter convenience wrapper ichar / ishort decimator phase continuity for freq_xlating_fir_filter gr-network gr-network: a whole new networking blocks module! TCP UDP Much better lockup/multithreading support than 3.7-era blks2 gr-qtgui Azimuth/Elevation plot Autocorrelation plot Compass visualization Dial control Gauge: dial, level Distance plot LED-like indicator Message-passing check box Message-passing numeric control Message-passing push button Toggle Button Eye sink Vertical slider gr-uhd Filter API UHD 4.0 support Power Reference API Bidirectional setting messages on both sink, source gr-vocoder Codec2 dev branch support FreeDV: In/output rates can differ FreeDV: text message output gr-zeromq C++ GRC templates Tag filtering for tag-forwarding blocks Removed VOLK is no longer a submodule Sphinx: consolidate into doxygen, or wiki-maintained block list. Python 2 SWIG gru python module gnuradio-runtime circular_file.cc math/common_factor.hpp gr-blocks bin_statistics_f log2_const gr-digital PFB clock sync: set_taps deprecated old OFDM infrastructur ofdm_frame_acquisition ofdm_frame_sink ofdm_insert_preamble ofdm_sync_fixed ofdm_sync_pn ofdm_sync_pnac ofdm_sync_ml ofdm_receiver digital_voice gr-fft malloc_float, _double: rely on VOLK Goertzel: dtor superfluous gr-filter deprecated window function duplicates (use them from gr-fft!) Fixed CMake: Qwt, Log4Cpp detection ctrlport strings unicodified Freedesktop install script was not executed Redundant icons installed Path substitution on Windows was backslash-broken YAML definitions: more than I can count Cross-building: py interpreter at runtime != build time gnuradio-runtime ctrlport: unholy stored reference to stack-allocated object removed Sine table generation for fixed point math gr_unittest: floatAlmostEqual had a lot of false passes due abuse of all() get_tags_in_range for delay < (end-start) Premature tag pruning release flattened flowgraph after stopping, fixes restartability/shutdown problem PMT serialization portability latency issue caused by setting block alias on msg block Windows logging errors ctrlport: Thrift >= 0.13 broke GRC Tab widget ID visibilities A lot of YAML templates Default setting in qtgui chooser restored Boolean parameters no longer switch buttons Nested namespace handling Don’t rely on set ordering in tests configparser import input box color theme on dark themes Search box typing doesn’t inadvertedly interact with the rest of GRC anymore gr_modtool Empty argument lists allowed Boost UTF replaced CppUnit, this needed to be done here, too gr-analog wfm left/right, filters gr-audio portaudio: lock acquisition was improper gr-blocks Throttle now uses monotonic clock Tag debug only saved last work call’s tags File sink flushes on stop gr_read_file_metadata.py used to lose rx_time precision File source big file handling under Windows file_*: fseek errors used to be ignored gr-digital map_bb: thread safety, buffer overflows additive_scrambler: reset was broken Constellation scalefactor wasn’t always initialized long-standing qa_header_payload_demux bug addressed by waiting for both RX and TX, not only either false triggers in correlate_access_code gr-dtv rate mismatch in ATSC flowgraphs gr-fec async_decoder Heap corruption cc_encoder: constraint length K > 8 led to wrong output gr-fft thread safety of copy assignment/ctor log power FFT Python gr-filter variable_band_pass_filter GRC complex taps input RRC filter gain for alpha = 1 gr-qtgui Remove copies of image data in returns by using move semantics Remove bogus overriding in drawing functions of plot_raster, _waterfall Edit MSG box: don’t require key to be set Don’t check for Python2 libs Number Sink ignored averaging setting gr-uhd UHD apps: Py3 fixes USRP blocks: multichannel objects not properly populating channels gr-video-sdl YUV formats fixed gr-zeromq Don’t depend on deprecated ZMQ functionality Unhandled exceptions now handled, much calmer Avoid infinite blocking in tb.stop() by using ZMQ_LINGER
2021-04-07 18:14:07 +02:00
# used by ham/gnuradio-network/Makefile
# used by ham/gnuradio-ctrlport/Makefile
# used by ham/gnuradio-digital/Makefile
# used by ham/gnuradio-doxygen/Makefile
# used by ham/gnuradio-dtv/Makefile
gnuradio-core: update to 3.8.1.0 Here is a very high level list of changes: ## Changed ### Project Scope - C++11 - merged the wholeness of the `next` branch - Dependency version bumps: CMake, GCC, MSVC, Swig, Boost - New dependencies: MPIR/GMP, Qt5, gsm, codec2 - Removed dependencies: libusb, Qt4, CppUnit - Python: Python 2 & Python 3 compatible. 3.8 will be the last Py2k-compatible release series - gengen was replaced by templates (if you don't know gengen, don't do any research; save yourself that sorrow) - Modern CMake (as far as feasible at this point) - VOLK version updated to v2.0.0 - .clang-format file now dictates coding style - clang-format'ed the whole tree. - installed CMake files now tell about configuration ### gnuradio-runtime - reworked fractional tag time handling, especially in the context of resamplers ### GRC - C++ generation as option - YAML instead of XML - removed `blks2` - much better canvas tooling - consistent gobject usage - ROUNDED ARROWS ### gr-qtgui - moving from Qt4 to Qt5 ### gr-utils - `gr_modtool` now vastly improved ### gr-vocoder - improved versatility - removed in-tree libgsm, libcodec2, use system-wide libs ## Removed ### Project Scope - Modules `gr-comedi`, `gr-fcd` and `gr-wxgui` are gone ### gr-comedi - nobody could remember who used this, or for what. It has seen 0 active code contributions in the 3.7 lifecycle ### gr-digital - python-based `packet_encoder` and related tools: Bugs that were sporadic and never fixed, so after long deprecation, we're removing it ### gr-fcd - since it's currently untestable by the CI, it's being removed, as there was no code contributions. Generally, we strive to include all batteries with GNU Radio. Re-integration within a more general SDR interface would be desirable. ### gr-utils - removed PyQwt (dead) based tools ### gr-wxgui - Unmaintained, breaks on increasingly many systems, always was slower than Qtgui. We've been starting to tell people to migrate to Qt since at least 2015. Now, we're finally removing it.
2020-08-30 22:43:46 +02:00
# used by ham/gnuradio-fec/Makefile
# used by ham/gnuradio-qtgui/Makefile
# used by ham/gnuradio-trellis/Makefile
# used by ham/gnuradio-uhd/Makefile
# used by ham/gnuradio-utils/Makefile
# used by ham/gnuradio-video-sdl/Makefile
# used by ham/gnuradio-vocoder/Makefile
# used by ham/gnuradio-wavelet/Makefile
# used by ham/gnuradio-zeromq/Makefile
gnuradio-core: update to 3.8.1.0 Here is a very high level list of changes: ## Changed ### Project Scope - C++11 - merged the wholeness of the `next` branch - Dependency version bumps: CMake, GCC, MSVC, Swig, Boost - New dependencies: MPIR/GMP, Qt5, gsm, codec2 - Removed dependencies: libusb, Qt4, CppUnit - Python: Python 2 & Python 3 compatible. 3.8 will be the last Py2k-compatible release series - gengen was replaced by templates (if you don't know gengen, don't do any research; save yourself that sorrow) - Modern CMake (as far as feasible at this point) - VOLK version updated to v2.0.0 - .clang-format file now dictates coding style - clang-format'ed the whole tree. - installed CMake files now tell about configuration ### gnuradio-runtime - reworked fractional tag time handling, especially in the context of resamplers ### GRC - C++ generation as option - YAML instead of XML - removed `blks2` - much better canvas tooling - consistent gobject usage - ROUNDED ARROWS ### gr-qtgui - moving from Qt4 to Qt5 ### gr-utils - `gr_modtool` now vastly improved ### gr-vocoder - improved versatility - removed in-tree libgsm, libcodec2, use system-wide libs ## Removed ### Project Scope - Modules `gr-comedi`, `gr-fcd` and `gr-wxgui` are gone ### gr-comedi - nobody could remember who used this, or for what. It has seen 0 active code contributions in the 3.7 lifecycle ### gr-digital - python-based `packet_encoder` and related tools: Bugs that were sporadic and never fixed, so after long deprecation, we're removing it ### gr-fcd - since it's currently untestable by the CI, it's being removed, as there was no code contributions. Generally, we strive to include all batteries with GNU Radio. Re-integration within a more general SDR interface would be desirable. ### gr-utils - removed PyQwt (dead) based tools ### gr-wxgui - Unmaintained, breaks on increasingly many systems, always was slower than Qtgui. We've been starting to tell people to migrate to Qt since at least 2015. Now, we're finally removing it.
2020-08-30 22:43:46 +02:00
.include "../../ham/gnuradio-core/version.mk"
DISTNAME?= gnuradio-${VERSION}
CATEGORIES+= ham
gnuradio-core: update to 3.8.1.0 Here is a very high level list of changes: ## Changed ### Project Scope - C++11 - merged the wholeness of the `next` branch - Dependency version bumps: CMake, GCC, MSVC, Swig, Boost - New dependencies: MPIR/GMP, Qt5, gsm, codec2 - Removed dependencies: libusb, Qt4, CppUnit - Python: Python 2 & Python 3 compatible. 3.8 will be the last Py2k-compatible release series - gengen was replaced by templates (if you don't know gengen, don't do any research; save yourself that sorrow) - Modern CMake (as far as feasible at this point) - VOLK version updated to v2.0.0 - .clang-format file now dictates coding style - clang-format'ed the whole tree. - installed CMake files now tell about configuration ### gnuradio-runtime - reworked fractional tag time handling, especially in the context of resamplers ### GRC - C++ generation as option - YAML instead of XML - removed `blks2` - much better canvas tooling - consistent gobject usage - ROUNDED ARROWS ### gr-qtgui - moving from Qt4 to Qt5 ### gr-utils - `gr_modtool` now vastly improved ### gr-vocoder - improved versatility - removed in-tree libgsm, libcodec2, use system-wide libs ## Removed ### Project Scope - Modules `gr-comedi`, `gr-fcd` and `gr-wxgui` are gone ### gr-comedi - nobody could remember who used this, or for what. It has seen 0 active code contributions in the 3.7 lifecycle ### gr-digital - python-based `packet_encoder` and related tools: Bugs that were sporadic and never fixed, so after long deprecation, we're removing it ### gr-fcd - since it's currently untestable by the CI, it's being removed, as there was no code contributions. Generally, we strive to include all batteries with GNU Radio. Re-integration within a more general SDR interface would be desirable. ### gr-utils - removed PyQwt (dead) based tools ### gr-wxgui - Unmaintained, breaks on increasingly many systems, always was slower than Qtgui. We've been starting to tell people to migrate to Qt since at least 2015. Now, we're finally removing it.
2020-08-30 22:43:46 +02:00
#MASTER_SITES= http://s3-dist.gnuradio.org/
#MASTER_SITES+= http://gnuradio.org/releases/gnuradio/
MASTER_SITES= ${MASTER_SITE_GITHUB:=gnuradio/}
GITHUB_PROJECT= gnuradio
gnuradio-*: update to 3.9.1.0 Changed C++14 C11 VOLK now “regular” dependency, not in-tree submodule numpy now also a CMake-checked hard dependency for Python support Exception Handling: throw by value, catch by reference (clang-tidy check) C++11: Emplace in vectors where you can; brings performance boni, but not included in clang-tidy-checks An exception-throwing block will now terminate the flow graph process, configurable through top_block gr-utils cleanup, folder restructuring config version checks installed CMake file will accept “at least this version” now PyBind11 replaces SWIG Full tree conversion from SWIG to Pybind11 bindings Doxygen now uses MathJax, full LaTeX installation no longer required GRC start flowgraph in folder where it resides gnuradio-runtime When calculating offsets in non-integer rate FEC, lround default seed for gr::random now actually as documented time-dependent loggers moved from gr::block to gr::basic_block PMT serialization PMT dicts no longer indistinguishable from pairs PMT symbol hashing no longer suffers under oddball own implementations gr-audio Increased ALSA buffer nperiods gr-blocks add, add_const VOLK’ized, templated this seems to break things in other places, even if it proves to be mathematically identical wavfile infrastructure: libsndfile now dependency gr-digital transcendental block: default to 32 bit float complex, not double Linear equalizer: separate adaptive algorithm, allows for using e.g. trained sequences instead of the classical LMS, CMA DFE: better structure for decision history gr-dtv LDPC encoder: template functions instead of #defined macros LDPC encoder: smaller tables through uint16_t for index tables gr-fec API uint8_t, not char gr-fft FFT blocks/functions templatized gr-filter logging format rational_resampler_base -> rational_resampler gr-uhd Required UHD version bumped to 3.9.7 logging format Deprecated gr-analog sig_source: freq port will be removed in the future gr-audio audio-sink, -source: Windows audio sink/source deprecated, the portaudio sink/source works even better under windows anyway gr-digital In favor of symbol_sync, deprecate: clock_recovery_mm msk_timing_recovery pfb_clock_sync Added C++ Generation all over the place PyBind bindings + generator gnuradio-runtime block_gateway: set_max_output_buffer GR_PREFS_PATH environment variable sensitivity to configure the path to the config file gnuradio-config-info --print-all GRC option to toggle ID visibilities globally Validation check for QT GUI hints Python snippets block header parsing tool block header parsing tool (GSoC 2019) gr_modtool option to convert blacklisted files gr-analog sig_source: cmd port adds support for dicts, setting of frequency, amplitude, offset and phase parameters gr-blocks selector now has control message ports Rotator-based freq shift convenience wrapper Message-to-Variable and vice versa blocks DC Spike removal IQ Swap Complex to interleaved char / short: scaling option Delay block: control message port Phase Shift block with message port wavfile_sink, _source can now deal with a lot of audio formats: uncompressed WAV/AIFF, µ- and A-law compressed audio, OGG/Vorbis, FLAC, even octave files Stream Demux, which demuxes streams according to lengths vector rotator: phase() getter gr-digital OFDM: multiple CP lengths ofdm_equalizer_simpledfe: enable_soft_output Constellation Encoder Constellation: normalization options gr-fec {en,de}code_rs_8, {en,de}code_rs_ccsds: Reed-Solomon en- and decoders gr-fft Windows: Gaussian Flat Top Tukey Window build() call now with default beta gr-filter GRC: File taps loader block Low pass FFT filter convenience wrapper ichar / ishort decimator phase continuity for freq_xlating_fir_filter gr-network gr-network: a whole new networking blocks module! TCP UDP Much better lockup/multithreading support than 3.7-era blks2 gr-qtgui Azimuth/Elevation plot Autocorrelation plot Compass visualization Dial control Gauge: dial, level Distance plot LED-like indicator Message-passing check box Message-passing numeric control Message-passing push button Toggle Button Eye sink Vertical slider gr-uhd Filter API UHD 4.0 support Power Reference API Bidirectional setting messages on both sink, source gr-vocoder Codec2 dev branch support FreeDV: In/output rates can differ FreeDV: text message output gr-zeromq C++ GRC templates Tag filtering for tag-forwarding blocks Removed VOLK is no longer a submodule Sphinx: consolidate into doxygen, or wiki-maintained block list. Python 2 SWIG gru python module gnuradio-runtime circular_file.cc math/common_factor.hpp gr-blocks bin_statistics_f log2_const gr-digital PFB clock sync: set_taps deprecated old OFDM infrastructur ofdm_frame_acquisition ofdm_frame_sink ofdm_insert_preamble ofdm_sync_fixed ofdm_sync_pn ofdm_sync_pnac ofdm_sync_ml ofdm_receiver digital_voice gr-fft malloc_float, _double: rely on VOLK Goertzel: dtor superfluous gr-filter deprecated window function duplicates (use them from gr-fft!) Fixed CMake: Qwt, Log4Cpp detection ctrlport strings unicodified Freedesktop install script was not executed Redundant icons installed Path substitution on Windows was backslash-broken YAML definitions: more than I can count Cross-building: py interpreter at runtime != build time gnuradio-runtime ctrlport: unholy stored reference to stack-allocated object removed Sine table generation for fixed point math gr_unittest: floatAlmostEqual had a lot of false passes due abuse of all() get_tags_in_range for delay < (end-start) Premature tag pruning release flattened flowgraph after stopping, fixes restartability/shutdown problem PMT serialization portability latency issue caused by setting block alias on msg block Windows logging errors ctrlport: Thrift >= 0.13 broke GRC Tab widget ID visibilities A lot of YAML templates Default setting in qtgui chooser restored Boolean parameters no longer switch buttons Nested namespace handling Don’t rely on set ordering in tests configparser import input box color theme on dark themes Search box typing doesn’t inadvertedly interact with the rest of GRC anymore gr_modtool Empty argument lists allowed Boost UTF replaced CppUnit, this needed to be done here, too gr-analog wfm left/right, filters gr-audio portaudio: lock acquisition was improper gr-blocks Throttle now uses monotonic clock Tag debug only saved last work call’s tags File sink flushes on stop gr_read_file_metadata.py used to lose rx_time precision File source big file handling under Windows file_*: fseek errors used to be ignored gr-digital map_bb: thread safety, buffer overflows additive_scrambler: reset was broken Constellation scalefactor wasn’t always initialized long-standing qa_header_payload_demux bug addressed by waiting for both RX and TX, not only either false triggers in correlate_access_code gr-dtv rate mismatch in ATSC flowgraphs gr-fec async_decoder Heap corruption cc_encoder: constraint length K > 8 led to wrong output gr-fft thread safety of copy assignment/ctor log power FFT Python gr-filter variable_band_pass_filter GRC complex taps input RRC filter gain for alpha = 1 gr-qtgui Remove copies of image data in returns by using move semantics Remove bogus overriding in drawing functions of plot_raster, _waterfall Edit MSG box: don’t require key to be set Don’t check for Python2 libs Number Sink ignored averaging setting gr-uhd UHD apps: Py3 fixes USRP blocks: multichannel objects not properly populating channels gr-video-sdl YUV formats fixed gr-zeromq Don’t depend on deprecated ZMQ functionality Unhandled exceptions now handled, much calmer Avoid infinite blocking in tb.stop() by using ZMQ_LINGER
2021-04-07 18:14:07 +02:00
GITHUB_TAG= v${VERSION}
MAINTAINER?= pkgsrc-users@NetBSD.org
HOMEPAGE?= https://www.gnu.org/software/gnuradio/
LICENSE= gnu-gpl-v3
USE_LANGUAGES= c c++
USE_TOOLS= perl gmake cmake pkg-config
USE_CMAKE= yes
gnuradio-*: update to 3.9.1.0 Changed C++14 C11 VOLK now “regular” dependency, not in-tree submodule numpy now also a CMake-checked hard dependency for Python support Exception Handling: throw by value, catch by reference (clang-tidy check) C++11: Emplace in vectors where you can; brings performance boni, but not included in clang-tidy-checks An exception-throwing block will now terminate the flow graph process, configurable through top_block gr-utils cleanup, folder restructuring config version checks installed CMake file will accept “at least this version” now PyBind11 replaces SWIG Full tree conversion from SWIG to Pybind11 bindings Doxygen now uses MathJax, full LaTeX installation no longer required GRC start flowgraph in folder where it resides gnuradio-runtime When calculating offsets in non-integer rate FEC, lround default seed for gr::random now actually as documented time-dependent loggers moved from gr::block to gr::basic_block PMT serialization PMT dicts no longer indistinguishable from pairs PMT symbol hashing no longer suffers under oddball own implementations gr-audio Increased ALSA buffer nperiods gr-blocks add, add_const VOLK’ized, templated this seems to break things in other places, even if it proves to be mathematically identical wavfile infrastructure: libsndfile now dependency gr-digital transcendental block: default to 32 bit float complex, not double Linear equalizer: separate adaptive algorithm, allows for using e.g. trained sequences instead of the classical LMS, CMA DFE: better structure for decision history gr-dtv LDPC encoder: template functions instead of #defined macros LDPC encoder: smaller tables through uint16_t for index tables gr-fec API uint8_t, not char gr-fft FFT blocks/functions templatized gr-filter logging format rational_resampler_base -> rational_resampler gr-uhd Required UHD version bumped to 3.9.7 logging format Deprecated gr-analog sig_source: freq port will be removed in the future gr-audio audio-sink, -source: Windows audio sink/source deprecated, the portaudio sink/source works even better under windows anyway gr-digital In favor of symbol_sync, deprecate: clock_recovery_mm msk_timing_recovery pfb_clock_sync Added C++ Generation all over the place PyBind bindings + generator gnuradio-runtime block_gateway: set_max_output_buffer GR_PREFS_PATH environment variable sensitivity to configure the path to the config file gnuradio-config-info --print-all GRC option to toggle ID visibilities globally Validation check for QT GUI hints Python snippets block header parsing tool block header parsing tool (GSoC 2019) gr_modtool option to convert blacklisted files gr-analog sig_source: cmd port adds support for dicts, setting of frequency, amplitude, offset and phase parameters gr-blocks selector now has control message ports Rotator-based freq shift convenience wrapper Message-to-Variable and vice versa blocks DC Spike removal IQ Swap Complex to interleaved char / short: scaling option Delay block: control message port Phase Shift block with message port wavfile_sink, _source can now deal with a lot of audio formats: uncompressed WAV/AIFF, µ- and A-law compressed audio, OGG/Vorbis, FLAC, even octave files Stream Demux, which demuxes streams according to lengths vector rotator: phase() getter gr-digital OFDM: multiple CP lengths ofdm_equalizer_simpledfe: enable_soft_output Constellation Encoder Constellation: normalization options gr-fec {en,de}code_rs_8, {en,de}code_rs_ccsds: Reed-Solomon en- and decoders gr-fft Windows: Gaussian Flat Top Tukey Window build() call now with default beta gr-filter GRC: File taps loader block Low pass FFT filter convenience wrapper ichar / ishort decimator phase continuity for freq_xlating_fir_filter gr-network gr-network: a whole new networking blocks module! TCP UDP Much better lockup/multithreading support than 3.7-era blks2 gr-qtgui Azimuth/Elevation plot Autocorrelation plot Compass visualization Dial control Gauge: dial, level Distance plot LED-like indicator Message-passing check box Message-passing numeric control Message-passing push button Toggle Button Eye sink Vertical slider gr-uhd Filter API UHD 4.0 support Power Reference API Bidirectional setting messages on both sink, source gr-vocoder Codec2 dev branch support FreeDV: In/output rates can differ FreeDV: text message output gr-zeromq C++ GRC templates Tag filtering for tag-forwarding blocks Removed VOLK is no longer a submodule Sphinx: consolidate into doxygen, or wiki-maintained block list. Python 2 SWIG gru python module gnuradio-runtime circular_file.cc math/common_factor.hpp gr-blocks bin_statistics_f log2_const gr-digital PFB clock sync: set_taps deprecated old OFDM infrastructur ofdm_frame_acquisition ofdm_frame_sink ofdm_insert_preamble ofdm_sync_fixed ofdm_sync_pn ofdm_sync_pnac ofdm_sync_ml ofdm_receiver digital_voice gr-fft malloc_float, _double: rely on VOLK Goertzel: dtor superfluous gr-filter deprecated window function duplicates (use them from gr-fft!) Fixed CMake: Qwt, Log4Cpp detection ctrlport strings unicodified Freedesktop install script was not executed Redundant icons installed Path substitution on Windows was backslash-broken YAML definitions: more than I can count Cross-building: py interpreter at runtime != build time gnuradio-runtime ctrlport: unholy stored reference to stack-allocated object removed Sine table generation for fixed point math gr_unittest: floatAlmostEqual had a lot of false passes due abuse of all() get_tags_in_range for delay < (end-start) Premature tag pruning release flattened flowgraph after stopping, fixes restartability/shutdown problem PMT serialization portability latency issue caused by setting block alias on msg block Windows logging errors ctrlport: Thrift >= 0.13 broke GRC Tab widget ID visibilities A lot of YAML templates Default setting in qtgui chooser restored Boolean parameters no longer switch buttons Nested namespace handling Don’t rely on set ordering in tests configparser import input box color theme on dark themes Search box typing doesn’t inadvertedly interact with the rest of GRC anymore gr_modtool Empty argument lists allowed Boost UTF replaced CppUnit, this needed to be done here, too gr-analog wfm left/right, filters gr-audio portaudio: lock acquisition was improper gr-blocks Throttle now uses monotonic clock Tag debug only saved last work call’s tags File sink flushes on stop gr_read_file_metadata.py used to lose rx_time precision File source big file handling under Windows file_*: fseek errors used to be ignored gr-digital map_bb: thread safety, buffer overflows additive_scrambler: reset was broken Constellation scalefactor wasn’t always initialized long-standing qa_header_payload_demux bug addressed by waiting for both RX and TX, not only either false triggers in correlate_access_code gr-dtv rate mismatch in ATSC flowgraphs gr-fec async_decoder Heap corruption cc_encoder: constraint length K > 8 led to wrong output gr-fft thread safety of copy assignment/ctor log power FFT Python gr-filter variable_band_pass_filter GRC complex taps input RRC filter gain for alpha = 1 gr-qtgui Remove copies of image data in returns by using move semantics Remove bogus overriding in drawing functions of plot_raster, _waterfall Edit MSG box: don’t require key to be set Don’t check for Python2 libs Number Sink ignored averaging setting gr-uhd UHD apps: Py3 fixes USRP blocks: multichannel objects not properly populating channels gr-video-sdl YUV formats fixed gr-zeromq Don’t depend on deprecated ZMQ functionality Unhandled exceptions now handled, much calmer Avoid infinite blocking in tb.stop() by using ZMQ_LINGER
2021-04-07 18:14:07 +02:00
DEPENDS+= ${PYPKGPREFIX}-scipy-[0-9]*:../../math/py-scipy
# for companion
DEPENDS+= ${PYPKGPREFIX}-gobject3-[0-9]*:../../devel/py-gobject3
gnuradio-core: update to 3.8.1.0 Here is a very high level list of changes: ## Changed ### Project Scope - C++11 - merged the wholeness of the `next` branch - Dependency version bumps: CMake, GCC, MSVC, Swig, Boost - New dependencies: MPIR/GMP, Qt5, gsm, codec2 - Removed dependencies: libusb, Qt4, CppUnit - Python: Python 2 & Python 3 compatible. 3.8 will be the last Py2k-compatible release series - gengen was replaced by templates (if you don't know gengen, don't do any research; save yourself that sorrow) - Modern CMake (as far as feasible at this point) - VOLK version updated to v2.0.0 - .clang-format file now dictates coding style - clang-format'ed the whole tree. - installed CMake files now tell about configuration ### gnuradio-runtime - reworked fractional tag time handling, especially in the context of resamplers ### GRC - C++ generation as option - YAML instead of XML - removed `blks2` - much better canvas tooling - consistent gobject usage - ROUNDED ARROWS ### gr-qtgui - moving from Qt4 to Qt5 ### gr-utils - `gr_modtool` now vastly improved ### gr-vocoder - improved versatility - removed in-tree libgsm, libcodec2, use system-wide libs ## Removed ### Project Scope - Modules `gr-comedi`, `gr-fcd` and `gr-wxgui` are gone ### gr-comedi - nobody could remember who used this, or for what. It has seen 0 active code contributions in the 3.7 lifecycle ### gr-digital - python-based `packet_encoder` and related tools: Bugs that were sporadic and never fixed, so after long deprecation, we're removing it ### gr-fcd - since it's currently untestable by the CI, it's being removed, as there was no code contributions. Generally, we strive to include all batteries with GNU Radio. Re-integration within a more general SDR interface would be desirable. ### gr-utils - removed PyQwt (dead) based tools ### gr-wxgui - Unmaintained, breaks on increasingly many systems, always was slower than Qtgui. We've been starting to tell people to migrate to Qt since at least 2015. Now, we're finally removing it.
2020-08-30 22:43:46 +02:00
DEPENDS+= ${PYPKGPREFIX}-mako-[0-9]*:../../devel/py-mako
DEPENDS+= ${PYPKGPREFIX}-cairo-[0-9]*:../../graphics/py-cairo
DEPENDS+= ${PYPKGPREFIX}-yaml-[0-9]*:../../textproc/py-yaml
DISTINFO_FILE= ${.CURDIR}/../../ham/gnuradio-core/distinfo
PATCHDIR= ${.CURDIR}/../../ham/gnuradio-core/patches
# see CMakeLists.txt GR_PYTHON_MIN_VERSION
gnuradio-*: update to 3.9.1.0 Changed C++14 C11 VOLK now “regular” dependency, not in-tree submodule numpy now also a CMake-checked hard dependency for Python support Exception Handling: throw by value, catch by reference (clang-tidy check) C++11: Emplace in vectors where you can; brings performance boni, but not included in clang-tidy-checks An exception-throwing block will now terminate the flow graph process, configurable through top_block gr-utils cleanup, folder restructuring config version checks installed CMake file will accept “at least this version” now PyBind11 replaces SWIG Full tree conversion from SWIG to Pybind11 bindings Doxygen now uses MathJax, full LaTeX installation no longer required GRC start flowgraph in folder where it resides gnuradio-runtime When calculating offsets in non-integer rate FEC, lround default seed for gr::random now actually as documented time-dependent loggers moved from gr::block to gr::basic_block PMT serialization PMT dicts no longer indistinguishable from pairs PMT symbol hashing no longer suffers under oddball own implementations gr-audio Increased ALSA buffer nperiods gr-blocks add, add_const VOLK’ized, templated this seems to break things in other places, even if it proves to be mathematically identical wavfile infrastructure: libsndfile now dependency gr-digital transcendental block: default to 32 bit float complex, not double Linear equalizer: separate adaptive algorithm, allows for using e.g. trained sequences instead of the classical LMS, CMA DFE: better structure for decision history gr-dtv LDPC encoder: template functions instead of #defined macros LDPC encoder: smaller tables through uint16_t for index tables gr-fec API uint8_t, not char gr-fft FFT blocks/functions templatized gr-filter logging format rational_resampler_base -> rational_resampler gr-uhd Required UHD version bumped to 3.9.7 logging format Deprecated gr-analog sig_source: freq port will be removed in the future gr-audio audio-sink, -source: Windows audio sink/source deprecated, the portaudio sink/source works even better under windows anyway gr-digital In favor of symbol_sync, deprecate: clock_recovery_mm msk_timing_recovery pfb_clock_sync Added C++ Generation all over the place PyBind bindings + generator gnuradio-runtime block_gateway: set_max_output_buffer GR_PREFS_PATH environment variable sensitivity to configure the path to the config file gnuradio-config-info --print-all GRC option to toggle ID visibilities globally Validation check for QT GUI hints Python snippets block header parsing tool block header parsing tool (GSoC 2019) gr_modtool option to convert blacklisted files gr-analog sig_source: cmd port adds support for dicts, setting of frequency, amplitude, offset and phase parameters gr-blocks selector now has control message ports Rotator-based freq shift convenience wrapper Message-to-Variable and vice versa blocks DC Spike removal IQ Swap Complex to interleaved char / short: scaling option Delay block: control message port Phase Shift block with message port wavfile_sink, _source can now deal with a lot of audio formats: uncompressed WAV/AIFF, µ- and A-law compressed audio, OGG/Vorbis, FLAC, even octave files Stream Demux, which demuxes streams according to lengths vector rotator: phase() getter gr-digital OFDM: multiple CP lengths ofdm_equalizer_simpledfe: enable_soft_output Constellation Encoder Constellation: normalization options gr-fec {en,de}code_rs_8, {en,de}code_rs_ccsds: Reed-Solomon en- and decoders gr-fft Windows: Gaussian Flat Top Tukey Window build() call now with default beta gr-filter GRC: File taps loader block Low pass FFT filter convenience wrapper ichar / ishort decimator phase continuity for freq_xlating_fir_filter gr-network gr-network: a whole new networking blocks module! TCP UDP Much better lockup/multithreading support than 3.7-era blks2 gr-qtgui Azimuth/Elevation plot Autocorrelation plot Compass visualization Dial control Gauge: dial, level Distance plot LED-like indicator Message-passing check box Message-passing numeric control Message-passing push button Toggle Button Eye sink Vertical slider gr-uhd Filter API UHD 4.0 support Power Reference API Bidirectional setting messages on both sink, source gr-vocoder Codec2 dev branch support FreeDV: In/output rates can differ FreeDV: text message output gr-zeromq C++ GRC templates Tag filtering for tag-forwarding blocks Removed VOLK is no longer a submodule Sphinx: consolidate into doxygen, or wiki-maintained block list. Python 2 SWIG gru python module gnuradio-runtime circular_file.cc math/common_factor.hpp gr-blocks bin_statistics_f log2_const gr-digital PFB clock sync: set_taps deprecated old OFDM infrastructur ofdm_frame_acquisition ofdm_frame_sink ofdm_insert_preamble ofdm_sync_fixed ofdm_sync_pn ofdm_sync_pnac ofdm_sync_ml ofdm_receiver digital_voice gr-fft malloc_float, _double: rely on VOLK Goertzel: dtor superfluous gr-filter deprecated window function duplicates (use them from gr-fft!) Fixed CMake: Qwt, Log4Cpp detection ctrlport strings unicodified Freedesktop install script was not executed Redundant icons installed Path substitution on Windows was backslash-broken YAML definitions: more than I can count Cross-building: py interpreter at runtime != build time gnuradio-runtime ctrlport: unholy stored reference to stack-allocated object removed Sine table generation for fixed point math gr_unittest: floatAlmostEqual had a lot of false passes due abuse of all() get_tags_in_range for delay < (end-start) Premature tag pruning release flattened flowgraph after stopping, fixes restartability/shutdown problem PMT serialization portability latency issue caused by setting block alias on msg block Windows logging errors ctrlport: Thrift >= 0.13 broke GRC Tab widget ID visibilities A lot of YAML templates Default setting in qtgui chooser restored Boolean parameters no longer switch buttons Nested namespace handling Don’t rely on set ordering in tests configparser import input box color theme on dark themes Search box typing doesn’t inadvertedly interact with the rest of GRC anymore gr_modtool Empty argument lists allowed Boost UTF replaced CppUnit, this needed to be done here, too gr-analog wfm left/right, filters gr-audio portaudio: lock acquisition was improper gr-blocks Throttle now uses monotonic clock Tag debug only saved last work call’s tags File sink flushes on stop gr_read_file_metadata.py used to lose rx_time precision File source big file handling under Windows file_*: fseek errors used to be ignored gr-digital map_bb: thread safety, buffer overflows additive_scrambler: reset was broken Constellation scalefactor wasn’t always initialized long-standing qa_header_payload_demux bug addressed by waiting for both RX and TX, not only either false triggers in correlate_access_code gr-dtv rate mismatch in ATSC flowgraphs gr-fec async_decoder Heap corruption cc_encoder: constraint length K > 8 led to wrong output gr-fft thread safety of copy assignment/ctor log power FFT Python gr-filter variable_band_pass_filter GRC complex taps input RRC filter gain for alpha = 1 gr-qtgui Remove copies of image data in returns by using move semantics Remove bogus overriding in drawing functions of plot_raster, _waterfall Edit MSG box: don’t require key to be set Don’t check for Python2 libs Number Sink ignored averaging setting gr-uhd UHD apps: Py3 fixes USRP blocks: multichannel objects not properly populating channels gr-video-sdl YUV formats fixed gr-zeromq Don’t depend on deprecated ZMQ functionality Unhandled exceptions now handled, much calmer Avoid infinite blocking in tb.stop() by using ZMQ_LINGER
2021-04-07 18:14:07 +02:00
PYTHON_VERSIONS_INCOMPATIBLE= 27
PLIST_SUBST+= PYVERSSUFFIX=${PYVERSSUFFIX}
PLIST_SUBST+= PYSITELIB=${PYSITELIB}
PY_PATCHPLIST= yes
CONFIGURE_DIRS= build
EGDIR= share/gnuradio/examples
PKG_SYSCONFSUBDIR= gnuradio/conf.d
CXXFLAGS+= -pthread
gnuradio-core: update to 3.8.1.0 Here is a very high level list of changes: ## Changed ### Project Scope - C++11 - merged the wholeness of the `next` branch - Dependency version bumps: CMake, GCC, MSVC, Swig, Boost - New dependencies: MPIR/GMP, Qt5, gsm, codec2 - Removed dependencies: libusb, Qt4, CppUnit - Python: Python 2 & Python 3 compatible. 3.8 will be the last Py2k-compatible release series - gengen was replaced by templates (if you don't know gengen, don't do any research; save yourself that sorrow) - Modern CMake (as far as feasible at this point) - VOLK version updated to v2.0.0 - .clang-format file now dictates coding style - clang-format'ed the whole tree. - installed CMake files now tell about configuration ### gnuradio-runtime - reworked fractional tag time handling, especially in the context of resamplers ### GRC - C++ generation as option - YAML instead of XML - removed `blks2` - much better canvas tooling - consistent gobject usage - ROUNDED ARROWS ### gr-qtgui - moving from Qt4 to Qt5 ### gr-utils - `gr_modtool` now vastly improved ### gr-vocoder - improved versatility - removed in-tree libgsm, libcodec2, use system-wide libs ## Removed ### Project Scope - Modules `gr-comedi`, `gr-fcd` and `gr-wxgui` are gone ### gr-comedi - nobody could remember who used this, or for what. It has seen 0 active code contributions in the 3.7 lifecycle ### gr-digital - python-based `packet_encoder` and related tools: Bugs that were sporadic and never fixed, so after long deprecation, we're removing it ### gr-fcd - since it's currently untestable by the CI, it's being removed, as there was no code contributions. Generally, we strive to include all batteries with GNU Radio. Re-integration within a more general SDR interface would be desirable. ### gr-utils - removed PyQwt (dead) based tools ### gr-wxgui - Unmaintained, breaks on increasingly many systems, always was slower than Qtgui. We've been starting to tell people to migrate to Qt since at least 2015. Now, we're finally removing it.
2020-08-30 22:43:46 +02:00
CFLAGS+= -pthread
LDFLAGS.DragonFly+= -lboost_system
gnuradio-*: update to 3.9.1.0 Changed C++14 C11 VOLK now “regular” dependency, not in-tree submodule numpy now also a CMake-checked hard dependency for Python support Exception Handling: throw by value, catch by reference (clang-tidy check) C++11: Emplace in vectors where you can; brings performance boni, but not included in clang-tidy-checks An exception-throwing block will now terminate the flow graph process, configurable through top_block gr-utils cleanup, folder restructuring config version checks installed CMake file will accept “at least this version” now PyBind11 replaces SWIG Full tree conversion from SWIG to Pybind11 bindings Doxygen now uses MathJax, full LaTeX installation no longer required GRC start flowgraph in folder where it resides gnuradio-runtime When calculating offsets in non-integer rate FEC, lround default seed for gr::random now actually as documented time-dependent loggers moved from gr::block to gr::basic_block PMT serialization PMT dicts no longer indistinguishable from pairs PMT symbol hashing no longer suffers under oddball own implementations gr-audio Increased ALSA buffer nperiods gr-blocks add, add_const VOLK’ized, templated this seems to break things in other places, even if it proves to be mathematically identical wavfile infrastructure: libsndfile now dependency gr-digital transcendental block: default to 32 bit float complex, not double Linear equalizer: separate adaptive algorithm, allows for using e.g. trained sequences instead of the classical LMS, CMA DFE: better structure for decision history gr-dtv LDPC encoder: template functions instead of #defined macros LDPC encoder: smaller tables through uint16_t for index tables gr-fec API uint8_t, not char gr-fft FFT blocks/functions templatized gr-filter logging format rational_resampler_base -> rational_resampler gr-uhd Required UHD version bumped to 3.9.7 logging format Deprecated gr-analog sig_source: freq port will be removed in the future gr-audio audio-sink, -source: Windows audio sink/source deprecated, the portaudio sink/source works even better under windows anyway gr-digital In favor of symbol_sync, deprecate: clock_recovery_mm msk_timing_recovery pfb_clock_sync Added C++ Generation all over the place PyBind bindings + generator gnuradio-runtime block_gateway: set_max_output_buffer GR_PREFS_PATH environment variable sensitivity to configure the path to the config file gnuradio-config-info --print-all GRC option to toggle ID visibilities globally Validation check for QT GUI hints Python snippets block header parsing tool block header parsing tool (GSoC 2019) gr_modtool option to convert blacklisted files gr-analog sig_source: cmd port adds support for dicts, setting of frequency, amplitude, offset and phase parameters gr-blocks selector now has control message ports Rotator-based freq shift convenience wrapper Message-to-Variable and vice versa blocks DC Spike removal IQ Swap Complex to interleaved char / short: scaling option Delay block: control message port Phase Shift block with message port wavfile_sink, _source can now deal with a lot of audio formats: uncompressed WAV/AIFF, µ- and A-law compressed audio, OGG/Vorbis, FLAC, even octave files Stream Demux, which demuxes streams according to lengths vector rotator: phase() getter gr-digital OFDM: multiple CP lengths ofdm_equalizer_simpledfe: enable_soft_output Constellation Encoder Constellation: normalization options gr-fec {en,de}code_rs_8, {en,de}code_rs_ccsds: Reed-Solomon en- and decoders gr-fft Windows: Gaussian Flat Top Tukey Window build() call now with default beta gr-filter GRC: File taps loader block Low pass FFT filter convenience wrapper ichar / ishort decimator phase continuity for freq_xlating_fir_filter gr-network gr-network: a whole new networking blocks module! TCP UDP Much better lockup/multithreading support than 3.7-era blks2 gr-qtgui Azimuth/Elevation plot Autocorrelation plot Compass visualization Dial control Gauge: dial, level Distance plot LED-like indicator Message-passing check box Message-passing numeric control Message-passing push button Toggle Button Eye sink Vertical slider gr-uhd Filter API UHD 4.0 support Power Reference API Bidirectional setting messages on both sink, source gr-vocoder Codec2 dev branch support FreeDV: In/output rates can differ FreeDV: text message output gr-zeromq C++ GRC templates Tag filtering for tag-forwarding blocks Removed VOLK is no longer a submodule Sphinx: consolidate into doxygen, or wiki-maintained block list. Python 2 SWIG gru python module gnuradio-runtime circular_file.cc math/common_factor.hpp gr-blocks bin_statistics_f log2_const gr-digital PFB clock sync: set_taps deprecated old OFDM infrastructur ofdm_frame_acquisition ofdm_frame_sink ofdm_insert_preamble ofdm_sync_fixed ofdm_sync_pn ofdm_sync_pnac ofdm_sync_ml ofdm_receiver digital_voice gr-fft malloc_float, _double: rely on VOLK Goertzel: dtor superfluous gr-filter deprecated window function duplicates (use them from gr-fft!) Fixed CMake: Qwt, Log4Cpp detection ctrlport strings unicodified Freedesktop install script was not executed Redundant icons installed Path substitution on Windows was backslash-broken YAML definitions: more than I can count Cross-building: py interpreter at runtime != build time gnuradio-runtime ctrlport: unholy stored reference to stack-allocated object removed Sine table generation for fixed point math gr_unittest: floatAlmostEqual had a lot of false passes due abuse of all() get_tags_in_range for delay < (end-start) Premature tag pruning release flattened flowgraph after stopping, fixes restartability/shutdown problem PMT serialization portability latency issue caused by setting block alias on msg block Windows logging errors ctrlport: Thrift >= 0.13 broke GRC Tab widget ID visibilities A lot of YAML templates Default setting in qtgui chooser restored Boolean parameters no longer switch buttons Nested namespace handling Don’t rely on set ordering in tests configparser import input box color theme on dark themes Search box typing doesn’t inadvertedly interact with the rest of GRC anymore gr_modtool Empty argument lists allowed Boost UTF replaced CppUnit, this needed to be done here, too gr-analog wfm left/right, filters gr-audio portaudio: lock acquisition was improper gr-blocks Throttle now uses monotonic clock Tag debug only saved last work call’s tags File sink flushes on stop gr_read_file_metadata.py used to lose rx_time precision File source big file handling under Windows file_*: fseek errors used to be ignored gr-digital map_bb: thread safety, buffer overflows additive_scrambler: reset was broken Constellation scalefactor wasn’t always initialized long-standing qa_header_payload_demux bug addressed by waiting for both RX and TX, not only either false triggers in correlate_access_code gr-dtv rate mismatch in ATSC flowgraphs gr-fec async_decoder Heap corruption cc_encoder: constraint length K > 8 led to wrong output gr-fft thread safety of copy assignment/ctor log power FFT Python gr-filter variable_band_pass_filter GRC complex taps input RRC filter gain for alpha = 1 gr-qtgui Remove copies of image data in returns by using move semantics Remove bogus overriding in drawing functions of plot_raster, _waterfall Edit MSG box: don’t require key to be set Don’t check for Python2 libs Number Sink ignored averaging setting gr-uhd UHD apps: Py3 fixes USRP blocks: multichannel objects not properly populating channels gr-video-sdl YUV formats fixed gr-zeromq Don’t depend on deprecated ZMQ functionality Unhandled exceptions now handled, much calmer Avoid infinite blocking in tb.stop() by using ZMQ_LINGER
2021-04-07 18:14:07 +02:00
LDFLAGS.NetBSD+= -lrt
LDFLAGS.SunOS+= -lboost_system
CXXFLAGS.SunOS+= -pthreads
INSTALLATION_DIRS+= ${EGDIR}
# -------- R E S E T CMAKE_ARGS H E R E -------------
CMAKE_ARGS=
CMAKE_ARGS+= -DENABLE_GNURADIO_RUNTIME=ON
CMAKE_ARGS+= -DENABLE_GR_ANALOG=ON
CMAKE_ARGS+= -DENABLE_GR_AUDIO=ON
CMAKE_ARGS+= -DENABLE_GR_BLOCKS=ON
CMAKE_ARGS+= -DENABLE_GR_FFT=ON
CMAKE_ARGS+= -DENABLE_GR_FILTER=ON
CMAKE_ARGS+= -DENABLE_PYTHON=ON
CMAKE_ARGS+= -DENABLE_VOLK=ON -DENABLE_INTERNAL_VOLK=OFF
Update ham/gnuradio-* from 3.7.11 to 3.7.13.3 ## [3.7.13.3] - 2018-06-13 ### Fixed #### Project Scope - For non-C++11 compilers, the new cstdint include doesn't work out; conditionalized it. ## [3.7.13.2] - 2018-05-31 ### Fixed #### Project Scope - Actually bumped version in CMakeLists.txt to 3.7.13.2; the 3.7.13.1 tag was tagged off-branch; maintainer failure to simultaneously push a commit that raises the internal version number to 3.7.14.0: this had to be reverted ASAP. ## [3.7.13.1] - 2018-05-31 ### Fixed #### Project Scope - Actually bumped version in CMakeLists.txt ## [3.7.13.0] - 2018-05-31 ### Fixed #### Project Scope - `boost::posix_time::[milli]second` takes integer numbers, and we now at least cast the floats to integers, as Boost 1.67 forced us to realize we're (incorrectly) using floating point her - CMake: using regex to match compiler against "Clang" now enables correct build on OS X #### GRC - Fixed GRC bug which broke WX and Qt (by altering the template code), in multiple (less than awesome) steps #### gr-blocks - `float_array_to_int`: int32 limits were wrongly hardcoded. - Fixed the undefined behaviour happening in `float_to_complex` when accessing the second input_items element in the single-input case ## [3.7.12.0] - 2018-04-01 ### Software Engineering - Changed Changelog format - Introducing Semantic Versioning - Change of development model: Rather than merging bugfixes to maint, merging maint to master, and next, if applicable, we'll be moving forward more in a typical management model: Development happens on master, and bugfixes are cherrypicked onto the maint-${RELEASE} branch. More info: http://lists.gnu.org/archive/html/discuss-gnuradio/2018-02/msg00133.html - First attempt at having a .clang-format file to improve code contribution style quality. This is Work In Progress. ### Fixed #### Project Scope - Buildability on systems where custom CMake command would try to find "" (empty string) as executable - Buildable with C++11 compilers (though deprecation warning-rich, due to `unique_ptr`) - several previously improperly handled include directories now actually included in individual lib/CMakeLists - Unit test/QA now parallelizable - Logger works with log4cpp <= 1.1.2 both in and out of tree - Python linkage under MinGW64 - Documentation Directory now uniformly "docs/" (instead of sometimes "doc/") - `log` vs `logf` performance bugs - on-time `pmt::mp("string")` calls (instead of cached PMTs) performance bug - Doxygen build now reproducible #### GRC - Dialogs' parent windows - Embedded Python Blocks now work in hierarchical GRC flow graphs #### gnuradio-runtime - `random.h`: Uniform integer Generation depended on Boost version > min version - `random.h`: time-dependency when seeding with `0` replaced with actual standard seed - block startup now synchronized via barrier - New tag propagation policy "custom" for own implementation - `get_tags_in_range` used `v.resize(0)` to clear vectors, which lead to unnecessary memory reallocations - `logger_ptr` now always a pointer, no matter whether logging is enabled; fixes heap corruption bug - `buffer[_reader]_sptr` superfluous grab/release performance bug - BSD threading and shared mem compatibility - PMT: `equal()` comparison #### gr-utils - Sorted files in `gr_modtool` makexml processing, leading to improved reproducibility of builds #### gr-audio - OS X: memcpy bug - OS X: debug mode - Non-Linux ALSA compatibibilty #### gr-analog - `fmdet_cf` now has GRC file - `fastnoise_source`: non-threadsafe `libc` `rand()` replaced by XOROSHIRO128+ #### gr-blocks - `simple_copy` Ctrlport example - Metadata sink/source not closing file on `close()` - `multiply_matrix` formerly used "magic int" value where its API expected enum (and that int wasn't covered) - TCP connection ASIO bug - `tags_strobe`: superfluous tags addition - `vector_sink`: multithreading hazards on `data` access - `tuntap_pdu`: MTU-sized IP packet reception - `socket_pdu`: Garbage Collect closed TCP connections #### gr-channels - IQ imbalance block formula now mathematically correct now mathematically correct - `selective_fading_model`: proper scaling of path length #### gr-digital - `additive_scrambler_bb`: tag triggered reset - `stream_to_tagged_stream`: tag offset after `unlock()` - `blks2/packet.py`: Flushing for small packets - `interpolating_resampler`: GCC 4.0 compile error - `constellation`: 16QAM demapper was wrong for one constellation point - `chunks_to_symbols`: mutex-guard LUT against modification during use - MSVC compatibility throug `and` -> `&&` etc - `crc32_bb`: handle unpacked bytes correctly - `ofdm_carrier_allocator`: catching wrong allocations instead of crashing #### gr-dtv - All examples now are installed - DVB-T2: Removed L1 post scrambling in spec v1.1.1 mode #### gr-fcd - Building on non-Linux systems - Extended symbol bug in Reed-Solomon encoder - DVB-T Cell identifier #### gr-fcd - Building on non-Linux systems #### gr-fec - `channel_construction.py`: return int frozen bit output - `GSL_LDFLAGS` propagation - `polar_decoder` used to be flaky #### gr-fft - locking of fftw wisdom - `window.cc`: removed NaN due to FP math - compilation under MinGW - `logpwrfft.py` reference scaling integer division bug #### gr-filter - Simpson's rule code removed in favor of GSL call #### gr-qtgui - Time sink: Segfault with tag trigger #### gr-uhd - Antenna selection in UHD apps - `uhd_fft` scalar gain-capability - Device selection for multi-device operations in UHD apps - TX streamer creation #### gr-zeromq - Multi-part messages reception ### Added #### Project Scope - Ninja (https://ninja-build.org) now a supported build system #### gnuradio-runtime - Python can now get `gr.WORK_CALLED_PRODUCE` and `gr.DONE` #### gr-utils - `gr_modtool`: Autocompletion, line editing - `gr_modtool`: `copyrightholder` option #### GRC - "Create Duplicate" - "Save a copy" - BokehGUI #### gr-blocks - New `tag_share` block: take tags from one two input streams to one output stream - `tag_gate`: tag filtering - `file_source`: configurable `file_begin` stream tag - `moving_average`: Vector mode (with element-wise MA) - `plateau_detector`: threshold get/set #### gr-digital - `costas_loop_cc`: Optional loop variable outputs - New `correlate_access_code_tag` block - `glfsr` exposed through Python #### gr-dtv - 256QAM mode for ITU-T J.83B transmitter #### gr-fec - negative Polynomials in `cc_encoder` #### gr-filter - `symbol_sync_{cc|ff}` #### gr-uhd - `uhd_app.py`: selectable time/clock sources - make `recv()` call's timeout parameterizable - message-based RX tuning through sink, TX through source ### Changed #### Project Scope - VOLK version requirement: 1.4.0 - Minimal required SWIG version now 2.0.4 - GSL optional dependency - Threw out completely unused `gr_??int` types - Doxygen build no longer contains timestamps - Doxygen build now reproducible - Though factually before, now officially include ZeroMQ and Sphinx as optional dependencies in docs #### gnuradio-runtime - Python gateway allows variable number of ports #### gr-utils - `gr_modtool`: Block template now uses `numpy.float32` instead of float. 32bit float is actually the default GNU Radio type.e. #### gr-blocks - `vector_sink` can preallocate memory for desired amount of items #### gr-digital - `header_format_default` now sps>1-capable - `correlate_acces_code` uses `GR_LOG` #### gr-uhd - `uhd_fft`: respect `lo_offset` in `set_bandwidth` - `usrp_source`: freq tag now actually reflects last set frequency, even on multiple channels #### gr-qtgui - Labels: now with 98.121212388% improved floating point formatting - Time Sink: Stem plot option exposed ### Deprecated #### gnuradio-runtime - `gr::sys_pri`
2018-07-16 09:55:22 +02:00
CMAKE_ARGS+= -DCMAKE_HAVE_PTHREADS_CREATE=OFF
# Default setting (for pkgsrc)
CMAKE_ARGS+= -Wno-dev
CMAKE_ARGS+= -DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE
CMAKE_ARGS+= -DCMAKE_INCLUDE_PATH=${PREFIX}/include/portaudio2
CMAKE_ARGS+= -DCMAKE_LIBRARY_PATH=${PREFIX}/lib/portaudio2
CMAKE_ARGS+= -DCMAKE_INSTALL_RPATH=${PREFIX}/lib:${PREFIX}/lib/portaudio2
CMAKE_ARGS+= -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE
CMAKE_ARGS+= -DLIBUSB_INCLUDE_DIR=${PREFIX}/include/libusb-1.0
gnuradio-*: update to 3.9.1.0 Changed C++14 C11 VOLK now “regular” dependency, not in-tree submodule numpy now also a CMake-checked hard dependency for Python support Exception Handling: throw by value, catch by reference (clang-tidy check) C++11: Emplace in vectors where you can; brings performance boni, but not included in clang-tidy-checks An exception-throwing block will now terminate the flow graph process, configurable through top_block gr-utils cleanup, folder restructuring config version checks installed CMake file will accept “at least this version” now PyBind11 replaces SWIG Full tree conversion from SWIG to Pybind11 bindings Doxygen now uses MathJax, full LaTeX installation no longer required GRC start flowgraph in folder where it resides gnuradio-runtime When calculating offsets in non-integer rate FEC, lround default seed for gr::random now actually as documented time-dependent loggers moved from gr::block to gr::basic_block PMT serialization PMT dicts no longer indistinguishable from pairs PMT symbol hashing no longer suffers under oddball own implementations gr-audio Increased ALSA buffer nperiods gr-blocks add, add_const VOLK’ized, templated this seems to break things in other places, even if it proves to be mathematically identical wavfile infrastructure: libsndfile now dependency gr-digital transcendental block: default to 32 bit float complex, not double Linear equalizer: separate adaptive algorithm, allows for using e.g. trained sequences instead of the classical LMS, CMA DFE: better structure for decision history gr-dtv LDPC encoder: template functions instead of #defined macros LDPC encoder: smaller tables through uint16_t for index tables gr-fec API uint8_t, not char gr-fft FFT blocks/functions templatized gr-filter logging format rational_resampler_base -> rational_resampler gr-uhd Required UHD version bumped to 3.9.7 logging format Deprecated gr-analog sig_source: freq port will be removed in the future gr-audio audio-sink, -source: Windows audio sink/source deprecated, the portaudio sink/source works even better under windows anyway gr-digital In favor of symbol_sync, deprecate: clock_recovery_mm msk_timing_recovery pfb_clock_sync Added C++ Generation all over the place PyBind bindings + generator gnuradio-runtime block_gateway: set_max_output_buffer GR_PREFS_PATH environment variable sensitivity to configure the path to the config file gnuradio-config-info --print-all GRC option to toggle ID visibilities globally Validation check for QT GUI hints Python snippets block header parsing tool block header parsing tool (GSoC 2019) gr_modtool option to convert blacklisted files gr-analog sig_source: cmd port adds support for dicts, setting of frequency, amplitude, offset and phase parameters gr-blocks selector now has control message ports Rotator-based freq shift convenience wrapper Message-to-Variable and vice versa blocks DC Spike removal IQ Swap Complex to interleaved char / short: scaling option Delay block: control message port Phase Shift block with message port wavfile_sink, _source can now deal with a lot of audio formats: uncompressed WAV/AIFF, µ- and A-law compressed audio, OGG/Vorbis, FLAC, even octave files Stream Demux, which demuxes streams according to lengths vector rotator: phase() getter gr-digital OFDM: multiple CP lengths ofdm_equalizer_simpledfe: enable_soft_output Constellation Encoder Constellation: normalization options gr-fec {en,de}code_rs_8, {en,de}code_rs_ccsds: Reed-Solomon en- and decoders gr-fft Windows: Gaussian Flat Top Tukey Window build() call now with default beta gr-filter GRC: File taps loader block Low pass FFT filter convenience wrapper ichar / ishort decimator phase continuity for freq_xlating_fir_filter gr-network gr-network: a whole new networking blocks module! TCP UDP Much better lockup/multithreading support than 3.7-era blks2 gr-qtgui Azimuth/Elevation plot Autocorrelation plot Compass visualization Dial control Gauge: dial, level Distance plot LED-like indicator Message-passing check box Message-passing numeric control Message-passing push button Toggle Button Eye sink Vertical slider gr-uhd Filter API UHD 4.0 support Power Reference API Bidirectional setting messages on both sink, source gr-vocoder Codec2 dev branch support FreeDV: In/output rates can differ FreeDV: text message output gr-zeromq C++ GRC templates Tag filtering for tag-forwarding blocks Removed VOLK is no longer a submodule Sphinx: consolidate into doxygen, or wiki-maintained block list. Python 2 SWIG gru python module gnuradio-runtime circular_file.cc math/common_factor.hpp gr-blocks bin_statistics_f log2_const gr-digital PFB clock sync: set_taps deprecated old OFDM infrastructur ofdm_frame_acquisition ofdm_frame_sink ofdm_insert_preamble ofdm_sync_fixed ofdm_sync_pn ofdm_sync_pnac ofdm_sync_ml ofdm_receiver digital_voice gr-fft malloc_float, _double: rely on VOLK Goertzel: dtor superfluous gr-filter deprecated window function duplicates (use them from gr-fft!) Fixed CMake: Qwt, Log4Cpp detection ctrlport strings unicodified Freedesktop install script was not executed Redundant icons installed Path substitution on Windows was backslash-broken YAML definitions: more than I can count Cross-building: py interpreter at runtime != build time gnuradio-runtime ctrlport: unholy stored reference to stack-allocated object removed Sine table generation for fixed point math gr_unittest: floatAlmostEqual had a lot of false passes due abuse of all() get_tags_in_range for delay < (end-start) Premature tag pruning release flattened flowgraph after stopping, fixes restartability/shutdown problem PMT serialization portability latency issue caused by setting block alias on msg block Windows logging errors ctrlport: Thrift >= 0.13 broke GRC Tab widget ID visibilities A lot of YAML templates Default setting in qtgui chooser restored Boolean parameters no longer switch buttons Nested namespace handling Don’t rely on set ordering in tests configparser import input box color theme on dark themes Search box typing doesn’t inadvertedly interact with the rest of GRC anymore gr_modtool Empty argument lists allowed Boost UTF replaced CppUnit, this needed to be done here, too gr-analog wfm left/right, filters gr-audio portaudio: lock acquisition was improper gr-blocks Throttle now uses monotonic clock Tag debug only saved last work call’s tags File sink flushes on stop gr_read_file_metadata.py used to lose rx_time precision File source big file handling under Windows file_*: fseek errors used to be ignored gr-digital map_bb: thread safety, buffer overflows additive_scrambler: reset was broken Constellation scalefactor wasn’t always initialized long-standing qa_header_payload_demux bug addressed by waiting for both RX and TX, not only either false triggers in correlate_access_code gr-dtv rate mismatch in ATSC flowgraphs gr-fec async_decoder Heap corruption cc_encoder: constraint length K > 8 led to wrong output gr-fft thread safety of copy assignment/ctor log power FFT Python gr-filter variable_band_pass_filter GRC complex taps input RRC filter gain for alpha = 1 gr-qtgui Remove copies of image data in returns by using move semantics Remove bogus overriding in drawing functions of plot_raster, _waterfall Edit MSG box: don’t require key to be set Don’t check for Python2 libs Number Sink ignored averaging setting gr-uhd UHD apps: Py3 fixes USRP blocks: multichannel objects not properly populating channels gr-video-sdl YUV formats fixed gr-zeromq Don’t depend on deprecated ZMQ functionality Unhandled exceptions now handled, much calmer Avoid infinite blocking in tb.stop() by using ZMQ_LINGER
2021-04-07 18:14:07 +02:00
CMAKE_ARGS+= -Dpybind11_DIR=${PREFIX}/${PYSITELIB}/pybind11/share/cmake/pybind11
CMAKE_ARGS+= -DGR_LIBRARY_DIR=${PREFIX}/lib
CMAKE_ARGS+= -DGR_PREFSDIR=${PREFIX}/share/gnuradio/examples/
Update ham/gnuradio-* from 3.7.11 to 3.7.13.3 ## [3.7.13.3] - 2018-06-13 ### Fixed #### Project Scope - For non-C++11 compilers, the new cstdint include doesn't work out; conditionalized it. ## [3.7.13.2] - 2018-05-31 ### Fixed #### Project Scope - Actually bumped version in CMakeLists.txt to 3.7.13.2; the 3.7.13.1 tag was tagged off-branch; maintainer failure to simultaneously push a commit that raises the internal version number to 3.7.14.0: this had to be reverted ASAP. ## [3.7.13.1] - 2018-05-31 ### Fixed #### Project Scope - Actually bumped version in CMakeLists.txt ## [3.7.13.0] - 2018-05-31 ### Fixed #### Project Scope - `boost::posix_time::[milli]second` takes integer numbers, and we now at least cast the floats to integers, as Boost 1.67 forced us to realize we're (incorrectly) using floating point her - CMake: using regex to match compiler against "Clang" now enables correct build on OS X #### GRC - Fixed GRC bug which broke WX and Qt (by altering the template code), in multiple (less than awesome) steps #### gr-blocks - `float_array_to_int`: int32 limits were wrongly hardcoded. - Fixed the undefined behaviour happening in `float_to_complex` when accessing the second input_items element in the single-input case ## [3.7.12.0] - 2018-04-01 ### Software Engineering - Changed Changelog format - Introducing Semantic Versioning - Change of development model: Rather than merging bugfixes to maint, merging maint to master, and next, if applicable, we'll be moving forward more in a typical management model: Development happens on master, and bugfixes are cherrypicked onto the maint-${RELEASE} branch. More info: http://lists.gnu.org/archive/html/discuss-gnuradio/2018-02/msg00133.html - First attempt at having a .clang-format file to improve code contribution style quality. This is Work In Progress. ### Fixed #### Project Scope - Buildability on systems where custom CMake command would try to find "" (empty string) as executable - Buildable with C++11 compilers (though deprecation warning-rich, due to `unique_ptr`) - several previously improperly handled include directories now actually included in individual lib/CMakeLists - Unit test/QA now parallelizable - Logger works with log4cpp <= 1.1.2 both in and out of tree - Python linkage under MinGW64 - Documentation Directory now uniformly "docs/" (instead of sometimes "doc/") - `log` vs `logf` performance bugs - on-time `pmt::mp("string")` calls (instead of cached PMTs) performance bug - Doxygen build now reproducible #### GRC - Dialogs' parent windows - Embedded Python Blocks now work in hierarchical GRC flow graphs #### gnuradio-runtime - `random.h`: Uniform integer Generation depended on Boost version > min version - `random.h`: time-dependency when seeding with `0` replaced with actual standard seed - block startup now synchronized via barrier - New tag propagation policy "custom" for own implementation - `get_tags_in_range` used `v.resize(0)` to clear vectors, which lead to unnecessary memory reallocations - `logger_ptr` now always a pointer, no matter whether logging is enabled; fixes heap corruption bug - `buffer[_reader]_sptr` superfluous grab/release performance bug - BSD threading and shared mem compatibility - PMT: `equal()` comparison #### gr-utils - Sorted files in `gr_modtool` makexml processing, leading to improved reproducibility of builds #### gr-audio - OS X: memcpy bug - OS X: debug mode - Non-Linux ALSA compatibibilty #### gr-analog - `fmdet_cf` now has GRC file - `fastnoise_source`: non-threadsafe `libc` `rand()` replaced by XOROSHIRO128+ #### gr-blocks - `simple_copy` Ctrlport example - Metadata sink/source not closing file on `close()` - `multiply_matrix` formerly used "magic int" value where its API expected enum (and that int wasn't covered) - TCP connection ASIO bug - `tags_strobe`: superfluous tags addition - `vector_sink`: multithreading hazards on `data` access - `tuntap_pdu`: MTU-sized IP packet reception - `socket_pdu`: Garbage Collect closed TCP connections #### gr-channels - IQ imbalance block formula now mathematically correct now mathematically correct - `selective_fading_model`: proper scaling of path length #### gr-digital - `additive_scrambler_bb`: tag triggered reset - `stream_to_tagged_stream`: tag offset after `unlock()` - `blks2/packet.py`: Flushing for small packets - `interpolating_resampler`: GCC 4.0 compile error - `constellation`: 16QAM demapper was wrong for one constellation point - `chunks_to_symbols`: mutex-guard LUT against modification during use - MSVC compatibility throug `and` -> `&&` etc - `crc32_bb`: handle unpacked bytes correctly - `ofdm_carrier_allocator`: catching wrong allocations instead of crashing #### gr-dtv - All examples now are installed - DVB-T2: Removed L1 post scrambling in spec v1.1.1 mode #### gr-fcd - Building on non-Linux systems - Extended symbol bug in Reed-Solomon encoder - DVB-T Cell identifier #### gr-fcd - Building on non-Linux systems #### gr-fec - `channel_construction.py`: return int frozen bit output - `GSL_LDFLAGS` propagation - `polar_decoder` used to be flaky #### gr-fft - locking of fftw wisdom - `window.cc`: removed NaN due to FP math - compilation under MinGW - `logpwrfft.py` reference scaling integer division bug #### gr-filter - Simpson's rule code removed in favor of GSL call #### gr-qtgui - Time sink: Segfault with tag trigger #### gr-uhd - Antenna selection in UHD apps - `uhd_fft` scalar gain-capability - Device selection for multi-device operations in UHD apps - TX streamer creation #### gr-zeromq - Multi-part messages reception ### Added #### Project Scope - Ninja (https://ninja-build.org) now a supported build system #### gnuradio-runtime - Python can now get `gr.WORK_CALLED_PRODUCE` and `gr.DONE` #### gr-utils - `gr_modtool`: Autocompletion, line editing - `gr_modtool`: `copyrightholder` option #### GRC - "Create Duplicate" - "Save a copy" - BokehGUI #### gr-blocks - New `tag_share` block: take tags from one two input streams to one output stream - `tag_gate`: tag filtering - `file_source`: configurable `file_begin` stream tag - `moving_average`: Vector mode (with element-wise MA) - `plateau_detector`: threshold get/set #### gr-digital - `costas_loop_cc`: Optional loop variable outputs - New `correlate_access_code_tag` block - `glfsr` exposed through Python #### gr-dtv - 256QAM mode for ITU-T J.83B transmitter #### gr-fec - negative Polynomials in `cc_encoder` #### gr-filter - `symbol_sync_{cc|ff}` #### gr-uhd - `uhd_app.py`: selectable time/clock sources - make `recv()` call's timeout parameterizable - message-based RX tuning through sink, TX through source ### Changed #### Project Scope - VOLK version requirement: 1.4.0 - Minimal required SWIG version now 2.0.4 - GSL optional dependency - Threw out completely unused `gr_??int` types - Doxygen build no longer contains timestamps - Doxygen build now reproducible - Though factually before, now officially include ZeroMQ and Sphinx as optional dependencies in docs #### gnuradio-runtime - Python gateway allows variable number of ports #### gr-utils - `gr_modtool`: Block template now uses `numpy.float32` instead of float. 32bit float is actually the default GNU Radio type.e. #### gr-blocks - `vector_sink` can preallocate memory for desired amount of items #### gr-digital - `header_format_default` now sps>1-capable - `correlate_acces_code` uses `GR_LOG` #### gr-uhd - `uhd_fft`: respect `lo_offset` in `set_bandwidth` - `usrp_source`: freq tag now actually reflects last set frequency, even on multiple channels #### gr-qtgui - Labels: now with 98.121212388% improved floating point formatting - Time Sink: Stem plot option exposed ### Deprecated #### gnuradio-runtime - `gr::sys_pri`
2018-07-16 09:55:22 +02:00
# adhoc setup not to pick non default version (say python3.6)
# at configure
gnuradio-core: update to 3.8.1.0 Here is a very high level list of changes: ## Changed ### Project Scope - C++11 - merged the wholeness of the `next` branch - Dependency version bumps: CMake, GCC, MSVC, Swig, Boost - New dependencies: MPIR/GMP, Qt5, gsm, codec2 - Removed dependencies: libusb, Qt4, CppUnit - Python: Python 2 & Python 3 compatible. 3.8 will be the last Py2k-compatible release series - gengen was replaced by templates (if you don't know gengen, don't do any research; save yourself that sorrow) - Modern CMake (as far as feasible at this point) - VOLK version updated to v2.0.0 - .clang-format file now dictates coding style - clang-format'ed the whole tree. - installed CMake files now tell about configuration ### gnuradio-runtime - reworked fractional tag time handling, especially in the context of resamplers ### GRC - C++ generation as option - YAML instead of XML - removed `blks2` - much better canvas tooling - consistent gobject usage - ROUNDED ARROWS ### gr-qtgui - moving from Qt4 to Qt5 ### gr-utils - `gr_modtool` now vastly improved ### gr-vocoder - improved versatility - removed in-tree libgsm, libcodec2, use system-wide libs ## Removed ### Project Scope - Modules `gr-comedi`, `gr-fcd` and `gr-wxgui` are gone ### gr-comedi - nobody could remember who used this, or for what. It has seen 0 active code contributions in the 3.7 lifecycle ### gr-digital - python-based `packet_encoder` and related tools: Bugs that were sporadic and never fixed, so after long deprecation, we're removing it ### gr-fcd - since it's currently untestable by the CI, it's being removed, as there was no code contributions. Generally, we strive to include all batteries with GNU Radio. Re-integration within a more general SDR interface would be desirable. ### gr-utils - removed PyQwt (dead) based tools ### gr-wxgui - Unmaintained, breaks on increasingly many systems, always was slower than Qtgui. We've been starting to tell people to migrate to Qt since at least 2015. Now, we're finally removing it.
2020-08-30 22:43:46 +02:00
#MAKE_ARGS+= -DPYTHON_EXECUTABLE=${PREFIX}/bin/python${PYVERSSUFFIX}
Update ham/gnuradio-* from 3.7.11 to 3.7.13.3 ## [3.7.13.3] - 2018-06-13 ### Fixed #### Project Scope - For non-C++11 compilers, the new cstdint include doesn't work out; conditionalized it. ## [3.7.13.2] - 2018-05-31 ### Fixed #### Project Scope - Actually bumped version in CMakeLists.txt to 3.7.13.2; the 3.7.13.1 tag was tagged off-branch; maintainer failure to simultaneously push a commit that raises the internal version number to 3.7.14.0: this had to be reverted ASAP. ## [3.7.13.1] - 2018-05-31 ### Fixed #### Project Scope - Actually bumped version in CMakeLists.txt ## [3.7.13.0] - 2018-05-31 ### Fixed #### Project Scope - `boost::posix_time::[milli]second` takes integer numbers, and we now at least cast the floats to integers, as Boost 1.67 forced us to realize we're (incorrectly) using floating point her - CMake: using regex to match compiler against "Clang" now enables correct build on OS X #### GRC - Fixed GRC bug which broke WX and Qt (by altering the template code), in multiple (less than awesome) steps #### gr-blocks - `float_array_to_int`: int32 limits were wrongly hardcoded. - Fixed the undefined behaviour happening in `float_to_complex` when accessing the second input_items element in the single-input case ## [3.7.12.0] - 2018-04-01 ### Software Engineering - Changed Changelog format - Introducing Semantic Versioning - Change of development model: Rather than merging bugfixes to maint, merging maint to master, and next, if applicable, we'll be moving forward more in a typical management model: Development happens on master, and bugfixes are cherrypicked onto the maint-${RELEASE} branch. More info: http://lists.gnu.org/archive/html/discuss-gnuradio/2018-02/msg00133.html - First attempt at having a .clang-format file to improve code contribution style quality. This is Work In Progress. ### Fixed #### Project Scope - Buildability on systems where custom CMake command would try to find "" (empty string) as executable - Buildable with C++11 compilers (though deprecation warning-rich, due to `unique_ptr`) - several previously improperly handled include directories now actually included in individual lib/CMakeLists - Unit test/QA now parallelizable - Logger works with log4cpp <= 1.1.2 both in and out of tree - Python linkage under MinGW64 - Documentation Directory now uniformly "docs/" (instead of sometimes "doc/") - `log` vs `logf` performance bugs - on-time `pmt::mp("string")` calls (instead of cached PMTs) performance bug - Doxygen build now reproducible #### GRC - Dialogs' parent windows - Embedded Python Blocks now work in hierarchical GRC flow graphs #### gnuradio-runtime - `random.h`: Uniform integer Generation depended on Boost version > min version - `random.h`: time-dependency when seeding with `0` replaced with actual standard seed - block startup now synchronized via barrier - New tag propagation policy "custom" for own implementation - `get_tags_in_range` used `v.resize(0)` to clear vectors, which lead to unnecessary memory reallocations - `logger_ptr` now always a pointer, no matter whether logging is enabled; fixes heap corruption bug - `buffer[_reader]_sptr` superfluous grab/release performance bug - BSD threading and shared mem compatibility - PMT: `equal()` comparison #### gr-utils - Sorted files in `gr_modtool` makexml processing, leading to improved reproducibility of builds #### gr-audio - OS X: memcpy bug - OS X: debug mode - Non-Linux ALSA compatibibilty #### gr-analog - `fmdet_cf` now has GRC file - `fastnoise_source`: non-threadsafe `libc` `rand()` replaced by XOROSHIRO128+ #### gr-blocks - `simple_copy` Ctrlport example - Metadata sink/source not closing file on `close()` - `multiply_matrix` formerly used "magic int" value where its API expected enum (and that int wasn't covered) - TCP connection ASIO bug - `tags_strobe`: superfluous tags addition - `vector_sink`: multithreading hazards on `data` access - `tuntap_pdu`: MTU-sized IP packet reception - `socket_pdu`: Garbage Collect closed TCP connections #### gr-channels - IQ imbalance block formula now mathematically correct now mathematically correct - `selective_fading_model`: proper scaling of path length #### gr-digital - `additive_scrambler_bb`: tag triggered reset - `stream_to_tagged_stream`: tag offset after `unlock()` - `blks2/packet.py`: Flushing for small packets - `interpolating_resampler`: GCC 4.0 compile error - `constellation`: 16QAM demapper was wrong for one constellation point - `chunks_to_symbols`: mutex-guard LUT against modification during use - MSVC compatibility throug `and` -> `&&` etc - `crc32_bb`: handle unpacked bytes correctly - `ofdm_carrier_allocator`: catching wrong allocations instead of crashing #### gr-dtv - All examples now are installed - DVB-T2: Removed L1 post scrambling in spec v1.1.1 mode #### gr-fcd - Building on non-Linux systems - Extended symbol bug in Reed-Solomon encoder - DVB-T Cell identifier #### gr-fcd - Building on non-Linux systems #### gr-fec - `channel_construction.py`: return int frozen bit output - `GSL_LDFLAGS` propagation - `polar_decoder` used to be flaky #### gr-fft - locking of fftw wisdom - `window.cc`: removed NaN due to FP math - compilation under MinGW - `logpwrfft.py` reference scaling integer division bug #### gr-filter - Simpson's rule code removed in favor of GSL call #### gr-qtgui - Time sink: Segfault with tag trigger #### gr-uhd - Antenna selection in UHD apps - `uhd_fft` scalar gain-capability - Device selection for multi-device operations in UHD apps - TX streamer creation #### gr-zeromq - Multi-part messages reception ### Added #### Project Scope - Ninja (https://ninja-build.org) now a supported build system #### gnuradio-runtime - Python can now get `gr.WORK_CALLED_PRODUCE` and `gr.DONE` #### gr-utils - `gr_modtool`: Autocompletion, line editing - `gr_modtool`: `copyrightholder` option #### GRC - "Create Duplicate" - "Save a copy" - BokehGUI #### gr-blocks - New `tag_share` block: take tags from one two input streams to one output stream - `tag_gate`: tag filtering - `file_source`: configurable `file_begin` stream tag - `moving_average`: Vector mode (with element-wise MA) - `plateau_detector`: threshold get/set #### gr-digital - `costas_loop_cc`: Optional loop variable outputs - New `correlate_access_code_tag` block - `glfsr` exposed through Python #### gr-dtv - 256QAM mode for ITU-T J.83B transmitter #### gr-fec - negative Polynomials in `cc_encoder` #### gr-filter - `symbol_sync_{cc|ff}` #### gr-uhd - `uhd_app.py`: selectable time/clock sources - make `recv()` call's timeout parameterizable - message-based RX tuning through sink, TX through source ### Changed #### Project Scope - VOLK version requirement: 1.4.0 - Minimal required SWIG version now 2.0.4 - GSL optional dependency - Threw out completely unused `gr_??int` types - Doxygen build no longer contains timestamps - Doxygen build now reproducible - Though factually before, now officially include ZeroMQ and Sphinx as optional dependencies in docs #### gnuradio-runtime - Python gateway allows variable number of ports #### gr-utils - `gr_modtool`: Block template now uses `numpy.float32` instead of float. 32bit float is actually the default GNU Radio type.e. #### gr-blocks - `vector_sink` can preallocate memory for desired amount of items #### gr-digital - `header_format_default` now sps>1-capable - `correlate_acces_code` uses `GR_LOG` #### gr-uhd - `uhd_fft`: respect `lo_offset` in `set_bandwidth` - `usrp_source`: freq tag now actually reflects last set frequency, even on multiple channels #### gr-qtgui - Labels: now with 98.121212388% improved floating point formatting - Time Sink: Stem plot option exposed ### Deprecated #### gnuradio-runtime - `gr::sys_pri`
2018-07-16 09:55:22 +02:00
CMAKE_ARGS+= -DZEROMQ_INCLUDE_DIRS=${PREFIX}/include
CMAKE_ARG_PATH= ../
.include "options.mk"
# disable/enable ALSA, see also patches/patch-gr-audio_lib_CMakeLists.txt
SUBST_CLASSES+= alsa
SUBST_MESSAGE.alsa= Arrange the patched line depepending on alsa is in PKG_OPTIONS or not
SUBST_FILES.alsa+= gr-audio/lib/CMakeLists.txt
## The value of ${ALSA_ENABLED} is either '#' or '' by options.mk.
SUBST_SED.alsa= -e 's,@@ALSA@@,${ALSA_ENABLED},'
SUBST_STAGE.alsa= pre-configure
gnuradio-*: update to 3.9.1.0 Changed C++14 C11 VOLK now “regular” dependency, not in-tree submodule numpy now also a CMake-checked hard dependency for Python support Exception Handling: throw by value, catch by reference (clang-tidy check) C++11: Emplace in vectors where you can; brings performance boni, but not included in clang-tidy-checks An exception-throwing block will now terminate the flow graph process, configurable through top_block gr-utils cleanup, folder restructuring config version checks installed CMake file will accept “at least this version” now PyBind11 replaces SWIG Full tree conversion from SWIG to Pybind11 bindings Doxygen now uses MathJax, full LaTeX installation no longer required GRC start flowgraph in folder where it resides gnuradio-runtime When calculating offsets in non-integer rate FEC, lround default seed for gr::random now actually as documented time-dependent loggers moved from gr::block to gr::basic_block PMT serialization PMT dicts no longer indistinguishable from pairs PMT symbol hashing no longer suffers under oddball own implementations gr-audio Increased ALSA buffer nperiods gr-blocks add, add_const VOLK’ized, templated this seems to break things in other places, even if it proves to be mathematically identical wavfile infrastructure: libsndfile now dependency gr-digital transcendental block: default to 32 bit float complex, not double Linear equalizer: separate adaptive algorithm, allows for using e.g. trained sequences instead of the classical LMS, CMA DFE: better structure for decision history gr-dtv LDPC encoder: template functions instead of #defined macros LDPC encoder: smaller tables through uint16_t for index tables gr-fec API uint8_t, not char gr-fft FFT blocks/functions templatized gr-filter logging format rational_resampler_base -> rational_resampler gr-uhd Required UHD version bumped to 3.9.7 logging format Deprecated gr-analog sig_source: freq port will be removed in the future gr-audio audio-sink, -source: Windows audio sink/source deprecated, the portaudio sink/source works even better under windows anyway gr-digital In favor of symbol_sync, deprecate: clock_recovery_mm msk_timing_recovery pfb_clock_sync Added C++ Generation all over the place PyBind bindings + generator gnuradio-runtime block_gateway: set_max_output_buffer GR_PREFS_PATH environment variable sensitivity to configure the path to the config file gnuradio-config-info --print-all GRC option to toggle ID visibilities globally Validation check for QT GUI hints Python snippets block header parsing tool block header parsing tool (GSoC 2019) gr_modtool option to convert blacklisted files gr-analog sig_source: cmd port adds support for dicts, setting of frequency, amplitude, offset and phase parameters gr-blocks selector now has control message ports Rotator-based freq shift convenience wrapper Message-to-Variable and vice versa blocks DC Spike removal IQ Swap Complex to interleaved char / short: scaling option Delay block: control message port Phase Shift block with message port wavfile_sink, _source can now deal with a lot of audio formats: uncompressed WAV/AIFF, µ- and A-law compressed audio, OGG/Vorbis, FLAC, even octave files Stream Demux, which demuxes streams according to lengths vector rotator: phase() getter gr-digital OFDM: multiple CP lengths ofdm_equalizer_simpledfe: enable_soft_output Constellation Encoder Constellation: normalization options gr-fec {en,de}code_rs_8, {en,de}code_rs_ccsds: Reed-Solomon en- and decoders gr-fft Windows: Gaussian Flat Top Tukey Window build() call now with default beta gr-filter GRC: File taps loader block Low pass FFT filter convenience wrapper ichar / ishort decimator phase continuity for freq_xlating_fir_filter gr-network gr-network: a whole new networking blocks module! TCP UDP Much better lockup/multithreading support than 3.7-era blks2 gr-qtgui Azimuth/Elevation plot Autocorrelation plot Compass visualization Dial control Gauge: dial, level Distance plot LED-like indicator Message-passing check box Message-passing numeric control Message-passing push button Toggle Button Eye sink Vertical slider gr-uhd Filter API UHD 4.0 support Power Reference API Bidirectional setting messages on both sink, source gr-vocoder Codec2 dev branch support FreeDV: In/output rates can differ FreeDV: text message output gr-zeromq C++ GRC templates Tag filtering for tag-forwarding blocks Removed VOLK is no longer a submodule Sphinx: consolidate into doxygen, or wiki-maintained block list. Python 2 SWIG gru python module gnuradio-runtime circular_file.cc math/common_factor.hpp gr-blocks bin_statistics_f log2_const gr-digital PFB clock sync: set_taps deprecated old OFDM infrastructur ofdm_frame_acquisition ofdm_frame_sink ofdm_insert_preamble ofdm_sync_fixed ofdm_sync_pn ofdm_sync_pnac ofdm_sync_ml ofdm_receiver digital_voice gr-fft malloc_float, _double: rely on VOLK Goertzel: dtor superfluous gr-filter deprecated window function duplicates (use them from gr-fft!) Fixed CMake: Qwt, Log4Cpp detection ctrlport strings unicodified Freedesktop install script was not executed Redundant icons installed Path substitution on Windows was backslash-broken YAML definitions: more than I can count Cross-building: py interpreter at runtime != build time gnuradio-runtime ctrlport: unholy stored reference to stack-allocated object removed Sine table generation for fixed point math gr_unittest: floatAlmostEqual had a lot of false passes due abuse of all() get_tags_in_range for delay < (end-start) Premature tag pruning release flattened flowgraph after stopping, fixes restartability/shutdown problem PMT serialization portability latency issue caused by setting block alias on msg block Windows logging errors ctrlport: Thrift >= 0.13 broke GRC Tab widget ID visibilities A lot of YAML templates Default setting in qtgui chooser restored Boolean parameters no longer switch buttons Nested namespace handling Don’t rely on set ordering in tests configparser import input box color theme on dark themes Search box typing doesn’t inadvertedly interact with the rest of GRC anymore gr_modtool Empty argument lists allowed Boost UTF replaced CppUnit, this needed to be done here, too gr-analog wfm left/right, filters gr-audio portaudio: lock acquisition was improper gr-blocks Throttle now uses monotonic clock Tag debug only saved last work call’s tags File sink flushes on stop gr_read_file_metadata.py used to lose rx_time precision File source big file handling under Windows file_*: fseek errors used to be ignored gr-digital map_bb: thread safety, buffer overflows additive_scrambler: reset was broken Constellation scalefactor wasn’t always initialized long-standing qa_header_payload_demux bug addressed by waiting for both RX and TX, not only either false triggers in correlate_access_code gr-dtv rate mismatch in ATSC flowgraphs gr-fec async_decoder Heap corruption cc_encoder: constraint length K > 8 led to wrong output gr-fft thread safety of copy assignment/ctor log power FFT Python gr-filter variable_band_pass_filter GRC complex taps input RRC filter gain for alpha = 1 gr-qtgui Remove copies of image data in returns by using move semantics Remove bogus overriding in drawing functions of plot_raster, _waterfall Edit MSG box: don’t require key to be set Don’t check for Python2 libs Number Sink ignored averaging setting gr-uhd UHD apps: Py3 fixes USRP blocks: multichannel objects not properly populating channels gr-video-sdl YUV formats fixed gr-zeromq Don’t depend on deprecated ZMQ functionality Unhandled exceptions now handled, much calmer Avoid infinite blocking in tb.stop() by using ZMQ_LINGER
2021-04-07 18:14:07 +02:00
SUBST_CLASSES+= prefix
SUBST_STAGE.prefix= pre-configure
SUBST_MESSAGE.prefix= Substitute PREFIX
SUBST_FILES.prefix= gnuradio-runtime/lib/constants.cc.in
SUBST_VARS.prefix= PREFIX
gnuradio-core: update to 3.8.1.0 Here is a very high level list of changes: ## Changed ### Project Scope - C++11 - merged the wholeness of the `next` branch - Dependency version bumps: CMake, GCC, MSVC, Swig, Boost - New dependencies: MPIR/GMP, Qt5, gsm, codec2 - Removed dependencies: libusb, Qt4, CppUnit - Python: Python 2 & Python 3 compatible. 3.8 will be the last Py2k-compatible release series - gengen was replaced by templates (if you don't know gengen, don't do any research; save yourself that sorrow) - Modern CMake (as far as feasible at this point) - VOLK version updated to v2.0.0 - .clang-format file now dictates coding style - clang-format'ed the whole tree. - installed CMake files now tell about configuration ### gnuradio-runtime - reworked fractional tag time handling, especially in the context of resamplers ### GRC - C++ generation as option - YAML instead of XML - removed `blks2` - much better canvas tooling - consistent gobject usage - ROUNDED ARROWS ### gr-qtgui - moving from Qt4 to Qt5 ### gr-utils - `gr_modtool` now vastly improved ### gr-vocoder - improved versatility - removed in-tree libgsm, libcodec2, use system-wide libs ## Removed ### Project Scope - Modules `gr-comedi`, `gr-fcd` and `gr-wxgui` are gone ### gr-comedi - nobody could remember who used this, or for what. It has seen 0 active code contributions in the 3.7 lifecycle ### gr-digital - python-based `packet_encoder` and related tools: Bugs that were sporadic and never fixed, so after long deprecation, we're removing it ### gr-fcd - since it's currently untestable by the CI, it's being removed, as there was no code contributions. Generally, we strive to include all batteries with GNU Radio. Re-integration within a more general SDR interface would be desirable. ### gr-utils - removed PyQwt (dead) based tools ### gr-wxgui - Unmaintained, breaks on increasingly many systems, always was slower than Qtgui. We've been starting to tell people to migrate to Qt since at least 2015. Now, we're finally removing it.
2020-08-30 22:43:46 +02:00
REPLACE_PYTHON= */*.py */*/*.py */*/*/*.py */*/*/*/*.py */*/*/*/*/*.py \
*/*/*/*/*/*/*.py */*/*/*/*/*/*/*.py */*/*/*/*/*/*/*/*.py
pre-configure:
${MKDIR} ${WRKSRC}/build
do-install:
cd ${WRKSRC}/${BUILD_DIRS} && ${GMAKE} DESTDIR=${DESTDIR} install
gnuradio-*: update to 3.9.1.0 Changed C++14 C11 VOLK now “regular” dependency, not in-tree submodule numpy now also a CMake-checked hard dependency for Python support Exception Handling: throw by value, catch by reference (clang-tidy check) C++11: Emplace in vectors where you can; brings performance boni, but not included in clang-tidy-checks An exception-throwing block will now terminate the flow graph process, configurable through top_block gr-utils cleanup, folder restructuring config version checks installed CMake file will accept “at least this version” now PyBind11 replaces SWIG Full tree conversion from SWIG to Pybind11 bindings Doxygen now uses MathJax, full LaTeX installation no longer required GRC start flowgraph in folder where it resides gnuradio-runtime When calculating offsets in non-integer rate FEC, lround default seed for gr::random now actually as documented time-dependent loggers moved from gr::block to gr::basic_block PMT serialization PMT dicts no longer indistinguishable from pairs PMT symbol hashing no longer suffers under oddball own implementations gr-audio Increased ALSA buffer nperiods gr-blocks add, add_const VOLK’ized, templated this seems to break things in other places, even if it proves to be mathematically identical wavfile infrastructure: libsndfile now dependency gr-digital transcendental block: default to 32 bit float complex, not double Linear equalizer: separate adaptive algorithm, allows for using e.g. trained sequences instead of the classical LMS, CMA DFE: better structure for decision history gr-dtv LDPC encoder: template functions instead of #defined macros LDPC encoder: smaller tables through uint16_t for index tables gr-fec API uint8_t, not char gr-fft FFT blocks/functions templatized gr-filter logging format rational_resampler_base -> rational_resampler gr-uhd Required UHD version bumped to 3.9.7 logging format Deprecated gr-analog sig_source: freq port will be removed in the future gr-audio audio-sink, -source: Windows audio sink/source deprecated, the portaudio sink/source works even better under windows anyway gr-digital In favor of symbol_sync, deprecate: clock_recovery_mm msk_timing_recovery pfb_clock_sync Added C++ Generation all over the place PyBind bindings + generator gnuradio-runtime block_gateway: set_max_output_buffer GR_PREFS_PATH environment variable sensitivity to configure the path to the config file gnuradio-config-info --print-all GRC option to toggle ID visibilities globally Validation check for QT GUI hints Python snippets block header parsing tool block header parsing tool (GSoC 2019) gr_modtool option to convert blacklisted files gr-analog sig_source: cmd port adds support for dicts, setting of frequency, amplitude, offset and phase parameters gr-blocks selector now has control message ports Rotator-based freq shift convenience wrapper Message-to-Variable and vice versa blocks DC Spike removal IQ Swap Complex to interleaved char / short: scaling option Delay block: control message port Phase Shift block with message port wavfile_sink, _source can now deal with a lot of audio formats: uncompressed WAV/AIFF, µ- and A-law compressed audio, OGG/Vorbis, FLAC, even octave files Stream Demux, which demuxes streams according to lengths vector rotator: phase() getter gr-digital OFDM: multiple CP lengths ofdm_equalizer_simpledfe: enable_soft_output Constellation Encoder Constellation: normalization options gr-fec {en,de}code_rs_8, {en,de}code_rs_ccsds: Reed-Solomon en- and decoders gr-fft Windows: Gaussian Flat Top Tukey Window build() call now with default beta gr-filter GRC: File taps loader block Low pass FFT filter convenience wrapper ichar / ishort decimator phase continuity for freq_xlating_fir_filter gr-network gr-network: a whole new networking blocks module! TCP UDP Much better lockup/multithreading support than 3.7-era blks2 gr-qtgui Azimuth/Elevation plot Autocorrelation plot Compass visualization Dial control Gauge: dial, level Distance plot LED-like indicator Message-passing check box Message-passing numeric control Message-passing push button Toggle Button Eye sink Vertical slider gr-uhd Filter API UHD 4.0 support Power Reference API Bidirectional setting messages on both sink, source gr-vocoder Codec2 dev branch support FreeDV: In/output rates can differ FreeDV: text message output gr-zeromq C++ GRC templates Tag filtering for tag-forwarding blocks Removed VOLK is no longer a submodule Sphinx: consolidate into doxygen, or wiki-maintained block list. Python 2 SWIG gru python module gnuradio-runtime circular_file.cc math/common_factor.hpp gr-blocks bin_statistics_f log2_const gr-digital PFB clock sync: set_taps deprecated old OFDM infrastructur ofdm_frame_acquisition ofdm_frame_sink ofdm_insert_preamble ofdm_sync_fixed ofdm_sync_pn ofdm_sync_pnac ofdm_sync_ml ofdm_receiver digital_voice gr-fft malloc_float, _double: rely on VOLK Goertzel: dtor superfluous gr-filter deprecated window function duplicates (use them from gr-fft!) Fixed CMake: Qwt, Log4Cpp detection ctrlport strings unicodified Freedesktop install script was not executed Redundant icons installed Path substitution on Windows was backslash-broken YAML definitions: more than I can count Cross-building: py interpreter at runtime != build time gnuradio-runtime ctrlport: unholy stored reference to stack-allocated object removed Sine table generation for fixed point math gr_unittest: floatAlmostEqual had a lot of false passes due abuse of all() get_tags_in_range for delay < (end-start) Premature tag pruning release flattened flowgraph after stopping, fixes restartability/shutdown problem PMT serialization portability latency issue caused by setting block alias on msg block Windows logging errors ctrlport: Thrift >= 0.13 broke GRC Tab widget ID visibilities A lot of YAML templates Default setting in qtgui chooser restored Boolean parameters no longer switch buttons Nested namespace handling Don’t rely on set ordering in tests configparser import input box color theme on dark themes Search box typing doesn’t inadvertedly interact with the rest of GRC anymore gr_modtool Empty argument lists allowed Boost UTF replaced CppUnit, this needed to be done here, too gr-analog wfm left/right, filters gr-audio portaudio: lock acquisition was improper gr-blocks Throttle now uses monotonic clock Tag debug only saved last work call’s tags File sink flushes on stop gr_read_file_metadata.py used to lose rx_time precision File source big file handling under Windows file_*: fseek errors used to be ignored gr-digital map_bb: thread safety, buffer overflows additive_scrambler: reset was broken Constellation scalefactor wasn’t always initialized long-standing qa_header_payload_demux bug addressed by waiting for both RX and TX, not only either false triggers in correlate_access_code gr-dtv rate mismatch in ATSC flowgraphs gr-fec async_decoder Heap corruption cc_encoder: constraint length K > 8 led to wrong output gr-fft thread safety of copy assignment/ctor log power FFT Python gr-filter variable_band_pass_filter GRC complex taps input RRC filter gain for alpha = 1 gr-qtgui Remove copies of image data in returns by using move semantics Remove bogus overriding in drawing functions of plot_raster, _waterfall Edit MSG box: don’t require key to be set Don’t check for Python2 libs Number Sink ignored averaging setting gr-uhd UHD apps: Py3 fixes USRP blocks: multichannel objects not properly populating channels gr-video-sdl YUV formats fixed gr-zeromq Don’t depend on deprecated ZMQ functionality Unhandled exceptions now handled, much calmer Avoid infinite blocking in tb.stop() by using ZMQ_LINGER
2021-04-07 18:14:07 +02:00
.include "../../audio/gsm/buildlink3.mk"
.include "../../audio/jack/buildlink3.mk"
.include "../../audio/portaudio/buildlink3.mk"
.include "../../devel/boost-headers/buildlink3.mk"
.include "../../devel/boost-libs/buildlink3.mk"
.include "../../devel/cppunit/buildlink3.mk"
gnuradio-core: update to 3.8.1.0 Here is a very high level list of changes: ## Changed ### Project Scope - C++11 - merged the wholeness of the `next` branch - Dependency version bumps: CMake, GCC, MSVC, Swig, Boost - New dependencies: MPIR/GMP, Qt5, gsm, codec2 - Removed dependencies: libusb, Qt4, CppUnit - Python: Python 2 & Python 3 compatible. 3.8 will be the last Py2k-compatible release series - gengen was replaced by templates (if you don't know gengen, don't do any research; save yourself that sorrow) - Modern CMake (as far as feasible at this point) - VOLK version updated to v2.0.0 - .clang-format file now dictates coding style - clang-format'ed the whole tree. - installed CMake files now tell about configuration ### gnuradio-runtime - reworked fractional tag time handling, especially in the context of resamplers ### GRC - C++ generation as option - YAML instead of XML - removed `blks2` - much better canvas tooling - consistent gobject usage - ROUNDED ARROWS ### gr-qtgui - moving from Qt4 to Qt5 ### gr-utils - `gr_modtool` now vastly improved ### gr-vocoder - improved versatility - removed in-tree libgsm, libcodec2, use system-wide libs ## Removed ### Project Scope - Modules `gr-comedi`, `gr-fcd` and `gr-wxgui` are gone ### gr-comedi - nobody could remember who used this, or for what. It has seen 0 active code contributions in the 3.7 lifecycle ### gr-digital - python-based `packet_encoder` and related tools: Bugs that were sporadic and never fixed, so after long deprecation, we're removing it ### gr-fcd - since it's currently untestable by the CI, it's being removed, as there was no code contributions. Generally, we strive to include all batteries with GNU Radio. Re-integration within a more general SDR interface would be desirable. ### gr-utils - removed PyQwt (dead) based tools ### gr-wxgui - Unmaintained, breaks on increasingly many systems, always was slower than Qtgui. We've been starting to tell people to migrate to Qt since at least 2015. Now, we're finally removing it.
2020-08-30 22:43:46 +02:00
.include "../../devel/gmp/buildlink3.mk"
gnuradio-*: update to 3.9.1.0 Changed C++14 C11 VOLK now “regular” dependency, not in-tree submodule numpy now also a CMake-checked hard dependency for Python support Exception Handling: throw by value, catch by reference (clang-tidy check) C++11: Emplace in vectors where you can; brings performance boni, but not included in clang-tidy-checks An exception-throwing block will now terminate the flow graph process, configurable through top_block gr-utils cleanup, folder restructuring config version checks installed CMake file will accept “at least this version” now PyBind11 replaces SWIG Full tree conversion from SWIG to Pybind11 bindings Doxygen now uses MathJax, full LaTeX installation no longer required GRC start flowgraph in folder where it resides gnuradio-runtime When calculating offsets in non-integer rate FEC, lround default seed for gr::random now actually as documented time-dependent loggers moved from gr::block to gr::basic_block PMT serialization PMT dicts no longer indistinguishable from pairs PMT symbol hashing no longer suffers under oddball own implementations gr-audio Increased ALSA buffer nperiods gr-blocks add, add_const VOLK’ized, templated this seems to break things in other places, even if it proves to be mathematically identical wavfile infrastructure: libsndfile now dependency gr-digital transcendental block: default to 32 bit float complex, not double Linear equalizer: separate adaptive algorithm, allows for using e.g. trained sequences instead of the classical LMS, CMA DFE: better structure for decision history gr-dtv LDPC encoder: template functions instead of #defined macros LDPC encoder: smaller tables through uint16_t for index tables gr-fec API uint8_t, not char gr-fft FFT blocks/functions templatized gr-filter logging format rational_resampler_base -> rational_resampler gr-uhd Required UHD version bumped to 3.9.7 logging format Deprecated gr-analog sig_source: freq port will be removed in the future gr-audio audio-sink, -source: Windows audio sink/source deprecated, the portaudio sink/source works even better under windows anyway gr-digital In favor of symbol_sync, deprecate: clock_recovery_mm msk_timing_recovery pfb_clock_sync Added C++ Generation all over the place PyBind bindings + generator gnuradio-runtime block_gateway: set_max_output_buffer GR_PREFS_PATH environment variable sensitivity to configure the path to the config file gnuradio-config-info --print-all GRC option to toggle ID visibilities globally Validation check for QT GUI hints Python snippets block header parsing tool block header parsing tool (GSoC 2019) gr_modtool option to convert blacklisted files gr-analog sig_source: cmd port adds support for dicts, setting of frequency, amplitude, offset and phase parameters gr-blocks selector now has control message ports Rotator-based freq shift convenience wrapper Message-to-Variable and vice versa blocks DC Spike removal IQ Swap Complex to interleaved char / short: scaling option Delay block: control message port Phase Shift block with message port wavfile_sink, _source can now deal with a lot of audio formats: uncompressed WAV/AIFF, µ- and A-law compressed audio, OGG/Vorbis, FLAC, even octave files Stream Demux, which demuxes streams according to lengths vector rotator: phase() getter gr-digital OFDM: multiple CP lengths ofdm_equalizer_simpledfe: enable_soft_output Constellation Encoder Constellation: normalization options gr-fec {en,de}code_rs_8, {en,de}code_rs_ccsds: Reed-Solomon en- and decoders gr-fft Windows: Gaussian Flat Top Tukey Window build() call now with default beta gr-filter GRC: File taps loader block Low pass FFT filter convenience wrapper ichar / ishort decimator phase continuity for freq_xlating_fir_filter gr-network gr-network: a whole new networking blocks module! TCP UDP Much better lockup/multithreading support than 3.7-era blks2 gr-qtgui Azimuth/Elevation plot Autocorrelation plot Compass visualization Dial control Gauge: dial, level Distance plot LED-like indicator Message-passing check box Message-passing numeric control Message-passing push button Toggle Button Eye sink Vertical slider gr-uhd Filter API UHD 4.0 support Power Reference API Bidirectional setting messages on both sink, source gr-vocoder Codec2 dev branch support FreeDV: In/output rates can differ FreeDV: text message output gr-zeromq C++ GRC templates Tag filtering for tag-forwarding blocks Removed VOLK is no longer a submodule Sphinx: consolidate into doxygen, or wiki-maintained block list. Python 2 SWIG gru python module gnuradio-runtime circular_file.cc math/common_factor.hpp gr-blocks bin_statistics_f log2_const gr-digital PFB clock sync: set_taps deprecated old OFDM infrastructur ofdm_frame_acquisition ofdm_frame_sink ofdm_insert_preamble ofdm_sync_fixed ofdm_sync_pn ofdm_sync_pnac ofdm_sync_ml ofdm_receiver digital_voice gr-fft malloc_float, _double: rely on VOLK Goertzel: dtor superfluous gr-filter deprecated window function duplicates (use them from gr-fft!) Fixed CMake: Qwt, Log4Cpp detection ctrlport strings unicodified Freedesktop install script was not executed Redundant icons installed Path substitution on Windows was backslash-broken YAML definitions: more than I can count Cross-building: py interpreter at runtime != build time gnuradio-runtime ctrlport: unholy stored reference to stack-allocated object removed Sine table generation for fixed point math gr_unittest: floatAlmostEqual had a lot of false passes due abuse of all() get_tags_in_range for delay < (end-start) Premature tag pruning release flattened flowgraph after stopping, fixes restartability/shutdown problem PMT serialization portability latency issue caused by setting block alias on msg block Windows logging errors ctrlport: Thrift >= 0.13 broke GRC Tab widget ID visibilities A lot of YAML templates Default setting in qtgui chooser restored Boolean parameters no longer switch buttons Nested namespace handling Don’t rely on set ordering in tests configparser import input box color theme on dark themes Search box typing doesn’t inadvertedly interact with the rest of GRC anymore gr_modtool Empty argument lists allowed Boost UTF replaced CppUnit, this needed to be done here, too gr-analog wfm left/right, filters gr-audio portaudio: lock acquisition was improper gr-blocks Throttle now uses monotonic clock Tag debug only saved last work call’s tags File sink flushes on stop gr_read_file_metadata.py used to lose rx_time precision File source big file handling under Windows file_*: fseek errors used to be ignored gr-digital map_bb: thread safety, buffer overflows additive_scrambler: reset was broken Constellation scalefactor wasn’t always initialized long-standing qa_header_payload_demux bug addressed by waiting for both RX and TX, not only either false triggers in correlate_access_code gr-dtv rate mismatch in ATSC flowgraphs gr-fec async_decoder Heap corruption cc_encoder: constraint length K > 8 led to wrong output gr-fft thread safety of copy assignment/ctor log power FFT Python gr-filter variable_band_pass_filter GRC complex taps input RRC filter gain for alpha = 1 gr-qtgui Remove copies of image data in returns by using move semantics Remove bogus overriding in drawing functions of plot_raster, _waterfall Edit MSG box: don’t require key to be set Don’t check for Python2 libs Number Sink ignored averaging setting gr-uhd UHD apps: Py3 fixes USRP blocks: multichannel objects not properly populating channels gr-video-sdl YUV formats fixed gr-zeromq Don’t depend on deprecated ZMQ functionality Unhandled exceptions now handled, much calmer Avoid infinite blocking in tb.stop() by using ZMQ_LINGER
2021-04-07 18:14:07 +02:00
BUILDLINK_API_DEPENDS.py-pybind11+= ${PYPKGPREFIX}-pybind11>=2.6.0
.include "../../devel/py-pybind11/buildlink3.mk"
.include "../../graphics/cairo/buildlink3.mk"
.include "../../graphics/cairo-gobject/buildlink3.mk"
.include "../../lang/python/application.mk"
gnuradio-*: update to 3.9.1.0 Changed C++14 C11 VOLK now “regular” dependency, not in-tree submodule numpy now also a CMake-checked hard dependency for Python support Exception Handling: throw by value, catch by reference (clang-tidy check) C++11: Emplace in vectors where you can; brings performance boni, but not included in clang-tidy-checks An exception-throwing block will now terminate the flow graph process, configurable through top_block gr-utils cleanup, folder restructuring config version checks installed CMake file will accept “at least this version” now PyBind11 replaces SWIG Full tree conversion from SWIG to Pybind11 bindings Doxygen now uses MathJax, full LaTeX installation no longer required GRC start flowgraph in folder where it resides gnuradio-runtime When calculating offsets in non-integer rate FEC, lround default seed for gr::random now actually as documented time-dependent loggers moved from gr::block to gr::basic_block PMT serialization PMT dicts no longer indistinguishable from pairs PMT symbol hashing no longer suffers under oddball own implementations gr-audio Increased ALSA buffer nperiods gr-blocks add, add_const VOLK’ized, templated this seems to break things in other places, even if it proves to be mathematically identical wavfile infrastructure: libsndfile now dependency gr-digital transcendental block: default to 32 bit float complex, not double Linear equalizer: separate adaptive algorithm, allows for using e.g. trained sequences instead of the classical LMS, CMA DFE: better structure for decision history gr-dtv LDPC encoder: template functions instead of #defined macros LDPC encoder: smaller tables through uint16_t for index tables gr-fec API uint8_t, not char gr-fft FFT blocks/functions templatized gr-filter logging format rational_resampler_base -> rational_resampler gr-uhd Required UHD version bumped to 3.9.7 logging format Deprecated gr-analog sig_source: freq port will be removed in the future gr-audio audio-sink, -source: Windows audio sink/source deprecated, the portaudio sink/source works even better under windows anyway gr-digital In favor of symbol_sync, deprecate: clock_recovery_mm msk_timing_recovery pfb_clock_sync Added C++ Generation all over the place PyBind bindings + generator gnuradio-runtime block_gateway: set_max_output_buffer GR_PREFS_PATH environment variable sensitivity to configure the path to the config file gnuradio-config-info --print-all GRC option to toggle ID visibilities globally Validation check for QT GUI hints Python snippets block header parsing tool block header parsing tool (GSoC 2019) gr_modtool option to convert blacklisted files gr-analog sig_source: cmd port adds support for dicts, setting of frequency, amplitude, offset and phase parameters gr-blocks selector now has control message ports Rotator-based freq shift convenience wrapper Message-to-Variable and vice versa blocks DC Spike removal IQ Swap Complex to interleaved char / short: scaling option Delay block: control message port Phase Shift block with message port wavfile_sink, _source can now deal with a lot of audio formats: uncompressed WAV/AIFF, µ- and A-law compressed audio, OGG/Vorbis, FLAC, even octave files Stream Demux, which demuxes streams according to lengths vector rotator: phase() getter gr-digital OFDM: multiple CP lengths ofdm_equalizer_simpledfe: enable_soft_output Constellation Encoder Constellation: normalization options gr-fec {en,de}code_rs_8, {en,de}code_rs_ccsds: Reed-Solomon en- and decoders gr-fft Windows: Gaussian Flat Top Tukey Window build() call now with default beta gr-filter GRC: File taps loader block Low pass FFT filter convenience wrapper ichar / ishort decimator phase continuity for freq_xlating_fir_filter gr-network gr-network: a whole new networking blocks module! TCP UDP Much better lockup/multithreading support than 3.7-era blks2 gr-qtgui Azimuth/Elevation plot Autocorrelation plot Compass visualization Dial control Gauge: dial, level Distance plot LED-like indicator Message-passing check box Message-passing numeric control Message-passing push button Toggle Button Eye sink Vertical slider gr-uhd Filter API UHD 4.0 support Power Reference API Bidirectional setting messages on both sink, source gr-vocoder Codec2 dev branch support FreeDV: In/output rates can differ FreeDV: text message output gr-zeromq C++ GRC templates Tag filtering for tag-forwarding blocks Removed VOLK is no longer a submodule Sphinx: consolidate into doxygen, or wiki-maintained block list. Python 2 SWIG gru python module gnuradio-runtime circular_file.cc math/common_factor.hpp gr-blocks bin_statistics_f log2_const gr-digital PFB clock sync: set_taps deprecated old OFDM infrastructur ofdm_frame_acquisition ofdm_frame_sink ofdm_insert_preamble ofdm_sync_fixed ofdm_sync_pn ofdm_sync_pnac ofdm_sync_ml ofdm_receiver digital_voice gr-fft malloc_float, _double: rely on VOLK Goertzel: dtor superfluous gr-filter deprecated window function duplicates (use them from gr-fft!) Fixed CMake: Qwt, Log4Cpp detection ctrlport strings unicodified Freedesktop install script was not executed Redundant icons installed Path substitution on Windows was backslash-broken YAML definitions: more than I can count Cross-building: py interpreter at runtime != build time gnuradio-runtime ctrlport: unholy stored reference to stack-allocated object removed Sine table generation for fixed point math gr_unittest: floatAlmostEqual had a lot of false passes due abuse of all() get_tags_in_range for delay < (end-start) Premature tag pruning release flattened flowgraph after stopping, fixes restartability/shutdown problem PMT serialization portability latency issue caused by setting block alias on msg block Windows logging errors ctrlport: Thrift >= 0.13 broke GRC Tab widget ID visibilities A lot of YAML templates Default setting in qtgui chooser restored Boolean parameters no longer switch buttons Nested namespace handling Don’t rely on set ordering in tests configparser import input box color theme on dark themes Search box typing doesn’t inadvertedly interact with the rest of GRC anymore gr_modtool Empty argument lists allowed Boost UTF replaced CppUnit, this needed to be done here, too gr-analog wfm left/right, filters gr-audio portaudio: lock acquisition was improper gr-blocks Throttle now uses monotonic clock Tag debug only saved last work call’s tags File sink flushes on stop gr_read_file_metadata.py used to lose rx_time precision File source big file handling under Windows file_*: fseek errors used to be ignored gr-digital map_bb: thread safety, buffer overflows additive_scrambler: reset was broken Constellation scalefactor wasn’t always initialized long-standing qa_header_payload_demux bug addressed by waiting for both RX and TX, not only either false triggers in correlate_access_code gr-dtv rate mismatch in ATSC flowgraphs gr-fec async_decoder Heap corruption cc_encoder: constraint length K > 8 led to wrong output gr-fft thread safety of copy assignment/ctor log power FFT Python gr-filter variable_band_pass_filter GRC complex taps input RRC filter gain for alpha = 1 gr-qtgui Remove copies of image data in returns by using move semantics Remove bogus overriding in drawing functions of plot_raster, _waterfall Edit MSG box: don’t require key to be set Don’t check for Python2 libs Number Sink ignored averaging setting gr-uhd UHD apps: Py3 fixes USRP blocks: multichannel objects not properly populating channels gr-video-sdl YUV formats fixed gr-zeromq Don’t depend on deprecated ZMQ functionality Unhandled exceptions now handled, much calmer Avoid infinite blocking in tb.stop() by using ZMQ_LINGER
2021-04-07 18:14:07 +02:00
.include "../../math/py-numpy/buildlink3.mk"
.include "../../math/fftw/buildlink3.mk"
.include "../../math/gsl/buildlink3.mk"
.include "../../math/volk/buildlink3.mk"
gnuradio-core: update to 3.8.1.0 Here is a very high level list of changes: ## Changed ### Project Scope - C++11 - merged the wholeness of the `next` branch - Dependency version bumps: CMake, GCC, MSVC, Swig, Boost - New dependencies: MPIR/GMP, Qt5, gsm, codec2 - Removed dependencies: libusb, Qt4, CppUnit - Python: Python 2 & Python 3 compatible. 3.8 will be the last Py2k-compatible release series - gengen was replaced by templates (if you don't know gengen, don't do any research; save yourself that sorrow) - Modern CMake (as far as feasible at this point) - VOLK version updated to v2.0.0 - .clang-format file now dictates coding style - clang-format'ed the whole tree. - installed CMake files now tell about configuration ### gnuradio-runtime - reworked fractional tag time handling, especially in the context of resamplers ### GRC - C++ generation as option - YAML instead of XML - removed `blks2` - much better canvas tooling - consistent gobject usage - ROUNDED ARROWS ### gr-qtgui - moving from Qt4 to Qt5 ### gr-utils - `gr_modtool` now vastly improved ### gr-vocoder - improved versatility - removed in-tree libgsm, libcodec2, use system-wide libs ## Removed ### Project Scope - Modules `gr-comedi`, `gr-fcd` and `gr-wxgui` are gone ### gr-comedi - nobody could remember who used this, or for what. It has seen 0 active code contributions in the 3.7 lifecycle ### gr-digital - python-based `packet_encoder` and related tools: Bugs that were sporadic and never fixed, so after long deprecation, we're removing it ### gr-fcd - since it's currently untestable by the CI, it's being removed, as there was no code contributions. Generally, we strive to include all batteries with GNU Radio. Re-integration within a more general SDR interface would be desirable. ### gr-utils - removed PyQwt (dead) based tools ### gr-wxgui - Unmaintained, breaks on increasingly many systems, always was slower than Qtgui. We've been starting to tell people to migrate to Qt since at least 2015. Now, we're finally removing it.
2020-08-30 22:43:46 +02:00
.include "../../textproc/log4cpp/buildlink3.mk"
.include "../../textproc/icu/buildlink3.mk"
.include "../../x11/gtk3/buildlink3.mk"