pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/ham/uhd



Module Name:    pkgsrc
Committed By:   joerg
Date:           Thu May 14 19:21:04 UTC 2020

Modified Files:
        pkgsrc/ham/uhd: distinfo
Added Files:
        pkgsrc/ham/uhd/patches:
            patch-lib_rfnoc_dma__fifo__block__ctrl__impl.cpp
            patch-lib_usrp__clock_octoclock_octoclock__impl.cpp
            patch-lib_usrp_b100_b100__impl.cpp
            patch-lib_usrp_cores_rx__dsp__core__3000.cpp
            patch-lib_usrp_cores_tx__dsp__core__3000.cpp
            patch-lib_usrp_dboard_db__cbx.cpp
            patch-lib_usrp_dboard_db__dbsrx.cpp
            patch-lib_usrp_dboard_db__dbsrx2.cpp
            patch-lib_usrp_dboard_db__rfx.cpp
            patch-lib_usrp_dboard_db__sbx__common.cpp
            patch-lib_usrp_dboard_db__sbx__version3.cpp
            patch-lib_usrp_dboard_db__sbx__version4.cpp
            patch-lib_usrp_dboard_db__tvrx.cpp
            patch-lib_usrp_dboard_db__tvrx2.cpp
            patch-lib_usrp_dboard_db__ubx.cpp
            patch-lib_usrp_dboard_db__wbx__common.cpp
            patch-lib_usrp_dboard_db__wbx__simple.cpp
            patch-lib_usrp_dboard_db__wbx__version2.cpp
            patch-lib_usrp_dboard_db__wbx__version3.cpp
            patch-lib_usrp_dboard_db__wbx__version4.cpp
            patch-lib_usrp_dboard_db__xcvr2450.cpp
            patch-lib_usrp_dboard_eiscat_eiscat__radio__ctrl__impl.cpp
            patch-lib_usrp_multi__usrp.cpp
            patch-lib_usrp_x300_x300__radio__ctrl__impl.cpp

Log Message:
Fix boost::placeholders fallout


To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 pkgsrc/ham/uhd/distinfo
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/ham/uhd/patches/patch-lib_rfnoc_dma__fifo__block__ctrl__impl.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp__clock_octoclock_octoclock__impl.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_b100_b100__impl.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_cores_rx__dsp__core__3000.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_cores_tx__dsp__core__3000.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__cbx.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__dbsrx.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__dbsrx2.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__rfx.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__sbx__common.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__sbx__version3.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__sbx__version4.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__tvrx.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__tvrx2.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__ubx.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__common.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__simple.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__version2.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__version3.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__version4.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__xcvr2450.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_eiscat_eiscat__radio__ctrl__impl.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_multi__usrp.cpp \
    pkgsrc/ham/uhd/patches/patch-lib_usrp_x300_x300__radio__ctrl__impl.cpp

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/ham/uhd/distinfo
diff -u pkgsrc/ham/uhd/distinfo:1.24 pkgsrc/ham/uhd/distinfo:1.25
--- pkgsrc/ham/uhd/distinfo:1.24        Wed Apr  8 08:07:17 2020
+++ pkgsrc/ham/uhd/distinfo     Thu May 14 19:21:04 2020
@@ -1,8 +1,32 @@
-$NetBSD: distinfo,v 1.24 2020/04/08 08:07:17 adam Exp $
+$NetBSD: distinfo,v 1.25 2020/05/14 19:21:04 joerg Exp $
 
 SHA1 (uhd-3.15.0.0.tar.gz) = 17286a52a591038af16e870962c1767c5935ec2f
 RMD160 (uhd-3.15.0.0.tar.gz) = b05282c4b3f25bd201e9b91b3652fba9b150c7ae
 SHA512 (uhd-3.15.0.0.tar.gz) = ef62639d956adb5b4815b8e57bf4d6e62519bcaf509ce87af4f6091b79b4bb78c2bc079ec6f678777c24a146d5d5e1c8f225ad7ac5dba46bec6f8e1cc20309b0
 Size (uhd-3.15.0.0.tar.gz) = 12895934 bytes
 SHA1 (patch-CMakeLists.txt) = 5691ddd6a98f92e649a184cfc092a4eb721c6fe7
+SHA1 (patch-lib_rfnoc_dma__fifo__block__ctrl__impl.cpp) = 0dcc0ddc231f3f1c2a6a3a57ef88df5467170fc6
 SHA1 (patch-lib_transport_nirio_lvbitx_process-lvbitx.py) = 350af0f9ed999f64105a42195d2df037faef87c7
+SHA1 (patch-lib_usrp__clock_octoclock_octoclock__impl.cpp) = b77c91c7a202e3c93707dba67bedc9704f77ab56
+SHA1 (patch-lib_usrp_b100_b100__impl.cpp) = 9a53e41b45fdebaf0b56e3030f1c8f9790185046
+SHA1 (patch-lib_usrp_cores_rx__dsp__core__3000.cpp) = d63fd1ab1d48da7e9eb8a7deb33a3803fb6c219d
+SHA1 (patch-lib_usrp_cores_tx__dsp__core__3000.cpp) = 3812d190f830128046ab39b21ba63b6775f8c764
+SHA1 (patch-lib_usrp_dboard_db__cbx.cpp) = 3b8864f060acaeb262c91433f0dc0fd229f8c458
+SHA1 (patch-lib_usrp_dboard_db__dbsrx.cpp) = 55de5be387fbe59015c4e1c0861313740b9b3088
+SHA1 (patch-lib_usrp_dboard_db__dbsrx2.cpp) = a7b905d154ecfcfa72df8561b6ae98cd3f97fb08
+SHA1 (patch-lib_usrp_dboard_db__rfx.cpp) = c01c17ee5ba2ad877c1bdf4c940af529adeab8d6
+SHA1 (patch-lib_usrp_dboard_db__sbx__common.cpp) = 35345e22a714b67a35055f303aaa074ff3b637fa
+SHA1 (patch-lib_usrp_dboard_db__sbx__version3.cpp) = 8e243093fae46256dde8f8c531715dd2d88f2c9d
+SHA1 (patch-lib_usrp_dboard_db__sbx__version4.cpp) = 8ed4d05a98438a852f352c6db003d20b5886bd49
+SHA1 (patch-lib_usrp_dboard_db__tvrx.cpp) = 6b94d0a89558198340b75cd2d9b77c1fe0f04c5d
+SHA1 (patch-lib_usrp_dboard_db__tvrx2.cpp) = 5d3618a80d5ece89c2a4488b12613ca824ba7a19
+SHA1 (patch-lib_usrp_dboard_db__ubx.cpp) = c8bdfbe6b4494fc50f6b8229a5ee796cd9d85af5
+SHA1 (patch-lib_usrp_dboard_db__wbx__common.cpp) = 190619aaf7a93314e4d13cac28497b9af0011bf4
+SHA1 (patch-lib_usrp_dboard_db__wbx__simple.cpp) = e889a9fd77f610bf672b0e95ab6ab9178c14d7da
+SHA1 (patch-lib_usrp_dboard_db__wbx__version2.cpp) = 4285b334b32e246d54c53715da7a07f126ef6533
+SHA1 (patch-lib_usrp_dboard_db__wbx__version3.cpp) = e1d69f09f9f134a0c5aa2bbf772d8dd995cda681
+SHA1 (patch-lib_usrp_dboard_db__wbx__version4.cpp) = dbbe24a2a755031c06ff74045e2502d2ee646f59
+SHA1 (patch-lib_usrp_dboard_db__xcvr2450.cpp) = 90d2e4bfe072e84e20c35c256af036da696425c1
+SHA1 (patch-lib_usrp_dboard_eiscat_eiscat__radio__ctrl__impl.cpp) = 54e9e06fd37dd7cc5a9767519148266dd915f4a0
+SHA1 (patch-lib_usrp_multi__usrp.cpp) = ff711af0232cbe92dfe822411ab228b35fa63389
+SHA1 (patch-lib_usrp_x300_x300__radio__ctrl__impl.cpp) = 2f0c10f2443b6d2f361ee8a9f339b39c9498d2bb

Added files:

Index: pkgsrc/ham/uhd/patches/patch-lib_rfnoc_dma__fifo__block__ctrl__impl.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_rfnoc_dma__fifo__block__ctrl__impl.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_rfnoc_dma__fifo__block__ctrl__impl.cpp     Thu May 14 19:21:04 2020
@@ -0,0 +1,22 @@
+$NetBSD: patch-lib_rfnoc_dma__fifo__block__ctrl__impl.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/rfnoc/dma_fifo_block_ctrl_impl.cpp.orig        2020-05-09 17:48:24.246248533 +0000
++++ lib/rfnoc/dma_fifo_block_ctrl_impl.cpp
+@@ -58,7 +58,7 @@ public:
+             _tree->access<int>(get_arg_path("base_addr/value", i))
+                 .add_coerced_subscriber(boost::bind(&dma_fifo_block_ctrl_impl::resize,
+                     this,
+-                    _1,
++                    boost::placeholders::_1,
+                     boost::ref(_perifs[i].depth),
+                     i))
+                 .set(_perifs[i].base_addr);
+@@ -66,7 +66,7 @@ public:
+                 .add_coerced_subscriber(boost::bind(&dma_fifo_block_ctrl_impl::resize,
+                     this,
+                     boost::ref(_perifs[i].base_addr),
+-                    _1,
++                    boost::placeholders::_1,
+                     i))
+                 .set(_perifs[i].depth);
+         }
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp__clock_octoclock_octoclock__impl.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp__clock_octoclock_octoclock__impl.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp__clock_octoclock_octoclock__impl.cpp  Thu May 14 19:21:04 2020
@@ -0,0 +1,13 @@
+$NetBSD: patch-lib_usrp__clock_octoclock_octoclock__impl.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp_clock/octoclock/octoclock_impl.cpp.orig   2020-05-09 17:03:32.128126677 +0000
++++ lib/usrp_clock/octoclock/octoclock_impl.cpp
+@@ -232,7 +232,7 @@ octoclock_impl::octoclock_impl(const dev
+         _oc_dict[oc].eeprom = octoclock_eeprom_t(_oc_dict[oc].ctrl_xport, _proto_ver);
+         _tree->create<octoclock_eeprom_t>(oc_path / "eeprom")
+             .set(_oc_dict[oc].eeprom)
+-            .add_coerced_subscriber(boost::bind(&octoclock_impl::_set_eeprom, this, oc, _1));
++            .add_coerced_subscriber(boost::bind(&octoclock_impl::_set_eeprom, this, oc, boost::placeholders::_1));
+ 
+         ////////////////////////////////////////////////////////////////////
+         // Initialize non-GPSDO sensors
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_b100_b100__impl.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_b100_b100__impl.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_b100_b100__impl.cpp   Thu May 14 19:21:04 2020
@@ -0,0 +1,211 @@
+$NetBSD: patch-lib_usrp_b100_b100__impl.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/b100/b100_impl.cpp.orig   2020-05-09 16:46:31.268190497 +0000
++++ lib/usrp/b100/b100_impl.cpp
+@@ -274,7 +274,7 @@ b100_impl::b100_impl(const device_addr_t
+     _tree->create<std::string>(mb_path / "name").set("B100");
+     _tree->create<std::string>(mb_path / "codename").set("B-Hundo");
+     _tree->create<std::string>(mb_path / "load_eeprom")
+-        .add_coerced_subscriber(boost::bind(&fx2_ctrl::usrp_load_eeprom, _fx2_ctrl, _1));
++        .add_coerced_subscriber(boost::bind(&fx2_ctrl::usrp_load_eeprom, _fx2_ctrl, boost::placeholders::_1));
+ 
+     ////////////////////////////////////////////////////////////////////
+     // setup the mboard eeprom
+@@ -282,7 +282,7 @@ b100_impl::b100_impl(const device_addr_t
+     const mboard_eeprom_t mb_eeprom = this->get_mb_eeprom(_fx2_ctrl);
+     _tree->create<mboard_eeprom_t>(mb_path / "eeprom")
+         .set(mb_eeprom)
+-        .add_coerced_subscriber(boost::bind(&b100_impl::set_mb_eeprom, this, _1));
++        .add_coerced_subscriber(boost::bind(&b100_impl::set_mb_eeprom, this, boost::placeholders::_1));
+ 
+     ////////////////////////////////////////////////////////////////////
+     // create clock control objects
+@@ -290,12 +290,12 @@ b100_impl::b100_impl(const device_addr_t
+     //^^^ clock created up top, just reg props here... ^^^
+     _tree->create<double>(mb_path / "tick_rate")
+         .set_publisher(boost::bind(&b100_clock_ctrl::get_fpga_clock_rate, _clock_ctrl))
+-        .add_coerced_subscriber(boost::bind(&fifo_ctrl_excelsior::set_tick_rate, _fifo_ctrl, _1))
+-        .add_coerced_subscriber(boost::bind(&b100_impl::update_tick_rate, this, _1));
++        .add_coerced_subscriber(boost::bind(&fifo_ctrl_excelsior::set_tick_rate, _fifo_ctrl, boost::placeholders::_1))
++        .add_coerced_subscriber(boost::bind(&b100_impl::update_tick_rate, this, boost::placeholders::_1));
+ 
+     //add_coerced_subscriber the command time while we are at it
+     _tree->create<time_spec_t>(mb_path / "time/cmd")
+-        .add_coerced_subscriber(boost::bind(&fifo_ctrl_excelsior::set_time, _fifo_ctrl, _1));
++        .add_coerced_subscriber(boost::bind(&fifo_ctrl_excelsior::set_time, _fifo_ctrl, boost::placeholders::_1));
+ 
+     ////////////////////////////////////////////////////////////////////
+     // create codec control objects
+@@ -306,12 +306,12 @@ b100_impl::b100_impl(const device_addr_t
+     _tree->create<std::string>(rx_codec_path / "name").set("ad9522");
+     _tree->create<meta_range_t>(rx_codec_path / "gains/pga/range").set(b100_codec_ctrl::rx_pga_gain_range);
+     _tree->create<double>(rx_codec_path / "gains/pga/value")
+-        .set_coercer(boost::bind(&b100_impl::update_rx_codec_gain, this, _1))
++        .set_coercer(boost::bind(&b100_impl::update_rx_codec_gain, this, boost::placeholders::_1))
+         .set(0.0);
+     _tree->create<std::string>(tx_codec_path / "name").set("ad9522");
+     _tree->create<meta_range_t>(tx_codec_path / "gains/pga/range").set(b100_codec_ctrl::tx_pga_gain_range);
+     _tree->create<double>(tx_codec_path / "gains/pga/value")
+-        .add_coerced_subscriber(boost::bind(&b100_codec_ctrl::set_tx_pga_gain, _codec_ctrl, _1))
++        .add_coerced_subscriber(boost::bind(&b100_codec_ctrl::set_tx_pga_gain, _codec_ctrl, boost::placeholders::_1))
+         .set_publisher(boost::bind(&b100_codec_ctrl::get_tx_pga_gain, _codec_ctrl))
+         .set(0.0);
+ 
+@@ -328,27 +328,27 @@ b100_impl::b100_impl(const device_addr_t
+     _tx_fe = tx_frontend_core_200::make(_fifo_ctrl, TOREG(SR_TX_FE));
+ 
+     _tree->create<subdev_spec_t>(mb_path / "rx_subdev_spec")
+-        .add_coerced_subscriber(boost::bind(&b100_impl::update_rx_subdev_spec, this, _1));
++        .add_coerced_subscriber(boost::bind(&b100_impl::update_rx_subdev_spec, this, boost::placeholders::_1));
+     _tree->create<subdev_spec_t>(mb_path / "tx_subdev_spec")
+-        .add_coerced_subscriber(boost::bind(&b100_impl::update_tx_subdev_spec, this, _1));
++        .add_coerced_subscriber(boost::bind(&b100_impl::update_tx_subdev_spec, this, boost::placeholders::_1));
+ 
+     const fs_path rx_fe_path = mb_path / "rx_frontends" / "A";
+     const fs_path tx_fe_path = mb_path / "tx_frontends" / "A";
+ 
+     _tree->create<std::complex<double> >(rx_fe_path / "dc_offset" / "value")
+-        .set_coercer(boost::bind(&rx_frontend_core_200::set_dc_offset, _rx_fe, _1))
++        .set_coercer(boost::bind(&rx_frontend_core_200::set_dc_offset, _rx_fe, boost::placeholders::_1))
+         .set(std::complex<double>(0.0, 0.0));
+     _tree->create<bool>(rx_fe_path / "dc_offset" / "enable")
+-        .add_coerced_subscriber(boost::bind(&rx_frontend_core_200::set_dc_offset_auto, _rx_fe, _1))
++        .add_coerced_subscriber(boost::bind(&rx_frontend_core_200::set_dc_offset_auto, _rx_fe, boost::placeholders::_1))
+         .set(true);
+     _tree->create<std::complex<double> >(rx_fe_path / "iq_balance" / "value")
+-        .add_coerced_subscriber(boost::bind(&rx_frontend_core_200::set_iq_balance, _rx_fe, _1))
++        .add_coerced_subscriber(boost::bind(&rx_frontend_core_200::set_iq_balance, _rx_fe, boost::placeholders::_1))
+         .set(std::complex<double>(0.0, 0.0));
+     _tree->create<std::complex<double> >(tx_fe_path / "dc_offset" / "value")
+-        .set_coercer(boost::bind(&tx_frontend_core_200::set_dc_offset, _tx_fe, _1))
++        .set_coercer(boost::bind(&tx_frontend_core_200::set_dc_offset, _tx_fe, boost::placeholders::_1))
+         .set(std::complex<double>(0.0, 0.0));
+     _tree->create<std::complex<double> >(tx_fe_path / "iq_balance" / "value")
+-        .add_coerced_subscriber(boost::bind(&tx_frontend_core_200::set_iq_balance, _tx_fe, _1))
++        .add_coerced_subscriber(boost::bind(&tx_frontend_core_200::set_iq_balance, _tx_fe, boost::placeholders::_1))
+         .set(std::complex<double>(0.0, 0.0));
+ 
+     ////////////////////////////////////////////////////////////////////
+@@ -367,20 +367,20 @@ b100_impl::b100_impl(const device_addr_t
+ 
+         _rx_dsps[dspno]->set_link_rate(B100_LINK_RATE_BPS);
+         _tree->access<double>(mb_path / "tick_rate")
+-            .add_coerced_subscriber(boost::bind(&rx_dsp_core_200::set_tick_rate, _rx_dsps[dspno], _1));
++            .add_coerced_subscriber(boost::bind(&rx_dsp_core_200::set_tick_rate, _rx_dsps[dspno], boost::placeholders::_1));
+         fs_path rx_dsp_path = mb_path / str(boost::format("rx_dsps/%u") % dspno);
+         _tree->create<meta_range_t>(rx_dsp_path / "rate/range")
+             .set_publisher(boost::bind(&rx_dsp_core_200::get_host_rates, _rx_dsps[dspno]));
+         _tree->create<double>(rx_dsp_path / "rate/value")
+             .set(1e6) //some default
+-            .set_coercer(boost::bind(&rx_dsp_core_200::set_host_rate, _rx_dsps[dspno], _1))
+-            .add_coerced_subscriber(boost::bind(&b100_impl::update_rx_samp_rate, this, dspno, _1));
++            .set_coercer(boost::bind(&rx_dsp_core_200::set_host_rate, _rx_dsps[dspno], boost::placeholders::_1))
++            .add_coerced_subscriber(boost::bind(&b100_impl::update_rx_samp_rate, this, dspno, boost::placeholders::_1));
+         _tree->create<double>(rx_dsp_path / "freq/value")
+-            .set_coercer(boost::bind(&rx_dsp_core_200::set_freq, _rx_dsps[dspno], _1));
++            .set_coercer(boost::bind(&rx_dsp_core_200::set_freq, _rx_dsps[dspno], boost::placeholders::_1));
+         _tree->create<meta_range_t>(rx_dsp_path / "freq/range")
+             .set_publisher(boost::bind(&rx_dsp_core_200::get_freq_range, _rx_dsps[dspno]));
+         _tree->create<stream_cmd_t>(rx_dsp_path / "stream_cmd")
+-            .add_coerced_subscriber(boost::bind(&rx_dsp_core_200::issue_stream_command, _rx_dsps[dspno], _1));
++            .add_coerced_subscriber(boost::bind(&rx_dsp_core_200::issue_stream_command, _rx_dsps[dspno], boost::placeholders::_1));
+     }
+ 
+     ////////////////////////////////////////////////////////////////////
+@@ -391,15 +391,15 @@ b100_impl::b100_impl(const device_addr_t
+     );
+     _tx_dsp->set_link_rate(B100_LINK_RATE_BPS);
+     _tree->access<double>(mb_path / "tick_rate")
+-        .add_coerced_subscriber(boost::bind(&tx_dsp_core_200::set_tick_rate, _tx_dsp, _1));
++        .add_coerced_subscriber(boost::bind(&tx_dsp_core_200::set_tick_rate, _tx_dsp, boost::placeholders::_1));
+     _tree->create<meta_range_t>(mb_path / "tx_dsps/0/rate/range")
+         .set_publisher(boost::bind(&tx_dsp_core_200::get_host_rates, _tx_dsp));
+     _tree->create<double>(mb_path / "tx_dsps/0/rate/value")
+         .set(1e6) //some default
+-        .set_coercer(boost::bind(&tx_dsp_core_200::set_host_rate, _tx_dsp, _1))
+-        .add_coerced_subscriber(boost::bind(&b100_impl::update_tx_samp_rate, this, 0, _1));
++        .set_coercer(boost::bind(&tx_dsp_core_200::set_host_rate, _tx_dsp, boost::placeholders::_1))
++        .add_coerced_subscriber(boost::bind(&b100_impl::update_tx_samp_rate, this, 0, boost::placeholders::_1));
+     _tree->create<double>(mb_path / "tx_dsps/0/freq/value")
+-        .set_coercer(boost::bind(&tx_dsp_core_200::set_freq, _tx_dsp, _1));
++        .set_coercer(boost::bind(&tx_dsp_core_200::set_freq, _tx_dsp, boost::placeholders::_1));
+     _tree->create<meta_range_t>(mb_path / "tx_dsps/0/freq/range")
+         .set_publisher(boost::bind(&tx_dsp_core_200::get_freq_range, _tx_dsp));
+ 
+@@ -415,21 +415,21 @@ b100_impl::b100_impl(const device_addr_t
+         _fifo_ctrl, TOREG(SR_TIME64), time64_rb_bases
+     );
+     _tree->access<double>(mb_path / "tick_rate")
+-        .add_coerced_subscriber(boost::bind(&time64_core_200::set_tick_rate, _time64, _1));
++        .add_coerced_subscriber(boost::bind(&time64_core_200::set_tick_rate, _time64, boost::placeholders::_1));
+     _tree->create<time_spec_t>(mb_path / "time/now")
+         .set_publisher(boost::bind(&time64_core_200::get_time_now, _time64))
+-        .add_coerced_subscriber(boost::bind(&time64_core_200::set_time_now, _time64, _1));
++        .add_coerced_subscriber(boost::bind(&time64_core_200::set_time_now, _time64, boost::placeholders::_1));
+     _tree->create<time_spec_t>(mb_path / "time/pps")
+         .set_publisher(boost::bind(&time64_core_200::get_time_last_pps, _time64))
+-        .add_coerced_subscriber(boost::bind(&time64_core_200::set_time_next_pps, _time64, _1));
++        .add_coerced_subscriber(boost::bind(&time64_core_200::set_time_next_pps, _time64, boost::placeholders::_1));
+     //setup time source props
+     _tree->create<std::string>(mb_path / "time_source/value")
+-        .add_coerced_subscriber(boost::bind(&time64_core_200::set_time_source, _time64, _1));
++        .add_coerced_subscriber(boost::bind(&time64_core_200::set_time_source, _time64, boost::placeholders::_1));
+     _tree->create<std::vector<std::string> >(mb_path / "time_source/options")
+         .set_publisher(boost::bind(&time64_core_200::get_time_sources, _time64));
+     //setup reference source props
+     _tree->create<std::string>(mb_path / "clock_source/value")
+-        .add_coerced_subscriber(boost::bind(&b100_impl::update_clock_source, this, _1));
++        .add_coerced_subscriber(boost::bind(&b100_impl::update_clock_source, this, boost::placeholders::_1));
+     static const std::vector<std::string> clock_sources = {
+         "internal", "external", "auto"
+     };
+@@ -440,7 +440,7 @@ b100_impl::b100_impl(const device_addr_t
+     ////////////////////////////////////////////////////////////////////
+     _user = user_settings_core_200::make(_fifo_ctrl, TOREG(SR_USER_REGS));
+     _tree->create<user_settings_core_200::user_reg_t>(mb_path / "user/regs")
+-        .add_coerced_subscriber(boost::bind(&user_settings_core_200::set_reg, _user, _1));
++        .add_coerced_subscriber(boost::bind(&user_settings_core_200::set_reg, _user, boost::placeholders::_1));
+ 
+     ////////////////////////////////////////////////////////////////////
+     // create dboard control objects
+@@ -458,13 +458,13 @@ b100_impl::b100_impl(const device_addr_t
+     //create the properties and register subscribers
+     _tree->create<dboard_eeprom_t>(mb_path / "dboards/A/rx_eeprom")
+         .set(rx_db_eeprom)
+-        .add_coerced_subscriber(boost::bind(&b100_impl::set_db_eeprom, this, "rx", _1));
++        .add_coerced_subscriber(boost::bind(&b100_impl::set_db_eeprom, this, "rx", boost::placeholders::_1));
+     _tree->create<dboard_eeprom_t>(mb_path / "dboards/A/tx_eeprom")
+         .set(tx_db_eeprom)
+-        .add_coerced_subscriber(boost::bind(&b100_impl::set_db_eeprom, this, "tx", _1));
++        .add_coerced_subscriber(boost::bind(&b100_impl::set_db_eeprom, this, "tx", boost::placeholders::_1));
+     _tree->create<dboard_eeprom_t>(mb_path / "dboards/A/gdb_eeprom")
+         .set(gdb_eeprom)
+-        .add_coerced_subscriber(boost::bind(&b100_impl::set_db_eeprom, this, "gdb", _1));
++        .add_coerced_subscriber(boost::bind(&b100_impl::set_db_eeprom, this, "gdb", boost::placeholders::_1));
+ 
+     //create a new dboard interface and manager
+     _dboard_manager = dboard_manager::make(
+@@ -477,12 +477,12 @@ b100_impl::b100_impl(const device_addr_t
+     const fs_path db_tx_fe_path = mb_path / "dboards" / "A" / "tx_frontends";
+     for(const std::string &name:  _tree->list(db_tx_fe_path)){
+         _tree->access<double>(db_tx_fe_path / name / "freq" / "value")
+-            .add_coerced_subscriber(boost::bind(&b100_impl::set_tx_fe_corrections, this, _1));
++            .add_coerced_subscriber(boost::bind(&b100_impl::set_tx_fe_corrections, this, boost::placeholders::_1));
+     }
+     const fs_path db_rx_fe_path = mb_path / "dboards" / "A" / "rx_frontends";
+     for(const std::string &name:  _tree->list(db_rx_fe_path)){
+         _tree->access<double>(db_rx_fe_path / name / "freq" / "value")
+-            .add_coerced_subscriber(boost::bind(&b100_impl::set_rx_fe_corrections, this, _1));
++            .add_coerced_subscriber(boost::bind(&b100_impl::set_rx_fe_corrections, this, boost::placeholders::_1));
+     }
+ 
+     //initialize io handling
+@@ -498,7 +498,7 @@ b100_impl::b100_impl(const device_addr_t
+     this->update_rates();
+ 
+     _tree->access<double>(mb_path / "tick_rate") //now add_coerced_subscriber the clock rate setter
+-        .add_coerced_subscriber(boost::bind(&b100_clock_ctrl::set_fpga_clock_rate, _clock_ctrl, _1));
++        .add_coerced_subscriber(boost::bind(&b100_clock_ctrl::set_fpga_clock_rate, _clock_ctrl, boost::placeholders::_1));
+ 
+     //reset cordic rates and their properties to zero
+     for(const std::string &name:  _tree->list(mb_path / "rx_dsps")){
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_cores_rx__dsp__core__3000.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_cores_rx__dsp__core__3000.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_cores_rx__dsp__core__3000.cpp Thu May 14 19:21:04 2020
@@ -0,0 +1,17 @@
+$NetBSD: patch-lib_usrp_cores_rx__dsp__core__3000.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/cores/rx_dsp_core_3000.cpp.orig   2020-05-09 15:26:15.563064777 +0000
++++ lib/usrp/cores/rx_dsp_core_3000.cpp
+@@ -300,10 +300,10 @@ public:
+             .set_publisher(boost::bind(&rx_dsp_core_3000::get_host_rates, this));
+         subtree->create<double>("rate/value")
+             .set(DEFAULT_RATE)
+-            .set_coercer(boost::bind(&rx_dsp_core_3000::set_host_rate, this, _1));
++            .set_coercer(boost::bind(&rx_dsp_core_3000::set_host_rate, this, boost::placeholders::_1));
+         subtree->create<double>("freq/value")
+             .set(DEFAULT_CORDIC_FREQ)
+-            .set_coercer(boost::bind(&rx_dsp_core_3000::set_freq, this, _1))
++            .set_coercer(boost::bind(&rx_dsp_core_3000::set_freq, this, boost::placeholders::_1))
+             .set_publisher([this]() { return this->get_freq(); });
+         subtree->create<meta_range_t>("freq/range")
+             .set_publisher(boost::bind(&rx_dsp_core_3000::get_freq_range, this));
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_cores_tx__dsp__core__3000.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_cores_tx__dsp__core__3000.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_cores_tx__dsp__core__3000.cpp Thu May 14 19:21:04 2020
@@ -0,0 +1,17 @@
+$NetBSD: patch-lib_usrp_cores_tx__dsp__core__3000.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/cores/tx_dsp_core_3000.cpp.orig   2020-05-09 15:29:07.365961234 +0000
++++ lib/usrp/cores/tx_dsp_core_3000.cpp
+@@ -187,10 +187,10 @@ public:
+             .set_publisher(boost::bind(&tx_dsp_core_3000::get_host_rates, this));
+         subtree->create<double>("rate/value")
+             .set(DEFAULT_RATE)
+-            .set_coercer(boost::bind(&tx_dsp_core_3000::set_host_rate, this, _1));
++            .set_coercer(boost::bind(&tx_dsp_core_3000::set_host_rate, this, boost::placeholders::_1));
+         subtree->create<double>("freq/value")
+             .set(DEFAULT_CORDIC_FREQ)
+-            .set_coercer(boost::bind(&tx_dsp_core_3000::set_freq, this, _1))
++            .set_coercer(boost::bind(&tx_dsp_core_3000::set_freq, this, boost::placeholders::_1))
+             .set_publisher([this]() { return this->get_freq(); });
+         subtree->create<meta_range_t>("freq/range")
+             .set_publisher(boost::bind(&tx_dsp_core_3000::get_freq_range, this));
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__cbx.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__cbx.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__cbx.cpp    Thu May 14 19:21:04 2020
@@ -0,0 +1,15 @@
+$NetBSD: patch-lib_usrp_dboard_db__cbx.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/dboard/db_cbx.cpp.orig    2020-05-09 15:39:26.631024880 +0000
++++ lib/usrp/dboard/db_cbx.cpp
+@@ -19,8 +19,8 @@ using namespace boost::assign;
+ sbx_xcvr::cbx::cbx(sbx_xcvr *_self_sbx_xcvr) {
+     //register the handle to our base CBX class
+     self_base = _self_sbx_xcvr;
+-    _txlo = max287x_iface::make<max2870>(boost::bind(&sbx_xcvr::cbx::write_lo_regs, this, dboard_iface::UNIT_TX, _1));
+-    _rxlo = max287x_iface::make<max2870>(boost::bind(&sbx_xcvr::cbx::write_lo_regs, this, dboard_iface::UNIT_RX, _1));
++    _txlo = max287x_iface::make<max2870>(boost::bind(&sbx_xcvr::cbx::write_lo_regs, this, dboard_iface::UNIT_TX, boost::placeholders::_1));
++    _rxlo = max287x_iface::make<max2870>(boost::bind(&sbx_xcvr::cbx::write_lo_regs, this, dboard_iface::UNIT_RX, boost::placeholders::_1));
+ }
+ 
+ 
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__dbsrx.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__dbsrx.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__dbsrx.cpp  Thu May 14 19:21:04 2020
@@ -0,0 +1,29 @@
+$NetBSD: patch-lib_usrp_dboard_db__dbsrx.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/dboard/db_dbsrx.cpp.orig  2020-05-09 15:44:27.579328645 +0000
++++ lib/usrp/dboard/db_dbsrx.cpp
+@@ -198,13 +198,13 @@ dbsrx::dbsrx(ctor_args_t args) : rx_dboa
+         .set_publisher(boost::bind(&dbsrx::get_locked, this));
+     for(const std::string &name:  dbsrx_gain_ranges.keys()){
+         this->get_rx_subtree()->create<double>("gains/"+name+"/value")
+-            .set_coercer(boost::bind(&dbsrx::set_gain, this, _1, name))
++            .set_coercer(boost::bind(&dbsrx::set_gain, this, boost::placeholders::_1, name))
+             .set(dbsrx_gain_ranges[name].start());
+         this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
+             .set(dbsrx_gain_ranges[name]);
+     }
+     this->get_rx_subtree()->create<double>("freq/value")
+-        .set_coercer(boost::bind(&dbsrx::set_lo_freq, this, _1));
++        .set_coercer(boost::bind(&dbsrx::set_lo_freq, this, boost::placeholders::_1));
+     this->get_rx_subtree()->create<meta_range_t>("freq/range")
+         .set(dbsrx_freq_range);
+     this->get_rx_subtree()->create<std::string>("antenna/value")
+@@ -218,7 +218,7 @@ dbsrx::dbsrx(ctor_args_t args) : rx_dboa
+     this->get_rx_subtree()->create<bool>("use_lo_offset")
+         .set(false);
+     this->get_rx_subtree()->create<double>("bandwidth/value")
+-        .set_coercer(boost::bind(&dbsrx::set_bandwidth, this, _1));
++        .set_coercer(boost::bind(&dbsrx::set_bandwidth, this, boost::placeholders::_1));
+     this->get_rx_subtree()->create<meta_range_t>("bandwidth/range")
+         .set(dbsrx_bandwidth_range);
+ 
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__dbsrx2.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__dbsrx2.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__dbsrx2.cpp Thu May 14 19:21:04 2020
@@ -0,0 +1,29 @@
+$NetBSD: patch-lib_usrp_dboard_db__dbsrx2.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/dboard/db_dbsrx2.cpp.orig 2020-05-09 15:49:00.790946323 +0000
++++ lib/usrp/dboard/db_dbsrx2.cpp
+@@ -179,13 +179,13 @@ dbsrx2::dbsrx2(ctor_args_t args) : rx_db
+         .set_publisher(boost::bind(&dbsrx2::get_locked, this));
+     for(const std::string &name:  dbsrx2_gain_ranges.keys()){
+         this->get_rx_subtree()->create<double>("gains/"+name+"/value")
+-            .set_coercer(boost::bind(&dbsrx2::set_gain, this, _1, name))
++            .set_coercer(boost::bind(&dbsrx2::set_gain, this, boost::placeholders::_1, name))
+             .set(dbsrx2_gain_ranges[name].start());
+         this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
+             .set(dbsrx2_gain_ranges[name]);
+     }
+     this->get_rx_subtree()->create<double>("freq/value")
+-        .set_coercer(boost::bind(&dbsrx2::set_lo_freq, this, _1))
++        .set_coercer(boost::bind(&dbsrx2::set_lo_freq, this, boost::placeholders::_1))
+         .set(dbsrx2_freq_range.start());
+     this->get_rx_subtree()->create<meta_range_t>("freq/range")
+         .set(dbsrx2_freq_range);
+@@ -203,7 +203,7 @@ dbsrx2::dbsrx2(ctor_args_t args) : rx_db
+     double codec_rate = this->get_iface()->get_codec_rate(dboard_iface::UNIT_RX);
+ 
+     this->get_rx_subtree()->create<double>("bandwidth/value")
+-        .set_coercer(boost::bind(&dbsrx2::set_bandwidth, this, _1))
++        .set_coercer(boost::bind(&dbsrx2::set_bandwidth, this, boost::placeholders::_1))
+         .set(2.0*(0.8*codec_rate/2.0)); //bandwidth in lowpass, convert to complex bandpass
+                                         //default to anti-alias at different codec_rate
+     this->get_rx_subtree()->create<meta_range_t>("bandwidth/range")
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__rfx.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__rfx.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__rfx.cpp    Thu May 14 19:21:04 2020
@@ -0,0 +1,39 @@
+$NetBSD: patch-lib_usrp_dboard_db__rfx.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/dboard/db_rfx.cpp.orig    2020-05-09 15:49:14.740543409 +0000
++++ lib/usrp/dboard/db_rfx.cpp
+@@ -176,17 +176,17 @@ rfx_xcvr::rfx_xcvr(
+         .set_publisher(boost::bind(&rfx_xcvr::get_locked, this, dboard_iface::UNIT_RX));
+     for(const std::string &name:  _rx_gain_ranges.keys()){
+         this->get_rx_subtree()->create<double>("gains/"+name+"/value")
+-            .set_coercer(boost::bind(&rfx_xcvr::set_rx_gain, this, _1, name))
++            .set_coercer(boost::bind(&rfx_xcvr::set_rx_gain, this, boost::placeholders::_1, name))
+             .set(_rx_gain_ranges[name].start());
+         this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
+             .set(_rx_gain_ranges[name]);
+     }
+     this->get_rx_subtree()->create<double>("freq/value")
+-        .set_coercer(boost::bind(&rfx_xcvr::set_lo_freq, this, dboard_iface::UNIT_RX, _1))
++        .set_coercer(boost::bind(&rfx_xcvr::set_lo_freq, this, dboard_iface::UNIT_RX, boost::placeholders::_1))
+         .set((_freq_range.start() + _freq_range.stop())/2.0);
+     this->get_rx_subtree()->create<meta_range_t>("freq/range").set(_freq_range);
+     this->get_rx_subtree()->create<std::string>("antenna/value")
+-        .add_coerced_subscriber(boost::bind(&rfx_xcvr::set_rx_ant, this, _1))
++        .add_coerced_subscriber(boost::bind(&rfx_xcvr::set_rx_ant, this, boost::placeholders::_1))
+         .set("RX2");
+     this->get_rx_subtree()->create<std::vector<std::string> >("antenna/options")
+         .set(rfx_rx_antennas);
+@@ -212,11 +212,11 @@ rfx_xcvr::rfx_xcvr(
+         .set_publisher(boost::bind(&rfx_xcvr::get_locked, this, dboard_iface::UNIT_TX));
+     this->get_tx_subtree()->create<int>("gains"); //phony property so this dir exists
+     this->get_tx_subtree()->create<double>("freq/value")
+-        .set_coercer(boost::bind(&rfx_xcvr::set_lo_freq, this, dboard_iface::UNIT_TX, _1))
++        .set_coercer(boost::bind(&rfx_xcvr::set_lo_freq, this, dboard_iface::UNIT_TX, boost::placeholders::_1))
+         .set((_freq_range.start() + _freq_range.stop())/2.0);
+     this->get_tx_subtree()->create<meta_range_t>("freq/range").set(_freq_range);
+     this->get_tx_subtree()->create<std::string>("antenna/value")
+-        .add_coerced_subscriber(boost::bind(&rfx_xcvr::set_tx_ant, this, _1)).set(rfx_tx_antennas.at(0));
++        .add_coerced_subscriber(boost::bind(&rfx_xcvr::set_tx_ant, this, boost::placeholders::_1)).set(rfx_tx_antennas.at(0));
+     this->get_tx_subtree()->create<std::vector<std::string> >("antenna/options")
+         .set(rfx_tx_antennas);
+     this->get_tx_subtree()->create<std::string>("connection").set("IQ");
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__sbx__common.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__sbx__common.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__sbx__common.cpp    Thu May 14 19:21:04 2020
@@ -0,0 +1,46 @@
+$NetBSD: patch-lib_usrp_dboard_db__sbx__common.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/dboard/db_sbx_common.cpp.orig     2020-05-09 15:36:12.520397133 +0000
++++ lib/usrp/dboard/db_sbx_common.cpp
+@@ -149,17 +149,17 @@ sbx_xcvr::sbx_xcvr(ctor_args_t args) : x
+         .set_publisher(boost::bind(&sbx_xcvr::get_locked, this, dboard_iface::UNIT_RX));
+     for(const std::string &name:  sbx_rx_gain_ranges.keys()){
+         this->get_rx_subtree()->create<double>("gains/"+name+"/value")
+-            .set_coercer(boost::bind(&sbx_xcvr::set_rx_gain, this, _1, name))
++            .set_coercer(boost::bind(&sbx_xcvr::set_rx_gain, this, boost::placeholders::_1, name))
+             .set(sbx_rx_gain_ranges[name].start());
+         this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
+             .set(sbx_rx_gain_ranges[name]);
+     }
+     this->get_rx_subtree()->create<double>("freq/value")
+-        .set_coercer(boost::bind(&sbx_xcvr::set_lo_freq, this, dboard_iface::UNIT_RX, _1))
++        .set_coercer(boost::bind(&sbx_xcvr::set_lo_freq, this, dboard_iface::UNIT_RX, boost::placeholders::_1))
+         .set((freq_range.start() + freq_range.stop())/2.0);
+     this->get_rx_subtree()->create<meta_range_t>("freq/range").set(freq_range);
+     this->get_rx_subtree()->create<std::string>("antenna/value")
+-        .add_coerced_subscriber(boost::bind(&sbx_xcvr::set_rx_ant, this, _1))
++        .add_coerced_subscriber(boost::bind(&sbx_xcvr::set_rx_ant, this, boost::placeholders::_1))
+         .set("RX2");
+     this->get_rx_subtree()->create<std::vector<std::string> >("antenna/options")
+         .set(sbx_rx_antennas);
+@@ -190,17 +190,17 @@ sbx_xcvr::sbx_xcvr(ctor_args_t args) : x
+         .set_publisher(boost::bind(&sbx_xcvr::get_locked, this, dboard_iface::UNIT_TX));
+     for(const std::string &name:  sbx_tx_gain_ranges.keys()){
+         this->get_tx_subtree()->create<double>("gains/"+name+"/value")
+-            .set_coercer(boost::bind(&sbx_xcvr::set_tx_gain, this, _1, name))
++            .set_coercer(boost::bind(&sbx_xcvr::set_tx_gain, this, boost::placeholders::_1, name))
+             .set(sbx_tx_gain_ranges[name].start());
+         this->get_tx_subtree()->create<meta_range_t>("gains/"+name+"/range")
+             .set(sbx_tx_gain_ranges[name]);
+     }
+     this->get_tx_subtree()->create<double>("freq/value")
+-        .set_coercer(boost::bind(&sbx_xcvr::set_lo_freq, this, dboard_iface::UNIT_TX, _1))
++        .set_coercer(boost::bind(&sbx_xcvr::set_lo_freq, this, dboard_iface::UNIT_TX, boost::placeholders::_1))
+         .set((freq_range.start() + freq_range.stop())/2.0);
+     this->get_tx_subtree()->create<meta_range_t>("freq/range").set(freq_range);
+     this->get_tx_subtree()->create<std::string>("antenna/value")
+-        .add_coerced_subscriber(boost::bind(&sbx_xcvr::set_tx_ant, this, _1))
++        .add_coerced_subscriber(boost::bind(&sbx_xcvr::set_tx_ant, this, boost::placeholders::_1))
+         .set(sbx_tx_antennas.at(0));
+     this->get_tx_subtree()->create<std::vector<std::string> >("antenna/options")
+         .set(sbx_tx_antennas);
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__sbx__version3.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__sbx__version3.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__sbx__version3.cpp  Thu May 14 19:21:04 2020
@@ -0,0 +1,15 @@
+$NetBSD: patch-lib_usrp_dboard_db__sbx__version3.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/dboard/db_sbx_version3.cpp.orig   2020-05-09 15:37:17.228299743 +0000
++++ lib/usrp/dboard/db_sbx_version3.cpp
+@@ -20,8 +20,8 @@ using namespace boost::assign;
+ sbx_xcvr::sbx_version3::sbx_version3(sbx_xcvr *_self_sbx_xcvr) {
+     //register the handle to our base SBX class
+     self_base = _self_sbx_xcvr;
+-    _txlo = adf435x_iface::make_adf4350(boost::bind(&sbx_xcvr::sbx_version3::write_lo_regs, this, dboard_iface::UNIT_TX, _1));
+-    _rxlo = adf435x_iface::make_adf4350(boost::bind(&sbx_xcvr::sbx_version3::write_lo_regs, this, dboard_iface::UNIT_RX, _1));
++    _txlo = adf435x_iface::make_adf4350(boost::bind(&sbx_xcvr::sbx_version3::write_lo_regs, this, dboard_iface::UNIT_TX, boost::placeholders::_1));
++    _rxlo = adf435x_iface::make_adf4350(boost::bind(&sbx_xcvr::sbx_version3::write_lo_regs, this, dboard_iface::UNIT_RX, boost::placeholders::_1));
+ }
+ 
+ sbx_xcvr::sbx_version3::~sbx_version3(void){
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__sbx__version4.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__sbx__version4.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__sbx__version4.cpp  Thu May 14 19:21:04 2020
@@ -0,0 +1,15 @@
+$NetBSD: patch-lib_usrp_dboard_db__sbx__version4.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/dboard/db_sbx_version4.cpp.orig   2020-05-09 15:38:28.873157679 +0000
++++ lib/usrp/dboard/db_sbx_version4.cpp
+@@ -20,8 +20,8 @@ using namespace boost::assign;
+ sbx_xcvr::sbx_version4::sbx_version4(sbx_xcvr *_self_sbx_xcvr) {
+     //register the handle to our base SBX class
+     self_base = _self_sbx_xcvr;
+-    _txlo = adf435x_iface::make_adf4351(boost::bind(&sbx_xcvr::sbx_version4::write_lo_regs, this, dboard_iface::UNIT_TX, _1));
+-    _rxlo = adf435x_iface::make_adf4351(boost::bind(&sbx_xcvr::sbx_version4::write_lo_regs, this, dboard_iface::UNIT_RX, _1));
++    _txlo = adf435x_iface::make_adf4351(boost::bind(&sbx_xcvr::sbx_version4::write_lo_regs, this, dboard_iface::UNIT_TX, boost::placeholders::_1));
++    _rxlo = adf435x_iface::make_adf4351(boost::bind(&sbx_xcvr::sbx_version4::write_lo_regs, this, dboard_iface::UNIT_RX, boost::placeholders::_1));
+ }
+ 
+ 
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__tvrx.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__tvrx.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__tvrx.cpp   Thu May 14 19:21:04 2020
@@ -0,0 +1,19 @@
+$NetBSD: patch-lib_usrp_dboard_db__tvrx.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/dboard/db_tvrx.cpp.orig   2020-05-09 15:47:27.655845074 +0000
++++ lib/usrp/dboard/db_tvrx.cpp
+@@ -180,12 +180,12 @@ tvrx::tvrx(ctor_args_t args) : rx_dboard
+     this->get_rx_subtree()->create<int>("sensors"); //phony property so this dir exists
+     for(const std::string &name:  get_tvrx_gain_ranges().keys()){
+         this->get_rx_subtree()->create<double>("gains/"+name+"/value")
+-            .set_coercer(boost::bind(&tvrx::set_gain, this, _1, name));
++            .set_coercer(boost::bind(&tvrx::set_gain, this, boost::placeholders::_1, name));
+         this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
+             .set(get_tvrx_gain_ranges()[name]);
+     }
+     this->get_rx_subtree()->create<double>("freq/value")
+-        .set_coercer(boost::bind(&tvrx::set_freq, this, _1));
++        .set_coercer(boost::bind(&tvrx::set_freq, this, boost::placeholders::_1));
+     this->get_rx_subtree()->create<meta_range_t>("freq/range")
+         .set(tvrx_freq_range);
+     this->get_rx_subtree()->create<std::string>("antenna/value")
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__tvrx2.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__tvrx2.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__tvrx2.cpp  Thu May 14 19:21:04 2020
@@ -0,0 +1,34 @@
+$NetBSD: patch-lib_usrp_dboard_db__tvrx2.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/dboard/db_tvrx2.cpp.orig  2020-05-09 15:49:26.498190121 +0000
++++ lib/usrp/dboard/db_tvrx2.cpp
+@@ -958,12 +958,12 @@ tvrx2::tvrx2(ctor_args_t args) : rx_dboa
+         .set_publisher(boost::bind(&tvrx2::get_temp, this));
+     for(const std::string &name:  tvrx2_gain_ranges.keys()){
+         this->get_rx_subtree()->create<double>("gains/"+name+"/value")
+-            .set_coercer(boost::bind(&tvrx2::set_gain, this, _1, name));
++            .set_coercer(boost::bind(&tvrx2::set_gain, this, boost::placeholders::_1, name));
+         this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
+             .set(tvrx2_gain_ranges[name]);
+     }
+     this->get_rx_subtree()->create<double>("freq/value")
+-        .set_coercer(boost::bind(&tvrx2::set_lo_freq, this, _1));
++        .set_coercer(boost::bind(&tvrx2::set_lo_freq, this, boost::placeholders::_1));
+     this->get_rx_subtree()->create<meta_range_t>("freq/range")
+         .set(tvrx2_freq_range);
+     this->get_rx_subtree()->create<std::string>("antenna/value")
+@@ -973,12 +973,12 @@ tvrx2::tvrx2(ctor_args_t args) : rx_dboa
+     this->get_rx_subtree()->create<std::string>("connection")
+         .set(tvrx2_sd_name_to_conn[get_subdev_name()]);
+     this->get_rx_subtree()->create<bool>("enabled")
+-        .set_coercer(boost::bind(&tvrx2::set_enabled, this, _1))
++        .set_coercer(boost::bind(&tvrx2::set_enabled, this, boost::placeholders::_1))
+         .set(_enabled);
+     this->get_rx_subtree()->create<bool>("use_lo_offset")
+         .set(false);
+     this->get_rx_subtree()->create<double>("bandwidth/value")
+-        .set_coercer(boost::bind(&tvrx2::set_bandwidth, this, _1))
++        .set_coercer(boost::bind(&tvrx2::set_bandwidth, this, boost::placeholders::_1))
+         .set(_bandwidth);
+     this->get_rx_subtree()->create<meta_range_t>("bandwidth/range")
+         .set(tvrx2_bandwidth_range);
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__ubx.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__ubx.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__ubx.cpp    Thu May 14 19:21:04 2020
@@ -0,0 +1,127 @@
+$NetBSD: patch-lib_usrp_dboard_db__ubx.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/dboard/db_ubx.cpp.orig    2020-05-09 15:40:25.281970601 +0000
++++ lib/usrp/dboard/db_ubx.cpp
+@@ -395,10 +395,10 @@ public:
+         // Initialize LOs
+         if (_rev == 0)
+         {
+-            _txlo1 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO1, _1));
+-            _txlo2 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO2, _1));
+-            _rxlo1 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO1, _1));
+-            _rxlo2 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO2, _1));
++            _txlo1 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO1, boost::placeholders::_1));
++            _txlo2 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO2, boost::placeholders::_1));
++            _rxlo1 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO1, boost::placeholders::_1));
++            _rxlo2 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO2, boost::placeholders::_1));
+             std::vector<max287x_iface::sptr> los{_txlo1, _txlo2, _rxlo1, _rxlo2};
+             for(max287x_iface::sptr lo:  los)
+             {
+@@ -409,10 +409,10 @@ public:
+         }
+         else if (_rev == 1 or _rev == 2)
+         {
+-            _txlo1 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO1, _1));
+-            _txlo2 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO2, _1));
+-            _rxlo1 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO1, _1));
+-            _rxlo2 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO2, _1));
++            _txlo1 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO1, boost::placeholders::_1));
++            _txlo2 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO2, boost::placeholders::_1));
++            _rxlo1 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO1, boost::placeholders::_1));
++            _rxlo2 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO2, boost::placeholders::_1));
+             std::vector<max287x_iface::sptr> los{_txlo1, _txlo2, _rxlo1, _rxlo2};
+             for(max287x_iface::sptr lo:  los)
+             {
+@@ -439,12 +439,12 @@ public:
+         get_rx_subtree()->create<std::vector<std::string> >("power_mode/options")
+             .set(ubx_power_modes);
+         get_rx_subtree()->create<std::string>("power_mode/value")
+-            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_power_mode, this, _1))
++            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_power_mode, this, boost::placeholders::_1))
+             .set("performance");
+         get_rx_subtree()->create<std::vector<std::string> >("xcvr_mode/options")
+             .set(ubx_xcvr_modes);
+         get_rx_subtree()->create<std::string>("xcvr_mode/value")
+-            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_xcvr_mode, this, _1))
++            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_xcvr_mode, this, boost::placeholders::_1))
+             .set("FDX");
+         get_rx_subtree()->create<std::vector<std::string> >("temp_comp_mode/options")
+             .set(ubx_temp_comp_modes);
+@@ -456,12 +456,12 @@ public:
+         get_tx_subtree()->create<std::vector<std::string> >("power_mode/options")
+             .set(ubx_power_modes);
+         get_tx_subtree()->create<std::string>("power_mode/value")
+-            .add_coerced_subscriber(boost::bind(&uhd::property<std::string>::set, &get_rx_subtree()->access<std::string>("power_mode/value"), _1))
++            .add_coerced_subscriber(boost::bind(&uhd::property<std::string>::set, &get_rx_subtree()->access<std::string>("power_mode/value"), boost::placeholders::_1))
+             .set_publisher(boost::bind(&uhd::property<std::string>::get, &get_rx_subtree()->access<std::string>("power_mode/value")));
+         get_tx_subtree()->create<std::vector<std::string> >("xcvr_mode/options")
+             .set(ubx_xcvr_modes);
+         get_tx_subtree()->create<std::string>("xcvr_mode/value")
+-            .add_coerced_subscriber(boost::bind(&uhd::property<std::string>::set, &get_rx_subtree()->access<std::string>("xcvr_mode/value"), _1))
++            .add_coerced_subscriber(boost::bind(&uhd::property<std::string>::set, &get_rx_subtree()->access<std::string>("xcvr_mode/value"), boost::placeholders::_1))
+             .set_publisher(boost::bind(&uhd::property<std::string>::get, &get_rx_subtree()->access<std::string>("xcvr_mode/value")));
+         get_tx_subtree()->create<std::vector<std::string> >("temp_comp_mode/options")
+             .set(ubx_temp_comp_modes);
+@@ -488,18 +488,18 @@ public:
+         get_tx_subtree()->create<sensor_value_t>("sensors/lo_locked")
+             .set_publisher(boost::bind(&ubx_xcvr::get_locked, this, "TXLO"));
+         get_tx_subtree()->create<double>("gains/PGA0/value")
+-            .set_coercer(boost::bind(&ubx_xcvr::set_tx_gain, this, _1)).set(0);
++            .set_coercer(boost::bind(&ubx_xcvr::set_tx_gain, this, boost::placeholders::_1)).set(0);
+         get_tx_subtree()->create<meta_range_t>("gains/PGA0/range")
+             .set(ubx_tx_gain_range);
+         get_tx_subtree()->create<double>("freq/value")
+-            .set_coercer(boost::bind(&ubx_xcvr::set_tx_freq, this, _1))
++            .set_coercer(boost::bind(&ubx_xcvr::set_tx_freq, this, boost::placeholders::_1))
+             .set(ubx_freq_range.start());
+         get_tx_subtree()->create<meta_range_t>("freq/range")
+             .set(ubx_freq_range);
+         get_tx_subtree()->create<std::vector<std::string> >("antenna/options")
+             .set(ubx_tx_antennas);
+         get_tx_subtree()->create<std::string>("antenna/value")
+-            .set_coercer(boost::bind(&ubx_xcvr::set_tx_ant, this, _1))
++            .set_coercer(boost::bind(&ubx_xcvr::set_tx_ant, this, boost::placeholders::_1))
+             .set(ubx_tx_antennas.at(0));
+         get_tx_subtree()->create<std::string>("connection")
+             .set("QI");
+@@ -512,7 +512,7 @@ public:
+         get_tx_subtree()->create<meta_range_t>("bandwidth/range")
+             .set(freq_range_t(bw, bw));
+         get_tx_subtree()->create<int64_t>("sync_delay")
+-            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_sync_delay, this, true, _1))
++            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_sync_delay, this, true, boost::placeholders::_1))
+             .set(0);
+ 
+         ////////////////////////////////////////////////////////////////////
+@@ -524,19 +524,19 @@ public:
+         get_rx_subtree()->create<sensor_value_t>("sensors/lo_locked")
+             .set_publisher(boost::bind(&ubx_xcvr::get_locked, this, "RXLO"));
+         get_rx_subtree()->create<double>("gains/PGA0/value")
+-            .set_coercer(boost::bind(&ubx_xcvr::set_rx_gain, this, _1))
++            .set_coercer(boost::bind(&ubx_xcvr::set_rx_gain, this, boost::placeholders::_1))
+             .set(0);
+         get_rx_subtree()->create<meta_range_t>("gains/PGA0/range")
+             .set(ubx_rx_gain_range);
+         get_rx_subtree()->create<double>("freq/value")
+-            .set_coercer(boost::bind(&ubx_xcvr::set_rx_freq, this, _1))
++            .set_coercer(boost::bind(&ubx_xcvr::set_rx_freq, this, boost::placeholders::_1))
+             .set(ubx_freq_range.start());
+         get_rx_subtree()->create<meta_range_t>("freq/range")
+             .set(ubx_freq_range);
+         get_rx_subtree()->create<std::vector<std::string> >("antenna/options")
+             .set(ubx_rx_antennas);
+         get_rx_subtree()->create<std::string>("antenna/value")
+-            .set_coercer(boost::bind(&ubx_xcvr::set_rx_ant, this, _1)).set("RX2");
++            .set_coercer(boost::bind(&ubx_xcvr::set_rx_ant, this, boost::placeholders::_1)).set("RX2");
+         get_rx_subtree()->create<std::string>("connection")
+             .set("IQ");
+         get_rx_subtree()->create<bool>("enabled")
+@@ -548,7 +548,7 @@ public:
+         get_rx_subtree()->create<meta_range_t>("bandwidth/range")
+             .set(freq_range_t(bw, bw));
+         get_rx_subtree()->create<int64_t>("sync_delay")
+-            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_sync_delay, this, false, _1))
++            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_sync_delay, this, false, boost::placeholders::_1))
+             .set(0);
+     }
+ 
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__common.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__common.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__common.cpp    Thu May 14 19:21:04 2020
@@ -0,0 +1,21 @@
+$NetBSD: patch-lib_usrp_dboard_db__wbx__common.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/dboard/db_wbx_common.cpp.orig     2020-05-09 15:50:03.270707228 +0000
++++ lib/usrp/dboard/db_wbx_common.cpp
+@@ -62,14 +62,14 @@ wbx_base::wbx_base(ctor_args_t args) : x
+         .set_publisher(boost::bind(&wbx_base::get_locked, this, dboard_iface::UNIT_RX));
+     for(const std::string &name:  wbx_rx_gain_ranges.keys()){
+         this->get_rx_subtree()->create<double>("gains/"+name+"/value")
+-            .set_coercer(boost::bind(&wbx_base::set_rx_gain, this, _1, name))
++            .set_coercer(boost::bind(&wbx_base::set_rx_gain, this, boost::placeholders::_1, name))
+             .set(wbx_rx_gain_ranges[name].start());
+         this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
+             .set(wbx_rx_gain_ranges[name]);
+     }
+     this->get_rx_subtree()->create<std::string>("connection").set("IQ");
+     this->get_rx_subtree()->create<bool>("enabled")
+-        .add_coerced_subscriber(boost::bind(&wbx_base::set_rx_enabled, this, _1))
++        .add_coerced_subscriber(boost::bind(&wbx_base::set_rx_enabled, this, boost::placeholders::_1))
+         .set(true); //start enabled
+     this->get_rx_subtree()->create<bool>("use_lo_offset").set(false);
+ 
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__simple.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__simple.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__simple.cpp    Thu May 14 19:21:04 2020
@@ -0,0 +1,22 @@
+$NetBSD: patch-lib_usrp_dboard_db__wbx__simple.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/dboard/db_wbx_simple.cpp.orig     2020-05-09 15:49:57.928917699 +0000
++++ lib/usrp/dboard/db_wbx_simple.cpp
+@@ -78,7 +78,7 @@ wbx_simple::wbx_simple(ctor_args_t args)
+         std::string(str(boost::format("%s+GDB") % this->get_rx_subtree()->access<std::string>("name").get()
+     )));
+     this->get_rx_subtree()->create<std::string>("antenna/value")
+-        .add_coerced_subscriber(boost::bind(&wbx_simple::set_rx_ant, this, _1))
++        .add_coerced_subscriber(boost::bind(&wbx_simple::set_rx_ant, this, boost::placeholders::_1))
+         .set("RX2");
+     this->get_rx_subtree()->create<std::vector<std::string> >("antenna/options")
+         .set(wbx_rx_antennas);
+@@ -90,7 +90,7 @@ wbx_simple::wbx_simple(ctor_args_t args)
+         std::string(str(boost::format("%s+GDB") % this->get_tx_subtree()->access<std::string>("name").get()
+     )));
+     this->get_tx_subtree()->create<std::string>("antenna/value")
+-        .add_coerced_subscriber(boost::bind(&wbx_simple::set_tx_ant, this, _1))
++        .add_coerced_subscriber(boost::bind(&wbx_simple::set_tx_ant, this, boost::placeholders::_1))
+         .set(wbx_tx_antennas.at(0));
+     this->get_tx_subtree()->create<std::vector<std::string> >("antenna/options")
+         .set(wbx_tx_antennas);
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__version2.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__version2.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__version2.cpp  Thu May 14 19:21:04 2020
@@ -0,0 +1,44 @@
+$NetBSD: patch-lib_usrp_dboard_db__wbx__version2.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/dboard/db_wbx_version2.cpp.orig   2020-05-09 15:49:51.620204930 +0000
++++ lib/usrp/dboard/db_wbx_version2.cpp
+@@ -65,15 +65,15 @@ static double tx_pga0_gain_to_dac_volts(
+ wbx_base::wbx_version2::wbx_version2(wbx_base *_self_wbx_base) {
+     //register our handle on the primary wbx_base instance
+     self_base = _self_wbx_base;
+-    _txlo = adf435x_iface::make_adf4350(boost::bind(&wbx_base::wbx_versionx::write_lo_regs, this, dboard_iface::UNIT_TX, _1));
+-    _rxlo = adf435x_iface::make_adf4350(boost::bind(&wbx_base::wbx_versionx::write_lo_regs, this, dboard_iface::UNIT_RX, _1));
++    _txlo = adf435x_iface::make_adf4350(boost::bind(&wbx_base::wbx_versionx::write_lo_regs, this, dboard_iface::UNIT_TX, boost::placeholders::_1));
++    _rxlo = adf435x_iface::make_adf4350(boost::bind(&wbx_base::wbx_versionx::write_lo_regs, this, dboard_iface::UNIT_RX, boost::placeholders::_1));
+ 
+     ////////////////////////////////////////////////////////////////////
+     // Register RX properties
+     ////////////////////////////////////////////////////////////////////
+     this->get_rx_subtree()->create<std::string>("name").set("WBXv2 RX");
+     this->get_rx_subtree()->create<double>("freq/value")
+-         .set_coercer(boost::bind(&wbx_base::wbx_version2::set_lo_freq, this, dboard_iface::UNIT_RX, _1))
++         .set_coercer(boost::bind(&wbx_base::wbx_version2::set_lo_freq, this, dboard_iface::UNIT_RX, boost::placeholders::_1))
+          .set((wbx_v2_freq_range.start() + wbx_v2_freq_range.stop())/2.0);
+     this->get_rx_subtree()->create<meta_range_t>("freq/range").set(wbx_v2_freq_range);
+ 
+@@ -83,17 +83,17 @@ wbx_base::wbx_version2::wbx_version2(wbx
+     this->get_tx_subtree()->create<std::string>("name").set("WBXv2 TX");
+     for(const std::string &name:  wbx_v2_tx_gain_ranges.keys()){
+         self_base->get_tx_subtree()->create<double>("gains/"+name+"/value")
+-            .set_coercer(boost::bind(&wbx_base::wbx_version2::set_tx_gain, this, _1, name))
++            .set_coercer(boost::bind(&wbx_base::wbx_version2::set_tx_gain, this, boost::placeholders::_1, name))
+             .set(wbx_v2_tx_gain_ranges[name].start());
+         self_base->get_tx_subtree()->create<meta_range_t>("gains/"+name+"/range")
+             .set(wbx_v2_tx_gain_ranges[name]);
+     }
+     this->get_tx_subtree()->create<double>("freq/value")
+-         .set_coercer(boost::bind(&wbx_base::wbx_version2::set_lo_freq, this, dboard_iface::UNIT_TX, _1))
++         .set_coercer(boost::bind(&wbx_base::wbx_version2::set_lo_freq, this, dboard_iface::UNIT_TX, boost::placeholders::_1))
+          .set((wbx_v2_freq_range.start() + wbx_v2_freq_range.stop())/2.0);
+     this->get_tx_subtree()->create<meta_range_t>("freq/range").set(wbx_v2_freq_range);
+     this->get_tx_subtree()->create<bool>("enabled")
+-        .add_coerced_subscriber(boost::bind(&wbx_base::wbx_version2::set_tx_enabled, this, _1))
++        .add_coerced_subscriber(boost::bind(&wbx_base::wbx_version2::set_tx_enabled, this, boost::placeholders::_1))
+         .set(true); //start enabled
+ 
+     //set attenuator control bits
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__version3.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__version3.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__version3.cpp  Thu May 14 19:21:04 2020
@@ -0,0 +1,44 @@
+$NetBSD: patch-lib_usrp_dboard_db__wbx__version3.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/dboard/db_wbx_version3.cpp.orig   2020-05-09 15:49:45.866944459 +0000
++++ lib/usrp/dboard/db_wbx_version3.cpp
+@@ -70,15 +70,15 @@ static int tx_pga0_gain_to_iobits(double
+ wbx_base::wbx_version3::wbx_version3(wbx_base *_self_wbx_base) {
+     //register our handle on the primary wbx_base instance
+     self_base = _self_wbx_base;
+-    _txlo = adf435x_iface::make_adf4350(boost::bind(&wbx_base::wbx_versionx::write_lo_regs, this, dboard_iface::UNIT_TX, _1));
+-    _rxlo = adf435x_iface::make_adf4350(boost::bind(&wbx_base::wbx_versionx::write_lo_regs, this, dboard_iface::UNIT_RX, _1));
++    _txlo = adf435x_iface::make_adf4350(boost::bind(&wbx_base::wbx_versionx::write_lo_regs, this, dboard_iface::UNIT_TX, boost::placeholders::_1));
++    _rxlo = adf435x_iface::make_adf4350(boost::bind(&wbx_base::wbx_versionx::write_lo_regs, this, dboard_iface::UNIT_RX, boost::placeholders::_1));
+ 
+     ////////////////////////////////////////////////////////////////////
+     // Register RX properties
+     ////////////////////////////////////////////////////////////////////
+     this->get_rx_subtree()->create<std::string>("name").set("WBXv3 RX");
+     this->get_rx_subtree()->create<double>("freq/value")
+-         .set_coercer(boost::bind(&wbx_base::wbx_version3::set_lo_freq, this, dboard_iface::UNIT_RX, _1))
++         .set_coercer(boost::bind(&wbx_base::wbx_version3::set_lo_freq, this, dboard_iface::UNIT_RX, boost::placeholders::_1))
+          .set((wbx_v3_freq_range.start() + wbx_v3_freq_range.stop())/2.0);
+     this->get_rx_subtree()->create<meta_range_t>("freq/range").set(wbx_v3_freq_range);
+ 
+@@ -88,17 +88,17 @@ wbx_base::wbx_version3::wbx_version3(wbx
+     this->get_tx_subtree()->create<std::string>("name").set("WBXv3 TX");
+     for(const std::string &name:  wbx_v3_tx_gain_ranges.keys()){
+         self_base->get_tx_subtree()->create<double>("gains/"+name+"/value")
+-            .set_coercer(boost::bind(&wbx_base::wbx_version3::set_tx_gain, this, _1, name))
++            .set_coercer(boost::bind(&wbx_base::wbx_version3::set_tx_gain, this, boost::placeholders::_1, name))
+             .set(wbx_v3_tx_gain_ranges[name].start());
+         self_base->get_tx_subtree()->create<meta_range_t>("gains/"+name+"/range")
+             .set(wbx_v3_tx_gain_ranges[name]);
+     }
+     this->get_tx_subtree()->create<double>("freq/value")
+-         .set_coercer(boost::bind(&wbx_base::wbx_version3::set_lo_freq, this, dboard_iface::UNIT_TX, _1))
++         .set_coercer(boost::bind(&wbx_base::wbx_version3::set_lo_freq, this, dboard_iface::UNIT_TX, boost::placeholders::_1))
+          .set((wbx_v3_freq_range.start() + wbx_v3_freq_range.stop())/2.0);
+     this->get_tx_subtree()->create<meta_range_t>("freq/range").set(wbx_v3_freq_range);
+     this->get_tx_subtree()->create<bool>("enabled")
+-        .add_coerced_subscriber(boost::bind(&wbx_base::wbx_version3::set_tx_enabled, this, _1))
++        .add_coerced_subscriber(boost::bind(&wbx_base::wbx_version3::set_tx_enabled, this, boost::placeholders::_1))
+         .set(true); //start enabled
+ 
+     //set attenuator control bits
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__version4.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__version4.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__wbx__version4.cpp  Thu May 14 19:21:04 2020
@@ -0,0 +1,45 @@
+$NetBSD: patch-lib_usrp_dboard_db__wbx__version4.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/dboard/db_wbx_version4.cpp.orig   2020-05-09 15:49:39.733159439 +0000
++++ lib/usrp/dboard/db_wbx_version4.cpp
+@@ -71,8 +71,8 @@ static int tx_pga0_gain_to_iobits(double
+ wbx_base::wbx_version4::wbx_version4(wbx_base *_self_wbx_base) {
+     //register our handle on the primary wbx_base instance
+     self_base = _self_wbx_base;
+-    _txlo = adf435x_iface::make_adf4351(boost::bind(&wbx_base::wbx_versionx::write_lo_regs, this, dboard_iface::UNIT_TX, _1));
+-    _rxlo = adf435x_iface::make_adf4351(boost::bind(&wbx_base::wbx_versionx::write_lo_regs, this, dboard_iface::UNIT_RX, _1));
++    _txlo = adf435x_iface::make_adf4351(boost::bind(&wbx_base::wbx_versionx::write_lo_regs, this, dboard_iface::UNIT_TX, boost::placeholders::_1));
++    _rxlo = adf435x_iface::make_adf4351(boost::bind(&wbx_base::wbx_versionx::write_lo_regs, this, dboard_iface::UNIT_RX, boost::placeholders::_1));
+ 
+     ////////////////////////////////////////////////////////////////////
+     // Register RX properties
+@@ -82,7 +82,7 @@ wbx_base::wbx_version4::wbx_version4(wbx
+     if(rx_id == 0x0063) this->get_rx_subtree()->create<std::string>("name").set("WBXv4 RX");
+     else if(rx_id == 0x0081) this->get_rx_subtree()->create<std::string>("name").set("WBX-120 RX");
+     this->get_rx_subtree()->create<double>("freq/value")
+-         .set_coercer(boost::bind(&wbx_base::wbx_version4::set_lo_freq, this, dboard_iface::UNIT_RX, _1))
++         .set_coercer(boost::bind(&wbx_base::wbx_version4::set_lo_freq, this, dboard_iface::UNIT_RX, boost::placeholders::_1))
+          .set((wbx_v4_freq_range.start() + wbx_v4_freq_range.stop())/2.0);
+     this->get_rx_subtree()->create<meta_range_t>("freq/range").set(wbx_v4_freq_range);
+ 
+@@ -95,17 +95,17 @@ wbx_base::wbx_version4::wbx_version4(wbx
+     else if(rx_id == 0x0081) this->get_tx_subtree()->create<std::string>("name").set("WBX-120 TX");
+     for(const std::string &name:  wbx_v4_tx_gain_ranges.keys()){
+         self_base->get_tx_subtree()->create<double>("gains/"+name+"/value")
+-            .set_coercer(boost::bind(&wbx_base::wbx_version4::set_tx_gain, this, _1, name))
++            .set_coercer(boost::bind(&wbx_base::wbx_version4::set_tx_gain, this, boost::placeholders::_1, name))
+             .set(wbx_v4_tx_gain_ranges[name].start());
+         self_base->get_tx_subtree()->create<meta_range_t>("gains/"+name+"/range")
+             .set(wbx_v4_tx_gain_ranges[name]);
+     }
+     this->get_tx_subtree()->create<double>("freq/value")
+-         .set_coercer(boost::bind(&wbx_base::wbx_version4::set_lo_freq, this, dboard_iface::UNIT_TX, _1))
++         .set_coercer(boost::bind(&wbx_base::wbx_version4::set_lo_freq, this, dboard_iface::UNIT_TX, boost::placeholders::_1))
+          .set((wbx_v4_freq_range.start() + wbx_v4_freq_range.stop())/2.0);
+     this->get_tx_subtree()->create<meta_range_t>("freq/range").set(wbx_v4_freq_range);
+     this->get_tx_subtree()->create<bool>("enabled")
+-        .add_coerced_subscriber(boost::bind(&wbx_base::wbx_version4::set_tx_enabled, this, _1))
++        .add_coerced_subscriber(boost::bind(&wbx_base::wbx_version4::set_tx_enabled, this, boost::placeholders::_1))
+         .set(true); //start enabled
+ 
+     //set attenuator control bits
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__xcvr2450.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__xcvr2450.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_db__xcvr2450.cpp       Thu May 14 19:21:04 2020
@@ -0,0 +1,66 @@
+$NetBSD: patch-lib_usrp_dboard_db__xcvr2450.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/dboard/db_xcvr2450.cpp.orig       2020-05-09 15:31:27.549815118 +0000
++++ lib/usrp/dboard/db_xcvr2450.cpp
+@@ -227,18 +227,18 @@ xcvr2450::xcvr2450(ctor_args_t args) : x
+         .set_publisher(boost::bind(&xcvr2450::get_rssi, this));
+     for(const std::string &name:  xcvr_rx_gain_ranges.keys()){
+         this->get_rx_subtree()->create<double>("gains/"+name+"/value")
+-            .set_coercer(boost::bind(&xcvr2450::set_rx_gain, this, _1, name))
++            .set_coercer(boost::bind(&xcvr2450::set_rx_gain, this, boost::placeholders::_1, name))
+             .set(xcvr_rx_gain_ranges[name].start());
+         this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
+             .set(xcvr_rx_gain_ranges[name]);
+     }
+     this->get_rx_subtree()->create<double>("freq/value")
+-        .set_coercer(boost::bind(&xcvr2450::set_lo_freq, this, _1))
++        .set_coercer(boost::bind(&xcvr2450::set_lo_freq, this, boost::placeholders::_1))
+         .set(double(2.45e9));
+     this->get_rx_subtree()->create<meta_range_t>("freq/range")
+         .set(xcvr_freq_range);
+     this->get_rx_subtree()->create<std::string>("antenna/value")
+-        .add_coerced_subscriber(boost::bind(&xcvr2450::set_rx_ant, this, _1))
++        .add_coerced_subscriber(boost::bind(&xcvr2450::set_rx_ant, this, boost::placeholders::_1))
+         .set(xcvr_antennas.at(0));
+     this->get_rx_subtree()->create<std::vector<std::string> >("antenna/options")
+         .set(xcvr_antennas);
+@@ -249,7 +249,7 @@ xcvr2450::xcvr2450(ctor_args_t args) : x
+     this->get_rx_subtree()->create<bool>("use_lo_offset")
+         .set(false);
+     this->get_rx_subtree()->create<double>("bandwidth/value")
+-        .set_coercer(boost::bind(&xcvr2450::set_rx_bandwidth, this, _1)) //complex bandpass bandwidth 
++        .set_coercer(boost::bind(&xcvr2450::set_rx_bandwidth, this, boost::placeholders::_1)) //complex bandpass bandwidth 
+         .set(2.0*_rx_bandwidth); //_rx_bandwidth in lowpass, convert to complex bandpass
+     this->get_rx_subtree()->create<meta_range_t>("bandwidth/range")
+         .set(xcvr_rx_bandwidth_range);
+@@ -263,18 +263,18 @@ xcvr2450::xcvr2450(ctor_args_t args) : x
+         .set_publisher(boost::bind(&xcvr2450::get_locked, this));
+     for(const std::string &name:  xcvr_tx_gain_ranges.keys()){
+         this->get_tx_subtree()->create<double>("gains/"+name+"/value")
+-            .set_coercer(boost::bind(&xcvr2450::set_tx_gain, this, _1, name))
++            .set_coercer(boost::bind(&xcvr2450::set_tx_gain, this, boost::placeholders::_1, name))
+             .set(xcvr_tx_gain_ranges[name].start());
+         this->get_tx_subtree()->create<meta_range_t>("gains/"+name+"/range")
+             .set(xcvr_tx_gain_ranges[name]);
+     }
+     this->get_tx_subtree()->create<double>("freq/value")
+-        .set_coercer(boost::bind(&xcvr2450::set_lo_freq, this, _1))
++        .set_coercer(boost::bind(&xcvr2450::set_lo_freq, this, boost::placeholders::_1))
+         .set(double(2.45e9));
+     this->get_tx_subtree()->create<meta_range_t>("freq/range")
+         .set(xcvr_freq_range);
+     this->get_tx_subtree()->create<std::string>("antenna/value")
+-        .add_coerced_subscriber(boost::bind(&xcvr2450::set_tx_ant, this, _1))
++        .add_coerced_subscriber(boost::bind(&xcvr2450::set_tx_ant, this, boost::placeholders::_1))
+         .set(xcvr_antennas.at(1));
+     this->get_tx_subtree()->create<std::vector<std::string> >("antenna/options")
+         .set(xcvr_antennas);
+@@ -285,7 +285,7 @@ xcvr2450::xcvr2450(ctor_args_t args) : x
+     this->get_tx_subtree()->create<bool>("use_lo_offset")
+         .set(false);
+     this->get_tx_subtree()->create<double>("bandwidth/value")
+-        .set_coercer(boost::bind(&xcvr2450::set_tx_bandwidth, this, _1)) //complex bandpass bandwidth
++        .set_coercer(boost::bind(&xcvr2450::set_tx_bandwidth, this, boost::placeholders::_1)) //complex bandpass bandwidth
+         .set(2.0*_tx_bandwidth); //_tx_bandwidth in lowpass, convert to complex bandpass
+     this->get_tx_subtree()->create<meta_range_t>("bandwidth/range")
+         .set(xcvr_tx_bandwidth_range);
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_eiscat_eiscat__radio__ctrl__impl.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_eiscat_eiscat__radio__ctrl__impl.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_dboard_eiscat_eiscat__radio__ctrl__impl.cpp   Thu May 14 19:21:04 2020
@@ -0,0 +1,13 @@
+$NetBSD: patch-lib_usrp_dboard_eiscat_eiscat__radio__ctrl__impl.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/dboard/eiscat/eiscat_radio_ctrl_impl.cpp.orig     2020-05-09 15:49:34.413319138 +0000
++++ lib/usrp/dboard/eiscat/eiscat_radio_ctrl_impl.cpp
+@@ -301,7 +301,7 @@ UHD_RFNOC_RADIO_BLOCK_CONSTRUCTOR(eiscat
+     UHD_ASSERT_THROW(not _tree->exists("tick_rate"));
+     _tree->create<double>("tick_rate")
+         .set(EISCAT_TICK_RATE)
+-        .set_coercer(boost::bind(&eiscat_radio_ctrl_impl::set_rate, this, _1))
++        .set_coercer(boost::bind(&eiscat_radio_ctrl_impl::set_rate, this, boost::placeholders::_1))
+     ;
+ }
+ 
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_multi__usrp.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_multi__usrp.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_multi__usrp.cpp       Thu May 14 19:21:04 2020
@@ -0,0 +1,13 @@
+$NetBSD: patch-lib_usrp_multi__usrp.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/multi_usrp.cpp.orig       2020-05-09 15:19:48.569394841 +0000
++++ lib/usrp/multi_usrp.cpp
+@@ -216,7 +216,7 @@ static gain_fcns_t make_gain_fcns_from_s
+     gain_fcns_t gain_fcns;
+     gain_fcns.get_range = boost::bind(&get_gain_range, subtree);
+     gain_fcns.get_value = boost::bind(&get_gain_value, subtree);
+-    gain_fcns.set_value = boost::bind(&set_gain_value, subtree, _1);
++    gain_fcns.set_value = boost::bind(&set_gain_value, subtree, boost::placeholders::_1);
+     return gain_fcns;
+ }
+ 
Index: pkgsrc/ham/uhd/patches/patch-lib_usrp_x300_x300__radio__ctrl__impl.cpp
diff -u /dev/null pkgsrc/ham/uhd/patches/patch-lib_usrp_x300_x300__radio__ctrl__impl.cpp:1.1
--- /dev/null   Thu May 14 19:21:04 2020
+++ pkgsrc/ham/uhd/patches/patch-lib_usrp_x300_x300__radio__ctrl__impl.cpp      Thu May 14 19:21:04 2020
@@ -0,0 +1,58 @@
+$NetBSD: patch-lib_usrp_x300_x300__radio__ctrl__impl.cpp,v 1.1 2020/05/14 19:21:04 joerg Exp $
+
+--- lib/usrp/x300/x300_radio_ctrl_impl.cpp.orig        2020-05-09 16:48:46.365817291 +0000
++++ lib/usrp/x300/x300_radio_ctrl_impl.cpp
+@@ -151,7 +151,7 @@ UHD_RFNOC_RADIO_BLOCK_CONSTRUCTOR(x300_r
+     _tree->create<meta_range_t>("rx_codecs" / _radio_slot / "gains" / "digital" / "range")
+         .set(meta_range_t(0, 6.0, 0.5));
+     _tree->create<double>("rx_codecs" / _radio_slot / "gains" / "digital" / "value")
+-        .add_coerced_subscriber(boost::bind(&x300_adc_ctrl::set_gain, _adc, _1))
++        .add_coerced_subscriber(boost::bind(&x300_adc_ctrl::set_gain, _adc, boost::placeholders::_1))
+         .set(0);
+ 
+     ////////////////////////////////////////////////////////////////
+@@ -187,7 +187,7 @@ UHD_RFNOC_RADIO_BLOCK_CONSTRUCTOR(x300_r
+         if (_tree->exists(fs_path("time") / "cmd")) {
+             _tree->access<time_spec_t>(fs_path("time") / "cmd")
+                 .add_coerced_subscriber(
+-                    boost::bind(&x300_radio_ctrl_impl::set_fe_cmd_time, this, _1, i));
++                    boost::bind(&x300_radio_ctrl_impl::set_fe_cmd_time, this, boost::placeholders::_1, i));
+         }
+     }
+ 
+@@ -820,7 +820,7 @@ void x300_radio_ctrl_impl::setup_radio(u
+                 this,
+                 zpu_i2c,
+                 (BASE_ADDR | addr),
+-                _1));
++                boost::placeholders::_1));
+     }
+ 
+     // create a new dboard interface
+@@ -894,7 +894,7 @@ void x300_radio_ctrl_impl::setup_radio(u
+                                           / _rx_fe_map[i].db_fe_name / "antenna"
+                                           / "value")
+                     .add_desired_subscriber(boost::bind(
+-                        &x300_radio_ctrl_impl::_update_atr_leds, this, _1, i));
++                        &x300_radio_ctrl_impl::_update_atr_leds, this, boost::placeholders::_1, i));
+                 _update_atr_leds(_tree
+                                      ->access<std::string>(db_path / "rx_frontends"
+                                                            / _rx_fe_map[i].db_fe_name
+@@ -921,7 +921,7 @@ void x300_radio_ctrl_impl::setup_radio(u
+                             this,
+                             db_path,
+                             _root_path / "tx_fe_corrections" / _tx_fe_map[i].db_fe_name,
+-                            _1));
++                            boost::placeholders::_1));
+             }
+         }
+     }
+@@ -938,7 +938,7 @@ void x300_radio_ctrl_impl::setup_radio(u
+                             this,
+                             db_path,
+                             _root_path / "rx_fe_corrections" / _tx_fe_map[i].db_fe_name,
+-                            _1));
++                            boost::placeholders::_1));
+             }
+         }
+     }



Home | Main Index | Thread Index | Old Index