- Update PyQt to 5.15.0, py-sip to 4.19.24 and qscintilla2 to 2.11.5
- Use pypi for PYQT [1]
- Add devel/py-qt5-sip (Don't use it for now. It will be used in future updates of PyQt with py-sip >= 5)
- Add missing py-qt5 ports: comms/py-qt5-sensors, devel/py-qt5-location, devel/py-qt5-remoteobjects, net/py-qt5-networkauth
- Strip libs
- Refactor *_PATH and *_PORT parts
[1] RiverBankComputing doesn't offer links to download latest version of some ports
PR: 247369
Reviewed by: tcberner
Differential Revision: https://reviews.freebsd.org/D25749
Exp-run by: antoine
- Repocopy textproc/py-sphinx to textproc/py-sphinx18
Update it to 1.8.5 (latest version from 1.8.X).
This version supports Python 2 and 3.
Add test target.
- textproc/py-sphinx: Update to 3.0.2
Python 3 only (3.5+).
Add test target.
- Mk/Uses/python.mk: Add PY_SPHINX
Shared macro to use with flavors and not break
ports with USES=python (all versions).
Python >=3.5 --> textproc/py-sphinx (v3.0.2)
Python < 3.5 --> textproc/py-sphinx18 (v1.8.5)
All ports that uses sphinx were changed to use the new variable
${PY_SPHINX} in the dependency line, exceptions:
* Ports that fails to build with sphinx 3.0.2 because of code.
They are pointing to textproc/py-sphinx18 directly.
There aren't many ports.
* Ports that doesn't know Python flavors.
- Add several patches to fix Sphinx consumers
The most common issues are related with pkg-plist, the output
files from Sphinx changes between versions, keep this dynamically
is the better approach.
This will save time in future sphinx updates.
PR: 245629
Exp-run by: antoine
py-wxPython40 aka Phoenix is a reborn of wxPython and in particular it allows to use wxWidgets with Python3.
- Add x11-toolkits/py-wxPython40
- Replace wxPython30 by wxPython40 when python wxWidgets is required
- Fix cad/kicad and cad/kicad-devel to use wxPython40 "Phoenix"
- Update comms/congruity, graphics/py-mayavi from wx 2.8 to 3.0
- While I'm here fix portlint per emulators/playonbsd
- Remove RUN_DEPENDS from USE_WX per graphics/djvusmooth
- Bump portversion
- Fix unicode on x11-toolkits/wxgtk30 and take Maintainer'ship
PR: 241893
Reviewed by: koobs, tcberner
Approved by: tcberner (mentor)
Differential Revision: https://reviews.freebsd.org/D21915
Exp-run by: antoine
- When gnuradio was first imported into the tree, UHD (Ettus) was pretty much the only
viable high speed device for it. This is no longer true so default option removed.
- Noted plist problem with removed UHD corrected.
PR: ports/240546
Reported by: w.schwarzenfeld@utanet.at
MFH: 2019Q4
- math/p5-Math-GSL does not seem to have any upstream activity to make it work with this version -> mark it broken
- this also breaks the two consumers of this port
- biology/gemma: has a conflict with cblas, and is makred broken.
PR: 241363
Exp-run by: antoine
## [3.8.0.0] - 2019-08-09
Witness me!
Tonight, we release GNU Radio 3.8.0.0.
It's the first minor release version since more than six years, not without
pride this community stands to face the brightest future SDR on general purpose
hardware ever had.
Since we've not been documenting changes in the shape of a Changelog for the
whole of the development that happened since GNU Radio 3.7.0, I'm afraid that
these release notes will be more of a GLTL;DR (git log too long; didn't read)
than a detailed account of what has changed.
What has _not** changed is the fact that GNU Radio is centered around a very
simple truth:
> Let the developers hack on DSP. Software interfaces are for humans, not the
> other way around.
And so, compared to the later 3.7 releases, nothing has fundamentally modified
the way one develops signal processing systems with GNU Radio: You write blocks,
and you combine blocks to be part of a larger signal processing flow graph.
With that as a success story, we of course have faced quite a bit of change in
the systems we use to develop and in the people that develop GNU Radio. This has
lead to several changes that weren't compatible with 3.7.
**This is an excerpt only:**
### Fixed
#### Project Scope
- Roughly 36 dBBug, (ETOOMANYBUGS)
- Fixed .so versioning
### 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.
====
Mike English notes:
Note that the 3.8.0.0 tarball is again available from
https://www.gnuradio.org/releases/gnuradio/ and the volk dependency
(a submodule in the git repo) is included so we can do away with
USES_GITHUB and go back to building from the official release tarball.
I've run this through portlint and poudriere already, so it should apply
cleanly.
====
PR: ports/239793
Submitted by: mike.english@gmail.com
# Changelog
All notable changes to GNU Radio will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html), starting with version 3.7.12.0.
Older Logs can be found in `docs/RELEASE-NOTES-*`.
## [3.8.0.0-rc2] - 2019-07-20
This is the second release candidate for GNU Radio 3.8.
### Fixed
#### Project Scope
- Last minute patch lead to SWIG libraries not getting installed into the right Python paths
#### gr-utils
- `gr_modtool`: Paths with spaces in them used to break
### Changed
#### GRC
- Copy & Paste behaviour now like on 3.7: appending numbers to block IDs only on conflicts
## [3.8.0.0-rc1] - 2019-07-17
This is the release candidate for GNU Radio 3.8.
For brevity reasons, this document does NOT contain a complete CHANGELOG
comparing 3.8.0.0 to 3.7.0, because the development model changed underway, and
there's no human-feasible way to detangle the changes from more than six years
of development.
The major user-relevant changes will be noted here in the actual release.
What we can do here is point out that we've got a glorious amount of 215
individual contributors that added at least one commit since 3.7.0.
This is a **big** step towards the future of the world's most popular FOSS SDR
framework.
Let us ride eternal, shiny and chrome.
Pet Portlint
PR: ports/239345
Submitted by: mike.english@gmail.com
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
## unreleased
### 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-analog
- `fmdet_cf`'s derivative coefficients were wrong.
#### 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
### Added
#### gr-analog
- QA for complex cosine
#### gr-utils
- `gr_modtool` now with autocompletion candidates for `rm`
### Changed
#### Project Scope
- Removed cppunit from all unit tests, replaced by Boost
- Removed the cppunit dependency
Ports that build out of source now simply can use "USES=cmake"
instead of "USES=cmake:outsource". Ports that fail to build
out of source now need to specify "USES=cmake:insource".
I tried to only set insource where explictely needed.
PR: 232038
Exp-run by: antoine
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
While here, chase some KDE4 ports and functionality, these are scheduled for
removal on 2018-12-31. Change the default option/flavor to QT5 where applicable
or use alternative toolkits like GTK.
Submitted by: tcberner
Reviewed by: adridg, jhale, rene, tcberner
Approved by: portmgr (implicit, flavor hook)
Differential Revision: https://reviews.freebsd.org/D17741
* PyQt could not be installed for multiple Python versions at
the same time, as there were conflicting files.
This patch creates Python-version versioned directories for
all these, and further installs binaries with a version number.
* Note, there might be some hickups for software that depends on
on of the .so's provided by PyQt5, which might not be found
anymore autmotically, and maybe need some LD-flaggery.
* Update PyQt5 to 5.10.1
* Mark www/py-qt5-webengine broken. It is unforuntately no longer
compatible with the old qt5-webengine-5.9.4 we ship.
PR: 232745
Exp-run by: antoine
Differential Revision: https://reviews.freebsd.org/D8714
### Fixed
#### Project Scope
- Fix Boost 1.67 linking issue
#### gnuradio-runtime
- Logging: fixed issues where messages weren't properly written to stdout/stderr due to incorrect strings
#### gr-analog
- `fmdet_cf`'s derivative coefficients were wrong.
#### gr-blocks
- `skiphead` used to incorrectly handle tags, now properly shifts
#### gr-digital
- `qa_packet_format`: Unit test used to potentially lock up due to incorrect conditionals
- `clock_recovery_cc`, `crc32_bb`: Accessing the `[0]` element of an empty vector is UB, even if you don't use the result afterwards.
#### gr-fec
- `polar_encoder`/`_common`: Fixed multiple out-of-bound accesses due to insufficient vector length checks
#### gr-filter
- `fft_filter`, `filter_delay`: Accessing the `[0]` element of an empty vector is UB, even if you don't use the result afterwards.
Fix dependancy problem when UHD is not used.
in the ports tree (via Mk/bsd.default-versions.mk and lang/gcc) which
has now moved from GCC 6 to GCC 7 by default.
This includes ports
- featuring USE_GCC=yes or USE_GCC=any,
- featuring USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and those
- with USES=compiler specifying one of openmp, nestedfct, c11, c++0x,
c++11-lib, c++11-lang, c++14-lang, c++17-lang, or gcc-c++11-lib.
PR: 222542
From now on, ports that depend on Qt4 will have to set
USES= qt:4
USE_QT= foo bar
ports depending on Qt5 will use
USES= qt:5
USE_QT= foo bar
PR: 229225
Exp-run by: antoine
Reviewed by: mat
Approved by: portmgr (antoine)
Differential Revision: →https://reviews.freebsd.org/D15540
Left the README files at all times
# Changelog
All notable changes to GNU Radio will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html), starting with version 3.7.12.0.
Older Logs can be found in `docs/RELEASE-NOTES-*`.
## [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`
Reviewed by: martymac
gr-blocks/lib/message_strobe_impl.cc:93:35: error: no matching conversion for functional-style cast from 'float' to 'boost::posix_time::milliseconds' (aka 'subsecond_duration<boost::posix_time::time_duration, 1000>')
boost::this_thread::sleep(boost::posix_time::milliseconds(d_period_ms));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/date_time/time_duration.hpp:270:30: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'float' to 'const boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000>' for 1st argument
class BOOST_SYMBOL_VISIBLE subsecond_duration : public base_duration
^
/usr/local/include/boost/date_time/time_duration.hpp:286:59: note: candidate template ignored: disabled by 'enable_if' [with T = float]
typename boost::enable_if<boost::is_integral<T>, void>::type* = 0) :
^
/usr/local/bin/ld: CMakeFiles/tags_demo.dir/tags_demo.cc.o: undefined reference to symbol 'pthread_condattr_init@@FBSD_1.0'
//lib/libthr.so.3: error adding symbols: DSO missing from command line
c++: error: linker command failed with exit code 1 (use -v to see invocation)
*** [gr-uhd/examples/c++/tags_demo] Error code 1
PR: 227427
Reported by: antoine (via exp-run)
Obtained from: Homebrew