comms/gnuradio: Update to 3.10.12

- gnuradio in ports tree was quite old and broken with boost-1.87
- From upstream changelog

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:**

- Roughly 36 dBBug, (ETOOMANYBUGS)
- Fixed .so versioning

- 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

- reworked fractional tag time handling, especially in the context of resamplers

- C++ generation as option
- YAML instead of XML
- removed `blks2`
- much better canvas tooling
- consistent gobject usage
- ROUNDED ARROWS

- moving from Qt4 to Qt5

- `gr_modtool` now vastly improved

- improved versatility
- removed in-tree libgsm, libcodec2, use system-wide libs

- Modules `gr-comedi`, `gr-fcd` and `gr-wxgui` are gone

- nobody could remember who used this, or for what. It has seen 0 active code
  contributions in the 3.7 lifecycle

- python-based `packet_encoder` and related tools: Bugs that were sporadic and
  never fixed, so after long deprecation, we're removing it

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

- removed PyQwt (dead) based tools

- 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.
This commit is contained in:
Diane Bruce
2025-04-14 06:56:26 -04:00
parent 97e7b4cd66
commit c7bc11aac7
24 changed files with 15409 additions and 1472 deletions
+81 -60
View File
@@ -1,7 +1,6 @@
PORTNAME= gnuradio
DISTVERSIONPREFIX= v
DISTVERSION= 3.8.4.0
PORTREVISION= 25
DISTVERSION= 3.10.12.0
CATEGORIES= comms astro hamradio
MAINTAINER= hamradio@FreeBSD.org
@@ -10,108 +9,130 @@ WWW= https://www.gnuradio.org/
LICENSE= GPLv3
BROKEN= Fails to build with Boost 1.87
BUILD_DEPENDS= volk>0:devel/volk \
doxygen>0:devel/doxygen \
${PYTHON_PKGNAMEPREFIX}sphinx>=1.2.2,1:textproc/py-sphinx@${PY_FLAVOR} \
BUILD_DEPENDS= ${PYNUMPY} \
${PYTHON_PKGNAMEPREFIX}jsonschema>0:devel/py-jsonschema@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}lxml>0:devel/py-lxml@${PY_FLAVOR} \
${PYNUMPY} \
${PYTHON_SITELIBDIR}/mako/__init__.py:textproc/py-mako@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyyaml>=3.11:devel/py-pyyaml@${PY_FLAVOR} \
${PYTHON_SITELIBDIR}/cairo/__init__.py:graphics/py-cairo@${PY_FLAVOR} \
${PYTHON_SITELIBDIR}/six.py:devel/py-six@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyqtgraph>0:graphics/py-pyqtgraph@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sphinx>=1.2.2,1:textproc/py-sphinx@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyyaml>0:devel/py-pyyaml@${PY_FLAVOR} \
${PYTHON_SITELIBDIR}/click/__init__.py:devel/py-click@${PY_FLAVOR} \
${PYTHON_SITELIBDIR}/click_plugins/__init__.py:devel/py-click-plugins@${PY_FLAVOR} \
${PYTHON_SITELIBDIR}/gi/__init__.py:devel/py-pygobject@${PY_FLAVOR} \
${PYTHON_SITELIBDIR}/mako/__init__.py:textproc/py-mako@${PY_FLAVOR} \
${PYTHON_SITELIBDIR}/pygccxml/__init__.py:textproc/py-pygccxml@${PY_FLAVOR} \
${PYTHON_SITELIBDIR}/pytest/__init__.py:devel/py-pytest@${PY_FLAVOR} \
${PYTHON_SITELIBDIR}/yaml/__init__.py:devel/py-pyyaml@${PY_FLAVOR} \
${SCIPY} \
aconnect:audio/alsa-utils \
cheetah:devel/py-cheetah3@${PY_FLAVOR} \
cppzmq>0:net/cppzmq \
minixmlto:textproc/minixmlto \
sdl-config:devel/sdl12 \
swig:devel/swig \
mpir>0:math/mpir \
pybind11>0:devel/pybind11 \
pygobject-common>0:devel/pygobject-common \
sdl-config:devel/sdl12 \
volk>0:devel/volk \
xdg-open:devel/xdg-utils
LIB_DEPENDS= libcodec2.so:audio/codec2 \
libfftw3.so:math/fftw3 \
libfftw3f.so:math/fftw3-float \
libgmpxx.so:math/gmp \
libqwt.so:x11-toolkits/qwt6@qt5 \
${PY_BOOST} \
liblog4cpp.so:devel/log4cpp \
libportaudio.so:audio/portaudio \
libjack.so:audio/jack \
LIB_DEPENDS= libad9361.so:misc/libad9361-iio \
libasound.so:audio/alsa-lib \
libboost_system.so:devel/boost-libs \
libcodec2.so:audio/codec2 \
libfftw3f.so:math/fftw3-float \
libfmt.so:devel/libfmt \
libgmpxx.so:math/gmp \
libgsl.so:math/gsl \
libgsm.so:audio/gsm \
libboost_date_time.so:devel/boost-libs \
liborc-0.4.so:devel/orc \
libiio.so:misc/libiio \
libjack.so:audio/jack \
libportaudio.so:audio/portaudio \
libsndfile.so:audio/libsndfile \
libSoapySDR.so:misc/soapysdr \
libspdlog.so:devel/spdlog \
libunwind.so:devel/libunwind \
libqwt.so:x11-toolkits/qwt6@qt5 \
libzmq.so:net/libzmq4
RUN_DEPENDS:= ${BUILD_DEPENDS}
USES= cmake compiler:c++11-lang desktop-file-utils fortran gnome \
iconv localbase:ldflags perl5 pkgconfig pyqt:5 python \
USES= cmake compiler:c++14-lang desktop-file-utils fortran gnome \
iconv localbase:ldflags pathfix perl5 pkgconfig pyqt:5 python \
qt:5 shared-mime-info shebangfix
SHEBANG_FILES= grc/scripts/freedesktop/grc_setup_freedesktop.in \
gnuradio-runtime/python/gnuradio/ctrlport/gr-ctrlport-monitor \
gnuradio-runtime/python/gnuradio/ctrlport/gr-perf-monitorx
SHEBANG_FILES= gnuradio-runtime/python/gnuradio/ctrlport/gr-ctrlport-monitor \
gnuradio-runtime/python/gnuradio/ctrlport/gr-perf-monitorx \
grc/scripts/freedesktop/grc_setup_freedesktop.in
CMAKE_ARGS+= -DCMAKE_INSTALL_RPATH:STRING="${LOCALBASE}/lib/gcc${_GCC_VER}" \
-DENABLE_GR_CTRLPORT="YES" \
-DENABLE_GR_QTGUI="YES" \
-DENABLE_INTERNAL_VOLK:STRING="OFF" \
-DGR_PKG_DOC_DIR:STRING="${DOCSDIR}" \
-DICONV_LIB:STRING="X${ICONV_LIB}" \
-DICONV_PREFIX:STRING="${ICONV_PREFIX}" \
-DLOCALBASE:STRING="${LOCALBASE}" \
-DGR_PKG_DOC_DIR:STRING="${DOCSDIR}" \
-DPYTHON_EXECUTABLE:STRING="${PYTHON_CMD}" \
-DSWIG_EXECUTABLE:STRING="${LOCALBASE}/bin/swig"\
-DXMLTO_EXECUTABLE:STRING=minixmlto \
-DENABLE_INTERNAL_VOLK:STRING="OFF"
-DXMLTO_EXECUTABLE:STRING=minixmlto
# for detailed debugging uncomment the next line
#CMAKE_ARGS+= --debug-output --trace
USE_CXXSTD= c++11
CFLAGS+= -Wno-deprecated
CXXFLAGS+= -Wno-deprecated
USE_CXXSTD= c++14
USE_GNOME= gtk30
USE_GITHUB= yes
USE_GNOME= pygobject3
USE_PYQT= pyqt5
USE_WX= 3.2
USE_QT= buildtools core gui xml qmake widgets
WX_COMPS= wx python:run
USE_QT= buildtools core gui qmake widgets
USE_LDCONFIG= yes
LIBSTRIP_FILES= analog audio blocks channels digital dtv fec fft\
filter pmt qtgui runtime trellis video-sdl\
vocoder wavelet
LIBSTRIP_FILES= analog audio blocks channels digital dtv fec fft filter pmt \
qtgui runtime trellis video-sdl vocoder wavelet
OPTIONS_DEFINE= DOCS UHD TESTING DOXYGEN
OPTIONS_EXCLUDE= DOXYGEN
OPTIONS_SUB= yes
OPTIONS_DEFINE= DOCS UHD
OPTIONS_SUB= yes
UHD_DESC= Include UHD support from Ettus
TESTING_DESC= Include testing support
PLIST_SUB+= PORTVERSION=${PORTVERSION} PORTMAINVER=${PORTVERSION:C|^([1-9]+)\.([0-9]+)\.([0-9]+).*|\1.\2.\3|}
PLIST_SUB+= PORTMAINVER=${PORTVERSION:C|^([1-9]+)\.([0-9]+)\.([0-9]+).*|\1.\2.\3|} \
PORTVERSION=${PORTVERSION}
DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen \
${PYTHON_PKGNAMEPREFIX}sphinx>=1.2.2,1:textproc/py-sphinx@${PY_FLAVOR} \
DOCS_RUN_DEPEND= freefont-ttf>0:x11-fonts/freefont-ttf
DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=1.2.2,1:textproc/py-sphinx@${PY_FLAVOR} \
dot:graphics/graphviz \
xmlto:textproc/xmlto \
freefont-ttf>0:x11-fonts/freefont-ttf
DOXYGEN_CMAKE_ON= -DENABLE_DOXYGEN:STRING="ON" \
-DENABLE_DOCS:STRING="ON"
DOXYGEN_CMAKE_OFF= -DENABLE_DOXYGEN:STRING="OFF" \
-DENABLE_DOCS:STRING="OFF"
doxygen:devel/doxygen \
MathJax>0:www/mathjax \
xmlto:textproc/xmlto
DOCS_CMAKE_ON= -DENABLE_DOCS:STRING="ON" \
-DENABLE_DOXYGEN:STRING="ON" \
-DMATHJAX2_USE_ROOT="${LOCALBASE}/www/MathJax"
DOCS_CMAKE_OFF= -DENABLE_DOCS:STRING="OFF" \
-DENABLE_DOXYGEN:STRING="OFF"
UHD_CMAKE_ON= -DENABLE_GR_UHD:STRING="ON"
UHD_CMAKE_OFF= -DENABLE_GR_UHD:STRING="OFF"
TESTING_CMAKE_ON= -DENABLE_TESTING:STRING="ON"
TESTING_CMAKE_OFF= -DENABLE_TESTING:STRING="OFF"
ICONDIR= ${PREFIX}/share/icons
MIME= ${PREFIX}/share/mime/packages
post-install:
.for size in 16 24 32 48 64 128 256
${MKDIR} ${STAGEDIR}${PREFIX}/share/mime/packages
${MKDIR} ${STAGEDIR}${ICONDIR}/gnome/${size}x${size}/apps
${MKDIR} ${STAGEDIR}${ICONDIR}/hicolor/${size}x${size}/apps
${MKDIR} ${STAGEDIR}/share/applications
${INSTALL_DATA} ${WRKSRC}/grc/scripts/freedesktop/grc-icon-${size}.png \
${STAGEDIR}${ICONDIR}/gnome/${size}x${size}/apps/gnuradio-grc.png
${INSTALL_DATA} ${WRKSRC}/grc/scripts/freedesktop/grc-icon-${size}.png \
${STAGEDIR}${ICONDIR}/hicolor/${size}x${size}/apps/gnuradio-grc.png
${INSTALL_DATA} ${WRKSRC}/grc/scripts/freedesktop/gnuradio-grc.xml \
${STAGEDIR}${MIME}/gnuradio-grc.xml
${INSTALL_DATA} ${WRKSRC}/grc/scripts/freedesktop/gnuradio-grc.desktop \
${STAGEDIR}${PREFIX}/share/applications/gnuradio-grc.desktop
.endfor
.include <bsd.port.pre.mk>
.if ${PORT_OPTIONS:MUHD}
LIBSTRIP_FILES+= uhd
LIB_DEPENDS+= libuhd.so:comms/uhd
PLIST_SUB+= UHD=""
LIB_DEPENDS+= libuhd.so:comms/uhd
PLIST_SUB+= UHD=""
.else
PLIST_SUB+= UHD="@comment "
PLIST_SUB+= UHD="@comment "
.endif
.include <bsd.port.post.mk>
+3 -3
View File
@@ -1,3 +1,3 @@
TIMESTAMP = 1641159466
SHA256 (gnuradio-gnuradio-v3.8.4.0_GH0.tar.gz) = 6fbf605b4859fbf0862e9b8dc4c345d7e5bb39469d604a49b5e55b715ad45fb7
SIZE (gnuradio-gnuradio-v3.8.4.0_GH0.tar.gz) = 3395297
TIMESTAMP = 1744305415
SHA256 (gnuradio-gnuradio-v3.10.12.0_GH0.tar.gz) = fe78ad9f74c8ebf93d5c8ad6fa2c13236af330f3c67149d91a0647b3dc6f3958
SIZE (gnuradio-gnuradio-v3.10.12.0_GH0.tar.gz) = 4978802
+4 -19
View File
@@ -1,26 +1,11 @@
--- CMakeLists.txt.orig 2020-02-16 18:48:02 UTC
--- CMakeLists.txt.orig 2025-04-10 17:17:39 UTC
+++ CMakeLists.txt
@@ -31,6 +31,7 @@ cmake_minimum_required(VERSION 3.8)
@@ -26,6 +26,8 @@ option(BUILD_SHARED_LIBS "Build shared libraries" ON)
project(gnuradio CXX C)
enable_testing()
option(BUILD_SHARED_LIBS "Build shared libraries" ON)
+cmake_policy(SET CMP0002 OLD)
+cmake_policy(SET CMP0148 OLD)
# Make sure our local CMake Modules path comes first
list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/Modules)
@@ -67,6 +68,15 @@ set(GCC_MIN_VERSION "4.8.4")
set(CLANG_MIN_VERSION "3.4.0")
set(APPLECLANG_MIN_VERSION "500")
set(MSVC_MIN_VERSION "1800")
+
+########################################################################
+# FreeBSD libdata vs. lib
+#
+if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+set(GR_PKGCONFIG_DIR libdata${LIB_SUFFIX})
+else()
+set(GR_PKGCONFIG_DIR lib${LIB_SUFFIX})
+endif()
# Enable generation of compile_commands.json for code completion engines
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
list(INSERT CMAKE_MODULE_PATH 0 ${PROJECT_SOURCE_DIR}/cmake/Modules)
@@ -1,22 +0,0 @@
--- cmake/Modules/FindQwt.cmake.orig 2021-09-30 14:10:55 UTC
+++ cmake/Modules/FindQwt.cmake
@@ -15,6 +15,7 @@ find_path(QWT_INCLUDE_DIRS
${CMAKE_INSTALL_PREFIX}/include/qwt
list(APPEND ${CMAKE_PREFIX_PATH} /include/qwt)
PATHS
+ /usr/local/include/qt5/qwt6
/usr/local/include/qwt-${QWT_QT_VERSION}
/usr/local/include/qwt
/usr/include/qwt6
@@ -29,9 +30,10 @@ find_library (QWT_LIBRARIES
)
find_library (QWT_LIBRARIES
- NAMES ${PC_QWT_LIBRARIES} qwt6-${QWT_QT_VERSION} qwt-${QWT_QT_VERSION} qwt
+ NAMES ${PC_QWT_LIBRARIES} qwt6 qwt6-${QWT_QT_VERSION} qwt-${QWT_QT_VERSION} qwt
HINTS
${PC_QWT_LIBDIR}
+ /usr/local/lib/qt5
${CMAKE_INSTALL_PREFIX}/lib
${CMAKE_INSTALL_PREFIX}/lib64
${CMAKE_PREFIX_PATH}/lib
@@ -1,6 +1,6 @@
--- docs/doxygen/Doxyfile.in.orig 2020-02-16 18:48:02 UTC
--- docs/doxygen/Doxyfile.in.orig 2025-02-20 01:23:56 UTC
+++ docs/doxygen/Doxyfile.in
@@ -1848,7 +1848,7 @@ DOT_FONTSIZE = 10
@@ -1816,7 +1816,7 @@ DOT_FONTSIZE = 10
# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to
# set the path where dot can find it.
@@ -1,28 +0,0 @@
Use MAP_FIXED flag to ensure buffer halves are contiguous
(backport of ca44241)
--- gnuradio-runtime/lib/vmcircbuf_mmap_shm_open.cc.orig 2021-09-30 14:10:55 UTC
+++ gnuradio-runtime/lib/vmcircbuf_mmap_shm_open.cc
@@ -122,19 +122,11 @@ vmcircbuf_mmap_shm_open::vmcircbuf_mmap_shm_open(int s
throw std::runtime_error("gr::vmcircbuf_mmap_shm_open");
}
- // unmap the 2nd half
- if (munmap((char*)first_copy + size, size) == -1) {
- close(shm_fd); // cleanup
- perror("gr::vmcircbuf_mmap_shm_open: munmap (1)");
- throw std::runtime_error("gr::vmcircbuf_mmap_shm_open");
- }
-
- // map the first half into the now available hole where the
- // second half used to be.
+ // map the first half into the second half of the address space.
void* second_copy = mmap((char*)first_copy + size,
size,
PROT_READ | PROT_WRITE,
- MAP_SHARED,
+ MAP_SHARED | MAP_FIXED,
shm_fd,
(off_t)0);
@@ -1,44 +0,0 @@
Use MAP_FIXED flag to ensure buffer halves are contiguous
(backport of ca44241)
--- gnuradio-runtime/lib/vmcircbuf_mmap_tmpfile.cc.orig 2021-09-30 14:10:55 UTC
+++ gnuradio-runtime/lib/vmcircbuf_mmap_tmpfile.cc
@@ -107,19 +107,11 @@ vmcircbuf_mmap_tmpfile::vmcircbuf_mmap_tmpfile(int siz
throw std::runtime_error("gr::vmcircbuf_mmap_tmpfile");
}
- // unmap the 2nd half
- if (munmap((char*)first_copy + size, size) == -1) {
- close(seg_fd); // cleanup
- perror("gr::vmcircbuf_mmap_tmpfile: munmap (1)");
- throw std::runtime_error("gr::vmcircbuf_mmap_tmpfile");
- }
-
- // map the first half into the now available hole where the
- // second half used to be.
+ // map the first half into the second half of the address space.
void* second_copy = mmap((char*)first_copy + size,
size,
PROT_READ | PROT_WRITE,
- MAP_SHARED,
+ MAP_SHARED | MAP_FIXED,
seg_fd,
(off_t)0);
@@ -127,15 +119,6 @@ vmcircbuf_mmap_tmpfile::vmcircbuf_mmap_tmpfile(int siz
munmap(first_copy, size); // cleanup
close(seg_fd);
perror("gr::vmcircbuf_mmap_tmpfile: mmap(2)");
- throw std::runtime_error("gr::vmcircbuf_mmap_tmpfile");
- }
-
- // check for contiguity
- if ((char*)second_copy != (char*)first_copy + size) {
- munmap(first_copy, size); // cleanup
- munmap(second_copy, size);
- close(seg_fd);
- perror("gr::vmcircbuf_mmap_tmpfile: non-contiguous second copy");
throw std::runtime_error("gr::vmcircbuf_mmap_tmpfile");
}
@@ -1,10 +0,0 @@
--- gnuradio-runtime/lib/prefs.cc.orig 2021-09-30 14:10:55 UTC
+++ gnuradio-runtime/lib/prefs.cc
@@ -32,6 +32,7 @@
#include <fstream>
#include <iostream>
+#include <boost/filesystem/directory.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/path.hpp>
@@ -1,14 +0,0 @@
--- gr-qtgui/include/gnuradio/qtgui/DisplayPlot.h.orig 2024-02-19 05:15:00 UTC
+++ gr-qtgui/include/gnuradio/qtgui/DisplayPlot.h
@@ -41,7 +41,10 @@
#include <vector>
#if QWT_VERSION >= 0x060000
-#include <qwt_compat.h>
+typedef QPointF QwtDoublePoint;
+typedef QRectF QwtDoubleRect;
+
+typedef QwtInterval QwtDoubleInterval;
#endif
typedef QList<QColor> QColorList;
@@ -1,13 +0,0 @@
--- gr-qtgui/include/gnuradio/qtgui/TimeRasterDisplayPlot.h.orig 2024-02-19 05:15:29 UTC
+++ gr-qtgui/include/gnuradio/qtgui/TimeRasterDisplayPlot.h
@@ -35,7 +35,9 @@
#if QWT_VERSION < 0x060000
#include <gnuradio/qtgui/plot_waterfall.h>
#else
-#include <qwt_compat.h>
+#include <qwt_interval.h>
+
+typedef QwtInterval QwtDoubleInterval;
#endif
/*!
@@ -1,13 +0,0 @@
--- gr-qtgui/include/gnuradio/qtgui/WaterfallDisplayPlot.h.orig 2024-02-19 05:15:53 UTC
+++ gr-qtgui/include/gnuradio/qtgui/WaterfallDisplayPlot.h
@@ -34,7 +34,9 @@
#if QWT_VERSION < 0x060000
#include <gnuradio/qtgui/plot_waterfall.h>
#else
-#include <qwt_compat.h>
+#include <qwt_interval.h>
+
+typedef QwtInterval QwtDoubleInterval;
#endif
/*!
@@ -1,15 +0,0 @@
--- gr-qtgui/include/gnuradio/qtgui/plot_raster.h.orig 2024-02-19 05:17:07 UTC
+++ gr-qtgui/include/gnuradio/qtgui/plot_raster.h
@@ -28,8 +28,10 @@
#include <qwt_plot_rasteritem.h>
#if QWT_VERSION >= 0x060000
-#include <qwt_compat.h>
-#include <qwt_point_3d.h> // doesn't seem necessary, but is...
+#include <qsize.h>
+#include <qwt_interval.h>
+
+typedef QwtInterval QwtDoubleInterval;
#endif
class QwtColorMap;
@@ -1,15 +0,0 @@
--- gr-qtgui/include/gnuradio/qtgui/plot_waterfall.h.orig 2024-02-19 05:17:32 UTC
+++ gr-qtgui/include/gnuradio/qtgui/plot_waterfall.h
@@ -28,8 +28,10 @@
#include <qwt_plot_rasteritem.h>
#if QWT_VERSION >= 0x060000
-#include <qwt_compat.h>
-#include <qwt_point_3d.h> // doesn't seem necessary, but is...
+#include <qsize.h>
+#include <qwt_interval.h>
+
+typedef QwtInterval QwtDoubleInterval;
#endif
class QwtColorMap;
@@ -1,10 +0,0 @@
--- gr-qtgui/include/gnuradio/qtgui/qtgui_types.h.orig 2024-02-19 05:18:00 UTC
+++ gr-qtgui/include/gnuradio/qtgui/qtgui_types.h
@@ -26,6 +26,7 @@
#include <gnuradio/high_res_timer.h>
#include <qwt_color_map.h>
#include <qwt_scale_draw.h>
+#include <qwt_text.h>
namespace gr {
namespace qtgui {
@@ -1,35 +0,0 @@
--- gr-qtgui/include/gnuradio/qtgui/timeRasterGlobalData.h.orig 2024-02-19 05:18:25 UTC
+++ gr-qtgui/include/gnuradio/qtgui/timeRasterGlobalData.h
@@ -27,8 +27,9 @@
#include <qwt_raster_data.h>
#if QWT_VERSION >= 0x060000
-#include <qwt_compat.h>
-#include <qwt_point_3d.h> // doesn't seem necessary, but is...
+#include <qwt_interval.h>
+
+typedef QwtInterval QwtDoubleInterval;
#endif
class TimeRasterData : public QwtRasterData
@@ -47,6 +48,9 @@ class TimeRasterData : public QwtRasterData (public)
#if QWT_VERSION < 0x060000
virtual QwtDoubleInterval range() const;
virtual void setRange(const QwtDoubleInterval&);
+#elif QWT_VERSION >= 0x060200
+ virtual QwtInterval interval(Qt::Axis) const;
+ void setInterval(Qt::Axis, const QwtInterval&);
#endif
virtual double value(double x, double y) const;
@@ -68,6 +72,10 @@ class TimeRasterData : public QwtRasterData (public)
QwtDoubleInterval d_intensityRange;
#else
QwtInterval d_intensityRange;
+#endif
+
+#if QWT_VERSION >= 0x060200
+ QwtInterval d_intervals[3];
#endif
private:
@@ -1,35 +0,0 @@
--- gr-qtgui/include/gnuradio/qtgui/waterfallGlobalData.h.orig 2024-02-19 05:19:43 UTC
+++ gr-qtgui/include/gnuradio/qtgui/waterfallGlobalData.h
@@ -27,8 +27,9 @@
#include <qwt_raster_data.h>
#if QWT_VERSION >= 0x060000
-#include <qwt_compat.h>
-#include <qwt_point_3d.h> // doesn't seem necessary, but is...
+#include <qwt_interval.h>
+
+typedef QwtInterval QwtDoubleInterval;
#endif
class WaterfallData : public QwtRasterData
@@ -48,6 +49,9 @@ class WaterfallData : public QwtRasterData (public)
#if QWT_VERSION < 0x060000
virtual QwtDoubleInterval range() const;
virtual void setRange(const QwtDoubleInterval&);
+#elif QWT_VERSION >= 0x060200
+ virtual QwtInterval interval(Qt::Axis) const;
+ void setInterval(Qt::Axis, const QwtInterval&);
#endif
virtual double value(double x, double y) const;
@@ -72,6 +76,10 @@ class WaterfallData : public QwtRasterData (public)
QwtDoubleInterval _intensityRange;
#else
QwtInterval _intensityRange;
+#endif
+
+#if QWT_VERSION >= 0x060200
+ QwtInterval d_intervals[3];
#endif
private:
@@ -1,10 +0,0 @@
--- gr-qtgui/lib/ConstellationDisplayPlot.cc.orig 2024-02-19 05:20:52 UTC
+++ gr-qtgui/lib/ConstellationDisplayPlot.cc
@@ -29,6 +29,7 @@
#include <qwt_scale_draw.h>
#include <QColor>
#include <iostream>
+#include <cmath>
class ConstellationDisplayZoomer : public QwtPlotZoomer
{
@@ -1,29 +0,0 @@
--- gr-qtgui/lib/plot_raster.cc.orig 2024-02-19 05:21:10 UTC
+++ gr-qtgui/lib/plot_raster.cc
@@ -257,7 +257,11 @@ QImage PlotTimeRaster::renderImage(const QwtScaleMap&
}
d_data->data->incrementResidual();
} else if (d_data->colorMap->format() == QwtColorMap::Indexed) {
+#if QWT_VERSION >= 0x060200
+ image.setColorTable(d_data->colorMap->colorTable(256));
+#else
image.setColorTable(d_data->colorMap->colorTable(intensityRange));
+#endif
for (int y = rect.top(); y <= rect.bottom(); y++) {
const double ty = yyMap.invTransform(y);
@@ -265,9 +269,13 @@ QImage PlotTimeRaster::renderImage(const QwtScaleMap&
unsigned char* line = image.scanLine(y - rect.top());
for (int x = rect.left(); x <= rect.right(); x++) {
const double tx = xxMap.invTransform(x);
-
+#if QWT_VERSION >= 0x060200
+ *line++ = d_data->colorMap->colorIndex(
+ 256, intensityRange, d_data->data->value(tx, ty));
+#else
*line++ = d_data->colorMap->colorIndex(intensityRange,
d_data->data->value(tx, ty));
+#endif
}
}
}
@@ -1,28 +0,0 @@
--- gr-qtgui/lib/plot_waterfall.cc.orig 2024-02-19 05:22:53 UTC
+++ gr-qtgui/lib/plot_waterfall.cc
@@ -252,7 +252,11 @@ QImage PlotWaterfall::renderImage(const QwtScaleMap& x
}
}
} else if (d_data->colorMap->format() == QwtColorMap::Indexed) {
+#if QWT_VERSION >= 0x060200
+ image.setColorTable(d_data->colorMap->colorTable(256));
+#else
image.setColorTable(d_data->colorMap->colorTable(intensityRange));
+#endif
for (int y = rect.top(); y <= rect.bottom(); y++) {
const double ty = yyMap.invTransform(y);
@@ -261,8 +265,13 @@ QImage PlotWaterfall::renderImage(const QwtScaleMap& x
for (int x = rect.left(); x <= rect.right(); x++) {
const double tx = xxMap.invTransform(x);
+#if QWT_VERSION >= 0x060200
+ *line++ = d_data->colorMap->colorIndex(
+ 256, intensityRange, d_data->data->value(tx, ty));
+#else
*line++ = d_data->colorMap->colorIndex(intensityRange,
d_data->data->value(tx, ty));
+#endif
}
}
}
@@ -1,16 +0,0 @@
--- gr-qtgui/lib/timeRasterGlobalData.cc.orig 2024-02-19 05:24:01 UTC
+++ gr-qtgui/lib/timeRasterGlobalData.cc
@@ -155,7 +155,13 @@ void TimeRasterData::setRange(const QwtDoubleInterval&
{
d_intensityRange = newRange;
}
+#elif QWT_VERSION >= 0x060200
+void TimeRasterData::setInterval(Qt::Axis axis, const QwtInterval& interval)
+{
+ d_intervals[axis] = interval;
+}
+QwtInterval TimeRasterData::interval(Qt::Axis a) const { return d_intervals[a]; }
#endif
@@ -1,16 +0,0 @@
--- gr-qtgui/lib/waterfallGlobalData.cc.orig 2024-02-19 05:24:33 UTC
+++ gr-qtgui/lib/waterfallGlobalData.cc
@@ -158,7 +158,13 @@ void WaterfallData::setRange(const QwtDoubleInterval&
{
_intensityRange = newRange;
}
+#elif QWT_VERSION >= 0x060200
+void WaterfallData::setInterval(Qt::Axis axis, const QwtInterval& interval)
+{
+ d_intervals[axis] = interval;
+}
+QwtInterval WaterfallData::interval(Qt::Axis a) const { return d_intervals[a]; }
#endif
@@ -1,6 +1,6 @@
--- gr-vocoder/lib/gsm_fr_decode_ps_impl.h.orig 2020-02-16 18:48:02 UTC
--- gr-vocoder/lib/gsm_fr_decode_ps_impl.h.orig 2024-01-17 20:36:19 UTC
+++ gr-vocoder/lib/gsm_fr_decode_ps_impl.h
@@ -26,7 +26,11 @@
@@ -14,7 +14,11 @@ extern "C" {
#include <gnuradio/vocoder/gsm_fr_decode_ps.h>
extern "C" {
@@ -1,6 +1,6 @@
--- gr-vocoder/lib/gsm_fr_encode_sp_impl.h.orig 2020-02-16 18:48:02 UTC
--- gr-vocoder/lib/gsm_fr_encode_sp_impl.h.orig 2024-01-17 20:36:19 UTC
+++ gr-vocoder/lib/gsm_fr_encode_sp_impl.h
@@ -26,7 +26,11 @@
@@ -14,7 +14,11 @@ extern "C" {
#include <gnuradio/vocoder/gsm_fr_encode_sp.h>
extern "C" {
+15315 -1031
View File
File diff suppressed because it is too large Load Diff