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
This commit is contained in:
Martin Hauke 2022-02-05 17:07:02 +00:00 committed by Git OBS Bridge
parent a3d803a0c1
commit 418ed6910a
6 changed files with 579 additions and 206 deletions

View File

@ -1,39 +0,0 @@
From f643bc12100c67288adda3699a9e61d6a66fb529 Mon Sep 17 00:00:00 2001
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
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 <gwenhael.goavec-merou@trabucayre.com>
---
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 <gnuradio/digital/api.h>
-#include <boost/cstdint.hpp>
+#include <cstdint>
namespace gr {
namespace digital {
--
2.24.1

View File

@ -2,7 +2,7 @@
<constraints>
<hardware>
<disk>
<size unit="G">8</size>
<size unit="G">12</size>
</disk>
<memoryperjob>
<size unit="M">2000</size>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:492fe7d84fbd7a5106465326dc9fef5935288ea8f749d6038461a21eda649d13
size 3399660

3
gnuradio-3.9.5.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:066c88fcf05046593e534416a3526ee433c3b90a7faa40fca914add23989ef3e
size 4245820

View File

@ -1,175 +1,592 @@
-------------------------------------------------------------------
Sun Jan 9 21:44:48 UTC 2022 - Wojciech Kazubski <wk@ire.pw.edu.pl>
Sun Jan 9 21:21:09 UTC 2022 - Wojciech Kazubski <wk@ire.pw.edu.pl>
- 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 <guillaume.gardet@opensuse.org>
Mon Nov 1 22:15:06 UTC 2021 - Wojciech Kazubski <wk@ire.pw.edu.pl>
- Enable again LTO on %{arm} as it builds properly now
-------------------------------------------------------------------
Tue Oct 5 23:10:14 UTC 2021 - Wojciech Kazubski <wk@ire.pw.edu.pl>
- 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 <wk@ire.pw.edu.pl>
- 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 <wk@ire.pw.edu.pl>
- 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 <filesystem> (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 <wk@ire.pw.edu.pl>
- 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 <mpluskal@suse.com>
- Fix source url
- Use ninja for building
-------------------------------------------------------------------
Mon Mar 22 23:32:03 UTC 2021 - Wojciech Kazubski <wk@ire.pw.edu.pl>
- 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 <guillaume.gardet@opensuse.org>

View File

@ -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