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:
+81
-60
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user