From 418ed6910a12f59cc43e7446756da325435ccc73c615e97987996b0024d06327 Mon Sep 17 00:00:00 2001 From: Martin Hauke Date: Sat, 5 Feb 2022 17:07:02 +0000 Subject: [PATCH] Accepting request 951729 from home:wkazubski:test:science Update GNU Radio to 3.9 branch OBS-URL: https://build.opensuse.org/request/show/951729 OBS-URL: https://build.opensuse.org/package/show/hardware:sdr/gnuradio?expand=0&rev=102 --- ....h-drop-boost-cstdint.hpp-and-use-cs.patch | 39 - _constraints | 2 +- gnuradio-3.8.5.0.tar.gz | 3 - gnuradio-3.9.5.0.tar.gz | 3 + gnuradio.changes | 693 ++++++++++++++---- gnuradio.spec | 45 +- 6 files changed, 579 insertions(+), 206 deletions(-) delete mode 100644 0001-gr-digital-glfsr.h-drop-boost-cstdint.hpp-and-use-cs.patch delete mode 100644 gnuradio-3.8.5.0.tar.gz create mode 100644 gnuradio-3.9.5.0.tar.gz diff --git a/0001-gr-digital-glfsr.h-drop-boost-cstdint.hpp-and-use-cs.patch b/0001-gr-digital-glfsr.h-drop-boost-cstdint.hpp-and-use-cs.patch deleted file mode 100644 index 1382208..0000000 --- a/0001-gr-digital-glfsr.h-drop-boost-cstdint.hpp-and-use-cs.patch +++ /dev/null @@ -1,39 +0,0 @@ -From f643bc12100c67288adda3699a9e61d6a66fb529 Mon Sep 17 00:00:00 2001 -From: Gwenhael Goavec-Merou -Date: Fri, 7 Feb 2020 16:49:30 +0100 -Subject: [PATCH] gr-digital:glfsr.h: drop boost/cstdint.hpp and use cstdint - -gr-digital/glfsr.h include boost/cstdint.hpp to have uintxx_t. -These types are in boost namespace but nor using namespace xxx, nor boost:: are used. -The result is : -In file included from /home/buildroot/autobuild/instance-0/output-1/build/gnuradio-3.8.0.0/gr-digital/lib/glfsr.cc:23: -/home/buildroot/autobuild/instance-0/output-1/build/gnuradio-3.8.0.0/gr-digital/lib/../include/gnuradio/digital/glfsr.h:42:5: error: 'uint32_t' does not name a type; did you mean 'u_int32_t'? -uint32_t d_shift_register; -^~~~~~~~ -u_int32_t - -Since Gnuradio policy is Less boost == better and C++11 is used, use cstdint -instead of boost/cstdint.hpp. - -[backported from 475e4a156b516c089175afb998acdc80b740b437] -Signed-off-by: Gwenhael Goavec-Merou ---- - gr-digital/include/gnuradio/digital/glfsr.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gr-digital/include/gnuradio/digital/glfsr.h b/gr-digital/include/gnuradio/digital/glfsr.h -index 0b5141f1f..1003bcd01 100644 ---- a/gr-digital/include/gnuradio/digital/glfsr.h -+++ b/gr-digital/include/gnuradio/digital/glfsr.h -@@ -24,7 +24,7 @@ - #define INCLUDED_DIGITAL_GLFSR_H - - #include --#include -+#include - - namespace gr { - namespace digital { --- -2.24.1 - diff --git a/_constraints b/_constraints index 3333b73..c6c8f92 100644 --- a/_constraints +++ b/_constraints @@ -2,7 +2,7 @@ - 8 + 12 2000 diff --git a/gnuradio-3.8.5.0.tar.gz b/gnuradio-3.8.5.0.tar.gz deleted file mode 100644 index 716dace..0000000 --- a/gnuradio-3.8.5.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:492fe7d84fbd7a5106465326dc9fef5935288ea8f749d6038461a21eda649d13 -size 3399660 diff --git a/gnuradio-3.9.5.0.tar.gz b/gnuradio-3.9.5.0.tar.gz new file mode 100644 index 0000000..3ea4ea7 --- /dev/null +++ b/gnuradio-3.9.5.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:066c88fcf05046593e534416a3526ee433c3b90a7faa40fca914add23989ef3e +size 4245820 diff --git a/gnuradio.changes b/gnuradio.changes index 0ffc05d..c77f91b 100644 --- a/gnuradio.changes +++ b/gnuradio.changes @@ -1,175 +1,592 @@ ------------------------------------------------------------------- -Sun Jan 9 21:44:48 UTC 2022 - Wojciech Kazubski +Sun Jan 9 21:21:09 UTC 2022 - Wojciech Kazubski -- Update to version 3.8.5.0 +- Update to version 3.9.5.0: * GRC - + GRC now runs on Fedora 35 ... Gtk initialization checks were - too strict + Fix: dependent variables sometimes fail to evaluate - + Change type aliasing to allow interleaved short/byte to be - connected to vectors of short/byte. Stricter type checking - was added previously and caused some blocks to be unconnectable - when using these types. - + Account for scale factor when computing drawing area size - + Tooltips fixed for categories and modules - * gr-digital - + Fix yml file for Header/Payload Demux + + Modify and cleanup bokeh server loop + * gr-analog + + Update python bindings for power squelch * gr-dtv + Add energy normalization for DVB-S2X constellations. * gr-filter + Remove pyqwt and qt4 from filter_design + * gr-network + + Fix: segfaults when TCP & UDP blocks are restarted + + Add throttle flag to the tcp source and sink blocks * gr-qtgui + Enable use of Qwt 6.2 - + Remove unusable int type in Number Sink yml - + RangeWidget - implement Eng & EngSlider -- Patch 0003-enables-use-of-qwt-6_2.patch removed (applied upstream). + * gr-uhd + + Add Python bindings for rfnoc_{block, ddc, duc, rx/tx_radio} + * modtool + + Improvements in generated QA code + * Build System + + Better support for cross-compiling (OpenEmbedded) + + Find log4cpp on Ubuntu systems + + Handle optional components in find_package + + Add version check for pygccxml + * CI/QA + + Update tests to work with OpenEmbedded +- Patch 0003-enables-use-of-qwt-6_2.patch removed (applied upstream) ------------------------------------------------------------------- -Tue Oct 19 09:55:51 UTC 2021 - Guillaume GARDET +Mon Nov 1 22:15:06 UTC 2021 - Wojciech Kazubski -- Enable again LTO on %{arm} as it builds properly now - -------------------------------------------------------------------- -Tue Oct 5 23:10:14 UTC 2021 - Wojciech Kazubski - -- Update to version 3.8.4.0 - * Changed - GRC - + Fix drag and drop issue with Quartz - + Fix desync when dragging block - + Update disabled blocks if they depend on others - + Allow short and byte as valid types in an enum - + Fix evaluation of interdependent variables - modtool - + Set VERSION_PATH to 0 in new modules, instead of using GIT rev - + For Python3, return correct exeption ModuleNotFoundError - instead of ImportError - gr-blocks - + trix Interleaver block - gr-channels - + Fix "hide" expressions in yml files - gr-digital - + Remove unused msg output port from Chunks To Symbols block yml - gr-fft - + Add "shift" parameter to Log Power FFT - gr-qtgui - + Fix: tags on the last sample were not shown - gr-video-sdl - + Fix: U and V channels were reversed on sink blocks - -------------------------------------------------------------------- -Tue Aug 31 12:57:53 UTC 2021 - Wojciech Kazubski - -- added a patch 0003-enables-use-of-qwt-6_2.patch to build with - Qwt-6.2.0. The patch was backported from pull request #5034. -- fixed build for Tumbleweed and Factory - -------------------------------------------------------------------- -Fri Jun 11 19:00:29 UTC 2021 - Wojciech Kazubski - -- Update to version 3.8.3.1 - * This is a PATCH level revision. The API is compatible with C++ - code written for previous v3.8 releases. ABI (shared library - signature) is intended to be compatible, so code linked - against v3.8.3.0 should not require recompilation. - * Build system - + Improved messages related to dependencies MPIR and GMP. Only - one of these packages is required, and the previous error - messages were confusing. +- Update to version 3.9.4.0: + * Regressions Fixes + + Remove #include (C++17 feature) from one file + + Restore pyqwidget() in gr-qtgui * GRC - + Parameter expressions and/or values can be displayed in blocks - on the flowgraph. Previously, only values were displayed. - + Vector length is now correctly applied to all input ports. + + GRC now runs on Fedora 35 ... Gtk initialization checks + were too strict + + Add keyboard shortcuts for zoom + + Account for scale factor when computing drawing area size + + Use font size from config for block comments + + Change type aliasing to allow interleaved short/byte to be + connected to vectors of short/byte. Stricter type checking + was added previously and caused some blocks to be + unconnectable when using these types. + + Required params no longer default to 0 when left empty. This + caused hard-to-find errors. Older flowgraphs that have empty + required fields will need to be fixed. + + Tooltips fixed for categories and modules + * gr-runtime + + PMT uses the VOLK allocator for vectors + + get_tags_in_window() Python wrapper calls the correct function + + Add --pybind option to gnuradio-config-info to get PyBind11 version + * gr-blocks + + Add example for XMLRPC + + Add a unit test for Message Strobe + + Fix C++ support for Unpacked to Packed + * gr-channels + + RNG seeds are initialized correctly + * gr-digital + + Fix yml file for Header/Payload Demux + * gr-network + + Suppress warning in tuntap + * gr-qtgui + + Remove unusable int type in Number Sink yml + + Use no_quotes() function in several yml files + * modtool + + Hashes can be fixed using modtool using --update-hash-only + + Use tempfile() instead of /tmp in bindtool and modtool + + Use static_cast instead of reinterpret_cast in templates + + Correct broken Python general block template + * Build system + + Better check for Boost version + + Determine the Python prefix more reliably + + Use GR-specified compiler standard (C++14) in gr-soapy, + instead of the SoapySDR standard (C++11) + + GrPython.cmake is compatible with older cmake + * Documentation + + Man pages are in-tree + + Repair many examples, especially in gr-digital + + Allow UTF-8 in pydoc templates + * CI + + Execute make install during test +- Patch 0004-gnuradio-fix-boost-header.patch removed (applied upstream) + +------------------------------------------------------------------- +Thu Oct 7 12:38:52 UTC 2021 - Wojciech Kazubski + +- Update to version 3.9.3.0: + * General + + Many cleanups and some C++ modernization changes + + Replace Boost with stdc++ equivalents (ongoing effort) + + Logging cleanup and performance improvements (ongoing effort) + + Cleanup of many unused includes + + Various block yaml cleanups and repairs + + Use Soapy instead of UHD for flowgraph testing in gr-analog and gr-dtv + * GRC + + Improvements in C++ templates and code generation, more blocks are usable + + Add specification of packages to find (via cmake) for C++ templates + + Fix C++ hier block param template + + Add GUI hints for widgets in C++ code generation + + Add no_quotes() convenience function to strip quotes from strings, callable from templates + + Allow short and byte as valid types in an enum + + Fix desync when dragging block (block would not always track cursor) + + Correctly evaluate interdependent variables + + Allow error messages to be copied to clipboard + + Update disabled blocks if they depend on others + * gnuradio-runtime + + Deprecate tag_checker class (will be removed in 3.10) + + Detect and follow symbolic links for installation prefix in gr::prefix() + + Add "<" operator for comparison of tags (instead of offset_compare()) + * gr-blocks + + New Matrix Interleaver block + + Throttle and Head blocks can be input-only when no output is needed, improving performance + + Fix tag propagation in (un)pack-k-bits blocks + + Fix namespace for nco and vco in benchmarks + * gr-digital + + New Async CRC16 block + + Add NRZI option to Differential En/Decoder + + Constellation performance improvements + + Fix constellation normalization by average power + + Remove unimplemented msg output port from Chunks to Symbols block + + Make unpacking of bits optional in GMSK modulator so the blocks can accept unpacked bits + + In GFSK/GMSK hier blocks, replace M&M clock recovery with newer + and more capable Digital Symbol Sync block + * gr-fec + + Cleanups and code improvements + * gr-fft + + Add a "shift" paramenter to Log Power FFT, to place DC bin at center + * gr-filter + + Performance improvement in PFB Arbitrary Resampler when interpolating, especially at low rates + * gr-qtgui + + Fix display of tags on the last sample (would be dropped) + + Python wrapping: replace pyqwidget() with qwidget() - this is not intended + to be a visible fix, but is mentioned here in case it causes trouble for anyone + + C++ generation + - add double quotes to cpp_opts keys with colons + - position windows correctly depending on gui_hint + - use option attributes to generate enums + - use the cpp enums for wintype and trigger_type + * gr-uhd + + Fix input filename in freq hopping examples + + Make RFNoC a separately enabled component in cmake + + Python bindings for rfnoc_graph,_rx/tx_streamer + * gr-video-sdl + + U and V channels were reversed on sink blocks + * gr-soapy + + Added message support for SoapySDR 0.8 API + * modtool + + Set VERSION_PATCH to 0 instead of "git" in new modules + + Fix "rm", "bind", disable", "rename" and "makeyml" which had + unexpected side effects, or did not work as a user would expect + * Build System + + Correct minimum version checking for Mako + + Ensure that RC_*_VERSION are numeric (Windows) + + Fix finding libunwind + + Pass through extra arguments to GR_PYTHON_INSTALL to install command + + Remove absolute paths and private links from exported targets + + Add gir1.2-gtk-3.0 as deb runtime dependency + * Documentation + + Code of Conduct updates and link to Wiki + * CI + + Do not error out on deprecations, allowing testing of deprecated code +- Update to version 3.9.2.0: + * SoapySDR support (gr-soapy) + * GRC + + Parameter expressions and/or values can be displayed in blocks on + the flowgraph. Previously, only values were displayed. + + Deprecated blocks are shown in a distinct color (orange), + and the optional deprecated property has been added to block yaml + + Dark theme works better, especially for parameter fields + + Vector length is now correctly applied to all input ports + Validation has been improved. Raw types are validated. Port connections are checked by type rather than by item size. - + Variable names that cause conflicts in Python code (e.g., - package names) are rejected. - + Bus logic fixes. - + Blocks can no longer be dragged off the screen and lost - forever. + + Variable names that cause name conflicts in Python code (e.g., + with package names) are rejected + + Bus logic fixes + + Blocks can no longer be dragged off the screen and lost forever + * gnuradio-runtime + + Remove pmt::pmt_* functions, which were not actually implemented. + This is technically an API change, but any use of the API would have + resulted in a link error. + + Remove Python bindings for internal buffer functions + * gr-analog + + Added an example for PLL Frequency Detector + + Better names for parameters in PLL GRC blocks + * gr-blocks + + Consistent naming for Vector Length parameter in GRC blocks + + count_bits uses VOLK popcnt for better performance (used for example in + the Correlate Access Code block) + + Rotator block phase increment parameter is controllable via a message, + and a tag can be added at the point where the increment is adjusted + * gr-digital + + MPSK example updated to use a Linear Equalizer (replacing deprecated block) + * gr-filter + + Filter Delay documentation improvement + + Interpolating FIR filter can generate C++ code * gr-dtv + VL-SNR bugs fixed (incorrect constants). * gr-qtgui - + Improve autoscaling for vector sinks. + + Improve autoscaling for vector sinks + + Fix floating-point resolution problems in several widgets, due to + interpretation of PMT doubles as floats + * gr-uhd + + Add policy enum to Python bindings for tune_request + + Additional time spec options on UHD blocks (PC Clock on Next PPS, GPS Time on Next PPS) + + Fix up code that was generating warnings + + Fix command handler logic to apply commands from messages to the correct channel * gr_filter_design - + "File/Save" is disabled until the taps have been computed, - and the GUI is reset after a save, to make it clearer which - data is being saved. - + Entries are hidden for parameters that do not apply to the - selected filter type. - -------------------------------------------------------------------- -Mon Apr 12 07:05:36 UTC 2021 - Martin Pluskal - -- Fix source url -- Use ninja for building - -------------------------------------------------------------------- -Mon Mar 22 23:32:03 UTC 2021 - Wojciech Kazubski - -- Update to version 3.8.3.0: - * Changed on project Scope - + Preference file path may be set using the GR_PREFS_PATH - environment variable - + Lower message latency, previously slow when block aliases - were used - + PMT: is_dict() no longer returns True for PMT pairs, only - for PMT dicts - + Util gnuradio-config-info gets --print-all for those that - want it all - + Allow Thrift versions up thorugh 0.13 + + "File/Save" is disabled until the taps have been computed, and the GUI + is reset after a save, to make it clearer which data is being saved. + + Entries are hidden for parameters that do not apply to the selected filter type. + + Save window type as an integer instead of a Python enum name + * gr_modtool + + Improve validation of module and block names + * Build System and Infrastructure + + Improved messages related to dependencies MPIR and GMP. Only one of these + packages is required, and the previous error messages were confusing. + + Cleaner builds for Windows and Conda. A number of general cmake improvements + have resulted from this work. + + In-tree packaging files for DEB and RPM, used with Launchpad and COPR + + Added man pages for GNU Radio tools + + Test code generation for all in-tree GRC examples + + In GrPybind.cmake, PYBIND11_INCLUDE_DIR (incorrect) was changed to pybind11_INCLUDE_DIR +- Update to version 3.9.1.0: + * Project Scope + (internal) Build system improvements and fixes - + (internal) Reduce Boost usage by replacing bind() with lambdas - supported in C++11 + + (internal) Use C++14 features instead of Boost where possible + + Fewer compiler warnings (due to fixed code, not removal of warnings!) * OOT Support - + Allow override of gr python dir by setting -DGR_PYTHON_DIR - + Modtool will not try to add duplicate block names in a module - + Modtool can non-interactively add blocks with no parameters + + cmake: standard FindGSL used in lieu of custom one, so OOTs + should no longer copy this module from the GNU Radio tree if needed + + modtool: better exception/error handling + + modtool: will non-interactively add blocks with no parameters (--argument-list="") - + Modtool will use current installation prefix instead of - /usr/local as source of templates + + PyBind11 header hash hotfixer + + (gr-utils/bindtool/scripts/binding-hash-hotfixer.zsh) makes life easier * GRC + + Block param values can be shown as expressions and/or evaluated + values. Under the View menu, see "Show parameter ..." options. + Better handling of gui hints, avoid hiding widgets in cases where some have GUI hints and some do not - + Dark theme detection fix - + Add window size option for bokeh gui - * gr-audio - + ALSA nperiods default increased to 32 frames to reduce drops - (can be set in conf file under the audio_alsa section) + + Ensure that strings are valid utf8 when evaluating parameters + + Save embedded python blocks/modules to hier_block_directory + + Save config and update recent file sub-menu before executing flowgraph + + Revert to previous "block id" display behavior + + Fix drag n' drop issue with Quartz (macOS) backend + + C++ generated code: remove gnuradio prefix from linked libraries + + Python generated code: prefix generated modules with flowgraph id + connect() will be called for hier blocks even if they don't have ports + + Check for PyYAML 3.11 (was checking for 3.10 even though 3.11 was required) + * gnuradio-runtime + + Default buffer size can be adjusted by setting buffer_size in the + [Default] section of the GNU Radio config file. Otherwise, the + longstanding default of 32768 is used. * gr-blocks - + File Source handles EOF properly in non-seekable files - (e.g., pipes) - + File Source handles large files on Windows + + Message Debug: prints warning when a non-PDU message is + received on the Print PDU port + + File Source handles EOF properly in non-seekable files (e.g., pipes) + Several bounds checking and boundary condition improvements + + Remove DC Spike AutoSync algorithm fixed * gr-digital + MSK timing error detector improvement - + Improvements to correlation estimator example - + Correlate Access Code will not trigger until it receives - enough bits to compare to the access code - * gr-dtv - + Performance improvements + + Python bindings include control_loop parent class in child + class Correlation Estimator parameter threshold well documented + * gr-fft + + New window types: Nuttall, Blackman Nuttall, Nuttall CFD, Welch, Parzen, + + Exponential, Riemann, Gaussian and Tukey * gr-filter - + Filter designer works with Qt5 and Python3 - + Taps blocks (e.g., Low Pass Filter Taps) now propagate - parameter changes + + Taps blocks (e.g., Low Pass Filter Taps) now propagate parameter changes + + Filter Designer: IIR/Band Pass/Bessel works * gr-qtgui - + Chooser label defaults now correct - + Frequency Sink max hold plot for half spectrum width option - shows correctly - + Number Sink honors setting of 'avg' more consistently + + Add toggling label and icon on plot play/stop button + + Time Raster Sink: axis labels and ranges are configurable + + Qt Chooser: label improvements * gr-uhd - + Add start time parameter to GRC blocks - + Add message handler for GPIO control messages - + Additional master clock rates in GRC blocks - + UHD source sends tags on center frequency change - * gr-video-sdl - + Correct YUV format options + + DEPRECATION: UHD blocks currently accept control messages (e.g. for + frequency change) as PMT pairs and tuples, in addition to the intended + PMT dict format. In v3.11, only the dict format will be accepted. + + Command note: freq messages in this version must be dicts. + Additionally, the direction key must be present and set to TX or RX. + + set_filter() adds chan parameter + + Python generated code improved for FE corrections + + Allow control of frequency and gain in both directions at the same moment + + Add command handler for mtune ("manual tune") + + Add GPIO control via messages + + Add start time param to GRC blocks + + Support streaming modes: STREAM_MODE_START_CONTINUOUS, + STREAM_MODE_STOP_CONTINUOUS, STREAM_MODE_NUM_SAMPS_AND_DONE, + STREAM_MODE_NUM_SAMPS_AND_MORE + + Documentation improvements + + Tag sink demo example + + Better logging of over/underflows, time errors and time tags + + Added Python binding for ALL_LOS (all local oscillators) + + uhd_fft application X11/Qt related cleanups + * QA + + waitFor(condition, ...) available for tests that use timeouts +- Update to version 3.9.0.0: + Changed + * Project Scope + + License headers now SPDX format + + C++14 + + use C++11 facilities in a lot of places where Boost was still used, + especially smart pointers, range loops + + lambdas where boost::bind was used + + C11 + + Dependency versions: + Python 3.6.5 + numpy 1.13.3 + VOLK 2.4.1 + CMake 3.10.2 + numpy 1.13.3 + Boost 1.65 + Mako 1.0.7 + PyBind11 2.4.3 + + Compiler options: + GCC 8.3.0 + Clang 11.0.0 / Apple Clang 1100 + MSVC 1910 (Microsoft VS 2017 15.0) + + 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 + + Further clang-tidy based code optimizations: + + empty() instead of size() == 0 + + override where overriding virtual functions (which we do a lot) + + Logging: removed all std::cerr and fprintf(stderr,…) by GNU Radio logging + + Logging: Changed logging format for many multiline error logs + + purged snprintf, printf logging + + There were a lot of places where a malloc'ed object + was used internally, where that was inappropriate. + Using simple instance-holding fields now. + + const for members that were only set at construction + time is now desired, and implemented in most places + + const -> constexp in a lot of places. + + assert -> static_assert + + 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 + NOTE: Most of the changes above change the generally + preferred coding style in a lot of situations. + * 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-digital + + in favor of symbol_sync, deprecate: + clock_recovery_mm + msk_timing_recovery + pfb_clock_sync + Added + * Project Scope + + C++ Generation all over the place + + PyBind bindings + generator + + Github actions + + Reproducible builds-compatible CMake TIMESTAMP + * 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 nightmare +infrastructure :) + * 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 - + Connections no longer hang when flowgraph stops and other - end is still connected (ZMQ_LINGER now set) - + Receipt of bad PMTs logged (instead of exception) -- Patch 0002-boost_qualify_placeholders_with_their_full_namespace.patch - removed (applied upstream). + + C++ GRC templates + + Tag filtering for tag-forwarding blocks + Removed + * Project Scope + + 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 + * Project Scope + + 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 (fix warnings, + include what you use) + + Unhandled exceptions now handled, much calmer + + Avoid infinite blocking in tb.stop() by using ZMQ_LINGER ------------------------------------------------------------------- Mon Feb 15 12:35:29 UTC 2021 - Guillaume GARDET diff --git a/gnuradio.spec b/gnuradio.spec index 8d0e68a..395c20d 100644 --- a/gnuradio.spec +++ b/gnuradio.spec @@ -16,10 +16,14 @@ # -%define sover 3_8_5 +%define sover 3_9_5 +%ifarch %{arm} +# boo#1182440 +%define _lto_cflags %{nil} +%endif %bcond_without docs Name: gnuradio -Version: 3.8.5.0 +Version: 3.9.5.0 Release: 0 Summary: GNU software radio License: GPL-3.0-or-later @@ -30,10 +34,8 @@ Source0: https://github.com/gnuradio/gnuradio/archive/refs/tags/v%{versio Source4: grc_to_37.sh Source99: %{name}-rpmlintrc Patch0: missing_library.patch -Patch1: revert-23cece0d0.patch -Patch2: 0001-gr-digital-glfsr.h-drop-boost-cstdint.hpp-and-use-cs.patch BuildRequires: alsa-devel -BuildRequires: cmake >= 3.8 +BuildRequires: cmake >= 3.10.2 BuildRequires: cppunit-devel BuildRequires: cppzmq-devel BuildRequires: fdupes @@ -42,13 +44,15 @@ BuildRequires: gcc-c++ BuildRequires: gmp-devel BuildRequires: gsl-devel BuildRequires: libSDL-devel -BuildRequires: libboost_atomic-devel >= 1.53 -BuildRequires: libboost_filesystem-devel >= 1.53 +BuildRequires: libboost_atomic-devel >= 1.65 +BuildRequires: libboost_filesystem-devel >= 1.65 BuildRequires: libboost_system-devel BuildRequires: libgsm-devel BuildRequires: libjack-devel BuildRequires: libmpir-devel +BuildRequires: libsndfile-devel BuildRequires: log4cpp-devel +BuildRequires: mathjax BuildRequires: ninja BuildRequires: orc BuildRequires: pkgconfig @@ -59,14 +63,15 @@ BuildRequires: python3-click BuildRequires: python3-click-plugins BuildRequires: python3-gobject BuildRequires: python3-gobject-cairo -BuildRequires: python3-mako >= 0.9.1 -BuildRequires: python3-numpy +BuildRequires: python3-mako >= 1.0.7 +BuildRequires: python3-numpy-devel >= 1.13.3 BuildRequires: python3-pyaml >= 3.11 +BuildRequires: python3-pybind11-devel >= 2.4.3 BuildRequires: python3-pycairo BuildRequires: python3-qt5-devel BuildRequires: python3-six BuildRequires: qwt6-qt5-devel -BuildRequires: swig >= 3.0.8 +BuildRequires: soapy-sdr-devel BuildRequires: typelib(Gtk) = 3.0 BuildRequires: typelib(PangoCairo) = 1.0 BuildRequires: typelib(cairo) = 1.0 @@ -76,7 +81,7 @@ BuildRequires: pkgconfig(codec2) BuildRequires: pkgconfig(libusb-1.0) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(py3cairo) -BuildRequires: pkgconfig(volk) >= 2.0 +BuildRequires: volk-devel >= 2.4.1 # gr_modtool dependencies Requires: python3-click Requires: python3-click-plugins @@ -161,13 +166,6 @@ This package contains some examples of using GNU Radio. %prep %autosetup -p1 -# remove buildtime from documentation -sed -i 's|^HTML_TIMESTAMP = YES|HTML_TIMESTAMP = NO|' docs/doxygen/Doxyfile.in -sed -i 's|^HTML_TIMESTAMP = YES|HTML_TIMESTAMP = NO|' docs/doxygen/Doxyfile.swig_doc.in - -# protect the template files from %%cmake macro magic / mangling -find gr-utils/python/modtool/templates/gr-newmod -name CMakeLists.txt -exec mv '{}' '{}.tmpl' \; - %build %define __builder ninja %cmake \ @@ -180,9 +178,6 @@ find gr-utils/python/modtool/templates/gr-newmod -name CMakeLists.txt -exec mv %cmake_build %install -# move the template files back -find gr-utils/python/modtool/templates/gr-newmod -name CMakeLists.txt.tmpl -execdir mv '{}' 'CMakeLists.txt' \; - %cmake_install install -d %{buildroot}%{_docdir}/%{name} @@ -215,21 +210,23 @@ rm -rf %{buildroot}%{_datadir}/icons/gnome %{_datadir}/gnuradio/modtool/ %{_datadir}/gnuradio/themes/ %{_datadir}/gnuradio/fec/ +%{_datadir}/gnuradio/clang-format.conf %{_datadir}/icons/hicolor/*/apps/gnuradio-grc.png %{_datadir}/applications/gnuradio-grc.desktop %{_datadir}/mime/packages/gnuradio-grc.xml +%{_datadir}/metainfo/org.gnuradio.grc.metainfo.xml %{python3_sitearch}/* %dir %{_sysconfdir}/gnuradio %dir %{_sysconfdir}/gnuradio/conf.d %config(noreplace) %{_sysconfdir}/gnuradio/conf.d/*.conf +%{_mandir}/man1/*.1%{?ext_man} %dir %{_docdir}/%{name}/ %{_docdir}/%{name}/README* %{_docdir}/%{name}/CHANGELOG* +%{_docdir}/%{name}/CONTRIBUTING.md # doc package %exclude %{_docdir}/%{name}/html/ %exclude %{_docdir}/%{name}/xml/ -%exclude %{_docdir}/%{name}/*.py -%exclude %{_docdir}/%{name}/*.grc %files -n libgnuradio-%{sover} %{_libdir}/libgnuradio*.so.* @@ -245,8 +242,6 @@ rm -rf %{buildroot}%{_datadir}/icons/gnome %dir %{_docdir}/%{name} %{_docdir}/%{name}/html/ %{_docdir}/%{name}/xml/ -%{_docdir}/%{name}/*.py -%{_docdir}/%{name}/*.grc %files examples %dir %{_libdir}/gnuradio