Index: head/comms/uhd/Makefile =================================================================== --- head/comms/uhd/Makefile (revision 467363) +++ head/comms/uhd/Makefile (revision 467364) @@ -1,77 +1,77 @@ # $FreeBSD$ PORTNAME= uhd PORTVERSION= 3.10.3.0 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= comms hamradio MASTER_SITES= http://files.ettus.com/binaries/images/ DISTFILES= ${IMAGE_FILE} DIST_SUBDIR= ${PORTNAME} MAINTAINER= mr@FreeBSD.org COMMENT= Ettus Research UHD driver framework LIB_DEPENDS= ${PY_BOOST} \ libboost_system.so:devel/boost-libs BUILD_DEPENDS= ${LOCALBASE}/include/boost/tuple/tuple.hpp:devel/boost-libs \ cheetah-analyze:devel/py-cheetah@${PY_FLAVOR} \ rst2html:textproc/py-docutils \ orcc:devel/orc \ ${PYTHON_PKGNAMEPREFIX}mako>0:textproc/py-mako@${PY_FLAVOR} USE_GITHUB= yes GH_ACCOUNT= EttusResearch GH_TAGNAME= ef1576780bc927b8611640091b15f3d051cb97ad CONFLICTS= usrp-[0-9]* BROKEN_powerpc64= fails to link: undefined reference to boost function USES= compiler:c++11-lib cmake:outsource ncurses pkgconfig \ dos2unix python:2.7 shebangfix USE_LDCONFIG= yes CMAKE_SOURCE_PATH= ${WRKSRC}/host #MAKE_JOBS_UNSAFE= yes #CXXFLAGS_amd64= -msse2 -std=c++11 #CXXFLAGS_i386= -msse2 -std=c++11 CXXFLAGS_amd64= -msse2 -std=c++98 CXXFLAGS_i386= -msse2 -std=c++98 SHEBANG_GLOB= *.py *.py.in CMAKE_ARGS+= -DPKG_LIB_DIR:STRING="share/uhd" -DUHD_TXRX_DEBUG_PRINTS="yes" # for excruciating debug use this -db #CMAKE_ARGS+= --debug-output --trace IMAGE_FILE= uhd-images_003.010.003.000-release.zip OPTIONS_DEFINE= DOXYGEN #OPTIONS_DEFAULT= DOXYGEN OPTIONS_SUB=yes DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen .include .if ${PORT_OPTIONS:MDOXYGEN} BUILD_DEPENDS+= doxygen:devel/doxygen CMAKE_ARGS+= -DENABLE_DOXYGEN:STRING="ON" HAVEDOCS= YES .endif post-patch: # USES=pathfix handles LIBRARY_INSTALL_DIR but not LIBRARY_DIR @${REINPLACE_CMD} '/pkgconfig/s|LIBRARY_DIR}|CMAKE_INSTALL_PREFIX}/libdata|' \ ${PATCH_WRKSRC}/host/CMakeLists.txt do-install: # install host component # hack the install prefix now @${REINPLACE_CMD} -e "s|/usr/local|${STAGEDIR}${PREFIX}|g" \ ${CONFIGURE_WRKSRC}/cmake_install.cmake cd ${CONFIGURE_WRKSRC} && ${MAKE_CMD} install .for subdir in images ${CP} -Rp ${WRKDIR}/${IMAGE_FILE:S|.zip||}/share/uhd/${subdir} ${STAGEDIR}${DATADIR} .endfor .include Index: head/comms/uhd/files/patch-boost-1.67 =================================================================== --- head/comms/uhd/files/patch-boost-1.67 (nonexistent) +++ head/comms/uhd/files/patch-boost-1.67 (revision 467364) @@ -0,0 +1,156 @@ +https://github.com/EttusResearch/uhd/commit/305d0e79e219 +https://github.com/EttusResearch/uhd/pull/170 + +--- host/examples/benchmark_rate.cpp.orig 2018-01-30 20:19:20 UTC ++++ host/examples/benchmark_rate.cpp +@@ -31,7 +31,7 @@ + + namespace po = boost::program_options; + +-const double CLOCK_TIMEOUT = 1000; // 1000mS timeout for external clock locking ++const long CLOCK_TIMEOUT = 1000; // 1000mS timeout for external clock locking + const double INIT_DELAY = 0.05; // 50mS initial delay before transmit + //typedef boost::atomic atomic_bool; + // We'll fake atomic bools for now, for more backward compat. +@@ -471,7 +471,7 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){ + const long usecs = long((duration - secs)*1e6); + boost::this_thread::sleep(boost::posix_time::seconds(secs) + + boost::posix_time::microseconds(usecs) +- + boost::posix_time::milliseconds( (rx_channel_nums.size() <= 1 and tx_channel_nums.size() <= 1) ? 0 : (INIT_DELAY * 1000)) ++ + boost::posix_time::milliseconds( (rx_channel_nums.size() <= 1 and tx_channel_nums.size() <= 1) ? 0 : long(INIT_DELAY * 1000)) + ); + + //interrupt and join the threads +--- host/examples/rx_samples_to_file.cpp.orig 2018-01-30 20:19:20 UTC ++++ host/examples/rx_samples_to_file.cpp +@@ -166,7 +166,7 @@ template void recv_to_file( + + typedef boost::function get_sensor_fn_t; + +-bool check_locked_sensor(std::vector sensor_names, const char* sensor_name, get_sensor_fn_t get_sensor_fn, double setup_time){ ++bool check_locked_sensor(std::vector sensor_names, const char* sensor_name, get_sensor_fn_t get_sensor_fn, long setup_time){ + if (std::find(sensor_names.begin(), sensor_names.end(), sensor_name) == sensor_names.end()) + return false; + +@@ -211,7 +211,8 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){ + //variables to be set by po + std::string args, file, type, ant, subdev, ref, wirefmt; + size_t total_num_samps, spb; +- double rate, freq, gain, bw, total_time, setup_time; ++ double rate, freq, gain, bw, total_time; ++ long setup_time; + + //setup the program options + po::options_description desc("Allowed options"); +@@ -232,7 +233,7 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){ + ("bw", po::value(&bw), "analog frontend filter bandwidth in Hz") + ("ref", po::value(&ref)->default_value("internal"), "reference source (internal, external, mimo)") + ("wirefmt", po::value(&wirefmt)->default_value("sc16"), "wire format (sc8 or sc16)") +- ("setup", po::value(&setup_time)->default_value(1.0), "seconds of setup time") ++ ("setup", po::value(&setup_time)->default_value(1), "seconds of setup time") + ("progress", "periodically display short-term bandwidth") + ("stats", "show average bandwidth on exit") + ("sizemap", "track packet size and display breakdown on exit") +--- host/examples/tx_samples_from_file.cpp.orig 2018-01-30 20:19:20 UTC ++++ host/examples/tx_samples_from_file.cpp +@@ -71,7 +71,8 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){ + //variables to be set by po + std::string args, file, type, ant, subdev, ref, wirefmt; + size_t spb; +- double rate, freq, gain, bw, delay, lo_off; ++ double rate, freq, gain, bw, lo_off; ++ long delay; + + //setup the program options + po::options_description desc("Allowed options"); +@@ -90,7 +91,7 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){ + ("bw", po::value(&bw), "analog frontend filter bandwidth in Hz") + ("ref", po::value(&ref)->default_value("internal"), "reference source (internal, external, mimo)") + ("wirefmt", po::value(&wirefmt)->default_value("sc16"), "wire format (sc8 or sc16)") +- ("delay", po::value(&delay)->default_value(0.0), "specify a delay between repeated transmission of file") ++ ("delay", po::value(&delay)->default_value(0), "specify a delay between repeated transmission of file") + ("repeat", "repeatedly transmit file") + ("int-n", "tune USRP with integer-n tuning") + ; +@@ -193,7 +194,7 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){ + else if (type == "short") send_from_file >(usrp, "sc16", wirefmt, file, spb); + else throw std::runtime_error("Unknown type " + type); + +- if(repeat and delay != 0.0) boost::this_thread::sleep(boost::posix_time::milliseconds(delay)); ++ if(repeat and delay != 0) boost::this_thread::sleep(boost::posix_time::milliseconds(delay)); + } while(repeat and not stop_signal_called); + + //finished +--- host/lib/transport/nirio/niusrprio_session.cpp.orig 2018-01-30 20:19:20 UTC ++++ host/lib/transport/nirio/niusrprio_session.cpp +@@ -218,7 +218,7 @@ nirio_status niusrprio_session::_ensure_fpga_ready() + //there is a small chance that the server is still finishing up cleaning up + //the DMA FIFOs. We currently don't have any feedback from the driver regarding + //this state so just wait. +- boost::this_thread::sleep(boost::posix_time::milliseconds(FPGA_READY_TIMEOUT_IN_MS)); ++ boost::this_thread::sleep(boost::posix_time::milliseconds(long(FPGA_READY_TIMEOUT_IN_MS))); + + //Disable all FIFOs in the FPGA + for (size_t i = 0; i < _lvbitx->get_input_fifo_count(); i++) { +--- host/lib/transport/nirio/rpc/usrprio_rpc_client.cpp.orig 2018-01-30 20:19:20 UTC ++++ host/lib/transport/nirio/rpc/usrprio_rpc_client.cpp +@@ -24,7 +24,7 @@ usrprio_rpc_client::usrprio_rpc_client( + std::string server, + std::string port + ) : _rpc_client(server, port, uhd::get_process_id(), uhd::get_host_id()), +- _timeout(boost::posix_time::milliseconds(DEFAULT_TIMEOUT_IN_MS)) ++ _timeout(boost::posix_time::milliseconds(long(DEFAULT_TIMEOUT_IN_MS))) + { + _ctor_status = _rpc_client.status() ? NiRio_Status_RpcConnectionError : NiRio_Status_Success; + } +--- host/lib/usrp/cores/rx_vita_core_3000.cpp.orig 2018-01-30 20:19:20 UTC ++++ host/lib/usrp/cores/rx_vita_core_3000.cpp +@@ -74,7 +74,7 @@ struct rx_vita_core_3000_impl : rx_vita_core_3000 + // At 1 ms * 200 MHz = 200k cycles, 8 bytes * 200k cycles = 1.6 MB + // of flushed data, when the typical amount of data buffered + // is on the order of kilobytes +- boost::this_thread::sleep(boost::posix_time::milliseconds(1.0)); ++ boost::this_thread::sleep(boost::posix_time::milliseconds(1)); + + _iface->poke32(REG_FC_WINDOW, window_size-1); + _iface->poke32(REG_FC_ENABLE, window_size?1:0); +--- host/lib/usrp/gps_ctrl.cpp.orig 2018-01-30 20:19:20 UTC ++++ host/lib/usrp/gps_ctrl.cpp +@@ -306,19 +306,19 @@ class gps_ctrl_impl : public gps_ctrl{ (private) + //issue some setup stuff so it spits out the appropriate data + //none of these should issue replies so we don't bother looking for them + //we have to sleep between commands because the JL device, despite not acking, takes considerable time to process each command. +- sleep(milliseconds(GPSDO_COMMAND_DELAY_MS)); ++ sleep(milliseconds(long(GPSDO_COMMAND_DELAY_MS))); + _send("SYST:COMM:SER:ECHO OFF\r\n"); +- sleep(milliseconds(GPSDO_COMMAND_DELAY_MS)); ++ sleep(milliseconds(long(GPSDO_COMMAND_DELAY_MS))); + _send("SYST:COMM:SER:PRO OFF\r\n"); +- sleep(milliseconds(GPSDO_COMMAND_DELAY_MS)); ++ sleep(milliseconds(long(GPSDO_COMMAND_DELAY_MS))); + _send("GPS:GPGGA 1\r\n"); +- sleep(milliseconds(GPSDO_COMMAND_DELAY_MS)); ++ sleep(milliseconds(long(GPSDO_COMMAND_DELAY_MS))); + _send("GPS:GGAST 0\r\n"); +- sleep(milliseconds(GPSDO_COMMAND_DELAY_MS)); ++ sleep(milliseconds(long(GPSDO_COMMAND_DELAY_MS))); + _send("GPS:GPRMC 1\r\n"); +- sleep(milliseconds(GPSDO_COMMAND_DELAY_MS)); ++ sleep(milliseconds(long(GPSDO_COMMAND_DELAY_MS))); + _send("SERV:TRAC 1\r\n"); +- sleep(milliseconds(GPSDO_COMMAND_DELAY_MS)); ++ sleep(milliseconds(long(GPSDO_COMMAND_DELAY_MS))); + } + + //helper function to retrieve a field from an NMEA sentence +--- host/lib/usrp/x300/x300_impl.cpp.orig 2018-01-30 20:19:20 UTC ++++ host/lib/usrp/x300/x300_impl.cpp +@@ -1471,7 +1471,7 @@ void x300_impl::sync_times(mboard_members_t &mb, const + + bool x300_impl::wait_for_clk_locked(mboard_members_t& mb, uint32_t which, double timeout) + { +- boost::system_time timeout_time = boost::get_system_time() + boost::posix_time::milliseconds(timeout * 1000.0); ++ boost::system_time timeout_time = boost::get_system_time() + boost::posix_time::milliseconds(long(timeout * 1000)); + do { + if (mb.fw_regmap->clock_status_reg.read(which)==1) + return true; Property changes on: head/comms/uhd/files/patch-boost-1.67 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property