diff --git a/comms/gnuradio/Makefile b/comms/gnuradio/Makefile index 57a461700628..4205e04581e9 100644 --- a/comms/gnuradio/Makefile +++ b/comms/gnuradio/Makefile @@ -1,115 +1,115 @@ PORTNAME= gnuradio DISTVERSIONPREFIX= v DISTVERSION= 3.8.4.0 -PORTREVISION= 15 +PORTREVISION= 16 CATEGORIES= comms astro hamradio MAINTAINER= hamradio@FreeBSD.org COMMENT= Amateur Radio Software defined radio WWW= https://www.gnuradio.org/ LICENSE= GPLv3 BUILD_DEPENDS= volk>0:devel/volk \ doxygen>0:devel/doxygen \ ${PYTHON_PKGNAMEPREFIX}sphinx>=1.2.2,1:textproc/py-sphinx@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}lxml>0:devel/py-lxml@${PY_FLAVOR} \ ${PYNUMPY} \ ${PYTHON_SITELIBDIR}/mako/__init__.py:textproc/py-mako@${PY_FLAVOR} \ ${PYTHON_SITELIBDIR}/yaml/__init__.py:devel/py-yaml@${PY_FLAVOR} \ ${PYTHON_SITELIBDIR}/gi/__init__.py:devel/py-gobject3@${PY_FLAVOR} \ ${PYTHON_SITELIBDIR}/cairo/__init__.py:graphics/py-cairo@${PY_FLAVOR} \ ${PYTHON_SITELIBDIR}/six.py:devel/py-six@${PY_FLAVOR} \ ${PYTHON_SITELIBDIR}/click/__init__.py:devel/py-click@${PY_FLAVOR} \ ${PYTHON_SITELIBDIR}/click_plugins/__init__.py:devel/py-click-plugins@${PY_FLAVOR} \ 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 \ xdg-open:devel/xdg-utils LIB_DEPENDS= libcodec2.so:audio/codec2 \ libfftw3.so:math/fftw3 \ libfftw3f.so:math/fftw3-float \ libgmpxx.so:math/gmp \ libqwt6.so:x11-toolkits/qwt6 \ ${PY_BOOST} \ liblog4cpp.so:devel/log4cpp \ libportaudio.so:audio/portaudio \ libjack.so:audio/jack \ libasound.so:audio/alsa-lib \ libgsl.so:math/gsl \ libgsm.so:audio/gsm \ libboost_date_time.so:devel/boost-libs \ liborc-0.4.so:devel/orc \ 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 \ 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 CMAKE_ARGS+= -DCMAKE_INSTALL_RPATH:STRING="${LOCALBASE}/lib/gcc${_GCC_VER}" \ -DENABLE_GR_CTRLPORT="YES" \ -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" # for detailed debugging uncomment the next line #CMAKE_ARGS+= --debug-output --trace USE_CXXSTD= c++11 USE_GITHUB= yes USE_PYQT= pyqt5 USE_WX= 3.2 USE_QT= buildtools core gui xml qmake widgets WX_COMPS= wx python:run USE_LDCONFIG= yes 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 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|} DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen \ ${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" 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" .include .if ${PORT_OPTIONS:MUHD} LIBSTRIP_FILES+= uhd LIB_DEPENDS+= libuhd.so:comms/uhd PLIST_SUB+= UHD="" .else PLIST_SUB+= UHD="@comment " .endif .include diff --git a/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_DisplayPlot.h b/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_DisplayPlot.h new file mode 100644 index 000000000000..26a2b59937c9 --- /dev/null +++ b/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_DisplayPlot.h @@ -0,0 +1,14 @@ +--- 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 + + #if QWT_VERSION >= 0x060000 +-#include ++typedef QPointF QwtDoublePoint; ++typedef QRectF QwtDoubleRect; ++ ++typedef QwtInterval QwtDoubleInterval; + #endif + + typedef QList QColorList; diff --git a/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_TimeRasterDisplayPlot.h b/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_TimeRasterDisplayPlot.h new file mode 100644 index 000000000000..9f0ccb6c159f --- /dev/null +++ b/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_TimeRasterDisplayPlot.h @@ -0,0 +1,13 @@ +--- 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 + #else +-#include ++#include ++ ++typedef QwtInterval QwtDoubleInterval; + #endif + + /*! diff --git a/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_WaterfallDisplayPlot.h b/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_WaterfallDisplayPlot.h new file mode 100644 index 000000000000..5c77cea2715f --- /dev/null +++ b/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_WaterfallDisplayPlot.h @@ -0,0 +1,13 @@ +--- 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 + #else +-#include ++#include ++ ++typedef QwtInterval QwtDoubleInterval; + #endif + + /*! diff --git a/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_plot__raster.h b/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_plot__raster.h new file mode 100644 index 000000000000..a2588451e7cc --- /dev/null +++ b/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_plot__raster.h @@ -0,0 +1,15 @@ +--- 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 + + #if QWT_VERSION >= 0x060000 +-#include +-#include // doesn't seem necessary, but is... ++#include ++#include ++ ++typedef QwtInterval QwtDoubleInterval; + #endif + + class QwtColorMap; diff --git a/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_plot__waterfall.h b/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_plot__waterfall.h new file mode 100644 index 000000000000..13c1952528df --- /dev/null +++ b/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_plot__waterfall.h @@ -0,0 +1,15 @@ +--- 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 + + #if QWT_VERSION >= 0x060000 +-#include +-#include // doesn't seem necessary, but is... ++#include ++#include ++ ++typedef QwtInterval QwtDoubleInterval; + #endif + + class QwtColorMap; diff --git a/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_qtgui__types.h b/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_qtgui__types.h new file mode 100644 index 000000000000..d7ec0bf86b5f --- /dev/null +++ b/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_qtgui__types.h @@ -0,0 +1,10 @@ +--- 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 + #include + #include ++#include + + namespace gr { + namespace qtgui { diff --git a/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_timeRasterGlobalData.h b/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_timeRasterGlobalData.h new file mode 100644 index 000000000000..b8b260a4e8dc --- /dev/null +++ b/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_timeRasterGlobalData.h @@ -0,0 +1,35 @@ +--- 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 + + #if QWT_VERSION >= 0x060000 +-#include +-#include // doesn't seem necessary, but is... ++#include ++ ++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: diff --git a/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_waterfallGlobalData.h b/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_waterfallGlobalData.h new file mode 100644 index 000000000000..7def4080f8a2 --- /dev/null +++ b/comms/gnuradio/files/patch-gr-qtgui_include_gnuradio_qtgui_waterfallGlobalData.h @@ -0,0 +1,35 @@ +--- 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 + + #if QWT_VERSION >= 0x060000 +-#include +-#include // doesn't seem necessary, but is... ++#include ++ ++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: diff --git a/comms/gnuradio/files/patch-gr-qtgui_lib_ConstellationDisplayPlot.cc b/comms/gnuradio/files/patch-gr-qtgui_lib_ConstellationDisplayPlot.cc new file mode 100644 index 000000000000..c2052f012146 --- /dev/null +++ b/comms/gnuradio/files/patch-gr-qtgui_lib_ConstellationDisplayPlot.cc @@ -0,0 +1,10 @@ +--- gr-qtgui/lib/ConstellationDisplayPlot.cc.orig 2024-02-19 05:20:52 UTC ++++ gr-qtgui/lib/ConstellationDisplayPlot.cc +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + + class ConstellationDisplayZoomer : public QwtPlotZoomer + { diff --git a/comms/gnuradio/files/patch-gr-qtgui_lib_plot__raster.cc b/comms/gnuradio/files/patch-gr-qtgui_lib_plot__raster.cc new file mode 100644 index 000000000000..78548b201aa9 --- /dev/null +++ b/comms/gnuradio/files/patch-gr-qtgui_lib_plot__raster.cc @@ -0,0 +1,29 @@ +--- 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 + } + } + } diff --git a/comms/gnuradio/files/patch-gr-qtgui_lib_plot__waterfall.cc b/comms/gnuradio/files/patch-gr-qtgui_lib_plot__waterfall.cc new file mode 100644 index 000000000000..f20ba3b32598 --- /dev/null +++ b/comms/gnuradio/files/patch-gr-qtgui_lib_plot__waterfall.cc @@ -0,0 +1,28 @@ +--- 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 + } + } + } diff --git a/comms/gnuradio/files/patch-gr-qtgui_lib_timeRasterGlobalData.cc b/comms/gnuradio/files/patch-gr-qtgui_lib_timeRasterGlobalData.cc new file mode 100644 index 000000000000..909184d0cbe4 --- /dev/null +++ b/comms/gnuradio/files/patch-gr-qtgui_lib_timeRasterGlobalData.cc @@ -0,0 +1,16 @@ +--- 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 + + diff --git a/comms/gnuradio/files/patch-gr-qtgui_lib_waterfallGlobalData.cc b/comms/gnuradio/files/patch-gr-qtgui_lib_waterfallGlobalData.cc new file mode 100644 index 000000000000..b1e8143339d6 --- /dev/null +++ b/comms/gnuradio/files/patch-gr-qtgui_lib_waterfallGlobalData.cc @@ -0,0 +1,16 @@ +--- 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 + +