comms/uhd: Updates uhd to unbreak it and build with boost 1.87

Unbreak build due to change to boost 1.87
* Highlights / Main Changes
  - Addition of rfnoc_modtool and further improvements to RFNoC Image Builder
    toolsets. This further improves the ability to design RFNoC blocks and
    create custom FPGA bitfiles.
  - Replaced RFNoC FFT block with a new version
  - Improved Windows installation capabilities including distribution
    of binary Python bindings for Windows though PyPI

Remove obsolete patches.

PR:		286080

Reported by:	Diane Bruce
This commit is contained in:
Michael Reifenberger 2025-04-14 11:12:48 +02:00
parent d1fff74545
commit 5249256c3c
6 changed files with 293 additions and 76 deletions

View file

@ -1,7 +1,6 @@
PORTNAME= uhd
DISTVERSIONPREFIX= v
DISTVERSION= 4.6.0.0
PORTREVISION= 3
DISTVERSION= 4.8.0.0
CATEGORIES= comms hamradio
DIST_SUBDIR= ${PORTNAME}
@ -16,14 +15,16 @@ WWW= https://www.ettus.com/sdr-software/uhd-usrp-hardware-driver/
# is understood and if appropriate, we can add that license here.
LICENSE= GPLv3
BROKEN= fails to build with Boost>=1.87
LIB_DEPENDS= ${PY_BOOST} \
libboost_system.so:devel/boost-libs
BUILD_DEPENDS= orcc:devel/orc \
BUILD_DEPENDS= flatc:devel/flatbuffers \
orcc:devel/orc \
cheetah-analyze:devel/py-cheetah3@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}mako>0:textproc/py-mako@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
rst2html:textproc/py-docutils@${PY_FLAVOR} \
${PYNUMPY} \
${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}ruamel.yaml>=0:devel/py-ruamel.yaml@${PY_FLAVOR}
USES= compiler:c++14-lang cmake ncurses pkgconfig \
@ -32,8 +33,6 @@ USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= EttusResearch
CONFLICTS= usrp
BROKEN_FreeBSD_13_aarch64= fails to configure: Could not find standard set_new_handler function
BROKEN_FreeBSD_13_armv6= fails to configure: Could not find standard set_new_handler function
BROKEN_FreeBSD_13_armv7= fails to configure: Could not find standard set_new_handler function
@ -62,15 +61,21 @@ DOXYGEN_CMAKE_OFF= -DENABLE_DOXYGEN:STRING="OFF" \
-DENABLE_MANUAL:STRING="OFF"
DOXYGEN_PORTDOCS= doxygen
#
# XXX N.B. uhd compile will fail if the generated flatbuffers
# files are out of date with current version of flatbuffers.
# There is likely a better way of doing this, but this works.
pre-configure:
.for f in cal_metadata.fbs iq_cal.fbs dsa_cal.fbs pwr_cal.fbs
(cd ${WRKSRC}/host/include/uhd/cal;flatc --cpp ${f})
.endfor
do-install:
# install host component
# hack the install prefix now
@${REINPLACE_CMD} -e 's|"${LOCALBASE}"|"${STAGEDIR}${PREFIX}"|g' \
${CONFIGURE_WRKSRC}/cmake_install.cmake
cd ${CONFIGURE_WRKSRC} && ${MAKE_CMD} install
#.for subdir in images
# ${CP} -Rp ${WRKDIR}/uhd-ef1576780bc927b8611640091b15f3d051cb97ad/share/uhd/${subdir} ${STAGEDIR}${DATADIR}
#.endfor
post-install:
${STRIP_CMD} ${STAGEDIR}${DATADIR}/utils/b2xx_fx3_utils

View file

@ -1,3 +1,3 @@
TIMESTAMP = 1702505856
SHA256 (uhd/EttusResearch-uhd-v4.6.0.0_GH0.tar.gz) = 5e6eb05abb4a3973bef8837fb45a5147be04698229e22801369f728fcc6db38d
SIZE (uhd/EttusResearch-uhd-v4.6.0.0_GH0.tar.gz) = 41235519
TIMESTAMP = 1744309213
SHA256 (uhd/EttusResearch-uhd-v4.8.0.0_GH0.tar.gz) = a2159491949477dca67f5a9b05f5a80d8c2b32e91b95dd7fac8ddd3893e36d09
SIZE (uhd/EttusResearch-uhd-v4.8.0.0_GH0.tar.gz) = 41358938

View file

@ -1,11 +0,0 @@
--- host/lib/usrp_clock/octoclock/octoclock_image_loader.cpp.orig 2024-06-10 22:29:18 UTC
+++ host/lib/usrp_clock/octoclock/octoclock_image_loader.cpp
@@ -95,7 +95,7 @@ static void octoclock_validate_firmware_image(octocloc
% session.image_filepath));
}
- std::string extension = fs::extension(session.image_filepath);
+ const std::string extension = fs::path(session.image_filepath).extension().string();
if (extension == ".bin") {
octoclock_read_bin(session);
} else if (extension == ".hex") {

View file

@ -1,35 +0,0 @@
--- host/lib/usrp/mpmd/mpmd_image_loader.cpp.orig 2024-06-10 22:29:18 UTC
+++ host/lib/usrp/mpmd/mpmd_image_loader.cpp
@@ -21,14 +21,11 @@
#include <boost/algorithm/string.hpp>
#include <boost/archive/iterators/binary_from_base64.hpp>
#include <boost/archive/iterators/transform_width.hpp>
-#include <boost/filesystem/convenience.hpp>
#include <boost/optional.hpp>
#include <boost/property_tree/xml_parser.hpp>
#include <cctype>
#include <fstream>
#include <iterator>
-#include <sstream>
-#include <streambuf>
#include <string>
#include <vector>
@@ -271,7 +268,7 @@ static uhd::usrp::component_files_t bin_dts_to_compone
// DTS component struct
// First, we need to determine the name
const std::string base_name =
- boost::filesystem::change_extension(fpga_path, "").string();
+ boost::filesystem::path(fpga_path).replace_extension("").string();
if (base_name == fpga_path) {
const std::string err_msg(
"Can't cut extension from FPGA filename... " + fpga_path);
@@ -340,7 +337,7 @@ static void mpmd_send_fpga_to_device(
UHD_LOG_TRACE("MPMD IMAGE LOADER", "FPGA path: " << fpga_path);
// If the fpga_path is a lvbitx file, parse it as such
- if (boost::filesystem::extension(fpga_path) == ".lvbitx") {
+ if (boost::filesystem::path(fpga_path).extension() == ".lvbitx") {
all_component_files = lvbitx_to_component_files(fpga_path, delay_reload);
} else {
all_component_files = bin_dts_to_component_files(fpga_path, delay_reload);

View file

@ -1,13 +0,0 @@
--- host/lib/usrp/x300/x300_image_loader.cpp.orig 2024-06-10 22:29:18 UTC
+++ host/lib/usrp/x300/x300_image_loader.cpp
@@ -138,8 +138,8 @@ static void x300_validate_image(x300_session_t& sessio
boost::format("Could not find image at path \"%s\".") % session.filepath));
}
- std::string extension = fs::extension(session.filepath);
- session.lvbitx = (extension == ".lvbitx");
+ const std::string extension = fs::path(session.filepath).extension().string();
+ session.lvbitx = (extension == ".lvbitx");
if (session.lvbitx) {
extract_from_lvbitx(session);

View file

@ -1,4 +1,5 @@
bin/rfnoc_image_builder
bin/rfnoc_modtool
bin/uhd_adc_self_cal
bin/uhd_cal_rx_iq_balance
bin/uhd_cal_tx_dc_offset
@ -6,7 +7,10 @@ bin/uhd_cal_tx_iq_balance
bin/uhd_config_info
bin/uhd_find_devices
bin/uhd_image_loader
bin/uhd_images_downloader
bin/uhd_usrp_probe
bin/usrp2_card_burner
bin/usrp_hwd.py
bin/usrpctl
include/uhd.h
include/uhd/build_info.hpp
@ -42,6 +46,7 @@ include/uhd/property_tree.ipp
include/uhd/rfnoc/actions.hpp
include/uhd/rfnoc/addsub_block_control.hpp
include/uhd/rfnoc/block_control.hpp
include/uhd/rfnoc/block_controller_factory_python.hpp
include/uhd/rfnoc/block_id.hpp
include/uhd/rfnoc/blockdef.hpp
include/uhd/rfnoc/chdr_types.hpp
@ -57,6 +62,7 @@ include/uhd/rfnoc/fir_filter_block_control.hpp
include/uhd/rfnoc/fosphor_block_control.hpp
include/uhd/rfnoc/graph_edge.hpp
include/uhd/rfnoc/keep_one_in_n_block_control.hpp
include/uhd/rfnoc/lc_block_control.hpp
include/uhd/rfnoc/logpwr_block_control.hpp
include/uhd/rfnoc/mb_controller.hpp
include/uhd/rfnoc/mock_block.hpp
@ -186,11 +192,233 @@ include/uhd/version.hpp
lib/cmake/uhd/UHDBoost.cmake
lib/cmake/uhd/UHDConfig.cmake
lib/cmake/uhd/UHDConfigVersion.cmake
lib/cmake/uhd/UHDMinDepVersions.cmake
lib/cmake/uhd/UHDPython.cmake
lib/libuhd.so
lib/libuhd.so.4.6.0
lib/libuhd.so.4.8.0
%%PYTHON_SITELIBDIR%%/uhd/__init__.py
%%PYTHON_SITELIBDIR%%/uhd/chdr.py
%%PYTHON_SITELIBDIR%%/uhd/dsp/__init__.py
%%PYTHON_SITELIBDIR%%/uhd/dsp/signals.py
%%PYTHON_SITELIBDIR%%/uhd/filters.py
%%PYTHON_SITELIBDIR%%/uhd/libpyuhd%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/uhd/property_tree.py
%%PYTHON_SITELIBDIR%%/uhd/rfnoc.py
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/__init__.py
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/builder_config.py
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/common.py
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/connections.py
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/grc.py
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/image_builder.py
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/log.py
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/modtool_commands/add.yml
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/modtool_commands/create.yml
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/rfnoc_modtool.py
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/step_executor.py
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/template.py
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/Makefile.inc.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/CMakeLists.txt.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/Makefile.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/Makefile.srcs.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/functions.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/modules/axis_chdr_connect_template.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/modules/axis_chdr_modules_template.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/modules/axis_chdr_wires_template.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/modules/axis_ctrl_connect_template.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/modules/axis_ctrl_modules_template.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/modules/axis_ctrl_wires_template.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/modules/axis_data_connect_template.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/modules/axis_data_modules_template.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/modules/axis_data_wires_template.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/modules/axis_pyld_ctxt_connect_template.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/modules/axis_pyld_ctxt_modules_template.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/modules/axis_pyld_ctxt_wires_template.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/modules/ctrlport_connect_template.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/modules/ctrlport_modules_template.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/modules/ctrlport_wires_template.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/noc_shell_template.sv.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/rfnoc_block_template.sv.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/rfnoc_block_template_tb.sv.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/template_block_control.cpp.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/template_block_control.hpp.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/blocktool/template_block_control_python.hpp.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/device_tree.dts.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/keyfile.v.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/modules/chdr_xb_sep_transport.v.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/modules/connect_clk_domains.v.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/modules/connect_io_ports.v.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/modules/ctrl_crossbar.v.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/modules/device_io_ports.v.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/modules/device_transport.v.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/modules/drive_unused_ioports.v.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/modules/drive_unused_ports.v.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/modules/module.v.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/modules/rfnoc_block.v.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/modules/secure_image_core_inst.v.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/modules/sep_xb_wires.v.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/modules/static_router.v.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/modules/stream_endpoints.v.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/modules/transport_adapter.v.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/rfnoc_image_core.sv.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/rfnoc_image_core.vh.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/templates/secure_image_core.sv.mako
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/utils.py
%%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/yaml_utils.py
%%PYTHON_SITELIBDIR%%/uhd/types.py
%%PYTHON_SITELIBDIR%%/uhd/usrp/__init__.py
%%PYTHON_SITELIBDIR%%/uhd/usrp/cal/__init__.py
%%PYTHON_SITELIBDIR%%/uhd/usrp/cal/libtypes.py
%%PYTHON_SITELIBDIR%%/uhd/usrp/cal/meas_device.py
%%PYTHON_SITELIBDIR%%/uhd/usrp/cal/ni_rf_instr.py
%%PYTHON_SITELIBDIR%%/uhd/usrp/cal/switch.py
%%PYTHON_SITELIBDIR%%/uhd/usrp/cal/tone_gen.py
%%PYTHON_SITELIBDIR%%/uhd/usrp/cal/usrp_calibrator.py
%%PYTHON_SITELIBDIR%%/uhd/usrp/cal/visa.py
%%PYTHON_SITELIBDIR%%/uhd/usrp/dram_utils.py
%%PYTHON_SITELIBDIR%%/uhd/usrp/libtypes.py
%%PYTHON_SITELIBDIR%%/uhd/usrp/multi_usrp.py
%%PYTHON_SITELIBDIR%%/uhd/usrp_clock/__init__.py
%%PYTHON_SITELIBDIR%%/uhd/usrp_clock/multi_usrp_clock.py
%%PYTHON_SITELIBDIR%%/uhd/usrpctl/__init__.py
%%PYTHON_SITELIBDIR%%/uhd/usrpctl/commands/__init__.py
%%PYTHON_SITELIBDIR%%/uhd/usrpctl/commands/command.py
%%PYTHON_SITELIBDIR%%/uhd/usrpctl/commands/find.py
%%PYTHON_SITELIBDIR%%/uhd/usrpctl/commands/probe.py
%%PYTHON_SITELIBDIR%%/uhd/usrpctl/commands/reset.py
%%PYTHON_SITELIBDIR%%/uhd/utils/__init__.py
%%PYTHON_SITELIBDIR%%/uhd/utils/convert_cal_data.py
%%PYTHON_SITELIBDIR%%/uhd/utils/mpmtools.py
%%PYTHON_SITELIBDIR%%/uhd/utils/uhd_power_cal.py
%%PYTHON_SITELIBDIR%%/uhd/utils/version_check.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/__init__.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/aurora_control.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/bfrfs.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/bist.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/chips/__init__.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/chips/adf400x.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/chips/ds125df410.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/chips/ic_reg_maps/__init__.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/chips/lmk03328.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/chips/lmk04828.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/chips/lmk04832.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/chips/lmk05318.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/chips/lmx2572.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/chips/max10_cpld_flash_ctrl.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/compat_num.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/components.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/cores/__init__.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/cores/eyescan.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/cores/nijesdcore.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/cores/tdc_sync.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/cores/white_rabbit.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/__init__.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/ad936x_db.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/adc_rh.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/base.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/dac_rh.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/dboard_iface.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/e31x_db.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/empty_slot.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/fbx.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/gain_rh.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/gaintables_rh.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/lmk_mg.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/lmk_rh.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/magnesium.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/magnesium_update_cpld.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/mg_init.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/mg_periphs.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/neon.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/rh_init.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/rh_periphs.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/rhodium.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/rhodium_update_cpld.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/test.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/unknown.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/x4xx_db.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/x4xx_db_iface.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/x4xx_debug_db.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/x4xx_if_test_cca.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/zbx.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/dboard_manager/zbx_update_cpld.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/discovery.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/e31x_legacy_eeprom.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/eeprom.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/ethdispatch.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/fpga_bit_to_bin.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/gpsd_iface.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/mpmlog.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/mpmtypes.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/mpmutils.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/__init__.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/base.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/common.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/e31x.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/e31x_periphs.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/e320.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/e320_periphs.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/n3xx.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/n3xx_periphs.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/sim.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/x4xx.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/x4xx_clk_aux.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/x4xx_clock_ctrl.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/x4xx_clock_lookup.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/x4xx_clock_mgr.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/x4xx_clock_policy.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/x4xx_clock_types.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/x4xx_dio_control.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/x4xx_gps_mgr.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/x4xx_mb_cpld.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/x4xx_periphs.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/x4xx_reference_pll.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/x4xx_rfdc_ctrl.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/x4xx_rfdc_regs.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/x4xx_sample_pll.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/periph_manager/x4xx_update_cpld.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/prefs.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/process_manager.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/rpc_server.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/rpc_utils.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/simulator/__init__.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/simulator/chdr_endpoint.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/simulator/chdr_stream.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/simulator/config.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/simulator/hardware_presets.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/simulator/noc_block_regs.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/simulator/rfnoc_common.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/simulator/rfnoc_graph.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/simulator/sample_source.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/simulator/sim_dboard.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/simulator/stream_endpoint_node.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/simulator/stream_ep_regs.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/sys_utils/__init__.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/sys_utils/db_flash.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/sys_utils/dtoverlay.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/sys_utils/ectool.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/sys_utils/filesystem_status.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/sys_utils/gpio.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/sys_utils/i2c_dev.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/sys_utils/mount.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/sys_utils/net.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/sys_utils/sysfs_gpio.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/sys_utils/sysfs_thermal.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/sys_utils/udev.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/sys_utils/uio.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/sys_utils/watchdog.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/test_bfrfs.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/tlv_eeprom.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/user_eeprom.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/xports/__init__.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/xports/xport_adapter_ctrl.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/xports/xport_adapter_mgr.py
%%PYTHON_SITELIBDIR%%/usrp_mpm/xports/xportmgr_udp.py
libdata/pkgconfig/uhd.pc
%%PORTDOCS%%%%DOCSDIR%%/LICENSE
%%PORTDOCS%%%%DOCSDIR%%/README.md
share/man/man1/rfnoc_image_builder.1.gz
share/man/man1/rfnoc_modtool.1.gz
share/man/man1/uhd_adc_self_cal.1.gz
share/man/man1/uhd_cal_rx_iq_balance.1.gz
share/man/man1/uhd_cal_tx_dc_offset.1.gz
share/man/man1/uhd_cal_tx_iq_balance.1.gz
@ -201,6 +429,7 @@ share/man/man1/uhd_images_downloader.1.gz
share/man/man1/uhd_usrp_probe.1.gz
share/man/man1/usrp2_card_burner.1.gz
share/man/man1/usrp_n2xx_simple_net_burner.1.gz
share/man/man1/usrpctl.1.gz
%%DATADIR%%/cal/cal_metadata.fbs
%%DATADIR%%/cal/dsa_cal.fbs
%%DATADIR%%/cal/iq_cal.fbs
@ -209,6 +438,15 @@ share/man/man1/usrp_n2xx_simple_net_burner.1.gz
%%DATADIR%%/examples/gpio
%%DATADIR%%/examples/latency_test
%%DATADIR%%/examples/network_relay
%%DATADIR%%/examples/python/benchmark_rate.py
%%DATADIR%%/examples/python/curses_fft.py
%%DATADIR%%/examples/python/fft_loopback.py
%%DATADIR%%/examples/python/remote_rx.py
%%DATADIR%%/examples/python/replay_capture.py
%%DATADIR%%/examples/python/rx_to_file.py
%%DATADIR%%/examples/python/tx_waveforms.py
%%DATADIR%%/examples/python/usrp_power_meter.py
%%DATADIR%%/examples/python/x440_L_band_capture.py
%%DATADIR%%/examples/rfnoc_nullsource_ce_rx
%%DATADIR%%/examples/rfnoc_radio_loopback
%%DATADIR%%/examples/rfnoc_replay_samples_from_file
@ -234,14 +472,33 @@ share/man/man1/usrp_n2xx_simple_net_burner.1.gz
%%DATADIR%%/examples/tx_waveforms
%%DATADIR%%/examples/txrx_loopback_to_file
%%DATADIR%%/examples/usrp_list_sensors
%%DATADIR%%/rfnoc-newmod/.gitignore
%%DATADIR%%/rfnoc-newmod/CMakeLists.txt
%%DATADIR%%/rfnoc-newmod/README.md
%%DATADIR%%/rfnoc-newmod/apps/CMakeLists.txt
%%DATADIR%%/rfnoc-newmod/cmake/Modules/run_testbench.sh.in
%%DATADIR%%/rfnoc-newmod/cmake/cmake_uninstall.cmake.in
%%DATADIR%%/rfnoc-newmod/examples/CMakeLists.txt
%%DATADIR%%/rfnoc-newmod/fpga/newmod/CMakeLists.txt
%%DATADIR%%/rfnoc-newmod/icores/.gitignore
%%DATADIR%%/rfnoc-newmod/icores/CMakeLists.txt
%%DATADIR%%/rfnoc-newmod/include/rfnoc/newmod/CMakeLists.txt
%%DATADIR%%/rfnoc-newmod/lib/CMakeLists.txt
%%DATADIR%%/rfnoc-newmod/python/CMakeLists.txt
%%DATADIR%%/rfnoc-newmod/python/pyrfnoc-newmod.cpp
%%DATADIR%%/rfnoc-newmod/python/rfnoc_newmod/__init__.py
%%DATADIR%%/rfnoc-newmod/python/setup.py.in
%%DATADIR%%/rfnoc-newmod/rfnoc/CMakeLists.txt
%%DATADIR%%/rfnoc-newmod/rfnoc/blocks/CMakeLists.txt
%%DATADIR%%/rfnoc/blocks/addsub.yml
%%DATADIR%%/rfnoc/blocks/axi_ram_fifo.yml
%%DATADIR%%/rfnoc/blocks/ddc.yml
%%DATADIR%%/rfnoc/blocks/duc.yml
%%DATADIR%%/rfnoc/blocks/fft_1x64.yml
%%DATADIR%%/rfnoc/blocks/fft.yml
%%DATADIR%%/rfnoc/blocks/fir_filter.yml
%%DATADIR%%/rfnoc/blocks/fosphor.yml
%%DATADIR%%/rfnoc/blocks/keep_one_in_n.yml
%%DATADIR%%/rfnoc/blocks/license_check.yml
%%DATADIR%%/rfnoc/blocks/logpwr.yml
%%DATADIR%%/rfnoc/blocks/moving_avg.yml
%%DATADIR%%/rfnoc/blocks/null_src_sink.yml
@ -263,9 +520,13 @@ share/man/man1/usrp_n2xx_simple_net_burner.1.gz
%%DATADIR%%/rfnoc/core/x310_bsp.yml
%%DATADIR%%/rfnoc/core/x410_bsp.yml
%%DATADIR%%/rfnoc/core/x440_bsp.yml
%%DATADIR%%/rfnoc/modules/device_dna.yml
%%DATADIR%%/rfnoc/transport_adapters/chdr_dma.yml
%%DATADIR%%/rfnoc/transport_adapters/x4xx_eth.yml
%%DATADIR%%/tests/actions_test
%%DATADIR%%/tests/addr_test
%%DATADIR%%/tests/addsub_block_test
%%DATADIR%%/tests/adf535x_test
%%DATADIR%%/tests/block_id_test
%%DATADIR%%/tests/buffer_test
%%DATADIR%%/tests/byteswap_test
@ -280,7 +541,9 @@ share/man/man1/usrp_n2xx_simple_net_burner.1.gz
%%DATADIR%%/tests/config_parser_test
%%DATADIR%%/tests/constrained_device_args_test
%%DATADIR%%/tests/convert_test
%%DATADIR%%/tests/custom_reg_test
%%DATADIR%%/tests/ddc_block_test
%%DATADIR%%/tests/device_addr_test.py
%%DATADIR%%/tests/devtest/benchmark_rate_test.py
%%DATADIR%%/tests/devtest/bitbang_test.py
%%DATADIR%%/tests/devtest/devtest_b2xx.py
@ -292,6 +555,7 @@ share/man/man1/usrp_n2xx_simple_net_burner.1.gz
%%DATADIR%%/tests/devtest/devtest_x440.py
%%DATADIR%%/tests/devtest/gpio_test.py
%%DATADIR%%/tests/devtest/list_sensors_test.py
%%DATADIR%%/tests/devtest/multi_usrp_clock_test.py
%%DATADIR%%/tests/devtest/multi_usrp_test.py
%%DATADIR%%/tests/devtest/python_api_test.py
%%DATADIR%%/tests/devtest/python_rx_stability_test.py
@ -318,6 +582,7 @@ share/man/man1/usrp_n2xx_simple_net_burner.1.gz
%%DATADIR%%/tests/fe_conn_test
%%DATADIR%%/tests/ferrum_radio_block_test
%%DATADIR%%/tests/fft_block_test
%%DATADIR%%/tests/fft_block_test_v2
%%DATADIR%%/tests/fir_filter_block_test
%%DATADIR%%/tests/fosphor_block_test
%%DATADIR%%/tests/fp_compare_delta_test
@ -326,11 +591,13 @@ share/man/man1/usrp_n2xx_simple_net_burner.1.gz
%%DATADIR%%/tests/interpolation_test
%%DATADIR%%/tests/isatty_test
%%DATADIR%%/tests/keep_one_in_n_test
%%DATADIR%%/tests/lc_block_test
%%DATADIR%%/tests/link_test
%%DATADIR%%/tests/lmx2572_test
%%DATADIR%%/tests/log_test
%%DATADIR%%/tests/logpwr_block_test
%%DATADIR%%/tests/math_test
%%DATADIR%%/tests/max287x_test
%%DATADIR%%/tests/mb_controller_test
%%DATADIR%%/tests/moving_average_block_test
%%DATADIR%%/tests/multichan_register_iface_test
@ -340,6 +607,8 @@ share/man/man1/usrp_n2xx_simple_net_burner.1.gz
%%DATADIR%%/tests/paths_test
%%DATADIR%%/tests/property_test
%%DATADIR%%/tests/pwr_cal_mgr_test
%%DATADIR%%/tests/pychdr_parse_test.py
%%DATADIR%%/tests/pyranges_test.py
%%DATADIR%%/tests/ranges_c_test
%%DATADIR%%/tests/ranges_test
%%DATADIR%%/tests/replay_block_test
@ -376,7 +645,9 @@ share/man/man1/usrp_n2xx_simple_net_burner.1.gz
%%DATADIR%%/tests/time_spec_test
%%DATADIR%%/tests/transport_test
%%DATADIR%%/tests/tx_streamer_test
%%DATADIR%%/tests/uhd_image_downloader_test.py
%%DATADIR%%/tests/vector_iir_block_test
%%DATADIR%%/tests/verify_fbs_test.py
%%DATADIR%%/tests/vrt_test
%%DATADIR%%/tests/window_block_test
%%DATADIR%%/tests/x400_rfdc_control_test
@ -384,7 +655,6 @@ share/man/man1/usrp_n2xx_simple_net_burner.1.gz
%%DATADIR%%/tests/xport_adapter_ctrl_test
%%DATADIR%%/tests/zbx_cpld_test
%%DATADIR%%/utils/b2xx_fx3_utils
%%DATADIR%%/utils/convert_cal_data.py
%%DATADIR%%/utils/converter_benchmark
%%DATADIR%%/utils/converter_benchmark.py
%%DATADIR%%/utils/fx2_init_eeprom
@ -394,7 +664,8 @@ share/man/man1/usrp_n2xx_simple_net_burner.1.gz
%%DATADIR%%/utils/octoclock_burn_eeprom
%%DATADIR%%/utils/query_gpsdo_sensors
%%DATADIR%%/utils/uhd_images_downloader.py
%%DATADIR%%/utils/uhd_power_cal.py
%%DATADIR%%/utils/usrp2_card_burner.py
%%DATADIR%%/utils/usrp2_recovery.py
%%DATADIR%%/utils/usrp_burn_db_eeprom
%%DATADIR%%/utils/usrp_burn_mb_eeprom
@dir %%PYTHON_SITELIBDIR%%/uhd/rfnoc_utils/__pycache__