summaryrefslogtreecommitdiff
path: root/net-wireless/gnuradio
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-09-23 10:22:15 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-09-23 10:22:15 +0100
commit8b4ace9c50842c5b83401ea7b179dcab940387e1 (patch)
tree230f3135ceaace633cf93e9838b185c4a6664c2e /net-wireless/gnuradio
parent9ee6d97c2883d42f204a533a8bc1f4562df778fb (diff)
gentoo resync : 23.09.2020
Diffstat (limited to 'net-wireless/gnuradio')
-rw-r--r--net-wireless/gnuradio/Manifest16
-rw-r--r--net-wireless/gnuradio/files/gnuradio-3.8.2.0-lamda-gr-qtgui.patch250
-rw-r--r--net-wireless/gnuradio/files/gnuradio-3.8.2.0-lamda-gr-uhd.patch98
-rw-r--r--net-wireless/gnuradio/files/gnuradio-3.8.2.0-lamda-most-components.patch290
-rw-r--r--net-wireless/gnuradio/files/gnuradio-3.8.2.0-lamda-set-msg-handlers.patch298
-rw-r--r--net-wireless/gnuradio/gnuradio-3.7.13.5-r3.ebuild4
-rw-r--r--net-wireless/gnuradio/gnuradio-3.7.13.5-r4.ebuild4
-rw-r--r--net-wireless/gnuradio/gnuradio-3.8.1.0-r1.ebuild6
-rw-r--r--net-wireless/gnuradio/gnuradio-3.8.1.0-r2.ebuild6
-rw-r--r--net-wireless/gnuradio/gnuradio-3.8.2.0.ebuild13
-rw-r--r--net-wireless/gnuradio/gnuradio-9999.ebuild6
11 files changed, 969 insertions, 22 deletions
diff --git a/net-wireless/gnuradio/Manifest b/net-wireless/gnuradio/Manifest
index 384de601f8dd..953eb1d6bb81 100644
--- a/net-wireless/gnuradio/Manifest
+++ b/net-wireless/gnuradio/Manifest
@@ -1,4 +1,8 @@
AUX gnuradio-3.7.13.5-boost-1.70-asio.patch 769 BLAKE2B 19a0f56540911443a8b2b8af3f16b3a784ae760ac60a017f5d2d642a6612c4c4f310df5937ba1d815b9cf9ff8e7d5de660876140f6821d2ab59acf94270ccbe6 SHA512 b3270301945489ac6cb301f30c28bea4b9d59ee7cb2a0e5a162e8ff514e0173d849236db8c3e60fa028a9df2304fc22ce73b7eabb525e567867ad72d7cd46dd7
+AUX gnuradio-3.8.2.0-lamda-gr-qtgui.patch 11510 BLAKE2B 17154b93d39517cdd0b6607988c60fbc2274644b3b1f0f88fb36f4cb38820365a7c9b1a52ba17f96725d3a1f6596662ebe837f6837a7a67c7d6e8b4b01d2d7ff SHA512 2e2420b65188b88c3b9759cc2feb89c28c9c1cc151ff8555df7cac095f8619445f4594f60fafea6340ae8e3892fe509f66b3f7c8d4bae8bbfd2085ff74f3005c
+AUX gnuradio-3.8.2.0-lamda-gr-uhd.patch 3748 BLAKE2B bfda3afe8dcc5b872a86379d6d3aaad53e57ed10aa394f7b36abbe27e69886fe876f5cb9ba03489f5cb4e0362e782f01bacf9956b3709f21ef0c7841ee2b2e04 SHA512 ea69d44b66b2962327141173d4b66add7885f3ece2302fceb3e5cf294f9502b0e6ac34dd28b9b7ff1b3faa024552be70334629c28e596fc4c621f89fec1c4ab5
+AUX gnuradio-3.8.2.0-lamda-most-components.patch 14122 BLAKE2B 30e63140ced2fdfd9712051ae6d758f2de57511bfdea972364c37d70c1eaf6e41921ad4e14e8f005be53016d8613e1c524b529c7b0e2476afc103edb49cfd946 SHA512 86f5f3ed6856fd183e71af1e6a94bc7e4310842f48a1ae7ed85b79d7a1ff86ebe84027bf24c3dc14a47c28335cc5edc321a7fce1ce24bcb26c0d7432e7aab4f7
+AUX gnuradio-3.8.2.0-lamda-set-msg-handlers.patch 14027 BLAKE2B 5a4a248264df514991343c4eb134c3f3fca2c2e11a5b4eeb63eaa1d0d16a45d87b9a9edebbe30dafeec6488926a7be7ab44d8c15b3c5529000fb488dc7b2dff4 SHA512 6d62d0fc8c06d0df6c046fc69c0280ba1dd2a2f409694c48af67cc6ee72b82d492ef86d10f6d44e4a053f54da187a5dcdc370a82358f2a8595bd37dd8d15eb02
AUX gnuradio-wxpy3.0-compat.patch 2202 BLAKE2B 2efeb291e109c6251356bbe6bae93abaff9766984d141f2d9c0a180af4c0ccbc5de6cc0d07c0c7965ac48967ed7e4a5d576713c77fa98a31a12c0b4404987561 SHA512 6d06c76394954eb63784ef6edca06a8611f59c3bea0355c7a0623a56054d0466d83770ce4afd9d9be484543c3859d20209c858506f3d789a3818d549df95de3f
DIST 0002-boost_qualify_placeholders_with_their_full_namespace.patch.bz2 6933 BLAKE2B 021574de46f582f668788d35bb0f2fb7a47a03ae9d8009adaf3d53946bdf7fc61301a985a7eb0c6cde37fef36dceae86d71d287a8beb61d793b6309064e4e09d SHA512 f42f997a92592d3caf7e29e50bfb5733ab94988743eb3231c78b31272c5cde840f5abd984e1c6b1f928828a6be84eb5d17c3455207509f48652ed160a4f6c7ae
DIST gnuradio-3.7.13-1-qt5.tar.xz 31412 BLAKE2B 56aebd5ea61abd48723ed0c16050a05c3c8e328ac2a91307b00d8705ddcac0c713d74b946491bdd763abd5d2432d07cd51a85a4d365ef3c8d51eb255e682e326 SHA512 952c5bbf3ae38e2a935cd8dbd20f2f7aed4ab8c0492e3bc10ebed2b9eb1f11bb2caf84c035cd3d88f7703e84f1e58d8aa0a66290623c7b75e59b43a85de44549
@@ -6,10 +10,10 @@ DIST gnuradio-3.7.13-codec2.tar.xz 13148 BLAKE2B 84f732dc562dbbd076e1656fad37c81
DIST gnuradio-3.7.13.5.tar.xz 2976120 BLAKE2B 67aea67b0bd87994f8b4bf89405f410dc08c9fc603a0a59579036b28e575c864df28a0b43e2163fc6ec834fdeb015f110295cdca3aa4256d15e1d223d31579d3 SHA512 cf25491b81d317cd0cdfc70203695c4e819676bc6771c25e85fc62873e6e28d6ea3b9f0387e693976fa072fa1cfe9c9a503e4958ec658e2e0a6768752c61fb15
DIST gnuradio-3.8.1.0.tar.xz 2436488 BLAKE2B f3919b458987c9dc72be2d9400473d64cc95870f4bf3a31b74c2ee9df8f291b6ca8e44d57269ad0af5e2fd0a22f777999986685f53665057f9a54478fa840479 SHA512 81e68db79b0927830a86d21f851f183becfad3e9b8b9b8379698c0d96d3f906b9b1b9292198829ce3d3c73fc29547e42a2532db62218d0b534bf02bf7a02fdde
DIST gnuradio-3.8.2.0.tar.xz 2438736 BLAKE2B 93eabff578cd6b3b6587a6aa083095c787323ebf87a447d61999813e7e5e48b414d080a4fc02d01dabaa9378d42e3a210451a9109fc202991ebda8d1c9669676 SHA512 33930f62762cd9e3d1038b4a903f01e7ab33129732d207c126a89c1f1e719e9d656a94cdcbf3f6010f8476fedacee639c8a12444c41cdd56ad9fbace7863a170
-EBUILD gnuradio-3.7.13.5-r3.ebuild 7959 BLAKE2B bc68f79eb279d53a1e25fcb534882716ad9e4c129e892367f8ba88e2da175c0422d3ee8e37f4c4f37c8b9bdc498c4a253119cbee26c72c4aae29c1974b5d5efa SHA512 f4d7d68b943b950d5517a8705674c293635928189cce3cc161534f36401a860d134d528108305fcb60390fc437566ec18cab2bb1e86beca3cb242e2856d50544
-EBUILD gnuradio-3.7.13.5-r4.ebuild 8132 BLAKE2B 7cfc1cc16e906645bac232bda3e7d3d0f2e52a8b260c0edf4eb309e70eb55f0916d3fb36b33578eadbbd497adb5f2913991522941503c980a6f05ef3d9cb6e96 SHA512 c0fd682270036c84be9b1439ed7f8516be27e4476061463c4300229625131c3b6a4addc16d4d2361a3b74ef0e15a40e7b701d35d0785d80c30c8e104e875cb41
-EBUILD gnuradio-3.8.1.0-r1.ebuild 5995 BLAKE2B cb288a4e5610db280d7f508c22084a94c8a7482333a9e9704b28f6bf71c8b32f25f68c9fcd1d4488cd230fca8fd5bc965d8956259090d031116678820ec1686d SHA512 27c9e8e47489fd91464217756626848b04c749a181ff71e8f983a227d3a70e52e8d4c687d25c4b6671654fc12956cb226249525164d07345c81001aab462e14c
-EBUILD gnuradio-3.8.1.0-r2.ebuild 6174 BLAKE2B 4547198356244074b45993c2aaf7c3466e3fb7bcac45133f36eea38fe63b886dc6efa3480ea47110939704557d1e7db1a06c3343f0b212b443867874c3c727aa SHA512 c663d579e77289ca863c9bf0774ca1b1a33ef23cbb6c2092a5886d3a7330d274cbe0f75c84ce13ab8a0e0b7975794d34c0cdb1b9a8584771b9d9a8868ec24ca2
-EBUILD gnuradio-3.8.2.0.ebuild 5970 BLAKE2B 5a5b0d4bdd41527239617f7cf2d25468cfb7ae248eb55b024591a6d9a1a165cecbdb7de2da8ff0311f40b04acb520432d31bfec21f4bb15b8ceb73e7b0f50aef SHA512 278297258071b7cd35f043a96f66015a452f9ed2967946c0bb21fabb3dbfb80bb58f7e81fa884f3a5568e3782e207111fc4aca684a137e55c73958a23299aedc
-EBUILD gnuradio-9999.ebuild 5970 BLAKE2B 5a5b0d4bdd41527239617f7cf2d25468cfb7ae248eb55b024591a6d9a1a165cecbdb7de2da8ff0311f40b04acb520432d31bfec21f4bb15b8ceb73e7b0f50aef SHA512 278297258071b7cd35f043a96f66015a452f9ed2967946c0bb21fabb3dbfb80bb58f7e81fa884f3a5568e3782e207111fc4aca684a137e55c73958a23299aedc
+EBUILD gnuradio-3.7.13.5-r3.ebuild 7963 BLAKE2B aec02ac499a1b2cc11c40a133314fa40ba293f309e0bdbb2bfdad56d1b3c16a09b6226177d658d17ccdb9ad9aaf4c8b33dac92577dc55fb82070eaf86582ae92 SHA512 81f1b3d77d1122724d665a0b57c33b6e102689a8b9a3d90f50f45a1327b0c9ee4b5748f9dcf980ef4edebaca4617b49b91682619ab705c3003b154df17a8d369
+EBUILD gnuradio-3.7.13.5-r4.ebuild 8136 BLAKE2B 3f5148845dd0147c008abb5ea740c11f28022b9d73782c04d255438d457bb08a7719e06aeb7a5b16ac6d420962cdbe2415121bf86d30f0ebe48a6bc26b413c9b SHA512 9a7591d241466705b882e0ac14cebacd1717621c253d6b68f529b03603e58a9dd78f2e1664fd27c7b4e03848bf0224a2cd4012b2b1b299475d8ba11395dda30b
+EBUILD gnuradio-3.8.1.0-r1.ebuild 6001 BLAKE2B 169303b741b964fe99d9e118cb009a6fff1e64266f591345683a7bc9cb8d814eadb63097da103e7026922e2f4d32384b24e56298b1db6137dba20bb5110a9e83 SHA512 980f3b69d0c5c73f57e03484907960073689be75a473fa2e2f3893fefeb5e24c4c7d9abd06fcb0032ea30de8f1a73b0c21c4986cd5fbcd96f922450faf6b81cc
+EBUILD gnuradio-3.8.1.0-r2.ebuild 6180 BLAKE2B 5b43706289ce84c725fd6a370c75a2d70794b9db19baaf6121bb5ffd053b367781149d9c6d377da262dfb43b783ac22211cd2d1a82ad2d2233e77cd5a4697910 SHA512 4dbe95781189edcd088685d6cc1e3dafd21fda36d469de5919c1189f788f692e8ce597452e85887445d17f59adb3ad42a29d8eb7fe6156141c7c87acccd81b97
+EBUILD gnuradio-3.8.2.0.ebuild 6214 BLAKE2B b647cbfe1eaf25a98152775c7b1c56d9d9d13cfecb7dded0cbff3a913087889646abf3d2378fc465c4a067623e06b0eb294e3f127b9ecd7abeb81f83be47ea14 SHA512 5fd64b198e7c19dbb69df406aa8c72431a9a3fae31c3069b75a964225f36fe2f8e48c5157cd150818a46e68dd88b3667173c67b64cdca000887fb078b586d711
+EBUILD gnuradio-9999.ebuild 5976 BLAKE2B 23ce3f7fd6dba404271bc2a6fe4f5d50ca7e5851a47cb2f3e72c34dcba796c4835eacc8840a0b52e106869bfc63fe6a43d4f392adc0bd42e3fa42bb34b6d463e SHA512 88519e9721890754e5efc572d9d9f9b5b7745a78499b69e91f1be907a53901273e9eddfae32f9af950d9b19fc12efbbe1a8f247073653e13fa611db13ee7c964
MISC metadata.xml 1864 BLAKE2B 770bdfc6a1344b8b199d32e3eafed27340c0bee307da9395915518041b4bede6a72fc0b984e8af02ca9a1c0e15558552c35156c31a80f990acb90548c0de6fa9 SHA512 93a9d4bf34b36a2b30c4be255e97d0f5cd220643357ec43bc59f4f46f9fca9f825df17add6245cf46710a328f1f48e81513be60a1f880c4bcd6c857e3f403d0b
diff --git a/net-wireless/gnuradio/files/gnuradio-3.8.2.0-lamda-gr-qtgui.patch b/net-wireless/gnuradio/files/gnuradio-3.8.2.0-lamda-gr-qtgui.patch
new file mode 100644
index 000000000000..0057b38836ce
--- /dev/null
+++ b/net-wireless/gnuradio/files/gnuradio-3.8.2.0-lamda-gr-qtgui.patch
@@ -0,0 +1,250 @@
+From faa5e19e15f77a0ba5e7f854df6517c280034369 Mon Sep 17 00:00:00 2001
+From: Johannes Demel <demel@ant.uni-bremen.de>
+Date: Sat, 9 May 2020 15:28:58 +0200
+Subject: [PATCH] msg_handler: Use lambdas in gr-qtgui
+
+gr-qtgui uses lambdas instead of `boost::bind` to register message
+handlers now. This component makes quite heavy use of message handlers.
+---
+ gr-qtgui/lib/const_sink_c_impl.cc | 3 +--
+ gr-qtgui/lib/edit_box_msg_impl.cc | 2 +-
+ gr-qtgui/lib/freq_sink_c_impl.cc | 6 +++---
+ gr-qtgui/lib/freq_sink_f_impl.cc | 6 +++---
+ gr-qtgui/lib/histogram_sink_f_impl.cc | 3 +--
+ gr-qtgui/lib/sink_c_impl.cc | 2 +-
+ gr-qtgui/lib/sink_f_impl.cc | 2 +-
+ gr-qtgui/lib/time_raster_sink_b_impl.cc | 3 +--
+ gr-qtgui/lib/time_raster_sink_f_impl.cc | 3 +--
+ gr-qtgui/lib/time_sink_c_impl.cc | 2 +-
+ gr-qtgui/lib/time_sink_f_impl.cc | 2 +-
+ gr-qtgui/lib/waterfall_sink_c_impl.cc | 9 +++------
+ gr-qtgui/lib/waterfall_sink_f_impl.cc | 9 +++------
+ 13 files changed, 21 insertions(+), 31 deletions(-)
+
+diff --git a/gr-qtgui/lib/const_sink_c_impl.cc b/gr-qtgui/lib/const_sink_c_impl.cc
+index 852f6ee109..e4b01907f1 100644
+--- a/gr-qtgui/lib/const_sink_c_impl.cc
++++ b/gr-qtgui/lib/const_sink_c_impl.cc
+@@ -69,8 +69,7 @@ const_sink_c_impl::const_sink_c_impl(int size,
+
+ // setup PDU handling input port
+ message_port_register_in(pmt::mp("in"));
+- set_msg_handler(pmt::mp("in"),
+- boost::bind(&const_sink_c_impl::handle_pdus, this, _1));
++ set_msg_handler(pmt::mp("in"), [this](pmt::pmt_t msg) { this->handle_pdus(msg); });
+
+ for (int i = 0; i < d_nconnections; i++) {
+ d_residbufs_real.push_back(
+diff --git a/gr-qtgui/lib/edit_box_msg_impl.cc b/gr-qtgui/lib/edit_box_msg_impl.cc
+index 8713aa820e..04f860785a 100644
+--- a/gr-qtgui/lib/edit_box_msg_impl.cc
++++ b/gr-qtgui/lib/edit_box_msg_impl.cc
+@@ -158,7 +158,7 @@ edit_box_msg_impl::edit_box_msg_impl(data_type_t type,
+ message_port_register_out(d_port);
+ message_port_register_in(pmt::mp("val"));
+
+- set_msg_handler(pmt::mp("val"), boost::bind(&edit_box_msg_impl::set_value, this, _1));
++ set_msg_handler(pmt::mp("val"), [this](pmt::pmt_t msg) { this->set_value(msg); });
+ }
+
+ edit_box_msg_impl::~edit_box_msg_impl()
+diff --git a/gr-qtgui/lib/freq_sink_c_impl.cc b/gr-qtgui/lib/freq_sink_c_impl.cc
+index 3a34df6ec6..137bccc3c3 100644
+--- a/gr-qtgui/lib/freq_sink_c_impl.cc
++++ b/gr-qtgui/lib/freq_sink_c_impl.cc
+@@ -82,17 +82,17 @@ freq_sink_c_impl::freq_sink_c_impl(int fftsize,
+
+ // setup bw input port
+ message_port_register_in(d_port_bw);
+- set_msg_handler(d_port_bw, boost::bind(&freq_sink_c_impl::handle_set_bw, this, _1));
++ set_msg_handler(d_port_bw, [this](pmt::pmt_t msg) { this->handle_set_bw(msg); });
+
+ // setup output message port to post frequency when display is
+ // double-clicked
+ message_port_register_out(d_port);
+ message_port_register_in(d_port);
+- set_msg_handler(d_port, boost::bind(&freq_sink_c_impl::handle_set_freq, this, _1));
++ set_msg_handler(d_port, [this](pmt::pmt_t msg) { this->handle_set_freq(msg); });
+
+ // setup PDU handling input port
+ message_port_register_in(pmt::mp("in"));
+- set_msg_handler(pmt::mp("in"), boost::bind(&freq_sink_c_impl::handle_pdus, this, _1));
++ set_msg_handler(pmt::mp("in"), [this](pmt::pmt_t msg) { this->handle_pdus(msg); });
+
+ d_main_gui = NULL;
+
+diff --git a/gr-qtgui/lib/freq_sink_f_impl.cc b/gr-qtgui/lib/freq_sink_f_impl.cc
+index c14bfc31fd..0b1757c03c 100644
+--- a/gr-qtgui/lib/freq_sink_f_impl.cc
++++ b/gr-qtgui/lib/freq_sink_f_impl.cc
+@@ -82,17 +82,17 @@ freq_sink_f_impl::freq_sink_f_impl(int fftsize,
+
+ // setup bw input port
+ message_port_register_in(d_port_bw);
+- set_msg_handler(d_port_bw, boost::bind(&freq_sink_f_impl::handle_set_bw, this, _1));
++ set_msg_handler(d_port_bw, [this](pmt::pmt_t msg) { this->handle_set_bw(msg); });
+
+ // setup output message port to post frequency when display is
+ // double-clicked
+ message_port_register_out(d_port);
+ message_port_register_in(d_port);
+- set_msg_handler(d_port, boost::bind(&freq_sink_f_impl::handle_set_freq, this, _1));
++ set_msg_handler(d_port, [this](pmt::pmt_t msg) { this->handle_set_freq(msg); });
+
+ // setup PDU handling input port
+ message_port_register_in(pmt::mp("in"));
+- set_msg_handler(pmt::mp("in"), boost::bind(&freq_sink_f_impl::handle_pdus, this, _1));
++ set_msg_handler(pmt::mp("in"), [this](pmt::pmt_t msg) { this->handle_pdus(msg); });
+
+ d_main_gui = NULL;
+
+diff --git a/gr-qtgui/lib/histogram_sink_f_impl.cc b/gr-qtgui/lib/histogram_sink_f_impl.cc
+index d16de932ca..fd357bf40a 100644
+--- a/gr-qtgui/lib/histogram_sink_f_impl.cc
++++ b/gr-qtgui/lib/histogram_sink_f_impl.cc
+@@ -81,8 +81,7 @@ histogram_sink_f_impl::histogram_sink_f_impl(int size,
+
+ // setup PDU handling input port
+ message_port_register_in(pmt::mp("in"));
+- set_msg_handler(pmt::mp("in"),
+- boost::bind(&histogram_sink_f_impl::handle_pdus, this, _1));
++ set_msg_handler(pmt::mp("in"), [this](pmt::pmt_t msg) { this->handle_pdus(msg); });
+
+ // +1 for the PDU buffer
+ for (int i = 0; i < d_nconnections + 1; i++) {
+diff --git a/gr-qtgui/lib/sink_c_impl.cc b/gr-qtgui/lib/sink_c_impl.cc
+index d3feb9d16c..8f7ff36ba2 100644
+--- a/gr-qtgui/lib/sink_c_impl.cc
++++ b/gr-qtgui/lib/sink_c_impl.cc
+@@ -96,7 +96,7 @@ sink_c_impl::sink_c_impl(int fftsize,
+ // double-clicked
+ message_port_register_out(d_port);
+ message_port_register_in(d_port);
+- set_msg_handler(d_port, boost::bind(&sink_c_impl::handle_set_freq, this, _1));
++ set_msg_handler(d_port, [this](pmt::pmt_t msg) { this->handle_set_freq(msg); });
+
+ d_main_gui = NULL;
+
+diff --git a/gr-qtgui/lib/sink_f_impl.cc b/gr-qtgui/lib/sink_f_impl.cc
+index 418b630b78..0b1eccad12 100644
+--- a/gr-qtgui/lib/sink_f_impl.cc
++++ b/gr-qtgui/lib/sink_f_impl.cc
+@@ -95,7 +95,7 @@ sink_f_impl::sink_f_impl(int fftsize,
+ // double-clicked
+ message_port_register_out(d_port);
+ message_port_register_in(d_port);
+- set_msg_handler(d_port, boost::bind(&sink_f_impl::handle_set_freq, this, _1));
++ set_msg_handler(d_port, [this](pmt::pmt_t msg) { this->handle_set_freq(msg); });
+
+ d_main_gui = NULL;
+
+diff --git a/gr-qtgui/lib/time_raster_sink_b_impl.cc b/gr-qtgui/lib/time_raster_sink_b_impl.cc
+index 045c216b00..063ed09d0c 100644
+--- a/gr-qtgui/lib/time_raster_sink_b_impl.cc
++++ b/gr-qtgui/lib/time_raster_sink_b_impl.cc
+@@ -83,8 +83,7 @@ time_raster_sink_b_impl::time_raster_sink_b_impl(double samp_rate,
+
+ // setup PDU handling input port
+ message_port_register_in(pmt::mp("in"));
+- set_msg_handler(pmt::mp("in"),
+- boost::bind(&time_raster_sink_b_impl::handle_pdus, this, _1));
++ set_msg_handler(pmt::mp("in"), [this](pmt::pmt_t msg) { this->handle_pdus(msg); });
+
+ d_scale = 1.0f;
+
+diff --git a/gr-qtgui/lib/time_raster_sink_f_impl.cc b/gr-qtgui/lib/time_raster_sink_f_impl.cc
+index d186f319da..df94d217bd 100644
+--- a/gr-qtgui/lib/time_raster_sink_f_impl.cc
++++ b/gr-qtgui/lib/time_raster_sink_f_impl.cc
+@@ -83,8 +83,7 @@ time_raster_sink_f_impl::time_raster_sink_f_impl(double samp_rate,
+
+ // setup PDU handling input port
+ message_port_register_in(pmt::mp("in"));
+- set_msg_handler(pmt::mp("in"),
+- boost::bind(&time_raster_sink_f_impl::handle_pdus, this, _1));
++ set_msg_handler(pmt::mp("in"), [this](pmt::pmt_t msg) { this->handle_pdus(msg); });
+
+ d_icols = static_cast<int>(ceil(d_cols));
+ d_tmpflt = (float*)volk_malloc(d_icols * sizeof(float), volk_get_alignment());
+diff --git a/gr-qtgui/lib/time_sink_c_impl.cc b/gr-qtgui/lib/time_sink_c_impl.cc
+index b73a1c1ad3..26dc5d2e32 100644
+--- a/gr-qtgui/lib/time_sink_c_impl.cc
++++ b/gr-qtgui/lib/time_sink_c_impl.cc
+@@ -80,7 +80,7 @@ time_sink_c_impl::time_sink_c_impl(int size,
+
+ // setup PDU handling input port
+ message_port_register_in(pmt::mp("in"));
+- set_msg_handler(pmt::mp("in"), boost::bind(&time_sink_c_impl::handle_pdus, this, _1));
++ set_msg_handler(pmt::mp("in"), [this](pmt::pmt_t msg) { this->handle_pdus(msg); });
+
+ // +2 for the PDU message buffers
+ for (unsigned int n = 0; n < d_nconnections + 2; n++) {
+diff --git a/gr-qtgui/lib/time_sink_f_impl.cc b/gr-qtgui/lib/time_sink_f_impl.cc
+index df13998d75..8f41d02143 100644
+--- a/gr-qtgui/lib/time_sink_f_impl.cc
++++ b/gr-qtgui/lib/time_sink_f_impl.cc
+@@ -80,7 +80,7 @@ time_sink_f_impl::time_sink_f_impl(int size,
+
+ // setup PDU handling input port
+ message_port_register_in(pmt::mp("in"));
+- set_msg_handler(pmt::mp("in"), boost::bind(&time_sink_f_impl::handle_pdus, this, _1));
++ set_msg_handler(pmt::mp("in"), [this](pmt::pmt_t msg) { this->handle_pdus(msg); });
+
+ // +1 for the PDU buffer
+ for (unsigned int n = 0; n < d_nconnections + 1; n++) {
+diff --git a/gr-qtgui/lib/waterfall_sink_c_impl.cc b/gr-qtgui/lib/waterfall_sink_c_impl.cc
+index fcf2ed98bc..20cebbcbda 100644
+--- a/gr-qtgui/lib/waterfall_sink_c_impl.cc
++++ b/gr-qtgui/lib/waterfall_sink_c_impl.cc
+@@ -117,20 +117,17 @@ waterfall_sink_c_impl::waterfall_sink_c_impl(int fftsize,
+
+ // setup bw input port
+ message_port_register_in(d_port_bw);
+- set_msg_handler(d_port_bw,
+- boost::bind(&waterfall_sink_c_impl::handle_set_bw, this, _1));
++ set_msg_handler(d_port_bw, [this](pmt::pmt_t msg) { this->handle_set_bw(msg); });
+
+ // setup output message port to post frequency when display is
+ // double-clicked
+ message_port_register_out(d_port);
+ message_port_register_in(d_port);
+- set_msg_handler(d_port,
+- boost::bind(&waterfall_sink_c_impl::handle_set_freq, this, _1));
++ set_msg_handler(d_port, [this](pmt::pmt_t msg) { this->handle_set_freq(msg); });
+
+ // setup PDU handling input port
+ message_port_register_in(pmt::mp("in"));
+- set_msg_handler(pmt::mp("in"),
+- boost::bind(&waterfall_sink_c_impl::handle_pdus, this, _1));
++ set_msg_handler(pmt::mp("in"), [this](pmt::pmt_t msg) { this->handle_pdus(msg); });
+ }
+
+ waterfall_sink_c_impl::~waterfall_sink_c_impl()
+diff --git a/gr-qtgui/lib/waterfall_sink_f_impl.cc b/gr-qtgui/lib/waterfall_sink_f_impl.cc
+index aa1037a472..4ba6427f08 100644
+--- a/gr-qtgui/lib/waterfall_sink_f_impl.cc
++++ b/gr-qtgui/lib/waterfall_sink_f_impl.cc
+@@ -115,20 +115,17 @@ waterfall_sink_f_impl::waterfall_sink_f_impl(int fftsize,
+
+ // setup bw input port
+ message_port_register_in(d_port_bw);
+- set_msg_handler(d_port_bw,
+- boost::bind(&waterfall_sink_f_impl::handle_set_bw, this, _1));
++ set_msg_handler(d_port_bw, [this](pmt::pmt_t msg) { this->handle_set_bw(msg); });
+
+ // setup output message port to post frequency when display is
+ // double-clicked
+ message_port_register_out(d_port);
+ message_port_register_in(d_port);
+- set_msg_handler(d_port,
+- boost::bind(&waterfall_sink_f_impl::handle_set_freq, this, _1));
++ set_msg_handler(d_port, [this](pmt::pmt_t msg) { this->handle_set_freq(msg); });
+
+ // setup PDU handling input port
+ message_port_register_in(pmt::mp("in"));
+- set_msg_handler(pmt::mp("in"),
+- boost::bind(&waterfall_sink_f_impl::handle_pdus, this, _1));
++ set_msg_handler(pmt::mp("in"), [this](pmt::pmt_t msg) { this->handle_pdus(msg); });
+ }
+
+ waterfall_sink_f_impl::~waterfall_sink_f_impl()
diff --git a/net-wireless/gnuradio/files/gnuradio-3.8.2.0-lamda-gr-uhd.patch b/net-wireless/gnuradio/files/gnuradio-3.8.2.0-lamda-gr-uhd.patch
new file mode 100644
index 000000000000..56787372af0c
--- /dev/null
+++ b/net-wireless/gnuradio/files/gnuradio-3.8.2.0-lamda-gr-uhd.patch
@@ -0,0 +1,98 @@
+From 591c2c16355eb065ff3f51f23d9d6026be188132 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Marcus=20M=C3=BCller?= <mmueller@gnuradio.org>
+Date: Sat, 22 Aug 2020 14:06:22 +0200
+Subject: [PATCH] msg_handler: Use lambdas in gr-uhd
+
+---
+ gr-uhd/lib/amsg_source_impl.cc | 3 +--
+ gr-uhd/lib/usrp_block_impl.cc | 10 ++++++----
+ gr-uhd/lib/usrp_block_impl.h | 1 -
+ gr-uhd/lib/usrp_source_impl.cc | 6 ++++--
+ 4 files changed, 11 insertions(+), 9 deletions(-)
+
+diff --git a/gr-uhd/lib/amsg_source_impl.cc b/gr-uhd/lib/amsg_source_impl.cc
+index 46d47a5826..e1de62e028 100644
+--- a/gr-uhd/lib/amsg_source_impl.cc
++++ b/gr-uhd/lib/amsg_source_impl.cc
+@@ -22,7 +22,6 @@
+
+ #include "amsg_source_impl.h"
+ #include "gr_uhd_common.h"
+-#include <boost/bind.hpp>
+
+ namespace gr {
+ namespace uhd {
+@@ -44,7 +43,7 @@ amsg_source_impl::amsg_source_impl(const ::uhd::device_addr_t& device_addr,
+ : _msgq(msgq), _running(true)
+ {
+ _dev = ::uhd::usrp::multi_usrp::make(device_addr);
+- _amsg_thread = gr::thread::thread(boost::bind(&amsg_source_impl::recv_loop, this));
++ _amsg_thread = gr::thread::thread([this]() { this->recv_loop(); });
+ }
+
+ amsg_source_impl::~amsg_source_impl()
+diff --git a/gr-uhd/lib/usrp_block_impl.cc b/gr-uhd/lib/usrp_block_impl.cc
+index e5e1dd9161..8344809837 100644
+--- a/gr-uhd/lib/usrp_block_impl.cc
++++ b/gr-uhd/lib/usrp_block_impl.cc
+@@ -21,7 +21,7 @@
+ */
+
+ #include "usrp_block_impl.h"
+-#include <boost/make_shared.hpp>
++#include <functional>
+
+ using namespace gr::uhd;
+
+@@ -139,10 +139,11 @@ usrp_block_impl::usrp_block_impl(const ::uhd::device_addr_t& device_addr,
+ set_msg_handler(pmt::mp("command"),
+ [this](pmt::pmt_t msg) { this->msg_handler_command(msg); });
+
+-// cuz we lazy:
++ // because we're highly efficient and adverse to work
++ namespace ph = std::placeholders;
+ #define REGISTER_CMD_HANDLER(key, _handler) \
+- register_msg_cmd_handler(key, \
+- boost::bind(&usrp_block_impl::_handler, this, _1, _2, _3))
++ register_msg_cmd_handler( \
++ key, std::bind(&usrp_block_impl::_handler, this, ph::_1, ph::_2, ph::_3))
+ // Register default command handlers:
+ REGISTER_CMD_HANDLER(cmd_freq_key(), _cmd_handler_freq);
+ REGISTER_CMD_HANDLER(cmd_gain_key(), _cmd_handler_gain);
+@@ -153,6 +154,7 @@ usrp_block_impl::usrp_block_impl(const ::uhd::device_addr_t& device_addr,
+ REGISTER_CMD_HANDLER(cmd_rate_key(), _cmd_handler_rate);
+ REGISTER_CMD_HANDLER(cmd_bandwidth_key(), _cmd_handler_bw);
+ REGISTER_CMD_HANDLER(cmd_antenna_key(), _cmd_handler_antenna);
++#undef REGISTER_CMD_HANDLER
+ }
+
+ usrp_block_impl::~usrp_block_impl()
+diff --git a/gr-uhd/lib/usrp_block_impl.h b/gr-uhd/lib/usrp_block_impl.h
+index 1dbc3813bd..479b7dcd65 100644
+--- a/gr-uhd/lib/usrp_block_impl.h
++++ b/gr-uhd/lib/usrp_block_impl.h
+@@ -26,7 +26,6 @@
+ #include <gnuradio/uhd/usrp_block.h>
+ #include <pmt/pmt.h>
+ #include <uhd/usrp/multi_usrp.hpp>
+-#include <boost/bind.hpp>
+ #include <boost/dynamic_bitset.hpp>
+
+
+diff --git a/gr-uhd/lib/usrp_source_impl.cc b/gr-uhd/lib/usrp_source_impl.cc
+index a2ff0821bd..1e8ef020ab 100644
+--- a/gr-uhd/lib/usrp_source_impl.cc
++++ b/gr-uhd/lib/usrp_source_impl.cc
+@@ -57,8 +57,10 @@ usrp_source_impl::usrp_source_impl(const ::uhd::device_addr_t& device_addr,
+
+ _samp_rate = this->get_samp_rate();
+ _samps_per_packet = 1;
+- register_msg_cmd_handler(cmd_tag_key(),
+- boost::bind(&usrp_source_impl::_cmd_handler_tag, this, _1));
++ register_msg_cmd_handler(
++ cmd_tag_key(), [this](const pmt::pmt_t& val, int chan, const pmt::pmt_t& msg) {
++ this->_cmd_handler_tag(val);
++ });
+ }
+
+ usrp_source_impl::~usrp_source_impl() {}
diff --git a/net-wireless/gnuradio/files/gnuradio-3.8.2.0-lamda-most-components.patch b/net-wireless/gnuradio/files/gnuradio-3.8.2.0-lamda-most-components.patch
new file mode 100644
index 000000000000..ea687a7ed876
--- /dev/null
+++ b/net-wireless/gnuradio/files/gnuradio-3.8.2.0-lamda-most-components.patch
@@ -0,0 +1,290 @@
+From c6e3632952bd3e86e4d8437d7619e7fececb524e Mon Sep 17 00:00:00 2001
+From: Johannes Demel <demel@ant.uni-bremen.de>
+Date: Sat, 9 May 2020 15:14:37 +0200
+Subject: [PATCH] msg_handler: Use lambdas in most components
+
+With this commit, all components except gr-qtgui use lambdas instead of
+`boost::bind` to register msg handlers.
+---
+ gr-digital/lib/chunks_to_symbols_impl.cc | 6 ++----
+ gr-digital/lib/constellation_receiver_cb_impl.cc | 10 ++++------
+ gr-digital/lib/costas_loop_cc_impl.cc | 2 +-
+ gr-digital/lib/crc32_async_bb_impl.cc | 4 ++--
+ gr-digital/lib/header_payload_demux_impl.cc | 5 ++---
+ gr-digital/lib/protocol_formatter_async_impl.cc | 3 +--
+ gr-fec/lib/async_decoder_impl.cc | 5 ++---
+ gr-fec/lib/async_encoder_impl.cc | 5 ++---
+ gr-fec/lib/depuncture_bb_impl.cc | 2 +-
+ gr-fec/lib/puncture_bb_impl.cc | 2 +-
+ gr-fec/lib/puncture_ff_impl.cc | 2 +-
+ gr-filter/lib/freq_xlating_fir_filter_impl.cc | 8 ++------
+ gr-filter/lib/mmse_resampler_cc_impl.cc | 2 +-
+ gr-filter/lib/mmse_resampler_ff_impl.cc | 2 +-
+ gr-uhd/lib/usrp_block_impl.cc | 2 +-
+ gr-zeromq/lib/pub_msg_sink_impl.cc | 2 +-
+ gr-zeromq/lib/push_msg_sink_impl.cc | 2 +-
+ 17 files changed, 26 insertions(+), 38 deletions(-)
+
+diff --git a/gr-digital/lib/chunks_to_symbols_impl.cc b/gr-digital/lib/chunks_to_symbols_impl.cc
+index 26d590a66e..c2cc99b0c8 100644
+--- a/gr-digital/lib/chunks_to_symbols_impl.cc
++++ b/gr-digital/lib/chunks_to_symbols_impl.cc
+@@ -51,10 +51,8 @@ chunks_to_symbols_impl<IN_T, OUT_T>::chunks_to_symbols_impl(
+ d_symbol_table(symbol_table)
+ {
+ this->message_port_register_in(pmt::mp("set_symbol_table"));
+- this->set_msg_handler(
+- pmt::mp("set_symbol_table"),
+- boost::bind(
+- &chunks_to_symbols_impl<IN_T, OUT_T>::handle_set_symbol_table, this, _1));
++ this->set_msg_handler(pmt::mp("set_symbol_table"),
++ [this](pmt::pmt_t msg) { this->handle_set_symbol_table(msg); });
+ }
+
+ template <class IN_T, class OUT_T>
+diff --git a/gr-digital/lib/constellation_receiver_cb_impl.cc b/gr-digital/lib/constellation_receiver_cb_impl.cc
+index 7fb7559d5e..1c160ff1bb 100644
+--- a/gr-digital/lib/constellation_receiver_cb_impl.cc
++++ b/gr-digital/lib/constellation_receiver_cb_impl.cc
+@@ -61,14 +61,12 @@ constellation_receiver_cb_impl::constellation_receiver_cb_impl(
+ "This receiver only works with constellations of dimension 1.");
+
+ message_port_register_in(pmt::mp("set_constellation"));
+- set_msg_handler(
+- pmt::mp("set_constellation"),
+- boost::bind(&constellation_receiver_cb_impl::handle_set_constellation, this, _1));
++ set_msg_handler(pmt::mp("set_constellation"),
++ [this](pmt::pmt_t msg) { this->handle_set_constellation(msg); });
+
+ message_port_register_in(pmt::mp("rotate_phase"));
+- set_msg_handler(
+- pmt::mp("rotate_phase"),
+- boost::bind(&constellation_receiver_cb_impl::handle_rotate_phase, this, _1));
++ set_msg_handler(pmt::mp("rotate_phase"),
++ [this](pmt::pmt_t msg) { this->handle_rotate_phase(msg); });
+ }
+
+ constellation_receiver_cb_impl::~constellation_receiver_cb_impl() {}
+diff --git a/gr-digital/lib/costas_loop_cc_impl.cc b/gr-digital/lib/costas_loop_cc_impl.cc
+index c3b30834eb..b1a0e67caa 100644
+--- a/gr-digital/lib/costas_loop_cc_impl.cc
++++ b/gr-digital/lib/costas_loop_cc_impl.cc
+@@ -82,7 +82,7 @@ costas_loop_cc_impl::costas_loop_cc_impl(float loop_bw, int order, bool use_snr)
+
+ message_port_register_in(pmt::mp("noise"));
+ set_msg_handler(pmt::mp("noise"),
+- boost::bind(&costas_loop_cc_impl::handle_set_noise, this, _1));
++ [this](pmt::pmt_t msg) { this->handle_set_noise(msg); });
+ }
+
+ costas_loop_cc_impl::~costas_loop_cc_impl() {}
+diff --git a/gr-digital/lib/crc32_async_bb_impl.cc b/gr-digital/lib/crc32_async_bb_impl.cc
+index bffbb2a737..230decc2ae 100644
+--- a/gr-digital/lib/crc32_async_bb_impl.cc
++++ b/gr-digital/lib/crc32_async_bb_impl.cc
+@@ -48,9 +48,9 @@ crc32_async_bb_impl::crc32_async_bb_impl(bool check)
+ message_port_register_out(d_out_port);
+
+ if (check)
+- set_msg_handler(d_in_port, boost::bind(&crc32_async_bb_impl::check, this, _1));
++ set_msg_handler(d_in_port, [this](pmt::pmt_t msg) { this->check(msg); });
+ else
+- set_msg_handler(d_in_port, boost::bind(&crc32_async_bb_impl::calc, this, _1));
++ set_msg_handler(d_in_port, [this](pmt::pmt_t msg) { this->calc(msg); });
+ }
+
+ crc32_async_bb_impl::~crc32_async_bb_impl() {}
+diff --git a/gr-digital/lib/header_payload_demux_impl.cc b/gr-digital/lib/header_payload_demux_impl.cc
+index 98c805fb20..5dc65f422b 100644
+--- a/gr-digital/lib/header_payload_demux_impl.cc
++++ b/gr-digital/lib/header_payload_demux_impl.cc
+@@ -150,9 +150,8 @@ header_payload_demux_impl::header_payload_demux_impl(
+ }
+ set_tag_propagation_policy(TPP_DONT);
+ message_port_register_in(msg_port_id());
+- set_msg_handler(
+- msg_port_id(),
+- boost::bind(&header_payload_demux_impl::parse_header_data_msg, this, _1));
++ set_msg_handler(msg_port_id(),
++ [this](pmt::pmt_t msg) { this->parse_header_data_msg(msg); });
+ for (size_t i = 0; i < special_tags.size(); i++) {
+ d_special_tags.push_back(pmt::string_to_symbol(special_tags[i]));
+ d_special_tags_last_value.push_back(pmt::PMT_NIL);
+diff --git a/gr-digital/lib/protocol_formatter_async_impl.cc b/gr-digital/lib/protocol_formatter_async_impl.cc
+index 84b693745d..08e324ecfb 100644
+--- a/gr-digital/lib/protocol_formatter_async_impl.cc
++++ b/gr-digital/lib/protocol_formatter_async_impl.cc
+@@ -54,8 +54,7 @@ protocol_formatter_async_impl::protocol_formatter_async_impl(
+ message_port_register_out(d_hdr_port);
+ message_port_register_out(d_pld_port);
+
+- set_msg_handler(d_in_port,
+- boost::bind(&protocol_formatter_async_impl::append, this, _1));
++ set_msg_handler(d_in_port, [this](pmt::pmt_t msg) { this->append(msg); });
+ }
+
+ protocol_formatter_async_impl::~protocol_formatter_async_impl() {}
+diff --git a/gr-fec/lib/async_decoder_impl.cc b/gr-fec/lib/async_decoder_impl.cc
+index e7a668c832..c907b297a5 100644
+--- a/gr-fec/lib/async_decoder_impl.cc
++++ b/gr-fec/lib/async_decoder_impl.cc
+@@ -64,11 +64,10 @@ async_decoder_impl::async_decoder_impl(generic_decoder::sptr my_decoder,
+
+ if (d_packed) {
+ d_pack = new blocks::kernel::pack_k_bits(8);
+- set_msg_handler(d_in_port,
+- boost::bind(&async_decoder_impl::decode_packed, this, _1));
++ set_msg_handler(d_in_port, [this](pmt::pmt_t msg) { this->decode_packed(msg); });
+ } else {
+ set_msg_handler(d_in_port,
+- boost::bind(&async_decoder_impl::decode_unpacked, this, _1));
++ [this](pmt::pmt_t msg) { this->decode_unpacked(msg); });
+ }
+
+ // The maximum frame size is set by the initial frame size of the decoder.
+diff --git a/gr-fec/lib/async_encoder_impl.cc b/gr-fec/lib/async_encoder_impl.cc
+index 811d55601f..2e8fd62d12 100644
+--- a/gr-fec/lib/async_encoder_impl.cc
++++ b/gr-fec/lib/async_encoder_impl.cc
+@@ -63,8 +63,7 @@ async_encoder_impl::async_encoder_impl(generic_encoder::sptr my_encoder,
+ message_port_register_out(d_out_port);
+
+ if (d_packed) {
+- set_msg_handler(d_in_port,
+- boost::bind(&async_encoder_impl::encode_packed, this, _1));
++ set_msg_handler(d_in_port, [this](pmt::pmt_t msg) { this->encode_packed(msg); });
+
+ d_unpack = new blocks::kernel::unpack_k_bits(8);
+
+@@ -74,7 +73,7 @@ async_encoder_impl::async_encoder_impl(generic_encoder::sptr my_encoder,
+
+ } else {
+ set_msg_handler(d_in_port,
+- boost::bind(&async_encoder_impl::encode_unpacked, this, _1));
++ [this](pmt::pmt_t msg) { this->encode_unpacked(msg); });
+ }
+
+ if (d_packed || (strncmp(d_encoder->get_input_conversion(), "pack", 4) == 0)) {
+diff --git a/gr-fec/lib/depuncture_bb_impl.cc b/gr-fec/lib/depuncture_bb_impl.cc
+index 27d00bb5bb..59ed44dd8a 100644
+--- a/gr-fec/lib/depuncture_bb_impl.cc
++++ b/gr-fec/lib/depuncture_bb_impl.cc
+@@ -74,7 +74,7 @@ depuncture_bb_impl::depuncture_bb_impl(int puncsize, int puncpat, int delay, cha
+ set_fixed_rate(true);
+ set_relative_rate((uint64_t)d_puncsize, (uint64_t)(d_puncsize - d_puncholes));
+ set_output_multiple(d_puncsize);
+- // set_msg_handler(boost::bind(&depuncture_bb_impl::catch_msg, this, _1));
++ // set_msg_handler(<portname>, [this](pmt::pmt_t msg) { this->catch_msg(msg); });
+ }
+
+ depuncture_bb_impl::~depuncture_bb_impl() {}
+diff --git a/gr-fec/lib/puncture_bb_impl.cc b/gr-fec/lib/puncture_bb_impl.cc
+index a365d6a69f..1f328c2214 100644
+--- a/gr-fec/lib/puncture_bb_impl.cc
++++ b/gr-fec/lib/puncture_bb_impl.cc
+@@ -72,7 +72,7 @@ puncture_bb_impl::puncture_bb_impl(int puncsize, int puncpat, int delay)
+ set_fixed_rate(true);
+ set_relative_rate((uint64_t)(d_puncsize - d_puncholes), (uint64_t)d_puncsize);
+ set_output_multiple(d_puncsize - d_puncholes);
+- // set_msg_handler(boost::bind(&puncture_bb_impl::catch_msg, this, _1));
++ // set_msg_handler(<portname>, [this](pmt::pmt_t msg) { this->catch_msg(msg); });
+ }
+
+ puncture_bb_impl::~puncture_bb_impl() {}
+diff --git a/gr-fec/lib/puncture_ff_impl.cc b/gr-fec/lib/puncture_ff_impl.cc
+index c95288d691..31c686ea4c 100644
+--- a/gr-fec/lib/puncture_ff_impl.cc
++++ b/gr-fec/lib/puncture_ff_impl.cc
+@@ -72,7 +72,7 @@ puncture_ff_impl::puncture_ff_impl(int puncsize, int puncpat, int delay)
+ set_fixed_rate(true);
+ set_relative_rate((uint64_t)(d_puncsize - d_puncholes), (uint64_t)d_puncsize);
+ set_output_multiple(d_puncsize - d_puncholes);
+- // set_msg_handler(boost::bind(&puncture_ff_impl::catch_msg, this, _1));
++ // set_msg_handler(<portname>, [this](pmt::pmt_t msg) { this->catch_msg(msg); });
+ }
+
+ puncture_ff_impl::~puncture_ff_impl() {}
+diff --git a/gr-filter/lib/freq_xlating_fir_filter_impl.cc b/gr-filter/lib/freq_xlating_fir_filter_impl.cc
+index 8ddc967ba1..1050fb82a5 100644
+--- a/gr-filter/lib/freq_xlating_fir_filter_impl.cc
++++ b/gr-filter/lib/freq_xlating_fir_filter_impl.cc
+@@ -67,12 +67,8 @@ freq_xlating_fir_filter_impl<IN_T, OUT_T, TAP_T>::freq_xlating_fir_filter_impl(
+ this->build_composite_fir();
+
+ this->message_port_register_in(pmt::mp("freq"));
+- this->set_msg_handler(
+- pmt::mp("freq"),
+- boost::bind(
+- &freq_xlating_fir_filter_impl<IN_T, OUT_T, TAP_T>::handle_set_center_freq,
+- this,
+- _1));
++ this->set_msg_handler(pmt::mp("freq"),
++ [this](pmt::pmt_t msg) { this->handle_set_center_freq(msg); });
+ }
+
+ template <class IN_T, class OUT_T, class TAP_T>
+diff --git a/gr-filter/lib/mmse_resampler_cc_impl.cc b/gr-filter/lib/mmse_resampler_cc_impl.cc
+index 59f9eacfab..9ca62082ce 100644
+--- a/gr-filter/lib/mmse_resampler_cc_impl.cc
++++ b/gr-filter/lib/mmse_resampler_cc_impl.cc
+@@ -53,7 +53,7 @@ mmse_resampler_cc_impl::mmse_resampler_cc_impl(float phase_shift, float resamp_r
+ set_inverse_relative_rate(d_mu_inc);
+ message_port_register_in(pmt::intern("msg_in"));
+ set_msg_handler(pmt::intern("msg_in"),
+- boost::bind(&mmse_resampler_cc_impl::handle_msg, this, _1));
++ [this](pmt::pmt_t msg) { this->handle_msg(msg); });
+ }
+
+ mmse_resampler_cc_impl::~mmse_resampler_cc_impl() { delete d_resamp; }
+diff --git a/gr-filter/lib/mmse_resampler_ff_impl.cc b/gr-filter/lib/mmse_resampler_ff_impl.cc
+index 342d9f7678..312a6a8755 100644
+--- a/gr-filter/lib/mmse_resampler_ff_impl.cc
++++ b/gr-filter/lib/mmse_resampler_ff_impl.cc
+@@ -54,7 +54,7 @@ mmse_resampler_ff_impl::mmse_resampler_ff_impl(float phase_shift, float resamp_r
+
+ message_port_register_in(pmt::intern("msg_in"));
+ set_msg_handler(pmt::intern("msg_in"),
+- boost::bind(&mmse_resampler_ff_impl::handle_msg, this, _1));
++ [this](pmt::pmt_t msg) { this->handle_msg(msg); });
+ }
+
+ mmse_resampler_ff_impl::~mmse_resampler_ff_impl() { delete d_resamp; }
+diff --git a/gr-uhd/lib/usrp_block_impl.cc b/gr-uhd/lib/usrp_block_impl.cc
+index 4f030159ff..e5e1dd9161 100644
+--- a/gr-uhd/lib/usrp_block_impl.cc
++++ b/gr-uhd/lib/usrp_block_impl.cc
+@@ -137,7 +137,7 @@ usrp_block_impl::usrp_block_impl(const ::uhd::device_addr_t& device_addr,
+ // Set up message ports:
+ message_port_register_in(pmt::mp("command"));
+ set_msg_handler(pmt::mp("command"),
+- boost::bind(&usrp_block_impl::msg_handler_command, this, _1));
++ [this](pmt::pmt_t msg) { this->msg_handler_command(msg); });
+
+ // cuz we lazy:
+ #define REGISTER_CMD_HANDLER(key, _handler) \
+diff --git a/gr-zeromq/lib/pub_msg_sink_impl.cc b/gr-zeromq/lib/pub_msg_sink_impl.cc
+index b5da7421ef..3973b8f835 100644
+--- a/gr-zeromq/lib/pub_msg_sink_impl.cc
++++ b/gr-zeromq/lib/pub_msg_sink_impl.cc
+@@ -62,7 +62,7 @@ pub_msg_sink_impl::pub_msg_sink_impl(char* address, int timeout, bool bind)
+ }
+
+ message_port_register_in(pmt::mp("in"));
+- set_msg_handler(pmt::mp("in"), boost::bind(&pub_msg_sink_impl::handler, this, _1));
++ set_msg_handler(pmt::mp("in"), [this](pmt::pmt_t msg) { this->handler(msg); });
+ }
+
+ pub_msg_sink_impl::~pub_msg_sink_impl()
+diff --git a/gr-zeromq/lib/push_msg_sink_impl.cc b/gr-zeromq/lib/push_msg_sink_impl.cc
+index 4140781ab9..fee734753b 100644
+--- a/gr-zeromq/lib/push_msg_sink_impl.cc
++++ b/gr-zeromq/lib/push_msg_sink_impl.cc
+@@ -62,7 +62,7 @@ push_msg_sink_impl::push_msg_sink_impl(char* address, int timeout, bool bind)
+ }
+
+ message_port_register_in(pmt::mp("in"));
+- set_msg_handler(pmt::mp("in"), boost::bind(&push_msg_sink_impl::handler, this, _1));
++ set_msg_handler(pmt::mp("in"), [this](pmt::pmt_t msg) { this->handler(msg); });
+ }
+
+ push_msg_sink_impl::~push_msg_sink_impl()
diff --git a/net-wireless/gnuradio/files/gnuradio-3.8.2.0-lamda-set-msg-handlers.patch b/net-wireless/gnuradio/files/gnuradio-3.8.2.0-lamda-set-msg-handlers.patch
new file mode 100644
index 000000000000..2d91fe2cce26
--- /dev/null
+++ b/net-wireless/gnuradio/files/gnuradio-3.8.2.0-lamda-set-msg-handlers.patch
@@ -0,0 +1,298 @@
+From 7c841011f9316d4aae068b444c995829e09278d7 Mon Sep 17 00:00:00 2001
+From: Johannes Demel <demel@ant.uni-bremen.de>
+Date: Sat, 9 May 2020 14:25:32 +0200
+Subject: [PATCH] msg_handler: Use lambdas to set msg handlers
+
+With this commit, all calls to `set_msg_handler` in `gr-blocks` use
+lambdas. This helps to use `std::function` instead of `boost::function`.
+---
+ gnuradio-runtime/lib/block.cc | 3 +--
+ gr-blocks/lib/copy_impl.cc | 2 +-
+ gr-blocks/lib/message_debug_impl.cc | 6 +++---
+ gr-blocks/lib/message_strobe_impl.cc | 3 +--
+ gr-blocks/lib/message_strobe_random_impl.cc | 3 +--
+ gr-blocks/lib/multiply_matrix_impl.cc | 7 ++-----
+ gr-blocks/lib/mute_impl.cc | 2 +-
+ gr-blocks/lib/nop_impl.cc | 3 +--
+ gr-blocks/lib/pdu_filter_impl.cc | 2 +-
+ gr-blocks/lib/pdu_remove_impl.cc | 2 +-
+ gr-blocks/lib/pdu_set_impl.cc | 3 ++-
+ gr-blocks/lib/random_pdu_impl.cc | 2 +-
+ gr-blocks/lib/repeat_impl.cc | 2 +-
+ gr-blocks/lib/socket_pdu_impl.cc | 8 ++++----
+ gr-blocks/lib/tagged_stream_multiply_length_impl.cc | 5 ++---
+ gr-blocks/lib/tuntap_pdu_impl.cc | 2 +-
+ 16 files changed, 24 insertions(+), 31 deletions(-)
+
+diff --git a/gnuradio-runtime/lib/block.cc b/gnuradio-runtime/lib/block.cc
+index 5914283908..beec8c470c 100644
+--- a/gnuradio-runtime/lib/block.cc
++++ b/gnuradio-runtime/lib/block.cc
+@@ -61,9 +61,8 @@ block::block(const std::string& name,
+ {
+ global_block_registry.register_primitive(alias(), this);
+ message_port_register_in(d_system_port);
+- set_msg_handler(d_system_port, boost::bind(&block::system_handler, this, _1));
+-
+ configure_default_loggers(d_logger, d_debug_logger, symbol_name());
++ set_msg_handler(d_system_port, [this](pmt::pmt_t msg) { this->system_handler(msg); });
+ }
+
+ block::~block() { global_block_registry.unregister_primitive(symbol_name()); }
+diff --git a/gr-blocks/lib/copy_impl.cc b/gr-blocks/lib/copy_impl.cc
+index c377e57b1e..4c97d07a76 100644
+--- a/gr-blocks/lib/copy_impl.cc
++++ b/gr-blocks/lib/copy_impl.cc
+@@ -44,7 +44,7 @@ copy_impl::copy_impl(size_t itemsize)
+ d_enabled(true)
+ {
+ message_port_register_in(pmt::mp("en"));
+- set_msg_handler(pmt::mp("en"), boost::bind(&copy_impl::handle_enable, this, _1));
++ set_msg_handler(pmt::mp("en"), [this](pmt::pmt_t msg) { this->handle_enable(msg); });
+ }
+
+ copy_impl::~copy_impl() {}
+diff --git a/gr-blocks/lib/message_debug_impl.cc b/gr-blocks/lib/message_debug_impl.cc
+index a8c84aa509..719fbd818a 100644
+--- a/gr-blocks/lib/message_debug_impl.cc
++++ b/gr-blocks/lib/message_debug_impl.cc
+@@ -90,14 +90,14 @@ message_debug_impl::message_debug_impl()
+ : block("message_debug", io_signature::make(0, 0, 0), io_signature::make(0, 0, 0))
+ {
+ message_port_register_in(pmt::mp("print"));
+- set_msg_handler(pmt::mp("print"), boost::bind(&message_debug_impl::print, this, _1));
++ set_msg_handler(pmt::mp("print"), [this](pmt::pmt_t msg) { this->print(msg); });
+
+ message_port_register_in(pmt::mp("store"));
+- set_msg_handler(pmt::mp("store"), boost::bind(&message_debug_impl::store, this, _1));
++ set_msg_handler(pmt::mp("store"), [this](pmt::pmt_t msg) { this->store(msg); });
+
+ message_port_register_in(pmt::mp("print_pdu"));
+ set_msg_handler(pmt::mp("print_pdu"),
+- boost::bind(&message_debug_impl::print_pdu, this, _1));
++ [this](pmt::pmt_t msg) { this->print_pdu(msg); });
+ }
+
+ message_debug_impl::~message_debug_impl() {}
+diff --git a/gr-blocks/lib/message_strobe_impl.cc b/gr-blocks/lib/message_strobe_impl.cc
+index 038eeae5a1..67a95be8f2 100644
+--- a/gr-blocks/lib/message_strobe_impl.cc
++++ b/gr-blocks/lib/message_strobe_impl.cc
+@@ -53,8 +53,7 @@ message_strobe_impl::message_strobe_impl(pmt::pmt_t msg, long period_ms)
+ message_port_register_out(d_port);
+
+ message_port_register_in(pmt::mp("set_msg"));
+- set_msg_handler(pmt::mp("set_msg"),
+- boost::bind(&message_strobe_impl::set_msg, this, _1));
++ set_msg_handler(pmt::mp("set_msg"), [this](pmt::pmt_t msg) { this->set_msg(msg); });
+ }
+
+ message_strobe_impl::~message_strobe_impl() {}
+diff --git a/gr-blocks/lib/message_strobe_random_impl.cc b/gr-blocks/lib/message_strobe_random_impl.cc
+index 0ab5d6adc7..1b8deca952 100644
+--- a/gr-blocks/lib/message_strobe_random_impl.cc
++++ b/gr-blocks/lib/message_strobe_random_impl.cc
+@@ -74,8 +74,7 @@ message_strobe_random_impl::message_strobe_random_impl(
+ new gr::thread::thread(boost::bind(&message_strobe_random_impl::run, this)));
+
+ message_port_register_in(pmt::mp("set_msg"));
+- set_msg_handler(pmt::mp("set_msg"),
+- boost::bind(&message_strobe_random_impl::set_msg, this, _1));
++ set_msg_handler(pmt::mp("set_msg"), [this](pmt::pmt_t msg) { this->set_msg(msg); });
+ }
+
+ long message_strobe_random_impl::next_delay()
+diff --git a/gr-blocks/lib/multiply_matrix_impl.cc b/gr-blocks/lib/multiply_matrix_impl.cc
+index e1b9c746c6..03e7894536 100644
+--- a/gr-blocks/lib/multiply_matrix_impl.cc
++++ b/gr-blocks/lib/multiply_matrix_impl.cc
+@@ -235,9 +235,7 @@ multiply_matrix_impl<gr_complex>::multiply_matrix_impl(
+
+ pmt::pmt_t port_name = pmt::string_to_symbol("set_A");
+ message_port_register_in(port_name);
+- set_msg_handler(
+- port_name,
+- boost::bind(&multiply_matrix_impl<gr_complex>::msg_handler_A, this, _1));
++ set_msg_handler(port_name, [this](pmt::pmt_t msg) { this->msg_handler_A(msg); });
+ }
+
+ template <>
+@@ -256,8 +254,7 @@ multiply_matrix_impl<float>::multiply_matrix_impl(
+
+ pmt::pmt_t port_name = pmt::string_to_symbol("set_A");
+ message_port_register_in(port_name);
+- set_msg_handler(port_name,
+- boost::bind(&multiply_matrix_impl<float>::msg_handler_A, this, _1));
++ set_msg_handler(port_name, [this](pmt::pmt_t msg) { this->msg_handler_A(msg); });
+ }
+
+
+diff --git a/gr-blocks/lib/mute_impl.cc b/gr-blocks/lib/mute_impl.cc
+index bd65ce2075..c9a1d200c8 100644
+--- a/gr-blocks/lib/mute_impl.cc
++++ b/gr-blocks/lib/mute_impl.cc
+@@ -48,7 +48,7 @@ mute_impl<T>::mute_impl(bool mute)
+ {
+ this->message_port_register_in(pmt::intern("set_mute"));
+ this->set_msg_handler(pmt::intern("set_mute"),
+- boost::bind(&mute_impl<T>::set_mute_pmt, this, _1));
++ [this](pmt::pmt_t msg) { this->set_mute_pmt(msg); });
+ }
+
+ template <class T>
+diff --git a/gr-blocks/lib/nop_impl.cc b/gr-blocks/lib/nop_impl.cc
+index db216d97a4..4e1e887f42 100644
+--- a/gr-blocks/lib/nop_impl.cc
++++ b/gr-blocks/lib/nop_impl.cc
+@@ -26,7 +26,6 @@
+
+ #include "nop_impl.h"
+ #include <gnuradio/io_signature.h>
+-#include <boost/bind.hpp>
+
+ namespace gr {
+ namespace blocks {
+@@ -45,7 +44,7 @@ nop_impl::nop_impl(size_t sizeof_stream_item)
+ // Arrange to have count_received_msgs called when messages are received.
+ message_port_register_in(pmt::mp("port"));
+ set_msg_handler(pmt::mp("port"),
+- boost::bind(&nop_impl::count_received_msgs, this, _1));
++ [this](pmt::pmt_t msg) { this->count_received_msgs(msg); });
+ }
+
+ nop_impl::~nop_impl() {}
+diff --git a/gr-blocks/lib/pdu_filter_impl.cc b/gr-blocks/lib/pdu_filter_impl.cc
+index b0748eec02..760027a78c 100644
+--- a/gr-blocks/lib/pdu_filter_impl.cc
++++ b/gr-blocks/lib/pdu_filter_impl.cc
+@@ -45,7 +45,7 @@ pdu_filter_impl::pdu_filter_impl(pmt::pmt_t k, pmt::pmt_t v, bool invert)
+ message_port_register_out(pdu::pdu_port_id());
+ message_port_register_in(pdu::pdu_port_id());
+ set_msg_handler(pdu::pdu_port_id(),
+- boost::bind(&pdu_filter_impl::handle_msg, this, _1));
++ [this](pmt::pmt_t msg) { this->handle_msg(msg); });
+ }
+
+ void pdu_filter_impl::handle_msg(pmt::pmt_t pdu)
+diff --git a/gr-blocks/lib/pdu_remove_impl.cc b/gr-blocks/lib/pdu_remove_impl.cc
+index 19cc4dc76a..58277ca0d0 100644
+--- a/gr-blocks/lib/pdu_remove_impl.cc
++++ b/gr-blocks/lib/pdu_remove_impl.cc
+@@ -43,7 +43,7 @@ pdu_remove_impl::pdu_remove_impl(pmt::pmt_t k)
+ message_port_register_out(pdu::pdu_port_id());
+ message_port_register_in(pdu::pdu_port_id());
+ set_msg_handler(pdu::pdu_port_id(),
+- boost::bind(&pdu_remove_impl::handle_msg, this, _1));
++ [this](pmt::pmt_t msg) { this->handle_msg(msg); });
+ }
+
+ void pdu_remove_impl::handle_msg(pmt::pmt_t pdu)
+diff --git a/gr-blocks/lib/pdu_set_impl.cc b/gr-blocks/lib/pdu_set_impl.cc
+index 40fbc3cd83..61f1bb1284 100644
+--- a/gr-blocks/lib/pdu_set_impl.cc
++++ b/gr-blocks/lib/pdu_set_impl.cc
+@@ -43,7 +43,8 @@ pdu_set_impl::pdu_set_impl(pmt::pmt_t k, pmt::pmt_t v)
+ {
+ message_port_register_out(pdu::pdu_port_id());
+ message_port_register_in(pdu::pdu_port_id());
+- set_msg_handler(pdu::pdu_port_id(), boost::bind(&pdu_set_impl::handle_msg, this, _1));
++ set_msg_handler(pdu::pdu_port_id(),
++ [this](pmt::pmt_t msg) { this->handle_msg(msg); });
+ }
+
+ void pdu_set_impl::handle_msg(pmt::pmt_t pdu)
+diff --git a/gr-blocks/lib/random_pdu_impl.cc b/gr-blocks/lib/random_pdu_impl.cc
+index 75d825aefa..5207a779d6 100644
+--- a/gr-blocks/lib/random_pdu_impl.cc
++++ b/gr-blocks/lib/random_pdu_impl.cc
+@@ -53,7 +53,7 @@ random_pdu_impl::random_pdu_impl(int min_items,
+ message_port_register_out(pdu::pdu_port_id());
+ message_port_register_in(pmt::mp("generate"));
+ set_msg_handler(pmt::mp("generate"),
+- boost::bind(&random_pdu_impl::generate_pdu, this, _1));
++ [this](pmt::pmt_t msg) { this->generate_pdu(msg); });
+ if (length_modulo < 1)
+ throw std::runtime_error("length_module must be >= 1");
+ if (max_items < length_modulo)
+diff --git a/gr-blocks/lib/repeat_impl.cc b/gr-blocks/lib/repeat_impl.cc
+index 189fbc8948..7262b11a2e 100644
+--- a/gr-blocks/lib/repeat_impl.cc
++++ b/gr-blocks/lib/repeat_impl.cc
+@@ -45,7 +45,7 @@ repeat_impl::repeat_impl(size_t itemsize, int interp)
+ {
+ message_port_register_in(pmt::mp("interpolation"));
+ set_msg_handler(pmt::mp("interpolation"),
+- boost::bind(&repeat_impl::msg_set_interpolation, this, _1));
++ [this](pmt::pmt_t msg) { this->msg_set_interpolation(msg); });
+ }
+
+ void repeat_impl::msg_set_interpolation(pmt::pmt_t msg)
+diff --git a/gr-blocks/lib/socket_pdu_impl.cc b/gr-blocks/lib/socket_pdu_impl.cc
+index df69f07ad2..edf572e76c 100644
+--- a/gr-blocks/lib/socket_pdu_impl.cc
++++ b/gr-blocks/lib/socket_pdu_impl.cc
+@@ -101,7 +101,7 @@ socket_pdu_impl::socket_pdu_impl(std::string type,
+ start_tcp_accept();
+
+ set_msg_handler(pdu::pdu_port_id(),
+- boost::bind(&socket_pdu_impl::tcp_server_send, this, _1));
++ [this](pmt::pmt_t msg) { this->tcp_server_send(msg); });
+ } else if (type == "TCP_CLIENT") {
+ boost::system::error_code error = boost::asio::error::host_not_found;
+ d_tcp_socket.reset(new boost::asio::ip::tcp::socket(d_io_service));
+@@ -111,7 +111,7 @@ socket_pdu_impl::socket_pdu_impl(std::string type,
+ d_tcp_socket->set_option(boost::asio::ip::tcp::no_delay(d_tcp_no_delay));
+
+ set_msg_handler(pdu::pdu_port_id(),
+- boost::bind(&socket_pdu_impl::tcp_client_send, this, _1));
++ [this](pmt::pmt_t msg) { this->tcp_client_send(msg); });
+
+ d_tcp_socket->async_read_some(
+ boost::asio::buffer(d_rxbuf),
+@@ -131,7 +131,7 @@ socket_pdu_impl::socket_pdu_impl(std::string type,
+ boost::asio::placeholders::bytes_transferred));
+
+ set_msg_handler(pdu::pdu_port_id(),
+- boost::bind(&socket_pdu_impl::udp_send, this, _1));
++ [this](pmt::pmt_t msg) { this->udp_send(msg); });
+ } else if (type == "UDP_CLIENT") {
+ d_udp_socket.reset(
+ new boost::asio::ip::udp::socket(d_io_service, d_udp_endpoint));
+@@ -144,7 +144,7 @@ socket_pdu_impl::socket_pdu_impl(std::string type,
+ boost::asio::placeholders::bytes_transferred));
+
+ set_msg_handler(pdu::pdu_port_id(),
+- boost::bind(&socket_pdu_impl::udp_send, this, _1));
++ [this](pmt::pmt_t msg) { this->udp_send(msg); });
+ } else
+ throw std::runtime_error("gr::blocks:socket_pdu: unknown socket type");
+
+diff --git a/gr-blocks/lib/tagged_stream_multiply_length_impl.cc b/gr-blocks/lib/tagged_stream_multiply_length_impl.cc
+index 30f4c46dc6..2266c01fe3 100644
+--- a/gr-blocks/lib/tagged_stream_multiply_length_impl.cc
++++ b/gr-blocks/lib/tagged_stream_multiply_length_impl.cc
+@@ -49,9 +49,8 @@ tagged_stream_multiply_length_impl::tagged_stream_multiply_length_impl(
+ set_tag_propagation_policy(TPP_DONT);
+ set_relative_rate(1, 1);
+ message_port_register_in(pmt::intern("set_scalar"));
+- set_msg_handler(
+- pmt::intern("set_scalar"),
+- boost::bind(&tagged_stream_multiply_length_impl::set_scalar_pmt, this, _1));
++ set_msg_handler(pmt::intern("set_scalar"),
++ [this](pmt::pmt_t msg) { this->set_scalar_pmt(msg); });
+ }
+
+ tagged_stream_multiply_length_impl::~tagged_stream_multiply_length_impl() {}
+diff --git a/gr-blocks/lib/tuntap_pdu_impl.cc b/gr-blocks/lib/tuntap_pdu_impl.cc
+index 4343ae1dc3..19742235d9 100644
+--- a/gr-blocks/lib/tuntap_pdu_impl.cc
++++ b/gr-blocks/lib/tuntap_pdu_impl.cc
+@@ -96,7 +96,7 @@ tuntap_pdu_impl::tuntap_pdu_impl(std::string dev, int MTU, bool istunflag)
+
+ // set up input message port
+ message_port_register_in(pdu::pdu_port_id());
+- set_msg_handler(pdu::pdu_port_id(), boost::bind(&tuntap_pdu_impl::send, this, _1));
++ set_msg_handler(pdu::pdu_port_id(), [this](pmt::pmt_t msg) { this->send(msg); });
+ }
+
+ int tuntap_pdu_impl::tun_alloc(char* dev, int flags)
diff --git a/net-wireless/gnuradio/gnuradio-3.7.13.5-r3.ebuild b/net-wireless/gnuradio/gnuradio-3.7.13.5-r3.ebuild
index a73f9f65dc64..e5e6b1a24c2d 100644
--- a/net-wireless/gnuradio/gnuradio-3.7.13.5-r3.ebuild
+++ b/net-wireless/gnuradio/gnuradio-3.7.13.5-r3.ebuild
@@ -77,8 +77,8 @@ RDEPEND="${PYTHON_DEPS}
dev-python/six[${PYTHON_MULTI_USEDEP}]
filter? (
|| (
- sci-libs/scipy-python2[${PYTHON_MULTI_USEDEP}]
- sci-libs/scipy[${PYTHON_MULTI_USEDEP}]
+ dev-python/scipy-python2[${PYTHON_MULTI_USEDEP}]
+ dev-python/scipy[${PYTHON_MULTI_USEDEP}]
)
)
grc? (
diff --git a/net-wireless/gnuradio/gnuradio-3.7.13.5-r4.ebuild b/net-wireless/gnuradio/gnuradio-3.7.13.5-r4.ebuild
index b85c4e578724..4bd0848dbf45 100644
--- a/net-wireless/gnuradio/gnuradio-3.7.13.5-r4.ebuild
+++ b/net-wireless/gnuradio/gnuradio-3.7.13.5-r4.ebuild
@@ -78,8 +78,8 @@ RDEPEND="${PYTHON_DEPS}
dev-python/six[${PYTHON_MULTI_USEDEP}]
filter? (
|| (
- sci-libs/scipy-python2[${PYTHON_MULTI_USEDEP}]
- sci-libs/scipy[${PYTHON_MULTI_USEDEP}]
+ dev-python/scipy-python2[${PYTHON_MULTI_USEDEP}]
+ dev-python/scipy[${PYTHON_MULTI_USEDEP}]
)
)
grc? (
diff --git a/net-wireless/gnuradio/gnuradio-3.8.1.0-r1.ebuild b/net-wireless/gnuradio/gnuradio-3.8.1.0-r1.ebuild
index 3fd0a24eac18..ebf97b1bfda9 100644
--- a/net-wireless/gnuradio/gnuradio-3.8.1.0-r1.ebuild
+++ b/net-wireless/gnuradio/gnuradio-3.8.1.0-r1.ebuild
@@ -56,9 +56,9 @@ RDEPEND="${PYTHON_DEPS}
alsa? ( media-libs/alsa-lib:= )
fec? (
sci-libs/gsl
- sci-libs/scipy
+ dev-python/scipy
)
- filter? ( sci-libs/scipy )
+ filter? ( dev-python/scipy )
grc? (
$(python_gen_cond_dep 'dev-python/mako[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
@@ -77,7 +77,7 @@ RDEPEND="${PYTHON_DEPS}
dev-qt/qtwidgets:5
)
sdl? ( >=media-libs/libsdl-1.2.0 )
- trellis? ( sci-libs/scipy )
+ trellis? ( dev-python/scipy )
uhd? (
$(python_gen_cond_dep '>=net-wireless/uhd-3.9.6:=[${PYTHON_SINGLE_USEDEP}]')
)
diff --git a/net-wireless/gnuradio/gnuradio-3.8.1.0-r2.ebuild b/net-wireless/gnuradio/gnuradio-3.8.1.0-r2.ebuild
index ed6d89a7a8fa..3ae37a1a92e3 100644
--- a/net-wireless/gnuradio/gnuradio-3.8.1.0-r2.ebuild
+++ b/net-wireless/gnuradio/gnuradio-3.8.1.0-r2.ebuild
@@ -57,9 +57,9 @@ RDEPEND="${PYTHON_DEPS}
alsa? ( media-libs/alsa-lib:= )
fec? (
sci-libs/gsl
- sci-libs/scipy
+ dev-python/scipy
)
- filter? ( sci-libs/scipy )
+ filter? ( dev-python/scipy )
grc? (
$(python_gen_cond_dep 'dev-python/mako[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
@@ -78,7 +78,7 @@ RDEPEND="${PYTHON_DEPS}
dev-qt/qtwidgets:5
)
sdl? ( >=media-libs/libsdl-1.2.0 )
- trellis? ( sci-libs/scipy )
+ trellis? ( dev-python/scipy )
uhd? (
$(python_gen_cond_dep '>=net-wireless/uhd-3.9.6:=[${PYTHON_SINGLE_USEDEP}]')
)
diff --git a/net-wireless/gnuradio/gnuradio-3.8.2.0.ebuild b/net-wireless/gnuradio/gnuradio-3.8.2.0.ebuild
index 65be5a358525..601ceea4ed97 100644
--- a/net-wireless/gnuradio/gnuradio-3.8.2.0.ebuild
+++ b/net-wireless/gnuradio/gnuradio-3.8.2.0.ebuild
@@ -56,9 +56,9 @@ RDEPEND="${PYTHON_DEPS}
alsa? ( media-libs/alsa-lib:= )
fec? (
sci-libs/gsl
- sci-libs/scipy
+ dev-python/scipy
)
- filter? ( sci-libs/scipy )
+ filter? ( dev-python/scipy )
grc? (
$(python_gen_cond_dep 'dev-python/mako[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
@@ -77,7 +77,7 @@ RDEPEND="${PYTHON_DEPS}
dev-qt/qtwidgets:5
)
sdl? ( >=media-libs/libsdl-1.2.0 )
- trellis? ( sci-libs/scipy )
+ trellis? ( dev-python/scipy )
uhd? (
$(python_gen_cond_dep '>=net-wireless/uhd-3.9.6:=[${PYTHON_SINGLE_USEDEP}]')
)
@@ -114,6 +114,13 @@ DEPEND="${RDEPEND}
zeromq? ( net-libs/cppzmq )
"
+PATCHES=(
+ "${FILESDIR}/gnuradio-3.8.2.0-lamda-gr-qtgui.patch"
+ "${FILESDIR}/gnuradio-3.8.2.0-lamda-gr-uhd.patch"
+ "${FILESDIR}/gnuradio-3.8.2.0-lamda-most-components.patch"
+ "${FILESDIR}/gnuradio-3.8.2.0-lamda-set-msg-handlers.patch"
+)
+
src_prepare() {
xdg_environment_reset #534582
diff --git a/net-wireless/gnuradio/gnuradio-9999.ebuild b/net-wireless/gnuradio/gnuradio-9999.ebuild
index 65be5a358525..43237bbd9cc2 100644
--- a/net-wireless/gnuradio/gnuradio-9999.ebuild
+++ b/net-wireless/gnuradio/gnuradio-9999.ebuild
@@ -56,9 +56,9 @@ RDEPEND="${PYTHON_DEPS}
alsa? ( media-libs/alsa-lib:= )
fec? (
sci-libs/gsl
- sci-libs/scipy
+ dev-python/scipy
)
- filter? ( sci-libs/scipy )
+ filter? ( dev-python/scipy )
grc? (
$(python_gen_cond_dep 'dev-python/mako[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
@@ -77,7 +77,7 @@ RDEPEND="${PYTHON_DEPS}
dev-qt/qtwidgets:5
)
sdl? ( >=media-libs/libsdl-1.2.0 )
- trellis? ( sci-libs/scipy )
+ trellis? ( dev-python/scipy )
uhd? (
$(python_gen_cond_dep '>=net-wireless/uhd-3.9.6:=[${PYTHON_SINGLE_USEDEP}]')
)