* [gentoo-commits] repo/gentoo:master commit in: net-wireless/uhd/, net-wireless/uhd/files/
@ 2017-10-16 1:14 Jason Donenfeld
0 siblings, 0 replies; 9+ messages in thread
From: Jason Donenfeld @ 2017-10-16 1:14 UTC (permalink / raw
To: gentoo-commits
commit: e05c0d5549b494c5e4667b0701275b094d46c972
Author: Peter Levine <plevine457 <AT> gmail <DOT> com>
AuthorDate: Sun Oct 15 23:55:09 2017 +0000
Commit: Jason Donenfeld <zx2c4 <AT> gentoo <DOT> org>
CommitDate: Mon Oct 16 01:13:38 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e05c0d55
net-wireless/uhd: Fix building with GCC-6
Bug: https://bugs.gentoo.org/611680
Package-Manager: Portage-2.3.10, Repoman-2.3.3
net-wireless/uhd/files/uhd-3.8.5-gcc6.patch | 25 +++++++++++++++++++++++++
net-wireless/uhd/uhd-3.8.5.ebuild | 4 ++++
net-wireless/uhd/uhd-3.9.6.ebuild | 2 ++
3 files changed, 31 insertions(+)
diff --git a/net-wireless/uhd/files/uhd-3.8.5-gcc6.patch b/net-wireless/uhd/files/uhd-3.8.5-gcc6.patch
new file mode 100644
index 00000000000..c2e5e00f70d
--- /dev/null
+++ b/net-wireless/uhd/files/uhd-3.8.5-gcc6.patch
@@ -0,0 +1,25 @@
+Bug: https://bugs.gentoo.org/611680
+Backported from: https://github.com/EttusResearch/uhd/commit/b6ad4c0531ef56f4e197cccd06f1d11fc89e4aab
+
+--- a/host/lib/usrp/dboard/db_cbx.cpp
++++ b/host/lib/usrp/dboard/db_cbx.cpp
+@@ -38,7 +38,7 @@ sbx_xcvr::cbx::~cbx(void){
+ /* NOP */
+ }
+
+-void sbx_xcvr::cbx::write_lo_regs(dboard_iface::unit_t unit, std::vector<boost::uint32_t> ®s)
++void sbx_xcvr::cbx::write_lo_regs(dboard_iface::unit_t unit, const std::vector<boost::uint32_t> ®s)
+ {
+ BOOST_FOREACH(boost::uint32_t reg, regs)
+ {
+--- a/host/lib/usrp/dboard/db_sbx_common.hpp
++++ b/host/lib/usrp/dboard/db_sbx_common.hpp
+@@ -225,7 +225,7 @@ class sbx_xcvr : public xcvr_dboard_base{
+ /*! This is the registered instance of the wrapper class, sbx_base. */
+ sbx_xcvr *self_base;
+ private:
+- void write_lo_regs(dboard_iface::unit_t unit, std::vector<boost::uint32_t> ®s);
++ void write_lo_regs(dboard_iface::unit_t unit, const std::vector<boost::uint32_t> ®s);
+ max287x_iface::sptr _txlo;
+ max287x_iface::sptr _rxlo;
+ };
diff --git a/net-wireless/uhd/uhd-3.8.5.ebuild b/net-wireless/uhd/uhd-3.8.5.ebuild
index 1474f296e8c..d6787b88c5f 100644
--- a/net-wireless/uhd/uhd-3.8.5.ebuild
+++ b/net-wireless/uhd/uhd-3.8.5.ebuild
@@ -34,7 +34,11 @@ DEPEND="${RDEPEND}
S="${WORKDIR}"/uhd-release_00$(get_version_component_range 1)_00$(get_version_component_range 2)_00$(get_version_component_range 3)/host
+PATCHES=( "${FILESDIR}"/${P}-gcc6.patch )
+
src_prepare() {
+ cmake-utils_src_prepare
+
gnome2_environment_reset #534582
#this may not be needed in 3.4.3 and above, please verify
diff --git a/net-wireless/uhd/uhd-3.9.6.ebuild b/net-wireless/uhd/uhd-3.9.6.ebuild
index f1f73a61caf..57e30328555 100644
--- a/net-wireless/uhd/uhd-3.9.6.ebuild
+++ b/net-wireless/uhd/uhd-3.9.6.ebuild
@@ -36,6 +36,8 @@ DEPEND="${RDEPEND}
S="${WORKDIR}"/uhd-release_00$(get_version_component_range 1)_00$(get_version_component_range 2)_00$(get_version_component_range 3)/host
src_prepare() {
+ cmake-utils_src_prepare
+
gnome2_environment_reset #534582
#this may not be needed in 3.4.3 and above, please verify
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-wireless/uhd/, net-wireless/uhd/files/
@ 2018-06-06 8:13 Andreas Sturmlechner
0 siblings, 0 replies; 9+ messages in thread
From: Andreas Sturmlechner @ 2018-06-06 8:13 UTC (permalink / raw
To: gentoo-commits
commit: 8d2de4e17c178c9635b839528a4f5e86bad5666a
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 3 12:43:44 2018 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Jun 6 08:11:06 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8d2de4e1
net-wireless/uhd: Drop old
Package-Manager: Portage-2.3.40, Repoman-2.3.9
net-wireless/uhd/Manifest | 2 -
net-wireless/uhd/files/uhd-3.9.6-tinfo.patch | 34 -----------------
net-wireless/uhd/uhd-3.9.6.ebuild | 56 ----------------------------
3 files changed, 92 deletions(-)
diff --git a/net-wireless/uhd/Manifest b/net-wireless/uhd/Manifest
index d260b3955ce..e7a1b9c0023 100644
--- a/net-wireless/uhd/Manifest
+++ b/net-wireless/uhd/Manifest
@@ -1,6 +1,4 @@
DIST EttusResearch-UHD-3.10.3.0.tar.gz 7566274 BLAKE2B 4267f1cb2e30808e54709946c74fbab8612560d38ad32f58745085b2b8c18f1c376e642ff430db476dd829bc0ecfca62faa211fe8800ce8589223f9123a1c608 SHA512 398fdaa29daf4a0d49172afce46ec57a8a96861a8d3262fdd19f78a29dc7d17ae7cb3731639950784420eca50c0a2f0dc8bf83da7be0b63af208b7bf0b382f6b
DIST EttusResearch-UHD-3.11.0.0.tar.gz 9279808 BLAKE2B b0c083d0ad04b7012b0a7bfa866f26db0e159d6daa2209b56ab8733d8d5288e8ff039aa3e2a27e5d715d08022e175a4e04e65f465ceea5da77dc4339d9ba5951 SHA512 63a50f2736c4ba05e06517cfdcb3eae465f78d506e75df36055d8cdec5259ffeebdd6e7ef352c64dfd6b9ef7fbd0df572515bdedefcabe2006abbecb012b169f
-DIST EttusResearch-UHD-3.9.6.tar.gz 2458419 BLAKE2B 39859c9c7a520b91fd0ad11b82a454ae267d0e04bbb3d3f474ab31ea8daac69c03e5abe4ed54f3eec5810d180d00aa700e67b10d989295fdedf73cb198ae324d SHA512 f8e89f67659e9509d90fb63a91c75b7a5fe037821ccd2f33313ac0b20d856cbdc2cab79715f7fca035ba0e28b240c73408d6764cb09b01700c4ddbdcafa71da1
-DIST uhd-images_003.009.006-release.zip 26268656 BLAKE2B 7d8c1b0bbd627a0180d5e2de996eb68b1fb995ea2c28ed12fa73705cda680d6304ff013a80cfd4ea5928137c16ac128546bdb9ed3cf932a837faa6dfe0866ffa SHA512 3b07a054583a55424edeb37d3ee70b9bd8c7b6cb4c83a10faf4dd518aa148be17af7cb8b5e4fb7cbb643eae32d7a3295a94d9a0eb031823ccf1f414da0cef631
DIST uhd-images_003.010.003.000-release.zip 57008597 BLAKE2B 9fc93404860956e217c1bac6d3ade6fb5fb160afa6b07e5f4ccf10bf48a932d29068cca8730796797c66f36e9e30bd1d699359fad02b191ba4a224e096bf5fc3 SHA512 a211cc9e40e3ff718150e4fed92a2acd0c5612524e0127b7f5ae0b20242e479cd9a44d4e48e7dfebc1a555555e4d2adea6c0e0517d3e81817d8d50f03cd7e8f7
DIST uhd_3.11.0.0_images.tar.xz 73634376 BLAKE2B 1d6ff5ec976082e1b3f6db3e8277e277591c7b2a96698c93407099a3543c6787632724d385f319828a9fe8e6ea750e0cd2256cd1cb32aeddda7dfa6ab88ffb3e SHA512 1a665ea58ef545f0a0b643916b822127d55cf81a59c6f447d8006619200d1be69ebebf47261ac318d6ecd1d0e265b9cf4b5da83b082b649496aadd9b4293c6c8
diff --git a/net-wireless/uhd/files/uhd-3.9.6-tinfo.patch b/net-wireless/uhd/files/uhd-3.9.6-tinfo.patch
deleted file mode 100644
index 511bc3c13fc..00000000000
--- a/net-wireless/uhd/files/uhd-3.9.6-tinfo.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- uhd-release_003_009_006/host/utils/latency/CMakeLists.txt.orig 2017-05-11 19:44:54.824946672 +0300
-+++ uhd-release_003_009_006/host/utils/latency/CMakeLists.txt 2017-05-11 19:45:08.498880360 +0300
-@@ -35,7 +35,8 @@
- GET_FILENAME_COMPONENT(name ${source} NAME_WE)
- ADD_EXECUTABLE(${name} ${source} ${latency_lib_path})
- LIBUHD_APPEND_SOURCES(${name})
-- TARGET_LINK_LIBRARIES(${name} uhd ${Boost_LIBRARIES} ${CURSES_LIBRARIES})
-+ TARGET_LINK_LIBRARIES(${name} uhd ${Boost_LIBRARIES}
-+ ${CURSES_LIBRARIES} tinfo)
- UHD_INSTALL(TARGETS ${name} RUNTIME DESTINATION ${latency_comp_dest} COMPONENT ${latency_comp_name})
- ENDFOREACH(source)
-
---- uhd-release_003_009_006/host/examples/CMakeLists.txt.orig 2017-05-11 19:41:02.322302577 +0300
-+++ uhd-release_003_009_006/host/examples/CMakeLists.txt 2017-05-11 19:44:32.604066325 +0300
-@@ -59,7 +59,7 @@
- IF(CURSES_FOUND)
- INCLUDE_DIRECTORIES(${CURSES_INCLUDE_DIR})
- ADD_EXECUTABLE(rx_ascii_art_dft rx_ascii_art_dft.cpp)
-- TARGET_LINK_LIBRARIES(rx_ascii_art_dft uhd ${CURSES_LIBRARIES} ${Boost_LIBRARIES})
-+ TARGET_LINK_LIBRARIES(rx_ascii_art_dft uhd ${CURSES_LIBRARIES} tinfo ${Boost_LIBRARIES})
- UHD_INSTALL(TARGETS rx_ascii_art_dft RUNTIME DESTINATION ${PKG_LIB_DIR}/examples COMPONENT examples)
- ENDIF(CURSES_FOUND)
-
---- uhd-release_003_009_006/host/CMakeLists.txt.orig 2017-05-11 19:36:38.944798634 +0300
-+++ uhd-release_003_009_006/host/CMakeLists.txt 2017-05-11 19:36:40.819788408 +0300
-@@ -436,6 +436,8 @@
- LIST(APPEND UHD_LINK_LIST_STATIC "usb-1.0")
- ENDIF(ENABLE_USB)
-
-+LIST(APPEND UHD_LINK_LIST_STATIC "tinfo")
-+
- CONFIGURE_FILE(
- ${CMAKE_SOURCE_DIR}/cmake/Modules/UHDConfigVersion.cmake.in
- ${CMAKE_BINARY_DIR}/cmake/Modules/UHDConfigVersion.cmake
diff --git a/net-wireless/uhd/uhd-3.9.6.ebuild b/net-wireless/uhd/uhd-3.9.6.ebuild
deleted file mode 100644
index d7bf1683325..00000000000
--- a/net-wireless/uhd/uhd-3.9.6.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit versionator python-single-r1 gnome2-utils cmake-utils multilib
-
-DESCRIPTION="Universal Software Radio Peripheral (USRP) Hardware Driver"
-HOMEPAGE="http://code.ettus.com/redmine/ettus/projects/uhd/wiki"
-
-image_version=uhd-images_00$(get_version_component_range 1).00$(get_version_component_range 2).00$(get_version_component_range 3)-release
-SRC_URI="https://github.com/EttusResearch/uhd/archive/release_00$(get_version_component_range 1)_00$(get_version_component_range 2)_00$(get_version_component_range 3).tar.gz -> EttusResearch-UHD-$(get_version_component_range 1).$(get_version_component_range 2).$(get_version_component_range 3).tar.gz \
- http://files.ettus.com/binaries/images/${image_version}.zip"
-#https://github.com/EttusResearch/UHD-Mirror/tags
-#http://files.ettus.com/binaries/images/
-
-LICENSE="GPL-3"
-SLOT="0/1"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE=""
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- virtual/libusb:1
- dev-lang/orc
- dev-libs/boost:=
- sys-libs/ncurses:0
- "
-DEPEND="${RDEPEND}
- dev-python/mako
- dev-python/cheetah
- app-arch/unzip"
-
-S="${WORKDIR}"/uhd-release_00$(get_version_component_range 1)_00$(get_version_component_range 2)_00$(get_version_component_range 3)/host
-
-PATCHES=( "${FILESDIR}/${P}-tinfo.patch" )
-
-src_prepare() {
- cmake-utils_src_prepare
-
- gnome2_environment_reset #534582
-
- #this may not be needed in 3.4.3 and above, please verify
- sed -i 's#SET(PKG_LIB_DIR ${PKG_DATA_DIR})#SET(PKG_LIB_DIR ${LIBRARY_DIR}/uhd)#g' CMakeLists.txt || die
-}
-
-src_install() {
- cmake-utils_src_install
- python_fix_shebang "${ED}"/usr/$(get_libdir)/${PN}/utils/
- insinto /lib/udev/rules.d/
- doins "${S}"/utils/uhd-usrp.rules
- insinto /usr/share/${PN}
- doins -r "${WORKDIR}"/"${image_version}"/share/uhd/images
-}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-wireless/uhd/, net-wireless/uhd/files/
@ 2019-01-11 3:34 Rick Farina
0 siblings, 0 replies; 9+ messages in thread
From: Rick Farina @ 2019-01-11 3:34 UTC (permalink / raw
To: gentoo-commits
commit: 2caa5da1188f83836424f7fd96a2e18de0cc9634
Author: Rick Farina <zerochaos <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 11 03:33:03 2019 +0000
Commit: Rick Farina <zerochaos <AT> gentoo <DOT> org>
CommitDate: Fri Jan 11 03:33:03 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2caa5da1
net-wireless/uhd: bump
Package-Manager: Portage-2.3.54, Repoman-2.3.12
Signed-off-by: Rick Farina <zerochaos <AT> gentoo.org>
net-wireless/uhd/Manifest | 2 +
net-wireless/uhd/files/uhd-3.13.1.0-tinfo.patch | 45 ++++++++
net-wireless/uhd/uhd-3.13.1.0.ebuild | 130 ++++++++++++++++++++++++
3 files changed, 177 insertions(+)
diff --git a/net-wireless/uhd/Manifest b/net-wireless/uhd/Manifest
index 79684a22b4b..5b428d26f33 100644
--- a/net-wireless/uhd/Manifest
+++ b/net-wireless/uhd/Manifest
@@ -2,7 +2,9 @@ DIST EttusResearch-UHD-3.10.3.0.tar.gz 7566274 BLAKE2B 4267f1cb2e30808e54709946c
DIST EttusResearch-UHD-3.11.0.0.tar.gz 9279808 BLAKE2B b0c083d0ad04b7012b0a7bfa866f26db0e159d6daa2209b56ab8733d8d5288e8ff039aa3e2a27e5d715d08022e175a4e04e65f465ceea5da77dc4339d9ba5951 SHA512 63a50f2736c4ba05e06517cfdcb3eae465f78d506e75df36055d8cdec5259ffeebdd6e7ef352c64dfd6b9ef7fbd0df572515bdedefcabe2006abbecb012b169f
DIST EttusResearch-UHD-3.12.0.0.tar.gz 9317321 BLAKE2B 7fdbef49482166d929952848dc2a978161e739462c6743dc162ad92b93190086e6957b08f54cba23e6118ddff41c5fb1cfceffedc8411791aece866ab2ab98f7 SHA512 33efcb913a40fcceaf21460eeb7b8fe7fdd9066cefc1f6ae7d4f436532965b3fe55557d551a8e95c3823418ffec4c0e2804e200c9222b5bf5735622cc2cb1389
DIST EttusResearch-UHD-3.13.0.1.tar.gz 9409122 BLAKE2B 69d84db2b908598545af8175304c19d00bde29d606b6af55e12ed2184d14a08bee7cb229b54dc5f339f587194b493e04f6f584685c2e836f81a9063ffc5e5799 SHA512 83196212326ab43f7996bf297677980f1e2cb2e51fc6479f086e010078d2ff6ee42ffd5af6bdcaaf0d6c45a3e773b117f8bdbf2e8e0add2b8dc6f3e19ad777cd
+DIST EttusResearch-UHD-3.13.1.0.tar.gz 11587157 BLAKE2B 44cd1759c9106c36e149431e655c673ba665b2a632e7bbf598b60950b31d4325921a1fe265d2fc47eb23dd3f90733b1407a6ed522f57ba975a0a4a5d9576c238 SHA512 3ef85e0b166879456fba49ab2a2ffd7ce670130700833fb4ac20376b69bd85354632ee9f320760f94d275449f10a36fdc8c106683a060e02924304fc9bc50bf8
DIST uhd-images_003.010.003.000-release.zip 57008597 BLAKE2B 9fc93404860956e217c1bac6d3ade6fb5fb160afa6b07e5f4ccf10bf48a932d29068cca8730796797c66f36e9e30bd1d699359fad02b191ba4a224e096bf5fc3 SHA512 a211cc9e40e3ff718150e4fed92a2acd0c5612524e0127b7f5ae0b20242e479cd9a44d4e48e7dfebc1a555555e4d2adea6c0e0517d3e81817d8d50f03cd7e8f7
DIST uhd-images_3.12.0.0.tar.xz 87309808 BLAKE2B 02e121cada37e2b2956521317513eb02a5b2ce6d9ca04609b5f847bda31e12a4ef4d83135f9e78fb88042f455afe8636d2c8c1a4539fa7e03ef3310a215fa938 SHA512 7bba0d87580413e2843c7e71938c5d5bfeaf7aa3bc58d058c1c80d5e1397443bcec637e378b2e9582752b97b11e57110299231c4ad3ae81cdd629251f49e84d8
DIST uhd-images_3.13.0.1.tar.xz 73484904 BLAKE2B 0045a9b0ed20661c8e1f2e650635cf4263a192b418ac82a6aea29ff899b3ef62d18591a4faee92b02c0618c5f5992d9177f816ca6050778fa69367afc73b0842 SHA512 94fdd4277306341ed9334b040aa5825edf762459976c1b68471d20ef3b29c102e5ac61be412fea8a1678c4ff59637cb9098594616ebd7153e7434005cfa1b672
+DIST uhd-images_3.13.1.0.tar.xz 176004828 BLAKE2B 3a476337443f58a55773dd55f3605a37591d73ddd875a2cdb0459adfe93774ebc6c6f380aee7b00b70fd26ca5ac72730fdacd213f31239599227e19b24b9cc2a SHA512 3db7429c99823a7ef48253bb996e284c66f8f44913ed9d48baa3d7553a7d13724cbc1fe2df0032504491b677bdb3d609e3c6c01a580bd717cc311d54aa10d9fa
DIST uhd_3.11.0.0_images.tar.xz 73634376 BLAKE2B 1d6ff5ec976082e1b3f6db3e8277e277591c7b2a96698c93407099a3543c6787632724d385f319828a9fe8e6ea750e0cd2256cd1cb32aeddda7dfa6ab88ffb3e SHA512 1a665ea58ef545f0a0b643916b822127d55cf81a59c6f447d8006619200d1be69ebebf47261ac318d6ecd1d0e265b9cf4b5da83b082b649496aadd9b4293c6c8
diff --git a/net-wireless/uhd/files/uhd-3.13.1.0-tinfo.patch b/net-wireless/uhd/files/uhd-3.13.1.0-tinfo.patch
new file mode 100644
index 00000000000..de165e9deeb
--- /dev/null
+++ b/net-wireless/uhd/files/uhd-3.13.1.0-tinfo.patch
@@ -0,0 +1,45 @@
+diff --git host/CMakeLists.txt host/CMakeLists.txt
+index 2337396e7..3a77776a0 100644
+--- host/CMakeLists.txt
++++ host/CMakeLists.txt
+@@ -531,6 +531,9 @@ endforeach(Boost_Comp)
+ if(ENABLE_USB)
+ list(APPEND UHD_LINK_LIST_STATIC "usb-1.0")
+ endif(ENABLE_USB)
++
++LIST(APPEND UHD_LINK_LIST_STATIC "tinfo")
++
+ # UHDConfig.cmake also needs UHD_RFNOC_FOUND
+ if(ENABLE_RFNOC)
+ set(UHD_RFNOC_FOUND "TRUE")
+diff --git host/examples/CMakeLists.txt host/examples/CMakeLists.txt
+index b384d978c..402aded94 100644
+--- host/examples/CMakeLists.txt
++++ host/examples/CMakeLists.txt
+@@ -58,11 +58,11 @@ find_package(Curses)
+ if(CURSES_FOUND)
+ include_directories(${CURSES_INCLUDE_DIR})
+ add_executable(rx_ascii_art_dft rx_ascii_art_dft.cpp)
+- target_link_libraries(rx_ascii_art_dft uhd ${CURSES_LIBRARIES} ${Boost_LIBRARIES})
++ target_link_libraries(rx_ascii_art_dft uhd ${CURSES_LIBRARIES} tinfo ${Boost_LIBRARIES})
+ UHD_INSTALL(TARGETS rx_ascii_art_dft RUNTIME DESTINATION ${PKG_LIB_DIR}/examples COMPONENT examples)
+
+ add_executable(twinrx_freq_hopping twinrx_freq_hopping.cpp)
+- target_link_libraries(twinrx_freq_hopping uhd ${CURSES_LIBRARIES} ${Boost_LIBRARIES})
++ target_link_libraries(twinrx_freq_hopping uhd ${CURSES_LIBRARIES} tinfo ${Boost_LIBRARIES})
+ UHD_INSTALL(TARGETS twinrx_freq_hopping RUNTIME DESTINATION ${PKG_LIB_DIR}/examples COMPONENT examples)
+ endif(CURSES_FOUND)
+
+diff --git host/utils/latency/CMakeLists.txt host/utils/latency/CMakeLists.txt
+index 05bacd77a..d3b1449a6 100644
+--- host/utils/latency/CMakeLists.txt
++++ host/utils/latency/CMakeLists.txt
+@@ -25,7 +25,7 @@ if(CURSES_FOUND)
+ get_filename_component(name ${source} NAME_WE)
+ add_executable(${name} ${source} ${latency_lib_path})
+ LIBUHD_APPEND_SOURCES(${name})
+- target_link_libraries(${name} uhd ${Boost_LIBRARIES} ${CURSES_LIBRARIES})
++ target_link_libraries(${name} uhd ${Boost_LIBRARIES} tinfo ${CURSES_LIBRARIES})
+ UHD_INSTALL(TARGETS ${name} RUNTIME DESTINATION ${latency_comp_dest} COMPONENT ${latency_comp_name})
+ endforeach(source)
+
diff --git a/net-wireless/uhd/uhd-3.13.1.0.ebuild b/net-wireless/uhd/uhd-3.13.1.0.ebuild
new file mode 100644
index 00000000000..3d955335e62
--- /dev/null
+++ b/net-wireless/uhd/uhd-3.13.1.0.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit versionator python-single-r1 gnome2-utils cmake-utils multilib
+
+DESCRIPTION="Universal Software Radio Peripheral (USRP) Hardware Driver"
+HOMEPAGE="https://kb.ettus.com"
+
+image_version=uhd-images_00$(get_version_component_range 1).0$(get_version_component_range 2).00$(get_version_component_range 3).00$(get_version_component_range 4)-release
+SRC_URI="https://github.com/EttusResearch/uhd/archive/v${PV}.tar.gz -> EttusResearch-UHD-${PV}.tar.gz \
+ https://github.com/EttusResearch/uhd/releases/download/v${PV}/uhd-images_${PV}.tar.xz"
+#https://github.com/EttusResearch/UHD-Mirror/tags
+#http://files.ettus.com/binaries/images/
+
+LICENSE="GPL-3"
+SLOT="0/$(get_version_component_range 1).$(get_version_component_range 2)"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="b100 b200 doc e300 examples mpmd octoclock n230 test usb usrp1 usrp2 +utils x300"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ b100? ( usb )
+ b200? ( usb )
+ usrp1? ( usb )
+ usrp2? ( usb )
+ || ( b100 b200 e300 mpmd n230 usrp1 usrp2 x300 )"
+
+RDEPEND="${PYTHON_DEPS}
+ e300? ( virtual/udev )
+ usb? ( virtual/libusb:1 )
+ dev-libs/boost:=
+ sys-libs/ncurses:0[tinfo]
+"
+
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ dev-python/mako
+ app-arch/unzip
+ app-arch/gzip
+"
+
+PATCHES=( "${FILESDIR}/${PN}-3.13.1.0-tinfo.patch" )
+
+S="${WORKDIR}/${P}/host"
+
+src_unpack() {
+ default
+ mv "uhd-images_${PV}" images || die
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ gnome2_environment_reset #534582
+
+ #this may not be needed in 3.4.3 and above, please verify
+ sed -i 's#SET(PKG_LIB_DIR ${PKG_DATA_DIR})#SET(PKG_LIB_DIR ${LIBRARY_DIR}/uhd)#g' CMakeLists.txt || die
+}
+
+src_configure() {
+ mycmakeargs=(
+ -DENABLE_LIBUHD=ON
+ -DENABLE_C_API=ON
+ -DENABLE_LIBERIO=OFF
+ -DENABLE_MAN_PAGES=ON
+ -DENABLE_GPSD=OFF
+ -DENABLE_EXAMPLES="$(usex examples)"
+ -DENABLE_TESTS="$(usex test)"
+ -DENABLE_USB="$(usex usb)"
+ -DENABLE_UTILS="$(usex utils)"
+ -DENABLE_MANUAL="$(usex doc)"
+ -DENABLE_DOXYGEN="$(usex doc)"
+ -DENABLE_B100="$(usex b100)"
+ -DENABLE_B200="$(usex b200)"
+ -DENABLE_E300="$(usex e300)"
+ -DENABLE_USRP1="$(usex usrp1)"
+ -DENABLE_USRP2="$(usex usrp2)"
+ -DENABLE_X300="$(usex x300)"
+ -DENABLE_N230="$(usex n230)"
+ -DENABLE_MPMD="$(usex mpmd)"
+ -DENABLE_OCTOCLOCK="$(usex octoclock)"
+ )
+ cmake-utils_src_configure
+}
+src_install() {
+ cmake-utils_src_install
+ use utils && python_fix_shebang "${ED}"/usr/$(get_libdir)/${PN}/utils/
+ if [ "${PV}" != "9999" ]; then
+ rm -rf "${ED}/usr/bin/uhd_images_downloader"
+ rm -rf "${ED}/usr/share/man/man1/uhd_images_downloader.1.gz"
+ fi
+
+ insinto /lib/udev/rules.d/
+ doins "${S}/utils/uhd-usrp.rules"
+
+ rm -rf "${WORKDIR}/images/winusb_driver"
+ if ! use b100; then
+ rm "${WORKDIR}"/images/usrp_b100* || die
+ fi
+ if ! use b200; then
+ rm "${WORKDIR}"/images/usrp_b2[01]* || die
+ fi
+ if ! use e300; then
+ rm "${WORKDIR}"/images/usrp_e3* || die
+ fi
+ if ! use mpmd; then
+ rm "${WORKDIR}"/images/usrp_n310* || die
+ fi
+ if ! use n230; then
+ rm "${WORKDIR}"/images/usrp_n230* || die
+ fi
+ if ! use octoclock; then
+ rm "${WORKDIR}"/images/octoclock* || die
+ fi
+ if ! use usrp1; then
+ rm "${WORKDIR}"/images/usrp1* || die
+ fi
+ if ! use usrp2; then
+ rm "${WORKDIR}"/images/usrp2* || die
+ rm "${WORKDIR}"/images/usrp_n2[01]* || die
+ rm -r "${WORKDIR}"/images/bit || die
+ fi
+ if ! use x300; then
+ rm "${WORKDIR}/"images/usrp_x3* || die
+ fi
+ insinto /usr/share/${PN}
+ doins -r "${WORKDIR}/images"
+}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-wireless/uhd/, net-wireless/uhd/files/
@ 2020-09-16 17:01 Rick Farina
0 siblings, 0 replies; 9+ messages in thread
From: Rick Farina @ 2020-09-16 17:01 UTC (permalink / raw
To: gentoo-commits
commit: b6e383143d1c1b34e7c10fa59fec675bd6470b11
Author: Rick Farina <zerochaos <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 16 16:46:42 2020 +0000
Commit: Rick Farina <zerochaos <AT> gentoo <DOT> org>
CommitDate: Wed Sep 16 17:01:23 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b6e38314
net-wireless/uhd: bump
Package-Manager: Portage-3.0.7, Repoman-3.0.1
Signed-off-by: Rick Farina <zerochaos <AT> gentoo.org>
net-wireless/uhd/Manifest | 2 +
net-wireless/uhd/files/uhd-4.0.0.0-tinfo.patch | 42 +++++++
net-wireless/uhd/uhd-4.0.0.0.ebuild | 149 +++++++++++++++++++++++++
3 files changed, 193 insertions(+)
diff --git a/net-wireless/uhd/Manifest b/net-wireless/uhd/Manifest
index 56c287e9d84..122ca7ff41e 100644
--- a/net-wireless/uhd/Manifest
+++ b/net-wireless/uhd/Manifest
@@ -1,2 +1,4 @@
DIST EttusResearch-UHD-3.15.0.0.tar.gz 12895934 BLAKE2B 75bf474120a09ffe1268684659c8bbc8e781060db96b82e42a4d3463265e2a3df5e60da77d835587e6650795ae50bcab8bdecccf0f2bdd32fe77bbd6ce1ec5c8 SHA512 ef62639d956adb5b4815b8e57bf4d6e62519bcaf509ce87af4f6091b79b4bb78c2bc079ec6f678777c24a146d5d5e1c8f225ad7ac5dba46bec6f8e1cc20309b0
+DIST EttusResearch-UHD-4.0.0.0.tar.gz 33942895 BLAKE2B 632e701420c3a1165f2e1f0e2766b457595326141cb42c5701b247857e699dbfd6f8dbbcc668184d87bf0764516213044f79a5acde5db3d3c1c387335474f5fc SHA512 1f897397467111e634428e807c2c6748e9fc33e5b09083372139cd6e4445fbd71c48f43e18d0c3faef483d448879e40bc9a5a63df4e908b1bec65454ed67a6dd
DIST uhd-images_3.15.0.0.tar.xz 110161052 BLAKE2B 681b5ab0d79bbd2e5661bbfe5c975fdda83e7749f1c3b8a5ac2ba4088009a69c58f9b6a4e4c697c5ac90bdb809bc859937b3b63c9daf0984636bafaeee10e977 SHA512 ec7aa9740e0eda90bbee3751f5c65d5998e67d2bf74d36aa912041be8818e3ad03e5dfbf26ad340261f72fc98048ab5a90c56f6dff8efdd38cf0501585554033
+DIST uhd-images_4.0.0.0.tar.xz 111748176 BLAKE2B 2924cf1b3f150c0afd3c31a03c44f509047fb7122e55faec07860ffa56b95e1ad84d4768a0608ee32403a8b31ae5efd16abdc3469779674faedaf13778335a4d SHA512 32bc47ad48b2c9228df452c90d9cd4625fafd0c5d202f5fdfc49d2d9b14154ef7101035f403de56c369956df4f5901f6c653a3ae92c64797dd5e005f954a2a1f
diff --git a/net-wireless/uhd/files/uhd-4.0.0.0-tinfo.patch b/net-wireless/uhd/files/uhd-4.0.0.0-tinfo.patch
new file mode 100644
index 00000000000..484aa1f9c2f
--- /dev/null
+++ b/net-wireless/uhd/files/uhd-4.0.0.0-tinfo.patch
@@ -0,0 +1,42 @@
+diff -Naur host/CMakeLists.txt uhd-4.0.0.0-patched/host/CMakeLists.txt
+--- host/CMakeLists.txt 2020-09-13 15:14:04.000000000 -0400
++++ host/CMakeLists.txt 2020-09-16 10:11:52.266933094 -0400
+@@ -506,6 +506,9 @@
+ if(ENABLE_USB)
+ list(APPEND UHD_LINK_LIST_STATIC "usb-1.0")
+ endif(ENABLE_USB)
++
++LIST(APPEND UHD_LINK_LIST_STATIC "tinfo")
++
+ set(UHD_RFNOC_FOUND "TRUE")
+
+ configure_file(
+diff -Naur host/examples/CMakeLists.txt uhd-4.0.0.0-patched/host/examples/CMakeLists.txt
+--- host/examples/CMakeLists.txt 2020-09-13 15:14:04.000000000 -0400
++++ host/examples/CMakeLists.txt 2020-09-16 10:12:49.082935381 -0400
+@@ -55,11 +55,11 @@
+ if(CURSES_FOUND)
+ include_directories(${CURSES_INCLUDE_DIR})
+ add_executable(rx_ascii_art_dft rx_ascii_art_dft.cpp)
+- target_link_libraries(rx_ascii_art_dft uhd ${CURSES_LIBRARIES} ${Boost_LIBRARIES})
++ target_link_libraries(rx_ascii_art_dft uhd ${CURSES_LIBRARIES} tinfo ${Boost_LIBRARIES})
+ UHD_INSTALL(TARGETS rx_ascii_art_dft RUNTIME DESTINATION ${PKG_LIB_DIR}/examples COMPONENT examples)
+
+ add_executable(twinrx_freq_hopping twinrx_freq_hopping.cpp)
+- target_link_libraries(twinrx_freq_hopping uhd ${CURSES_LIBRARIES} ${Boost_LIBRARIES})
++ target_link_libraries(twinrx_freq_hopping uhd ${CURSES_LIBRARIES} tinfo ${Boost_LIBRARIES})
+ UHD_INSTALL(TARGETS twinrx_freq_hopping RUNTIME DESTINATION ${PKG_LIB_DIR}/examples COMPONENT examples)
+ endif(CURSES_FOUND)
+
+diff -Naur host/utils/latency/CMakeLists.txt uhd-4.0.0.0-patched/host/utils/latency/CMakeLists.txt
+--- host/utils/latency/CMakeLists.txt 2020-09-13 15:14:04.000000000 -0400
++++ host/utils/latency/CMakeLists.txt 2020-09-16 10:13:55.994938074 -0400
+@@ -25,7 +25,7 @@
+ get_filename_component(name ${source} NAME_WE)
+ add_executable(${name} ${source} ${latency_lib_path})
+ LIBUHD_APPEND_SOURCES(${name})
+- target_link_libraries(${name} uhd ${Boost_LIBRARIES} ${CURSES_LIBRARIES})
++ target_link_libraries(${name} uhd ${Boost_LIBRARIES} tinfo ${CURSES_LIBRARIES})
+ UHD_INSTALL(TARGETS ${name} RUNTIME DESTINATION ${latency_comp_dest} COMPONENT ${latency_comp_name})
+ endforeach(source)
+
diff --git a/net-wireless/uhd/uhd-4.0.0.0.ebuild b/net-wireless/uhd/uhd-4.0.0.0.ebuild
new file mode 100644
index 00000000000..72e82395ade
--- /dev/null
+++ b/net-wireless/uhd/uhd-4.0.0.0.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+#not sure why, but eapi 7 fails
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+
+inherit eapi7-ver python-single-r1 gnome2-utils cmake-utils multilib
+
+DESCRIPTION="Universal Software Radio Peripheral (USRP) Hardware Driver"
+HOMEPAGE="https://kb.ettus.com"
+
+SRC_URI="https://github.com/EttusResearch/uhd/archive/v${PV}.tar.gz -> EttusResearch-UHD-${PV}.tar.gz \
+ https://github.com/EttusResearch/uhd/releases/download/v${PV}/uhd-images_${PV}.tar.xz"
+#https://github.com/EttusResearch/UHD-Mirror/tags
+#http://files.ettus.com/binaries/images/
+
+LICENSE="GPL-3"
+SLOT="0/$(ver_cut 1-3)"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="+b100 +b200 doc e300 examples +mpmd octoclock +n230 test +usb +usrp1 +usrp2 +utils +x300"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ b100? ( usb )
+ b200? ( usb )
+ usrp1? ( usb )
+ usrp2? ( usb )
+ || ( b100 b200 e300 mpmd n230 usrp1 usrp2 x300 )"
+
+RDEPEND="${PYTHON_DEPS}
+ e300? ( virtual/udev )
+ usb? ( virtual/libusb:1 )
+ dev-libs/boost:=
+ sys-libs/ncurses:0[tinfo]
+ $(python_gen_cond_dep '
+ || (
+ dev-python/numpy-python2[${PYTHON_MULTI_USEDEP}]
+ dev-python/numpy[${PYTHON_MULTI_USEDEP}]
+ )
+ dev-python/requests[${PYTHON_MULTI_USEDEP}]
+ ')
+"
+
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ $(python_gen_cond_dep '
+ dev-python/mako[${PYTHON_MULTI_USEDEP}]
+ ')
+ app-arch/unzip
+ app-arch/gzip
+"
+
+PATCHES=( "${FILESDIR}/${PN}-4.0.0.0-tinfo.patch" )
+
+S="${WORKDIR}/${P}/host"
+
+src_unpack() {
+ default
+ mv "uhd-images_${PV}" images || die
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ gnome2_environment_reset #534582
+
+ #rpath is set for apple and no one else, just remove the conditional
+ sed -i -e '/if(APPLE)/d' -e '/endif(APPLE)/d' CMakeLists.txt || die
+}
+
+src_configure() {
+ mycmakeargs=(
+ -DENABLE_LIBUHD=ON
+ -DENABLE_C_API=ON
+ -DENABLE_LIBERIO=OFF
+ -DENABLE_MAN_PAGES=ON
+ -DENABLE_MAN_PAGE_COMPRESSION=OFF
+ -DENABLE_EXAMPLES="$(usex examples)"
+ -DENABLE_TESTS="$(usex test)"
+ -DENABLE_USB="$(usex usb)"
+ -DENABLE_UTILS="$(usex utils)"
+ -DENABLE_MANUAL="$(usex doc)"
+ -DENABLE_DOXYGEN="$(usex doc)"
+ -DENABLE_B100="$(usex b100)"
+ -DENABLE_B200="$(usex b200)"
+ -DENABLE_E300="$(usex e300)"
+ -DENABLE_USRP1="$(usex usrp1)"
+ -DENABLE_USRP2="$(usex usrp2)"
+ -DENABLE_X300="$(usex x300)"
+ -DENABLE_N230="$(usex n230)"
+ -DENABLE_MPMD="$(usex mpmd)"
+ -DENABLE_OCTOCLOCK="$(usex octoclock)"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DPKG_DOC_DIR="${EPREFIX}/usr/share/doc/${PF}"
+ )
+ cmake-utils_src_configure
+}
+src_install() {
+ cmake-utils_src_install
+ python_optimize
+ use utils && python_fix_shebang "${ED}"/usr/$(get_libdir)/${PN}/utils/
+ if [ "${PV}" != "9999" ]; then
+ rm -rf "${ED}/usr/bin/uhd_images_downloader"
+ rm -rf "${ED}/usr/share/man/man1/uhd_images_downloader.1"
+ fi
+
+ insinto /lib/udev/rules.d/
+ doins "${S}/utils/uhd-usrp.rules"
+
+ rm -rf "${WORKDIR}/images/winusb_driver"
+ if ! use b100; then
+ rm "${WORKDIR}"/images/usrp_b100* || die
+ fi
+ if ! use b200; then
+ rm "${WORKDIR}"/images/usrp_b2[01]* || die
+ fi
+ if ! use e300; then
+ rm "${WORKDIR}"/images/usrp_e3* || die
+ fi
+ if ! use mpmd; then
+ rm "${WORKDIR}"/images/usrp_n310* || die
+ fi
+ if ! use n230; then
+ rm "${WORKDIR}"/images/usrp_n230* || die
+ fi
+ if ! use octoclock; then
+ rm "${WORKDIR}"/images/octoclock* || die
+ fi
+ if ! use usrp1; then
+ rm "${WORKDIR}"/images/usrp1* || die
+ fi
+ if ! use usrp2; then
+ rm "${WORKDIR}"/images/usrp2* || die
+ rm "${WORKDIR}"/images/usrp_n2[01]* || die
+ rm -r "${WORKDIR}"/images/bit || die
+ fi
+ if ! use x300; then
+ rm "${WORKDIR}/"images/usrp_x3* || die
+ fi
+ insinto /usr/share/${PN}
+ doins -r "${WORKDIR}/images"
+}
+
+src_test() {
+ #we can disable the python tests
+ #ctest -E 'py*'
+ PYTHON_PATH=python/ cmake-utils_src_test
+}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-wireless/uhd/, net-wireless/uhd/files/
@ 2021-06-03 2:12 Rick Farina
0 siblings, 0 replies; 9+ messages in thread
From: Rick Farina @ 2021-06-03 2:12 UTC (permalink / raw
To: gentoo-commits
commit: cb2949a004bc702258b0e83c757f2641eb4e7bad
Author: Rick Farina <zerochaos <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 3 02:11:55 2021 +0000
Commit: Rick Farina <zerochaos <AT> gentoo <DOT> org>
CommitDate: Thu Jun 3 02:12:05 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cb2949a0
net-wireless/uhd: fixes build with boost 1.76.0
fixes bug #743097 for fun
Package-Manager: Portage-3.0.19, Repoman-3.0.3
Signed-off-by: Rick Farina <zerochaos <AT> gentoo.org>
.../uhd/files/uhd-4.0.0.0-boost-1.76.patch | 59 ++++++++++++++++++++++
net-wireless/uhd/uhd-4.0.0.0.ebuild | 7 +--
2 files changed, 63 insertions(+), 3 deletions(-)
diff --git a/net-wireless/uhd/files/uhd-4.0.0.0-boost-1.76.patch b/net-wireless/uhd/files/uhd-4.0.0.0-boost-1.76.patch
new file mode 100644
index 00000000000..123a01bca56
--- /dev/null
+++ b/net-wireless/uhd/files/uhd-4.0.0.0-boost-1.76.patch
@@ -0,0 +1,59 @@
+From b05285b3853493436f71eb4192365b818005b0af Mon Sep 17 00:00:00 2001
+From: loqs <loqs@users.noreply.github.com>
+Date: Tue, 25 May 2021 22:43:07 +0100
+Subject: [PATCH] Fix Boost 1.76.0 incompatibility
+
+Fixes EttusResearch/uhd/issues/437
+---
+ host/lib/usrp/cores/rx_dsp_core_3000.cpp | 1 +
+ host/lib/usrp/cores/rx_frontend_core_3000.cpp | 1 +
+ host/lib/usrp/usrp2/usrp2_impl.cpp | 5 ++---
+ 3 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/lib/usrp/cores/rx_dsp_core_3000.cpp b/host/lib/usrp/cores/rx_dsp_core_3000.cpp
+index ff431fd41..53f3fee69 100644
+--- a/lib/usrp/cores/rx_dsp_core_3000.cpp
++++ b/lib/usrp/cores/rx_dsp_core_3000.cpp
+@@ -14,6 +14,7 @@
+ #include <uhdlib/usrp/cores/rx_dsp_core_3000.hpp>
+ #include <boost/assign/list_of.hpp>
+ #include <boost/math/special_functions/round.hpp>
++#include <boost/math/special_functions/sign.hpp>
+ #include <algorithm>
+ #include <cmath>
+ #include <functional>
+diff --git a/lib/usrp/cores/rx_frontend_core_3000.cpp b/host/lib/usrp/cores/rx_frontend_core_3000.cpp
+index abbe64b13..d51fea2ca 100644
+--- a/lib/usrp/cores/rx_frontend_core_3000.cpp
++++ b/lib/usrp/cores/rx_frontend_core_3000.cpp
+@@ -12,6 +12,7 @@
+ #include <uhdlib/usrp/cores/rx_frontend_core_3000.hpp>
+ #include <boost/assign/list_of.hpp>
+ #include <boost/math/special_functions/round.hpp>
++#include <boost/math/special_functions/sign.hpp>
+ #include <functional>
+
+ using namespace uhd;
+diff --git a/lib/usrp/usrp2/usrp2_impl.cpp b/host/lib/usrp/usrp2/usrp2_impl.cpp
+index c2514ae02..28aa11083 100644
+--- a/lib/usrp/usrp2/usrp2_impl.cpp
++++ b/lib/usrp/usrp2/usrp2_impl.cpp
+@@ -17,6 +17,8 @@
+ #include <uhdlib/usrp/common/apply_corrections.hpp>
+ #include <boost/asio.hpp> //used for htonl and ntohl
+ #include <boost/asio/ip/address_v4.hpp>
++#include <boost/math/special_functions/round.hpp>
++#include <boost/math/special_functions/sign.hpp>
+ #include <boost/format.hpp>
+ #include <boost/thread.hpp>
+ #include <functional>
+@@ -948,9 +950,6 @@ meta_range_t usrp2_impl::get_tx_dsp_freq_range(const std::string& mb)
+ return meta_range_t(-dac_rate / 2, +dac_rate / 2, dsp_range_step);
+ }
+
+-#include <boost/math/special_functions/round.hpp>
+-#include <boost/math/special_functions/sign.hpp>
+-
+ void usrp2_impl::update_clock_source(const std::string& mb, const std::string& source)
+ {
+ // NOTICE: U2_REG_MISC_CTRL_CLOCK is on the wb clock, and cannot be set from fifo_ctrl
diff --git a/net-wireless/uhd/uhd-4.0.0.0.ebuild b/net-wireless/uhd/uhd-4.0.0.0.ebuild
index 25a3b44949e..2515af186ba 100644
--- a/net-wireless/uhd/uhd-4.0.0.0.ebuild
+++ b/net-wireless/uhd/uhd-4.0.0.0.ebuild
@@ -48,7 +48,10 @@ DEPEND="${RDEPEND}
app-arch/gzip
"
-PATCHES=( "${FILESDIR}/${PN}-4.0.0.0-tinfo.patch" )
+PATCHES=(
+ "${FILESDIR}/${PN}-4.0.0.0-tinfo.patch"
+ "${FILESDIR}/${PN}-4.0.0.0-boost-1.76.patch"
+)
S="${WORKDIR}/${P}/host"
@@ -70,7 +73,6 @@ src_configure() {
mycmakeargs=(
-DENABLE_LIBUHD=ON
-DENABLE_C_API=ON
- -DENABLE_LIBERIO=OFF
-DENABLE_MAN_PAGES=ON
-DENABLE_MAN_PAGE_COMPRESSION=OFF
-DENABLE_EXAMPLES="$(usex examples)"
@@ -85,7 +87,6 @@ src_configure() {
-DENABLE_USRP1="$(usex usrp1)"
-DENABLE_USRP2="$(usex usrp2)"
-DENABLE_X300="$(usex x300)"
- -DENABLE_N230="$(usex n230)"
-DENABLE_MPMD="$(usex mpmd)"
-DENABLE_OCTOCLOCK="$(usex octoclock)"
-DPYTHON_EXECUTABLE="${PYTHON}"
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-wireless/uhd/, net-wireless/uhd/files/
@ 2022-02-15 10:45 David Seifert
0 siblings, 0 replies; 9+ messages in thread
From: David Seifert @ 2022-02-15 10:45 UTC (permalink / raw
To: gentoo-commits
commit: 49c792e6e3a926f807d76c733eb468db6a1f5086
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 15 10:45:32 2022 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Feb 15 10:45:32 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=49c792e6
net-wireless/uhd: fix build with `-DBUILD_SHARED_LIBS=ON`
Signed-off-by: David Seifert <soap <AT> gentoo.org>
.../uhd-3.15.0.0-hidden-visibility-tests.patch | 26 ++++++++++++++++++++++
.../uhd-4.1.0.4-hidden-visibility-tests.patch | 24 ++++++++++++++++++++
net-wireless/uhd/uhd-3.15.0.0-r100.ebuild | 5 ++++-
net-wireless/uhd/uhd-4.1.0.4.ebuild | 1 +
4 files changed, 55 insertions(+), 1 deletion(-)
diff --git a/net-wireless/uhd/files/uhd-3.15.0.0-hidden-visibility-tests.patch b/net-wireless/uhd/files/uhd-3.15.0.0-hidden-visibility-tests.patch
new file mode 100644
index 000000000000..749313267439
--- /dev/null
+++ b/net-wireless/uhd/files/uhd-3.15.0.0-hidden-visibility-tests.patch
@@ -0,0 +1,26 @@
+From 4ecb79d8980fcf7cd0ff25c8c21bf473156fdb19 Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Tue, 15 Feb 2022 11:24:54 +0100
+Subject: [PATCH] Build uhd_test library as static when
+ `-DBUILD_SHARED_LIBS=ON`
+
+* A uhd_test.so lacks the necessary symbols for testing
+ due to default visibility set to hidden.
+---
+ tests/common/CMakeLists.txt | 3 +-
+ 1 file changed, 1 insertion(+), 2 deletion(-)
+
+diff --git a/tests/common/CMakeLists.txt b/tests/common/CMakeLists.txt
+index ac0e1b4492..36c9f9b076 100644
+--- a/tests/common/CMakeLists.txt
++++ b/tests/common/CMakeLists.txt
+@@ -8,7 +8,8 @@
+ # Build uhd_test static lib
+ ########################################################################
+ include_directories("${CMAKE_SOURCE_DIR}/lib/include")
+-add_library(uhd_test ${CMAKE_CURRENT_SOURCE_DIR}/mock_ctrl_iface_impl.cpp
++add_library(uhd_test STATIC
++ ${CMAKE_CURRENT_SOURCE_DIR}/mock_ctrl_iface_impl.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/mock_zero_copy.cpp
+ ${CMAKE_SOURCE_DIR}/lib/rfnoc/graph_impl.cpp
+ ${CMAKE_SOURCE_DIR}/lib/rfnoc/async_msg_handler.cpp
diff --git a/net-wireless/uhd/files/uhd-4.1.0.4-hidden-visibility-tests.patch b/net-wireless/uhd/files/uhd-4.1.0.4-hidden-visibility-tests.patch
new file mode 100644
index 000000000000..ca6704c5dff6
--- /dev/null
+++ b/net-wireless/uhd/files/uhd-4.1.0.4-hidden-visibility-tests.patch
@@ -0,0 +1,24 @@
+From 4ecb79d8980fcf7cd0ff25c8c21bf473156fdb19 Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Tue, 15 Feb 2022 11:24:54 +0100
+Subject: [PATCH] Build uhd_test library as static when
+ `-DBUILD_SHARED_LIBS=ON`
+
+* A uhd_test.so lacks the necessary symbols for testing
+ due to default visibility set to hidden.
+---
+ tests/common/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/common/CMakeLists.txt b/tests/common/CMakeLists.txt
+index ac0e1b4492..36c9f9b076 100644
+--- a/tests/common/CMakeLists.txt
++++ b/tests/common/CMakeLists.txt
+@@ -8,6 +8,6 @@
+ # Build uhd_test static lib
+ ########################################################################
+ include_directories("${CMAKE_SOURCE_DIR}/lib/include")
+-add_library(uhd_test
++add_library(uhd_test STATIC
+ ${CMAKE_CURRENT_SOURCE_DIR}/mock_zero_copy.cpp
+ )
diff --git a/net-wireless/uhd/uhd-3.15.0.0-r100.ebuild b/net-wireless/uhd/uhd-3.15.0.0-r100.ebuild
index 94f22c4bddc2..439b2f78fc50 100644
--- a/net-wireless/uhd/uhd-3.15.0.0-r100.ebuild
+++ b/net-wireless/uhd/uhd-3.15.0.0-r100.ebuild
@@ -48,7 +48,10 @@ DEPEND="${RDEPEND}
app-arch/gzip
"
-PATCHES=( "${FILESDIR}/${PN}-3.13.1.0-tinfo.patch" )
+PATCHES=(
+ "${FILESDIR}/${PN}-3.13.1.0-tinfo.patch"
+ "${FILESDIR}/${PN}-3.15.0.0-hidden-visibility-tests.patch"
+)
S="${WORKDIR}/${P}/host"
diff --git a/net-wireless/uhd/uhd-4.1.0.4.ebuild b/net-wireless/uhd/uhd-4.1.0.4.ebuild
index 654ad81cca82..3b262ab66ff5 100644
--- a/net-wireless/uhd/uhd-4.1.0.4.ebuild
+++ b/net-wireless/uhd/uhd-4.1.0.4.ebuild
@@ -50,6 +50,7 @@ DEPEND="${RDEPEND}
PATCHES=(
"${FILESDIR}/${PN}-4.0.0.0-tinfo.patch"
+ "${FILESDIR}/${PN}-4.1.0.4-hidden-visibility-tests.patch"
)
S="${WORKDIR}/${P}/host"
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-wireless/uhd/, net-wireless/uhd/files/
@ 2022-02-24 16:04 Rick Farina
0 siblings, 0 replies; 9+ messages in thread
From: Rick Farina @ 2022-02-24 16:04 UTC (permalink / raw
To: gentoo-commits
commit: 1179d29f77023efe2a8adc3a0f2f013607e433d8
Author: Rick Farina (Zero_Chaos) <zerochaos <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 15 19:55:26 2022 +0000
Commit: Rick Farina <zerochaos <AT> gentoo <DOT> org>
CommitDate: Thu Feb 24 16:04:26 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1179d29f
net-wireless/uhd: drop 3.15.0.0-r100
This version is no longer maintained upstream.
Does not build with modern eapi/eclasses.
Nothing in gentoo depends this version.
Signed-off-by: Rick Farina (Zero_Chaos) <zerochaos <AT> gentoo.org>
net-wireless/uhd/Manifest | 2 -
net-wireless/uhd/files/uhd-3.13.1.0-tinfo.patch | 45 -------
.../uhd-3.15.0.0-hidden-visibility-tests.patch | 26 ----
net-wireless/uhd/uhd-3.15.0.0-r100.ebuild | 146 ---------------------
4 files changed, 219 deletions(-)
diff --git a/net-wireless/uhd/Manifest b/net-wireless/uhd/Manifest
index db104b0ddc9b..9bdd5508da08 100644
--- a/net-wireless/uhd/Manifest
+++ b/net-wireless/uhd/Manifest
@@ -1,4 +1,2 @@
-DIST EttusResearch-UHD-3.15.0.0.tar.gz 12895934 BLAKE2B 75bf474120a09ffe1268684659c8bbc8e781060db96b82e42a4d3463265e2a3df5e60da77d835587e6650795ae50bcab8bdecccf0f2bdd32fe77bbd6ce1ec5c8 SHA512 ef62639d956adb5b4815b8e57bf4d6e62519bcaf509ce87af4f6091b79b4bb78c2bc079ec6f678777c24a146d5d5e1c8f225ad7ac5dba46bec6f8e1cc20309b0
DIST EttusResearch-UHD-4.1.0.4.tar.gz 37913211 BLAKE2B 28cd3892490aaa8ec01ca8233c4f0500fd49a3184be74f77dbb8a5fdafc08d74144eb01485e5059d8c115406606024261f851fa7c592687637a5906e12d42b2e SHA512 f3ada2f2b114b1e8d0eca71da7ed5494191364c864adb1498314255ba280c7c747f2f5d118c98ae1f7ae96f3ef0e4aafd86955fb7e6271c800b359f95703fcd6
-DIST uhd-images_3.15.0.0.tar.xz 110161052 BLAKE2B 681b5ab0d79bbd2e5661bbfe5c975fdda83e7749f1c3b8a5ac2ba4088009a69c58f9b6a4e4c697c5ac90bdb809bc859937b3b63c9daf0984636bafaeee10e977 SHA512 ec7aa9740e0eda90bbee3751f5c65d5998e67d2bf74d36aa912041be8818e3ad03e5dfbf26ad340261f72fc98048ab5a90c56f6dff8efdd38cf0501585554033
DIST uhd-images_4.1.0.4.tar.xz 118536976 BLAKE2B 6ac9b0b4aff5cbe1336edcb07a450dba3e050bf36c87af37fdbb2e83c472d86a2a8b51720fad3046d4f58d5ad1b6a836d35d1d7c57e1a36171161c22f2c7fe30 SHA512 6dfd612d794281e01739e6d2623c89d1a516e6a770cc39ce7536d6b760a51a4e2e09453d80791c417d635d3f76326a397875e04dd08418ed724b4d0679f2961b
diff --git a/net-wireless/uhd/files/uhd-3.13.1.0-tinfo.patch b/net-wireless/uhd/files/uhd-3.13.1.0-tinfo.patch
deleted file mode 100644
index de165e9deebf..000000000000
--- a/net-wireless/uhd/files/uhd-3.13.1.0-tinfo.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff --git host/CMakeLists.txt host/CMakeLists.txt
-index 2337396e7..3a77776a0 100644
---- host/CMakeLists.txt
-+++ host/CMakeLists.txt
-@@ -531,6 +531,9 @@ endforeach(Boost_Comp)
- if(ENABLE_USB)
- list(APPEND UHD_LINK_LIST_STATIC "usb-1.0")
- endif(ENABLE_USB)
-+
-+LIST(APPEND UHD_LINK_LIST_STATIC "tinfo")
-+
- # UHDConfig.cmake also needs UHD_RFNOC_FOUND
- if(ENABLE_RFNOC)
- set(UHD_RFNOC_FOUND "TRUE")
-diff --git host/examples/CMakeLists.txt host/examples/CMakeLists.txt
-index b384d978c..402aded94 100644
---- host/examples/CMakeLists.txt
-+++ host/examples/CMakeLists.txt
-@@ -58,11 +58,11 @@ find_package(Curses)
- if(CURSES_FOUND)
- include_directories(${CURSES_INCLUDE_DIR})
- add_executable(rx_ascii_art_dft rx_ascii_art_dft.cpp)
-- target_link_libraries(rx_ascii_art_dft uhd ${CURSES_LIBRARIES} ${Boost_LIBRARIES})
-+ target_link_libraries(rx_ascii_art_dft uhd ${CURSES_LIBRARIES} tinfo ${Boost_LIBRARIES})
- UHD_INSTALL(TARGETS rx_ascii_art_dft RUNTIME DESTINATION ${PKG_LIB_DIR}/examples COMPONENT examples)
-
- add_executable(twinrx_freq_hopping twinrx_freq_hopping.cpp)
-- target_link_libraries(twinrx_freq_hopping uhd ${CURSES_LIBRARIES} ${Boost_LIBRARIES})
-+ target_link_libraries(twinrx_freq_hopping uhd ${CURSES_LIBRARIES} tinfo ${Boost_LIBRARIES})
- UHD_INSTALL(TARGETS twinrx_freq_hopping RUNTIME DESTINATION ${PKG_LIB_DIR}/examples COMPONENT examples)
- endif(CURSES_FOUND)
-
-diff --git host/utils/latency/CMakeLists.txt host/utils/latency/CMakeLists.txt
-index 05bacd77a..d3b1449a6 100644
---- host/utils/latency/CMakeLists.txt
-+++ host/utils/latency/CMakeLists.txt
-@@ -25,7 +25,7 @@ if(CURSES_FOUND)
- get_filename_component(name ${source} NAME_WE)
- add_executable(${name} ${source} ${latency_lib_path})
- LIBUHD_APPEND_SOURCES(${name})
-- target_link_libraries(${name} uhd ${Boost_LIBRARIES} ${CURSES_LIBRARIES})
-+ target_link_libraries(${name} uhd ${Boost_LIBRARIES} tinfo ${CURSES_LIBRARIES})
- UHD_INSTALL(TARGETS ${name} RUNTIME DESTINATION ${latency_comp_dest} COMPONENT ${latency_comp_name})
- endforeach(source)
-
diff --git a/net-wireless/uhd/files/uhd-3.15.0.0-hidden-visibility-tests.patch b/net-wireless/uhd/files/uhd-3.15.0.0-hidden-visibility-tests.patch
deleted file mode 100644
index 749313267439..000000000000
--- a/net-wireless/uhd/files/uhd-3.15.0.0-hidden-visibility-tests.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 4ecb79d8980fcf7cd0ff25c8c21bf473156fdb19 Mon Sep 17 00:00:00 2001
-From: David Seifert <soap@gentoo.org>
-Date: Tue, 15 Feb 2022 11:24:54 +0100
-Subject: [PATCH] Build uhd_test library as static when
- `-DBUILD_SHARED_LIBS=ON`
-
-* A uhd_test.so lacks the necessary symbols for testing
- due to default visibility set to hidden.
----
- tests/common/CMakeLists.txt | 3 +-
- 1 file changed, 1 insertion(+), 2 deletion(-)
-
-diff --git a/tests/common/CMakeLists.txt b/tests/common/CMakeLists.txt
-index ac0e1b4492..36c9f9b076 100644
---- a/tests/common/CMakeLists.txt
-+++ b/tests/common/CMakeLists.txt
-@@ -8,7 +8,8 @@
- # Build uhd_test static lib
- ########################################################################
- include_directories("${CMAKE_SOURCE_DIR}/lib/include")
--add_library(uhd_test ${CMAKE_CURRENT_SOURCE_DIR}/mock_ctrl_iface_impl.cpp
-+add_library(uhd_test STATIC
-+ ${CMAKE_CURRENT_SOURCE_DIR}/mock_ctrl_iface_impl.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/mock_zero_copy.cpp
- ${CMAKE_SOURCE_DIR}/lib/rfnoc/graph_impl.cpp
- ${CMAKE_SOURCE_DIR}/lib/rfnoc/async_msg_handler.cpp
diff --git a/net-wireless/uhd/uhd-3.15.0.0-r100.ebuild b/net-wireless/uhd/uhd-3.15.0.0-r100.ebuild
deleted file mode 100644
index 8d5e3e111f99..000000000000
--- a/net-wireless/uhd/uhd-3.15.0.0-r100.ebuild
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8,9,10} )
-
-inherit python-single-r1 gnome2-utils cmake
-
-DESCRIPTION="Universal Software Radio Peripheral (USRP) Hardware Driver"
-HOMEPAGE="https://kb.ettus.com"
-
-SRC_URI="https://github.com/EttusResearch/uhd/archive/v${PV}.tar.gz -> EttusResearch-UHD-${PV}.tar.gz \
- https://github.com/EttusResearch/uhd/releases/download/v${PV}/uhd-images_${PV}.tar.xz"
-#https://github.com/EttusResearch/UHD-Mirror/tags
-#http://files.ettus.com/binaries/images/
-
-LICENSE="GPL-3"
-SLOT="0/$(ver_cut 1-3)"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="+b100 +b200 doc e300 examples +mpmd octoclock +n230 test +usb +usrp1 +usrp2 +utils +x300"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- b100? ( usb )
- b200? ( usb )
- usrp1? ( usb )
- usrp2? ( usb )
- || ( b100 b200 e300 mpmd n230 usrp1 usrp2 x300 )"
-
-RDEPEND="${PYTHON_DEPS}
- e300? ( virtual/udev )
- usb? ( virtual/libusb:1 )
- dev-libs/boost:=
- sys-libs/ncurses:0[tinfo]
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- ')
-"
-
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- $(python_gen_cond_dep '
- dev-python/mako[${PYTHON_USEDEP}]
- ')
- app-arch/unzip
- app-arch/gzip
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.13.1.0-tinfo.patch"
- "${FILESDIR}/${PN}-3.15.0.0-hidden-visibility-tests.patch"
-)
-
-S="${WORKDIR}/${P}/host"
-
-src_unpack() {
- default
- mv "uhd-images_${PV}" images || die
-}
-
-src_prepare() {
- cmake_src_prepare
-
- gnome2_environment_reset #534582
-
- #this may not be needed in 3.4.3 and above, please verify
- sed -i 's#SET(PKG_LIB_DIR ${PKG_DATA_DIR})#SET(PKG_LIB_DIR ${LIBRARY_DIR}/uhd)#g' CMakeLists.txt || die
-
- #rpath is set for apple and no one else, just remove the conditional
- sed -i -e '/if(APPLE)/d' -e '/endif(APPLE)/d' CMakeLists.txt || die
-}
-
-src_configure() {
- mycmakeargs=(
- -DENABLE_LIBUHD=ON
- -DENABLE_C_API=ON
- -DENABLE_LIBERIO=OFF
- -DENABLE_MAN_PAGES=ON
- -DENABLE_MAN_PAGE_COMPRESSION=OFF
- -DENABLE_EXAMPLES="$(usex examples)"
- -DENABLE_TESTS="$(usex test)"
- -DENABLE_USB="$(usex usb)"
- -DENABLE_UTILS="$(usex utils)"
- -DENABLE_MANUAL="$(usex doc)"
- -DENABLE_DOXYGEN="$(usex doc)"
- -DENABLE_B100="$(usex b100)"
- -DENABLE_B200="$(usex b200)"
- -DENABLE_E300="$(usex e300)"
- -DENABLE_USRP1="$(usex usrp1)"
- -DENABLE_USRP2="$(usex usrp2)"
- -DENABLE_X300="$(usex x300)"
- -DENABLE_N230="$(usex n230)"
- -DENABLE_MPMD="$(usex mpmd)"
- -DENABLE_OCTOCLOCK="$(usex octoclock)"
- -DPYTHON_EXECUTABLE="${PYTHON}"
- -DPKG_DOC_DIR="${EPREFIX}/usr/share/doc/${PF}"
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- python_optimize
- use utils && python_fix_shebang "${ED}"/usr/$(get_libdir)/${PN}/utils/
- if [[ "${PV}" != "9999" ]]; then
- rm -rf "${ED}/usr/bin/uhd_images_downloader"
- rm -rf "${ED}/usr/share/man/man1/uhd_images_downloader.1"
- fi
-
- insinto /lib/udev/rules.d/
- doins "${S}/utils/uhd-usrp.rules"
-
- rm -r "${WORKDIR}/images/winusb_driver" || die
- if ! use b100; then
- rm "${WORKDIR}"/images/usrp_b100* || die
- fi
- if ! use b200; then
- rm "${WORKDIR}"/images/usrp_b2[01]* || die
- fi
- if ! use e300; then
- rm "${WORKDIR}"/images/usrp_e3* || die
- fi
- if ! use mpmd; then
- rm "${WORKDIR}"/images/usrp_n310* || die
- fi
- if ! use n230; then
- rm "${WORKDIR}"/images/usrp_n230* || die
- fi
- if ! use octoclock; then
- rm "${WORKDIR}"/images/octoclock* || die
- fi
- if ! use usrp1; then
- rm "${WORKDIR}"/images/usrp1* || die
- fi
- if ! use usrp2; then
- rm "${WORKDIR}"/images/usrp2* || die
- rm "${WORKDIR}"/images/usrp_n2[01]* || die
- rm -r "${WORKDIR}"/images/bit || die
- fi
- if ! use x300; then
- rm "${WORKDIR}/"images/usrp_x3* || die
- fi
- insinto /usr/share/${PN}
- doins -r "${WORKDIR}/images"
-}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-wireless/uhd/, net-wireless/uhd/files/
@ 2024-05-28 1:45 Sam James
0 siblings, 0 replies; 9+ messages in thread
From: Sam James @ 2024-05-28 1:45 UTC (permalink / raw
To: gentoo-commits
commit: bae5ae994b8a67ea627bf27c82973b808922e4f7
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue May 28 01:36:09 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue May 28 01:36:09 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bae5ae99
net-wireless/uhd: fix build w/ boost-1.85
Closes: https://bugs.gentoo.org/932239
Thanks-to: Vladislav Mikhailikov <vmikhailikov <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../uhd/files/uhd-4.6.0.0-boost-1.85-1.patch | 80 ++++++++++++++++++++++
.../uhd/files/uhd-4.6.0.0-boost-1.85-2.patch | 31 +++++++++
net-wireless/uhd/uhd-4.6.0.0.ebuild | 5 ++
3 files changed, 116 insertions(+)
diff --git a/net-wireless/uhd/files/uhd-4.6.0.0-boost-1.85-1.patch b/net-wireless/uhd/files/uhd-4.6.0.0-boost-1.85-1.patch
new file mode 100644
index 000000000000..5861b93b6676
--- /dev/null
+++ b/net-wireless/uhd/files/uhd-4.6.0.0-boost-1.85-1.patch
@@ -0,0 +1,80 @@
+https://github.com/EttusResearch/uhd/commit/ea586168c596d13d05d145832519755794649ba0
+https://bugs.gentoo.org/932239#c10
+
+From ea586168c596d13d05d145832519755794649ba0 Mon Sep 17 00:00:00 2001
+From: Martin Braun <martin.braun@ettus.com>
+Date: Thu, 28 Mar 2024 17:28:57 +0100
+Subject: [PATCH 08/30] lib: Replace deprecated boost::filesystem usage
+
+Recent versions of Boost were throwing compiler warnings due to usage of
+deprecated functions. Our minimum version of Boost (1.65) already
+provides the replacements, so this commit simply updates these
+deprecated use cases.
+---
+ host/lib/usrp/mpmd/mpmd_image_loader.cpp | 6 ++----
+ host/lib/usrp/x300/x300_image_loader.cpp | 4 ++--
+ host/lib/usrp_clock/octoclock/octoclock_image_loader.cpp | 2 +-
+ 3 files changed, 5 insertions(+), 7 deletions(-)
+
+diff --git a/host/lib/usrp/mpmd/mpmd_image_loader.cpp b/host/lib/usrp/mpmd/mpmd_image_loader.cpp
+index 31b6387ab..ba0f45fad 100644
+--- a/lib/usrp/mpmd/mpmd_image_loader.cpp
++++ b/lib/usrp/mpmd/mpmd_image_loader.cpp
+@@ -27,8 +27,6 @@
+ #include <cctype>
+ #include <fstream>
+ #include <iterator>
+-#include <sstream>
+-#include <streambuf>
+ #include <string>
+ #include <vector>
+
+@@ -271,7 +269,7 @@ static uhd::usrp::component_files_t bin_dts_to_component_files(
+ // DTS component struct
+ // First, we need to determine the name
+ const std::string base_name =
+- boost::filesystem::change_extension(fpga_path, "").string();
++ boost::filesystem::path(fpga_path).replace_extension("").string();
+ if (base_name == fpga_path) {
+ const std::string err_msg(
+ "Can't cut extension from FPGA filename... " + fpga_path);
+@@ -340,7 +338,7 @@ static void mpmd_send_fpga_to_device(
+ UHD_LOG_TRACE("MPMD IMAGE LOADER", "FPGA path: " << fpga_path);
+
+ // If the fpga_path is a lvbitx file, parse it as such
+- if (boost::filesystem::extension(fpga_path) == ".lvbitx") {
++ if (boost::filesystem::path(fpga_path).extension() == ".lvbitx") {
+ all_component_files = lvbitx_to_component_files(fpga_path, delay_reload);
+ } else {
+ all_component_files = bin_dts_to_component_files(fpga_path, delay_reload);
+diff --git a/host/lib/usrp/x300/x300_image_loader.cpp b/host/lib/usrp/x300/x300_image_loader.cpp
+index d7a64d4d0..a84dba420 100644
+--- a/lib/usrp/x300/x300_image_loader.cpp
++++ b/lib/usrp/x300/x300_image_loader.cpp
+@@ -138,8 +138,8 @@ static void x300_validate_image(x300_session_t& session)
+ boost::format("Could not find image at path \"%s\".") % session.filepath));
+ }
+
+- std::string extension = fs::extension(session.filepath);
+- session.lvbitx = (extension == ".lvbitx");
++ const std::string extension = fs::path(session.filepath).extension().string();
++ session.lvbitx = (extension == ".lvbitx");
+
+ if (session.lvbitx) {
+ extract_from_lvbitx(session);
+diff --git a/host/lib/usrp_clock/octoclock/octoclock_image_loader.cpp b/host/lib/usrp_clock/octoclock/octoclock_image_loader.cpp
+index 930c5d758..4c39790c7 100644
+--- a/lib/usrp_clock/octoclock/octoclock_image_loader.cpp
++++ b/lib/usrp_clock/octoclock/octoclock_image_loader.cpp
+@@ -95,7 +95,7 @@ static void octoclock_validate_firmware_image(octoclock_session_t& session)
+ % session.image_filepath));
+ }
+
+- std::string extension = fs::extension(session.image_filepath);
++ const std::string extension = fs::path(session.image_filepath).extension().string();
+ if (extension == ".bin") {
+ octoclock_read_bin(session);
+ } else if (extension == ".hex") {
+--
+2.44.1
+
diff --git a/net-wireless/uhd/files/uhd-4.6.0.0-boost-1.85-2.patch b/net-wireless/uhd/files/uhd-4.6.0.0-boost-1.85-2.patch
new file mode 100644
index 000000000000..fab224782ccc
--- /dev/null
+++ b/net-wireless/uhd/files/uhd-4.6.0.0-boost-1.85-2.patch
@@ -0,0 +1,31 @@
+https://github.com/EttusResearch/uhd/commit/c4863b9b9f8b639260f7797157e8ac4dd81fef93
+https://bugs.gentoo.org/932239#c11
+
+From c4863b9b9f8b639260f7797157e8ac4dd81fef93 Mon Sep 17 00:00:00 2001
+From: Joerg Hofrichter <joerg.hofrichter@ni.com>
+Date: Wed, 17 Apr 2024 13:59:19 +0200
+Subject: [PATCH 26/30] fix compilation with boost 1.85.0
+
+The header boost/filesystem/convenience.hpp was removed with boost 1.85.0
+
+The deprecated extension-related functions were already replaced with
+commit ea586168c596d13d05d145832519755794649ba0
+---
+ host/lib/usrp/mpmd/mpmd_image_loader.cpp | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/host/lib/usrp/mpmd/mpmd_image_loader.cpp b/host/lib/usrp/mpmd/mpmd_image_loader.cpp
+index ba0f45fad..9824bbf4d 100644
+--- a/lib/usrp/mpmd/mpmd_image_loader.cpp
++++ b/lib/usrp/mpmd/mpmd_image_loader.cpp
+@@ -21,7 +21,6 @@
+ #include <boost/algorithm/string.hpp>
+ #include <boost/archive/iterators/binary_from_base64.hpp>
+ #include <boost/archive/iterators/transform_width.hpp>
+-#include <boost/filesystem/convenience.hpp>
+ #include <boost/optional.hpp>
+ #include <boost/property_tree/xml_parser.hpp>
+ #include <cctype>
+--
+2.44.1
+
diff --git a/net-wireless/uhd/uhd-4.6.0.0.ebuild b/net-wireless/uhd/uhd-4.6.0.0.ebuild
index 9872c06071f8..bfe690bb44c8 100644
--- a/net-wireless/uhd/uhd-4.6.0.0.ebuild
+++ b/net-wireless/uhd/uhd-4.6.0.0.ebuild
@@ -50,6 +50,11 @@ BDEPEND="
S="${WORKDIR}/${P}/host"
+PATCHES=(
+ "${FILESDIR}"/uhd-4.6.0.0-boost-1.85-1.patch
+ "${FILESDIR}"/uhd-4.6.0.0-boost-1.85-2.patch
+)
+
src_unpack() {
default
mv "uhd-images_${PV}" images || die
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-wireless/uhd/, net-wireless/uhd/files/
@ 2025-02-24 12:30 Thomas Beierlein
0 siblings, 0 replies; 9+ messages in thread
From: Thomas Beierlein @ 2025-02-24 12:30 UTC (permalink / raw
To: gentoo-commits
commit: a35c334b32d137eb19a6581724815d24eeffb9ac
Author: Thomas Beierlein <tomjbe <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 24 12:28:48 2025 +0000
Commit: Thomas Beierlein <tomjbe <AT> gentoo <DOT> org>
CommitDate: Mon Feb 24 12:29:53 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a35c334b
net-wireless/uhd: Fix build with boost-1.87.0
Closes: https://bugs.gentoo.org/946371
Signed-off-by: Thomas Beierlein <tomjbe <AT> gentoo.org>
.../uhd/files/uhd-4.6.0.0-boost-1.87-1.patch | 938 +++++++++++++++++++++
.../uhd/files/uhd-4.6.0.0-boost-1.87-2.patch | 27 +
net-wireless/uhd/uhd-4.6.0.0.ebuild | 4 +-
3 files changed, 968 insertions(+), 1 deletion(-)
diff --git a/net-wireless/uhd/files/uhd-4.6.0.0-boost-1.87-1.patch b/net-wireless/uhd/files/uhd-4.6.0.0-boost-1.87-1.patch
new file mode 100644
index 000000000000..c9f922c22bf0
--- /dev/null
+++ b/net-wireless/uhd/files/uhd-4.6.0.0-boost-1.87-1.patch
@@ -0,0 +1,938 @@
+https://github.com/EttusResearch/uhd/commit/adfe953d965e58b5931c1b1968899492c8087cf6
+https://bugs.gentoo.org/946371#c12
+
+From adfe953d965e58b5931c1b1968899492c8087cf6 Mon Sep 17 00:00:00 2001
+From: Martin Braun <martin.braun@ettus.com>
+Date: Tue, 3 Dec 2024 12:05:50 +0100
+Subject: [PATCH] uhd: Update ASIO usage to modern style, compatible with Boost
+ 1.87
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Starting with Boost 1.66 and the corresponding ASIO version, there were
+some changes introduced based on the C++ Networking TS. This includes
+changes like replacing io_service with io_context, deprecating some
+functions, etc. Starting with Boost 1.87, the old style is no longer
+supported.
+
+This commit updates all usage of ASIO in a way that makes UHD compatible
+with future versions of ASIO. However, this makes UHD no longer
+compatible with Boost 1.65 and below.
+
+Summary of changes:
+- Replace asio::io_service with asio::io_context
+- Replace asio::io_service::strand with
+ asio::strand<asio::io_context::executor_type>
+ - This implies using asio::post() instead of asio::strand::post()
+- Replace asio::buffer_cast<T>(buf) with static_cast<T>(buf.data())
+- Update resolve(query) with new API
+- Replace references to endpoint_iterator with resolver::results_type
+- Replace ip::address::from_string() with ip::make_address()
+
+Co-authored-by: Jörg Hofrichter <joerg.hofrichter@emerson.com>
+---
+ host/examples/network_relay.cpp | 18 ++++-----
+ .../uhd/transport/nirio/rpc/rpc_client.hpp | 14 +++----
+ .../rpclib/include/rpc/detail/async_writer.h | 12 +++---
+ .../include/rpc/detail/server_session.h | 6 +--
+ host/lib/deps/rpclib/lib/rpc/client.cc | 24 +++++------
+ .../rpclib/lib/rpc/detail/server_session.cc | 23 +++++------
+ host/lib/deps/rpclib/lib/rpc/server.cc | 4 +-
+ .../uhdlib/transport/udp_boost_asio_link.hpp | 2 +-
+ .../include/uhdlib/transport/udp_common.hpp | 9 ++---
+ .../lib/include/uhdlib/utils/eeprom_utils.hpp | 12 +++---
+ host/lib/transport/dpdk_simple.cpp | 4 +-
+ host/lib/transport/if_addrs.cpp | 4 +-
+ host/lib/transport/nirio/rpc/rpc_client.cpp | 24 +++++------
+ host/lib/transport/udp_boost_asio_link.cpp | 2 +-
+ host/lib/transport/udp_simple.cpp | 19 ++++-----
+ host/lib/transport/udp_wsa_zero_copy.cpp | 8 ++--
+ host/lib/transport/udp_zero_copy.cpp | 4 +-
+ host/lib/usrp/cores/xport_adapter_ctrl.cpp | 9 ++---
+ host/lib/usrp/usrp1/mb_eeprom.cpp | 1 +
+ host/lib/usrp/usrp2/io_impl.cpp | 12 +++---
+ host/lib/usrp/usrp2/mb_eeprom.cpp | 9 ++---
+ host/lib/usrp/x300/x300_mb_eeprom.cpp | 32 ++++++++++-----
+ .../usrp_clock/octoclock/octoclock_eeprom.cpp | 6 +--
+ host/tests/eeprom_utils_test.cpp | 40 +++++++++++++++----
+ 24 files changed, 164 insertions(+), 134 deletions(-)
+
+tomjbe@gentoo.org
+Modified default capture elements for session.cc according to
+https://github.com/EttusResearch/uhd/commit/2dc7b3e572830c71d49ee0648eef445e7f3abfd6
+
+diff --git a//examples/network_relay.cpp b//examples/network_relay.cpp
+index 9105844523..2387f3b2ab 100644
+--- a//examples/network_relay.cpp
++++ b//examples/network_relay.cpp
+@@ -78,21 +78,21 @@ class udp_relay_type
+ : _port(port)
+ {
+ {
+- asio::ip::udp::resolver resolver(_io_service);
+- asio::ip::udp::resolver::query query(asio::ip::udp::v4(), server_addr, port);
+- asio::ip::udp::endpoint endpoint = *resolver.resolve(query);
++ asio::ip::udp::resolver resolver(_io_context);
++ asio::ip::udp::endpoint endpoint =
++ *resolver.resolve(asio::ip::udp::v4(), server_addr, port).begin();
+
+ _server_socket = std::shared_ptr<asio::ip::udp::socket>(
+- new asio::ip::udp::socket(_io_service, endpoint));
++ new asio::ip::udp::socket(_io_context, endpoint));
+ resize_buffs(_server_socket, server_rx_size, server_tx_size);
+ }
+ {
+- asio::ip::udp::resolver resolver(_io_service);
+- asio::ip::udp::resolver::query query(asio::ip::udp::v4(), client_addr, port);
+- asio::ip::udp::endpoint endpoint = *resolver.resolve(query);
++ asio::ip::udp::resolver resolver(_io_context);
++ asio::ip::udp::endpoint endpoint =
++ *resolver.resolve(asio::ip::udp::v4(), client_addr, port).begin();
+
+ _client_socket = std::shared_ptr<asio::ip::udp::socket>(
+- new asio::ip::udp::socket(_io_service));
++ new asio::ip::udp::socket(_io_context));
+ _client_socket->open(asio::ip::udp::v4());
+ _client_socket->connect(endpoint);
+ resize_buffs(_client_socket, client_rx_size, client_tx_size);
+@@ -173,7 +173,7 @@ class udp_relay_type
+
+ const std::string _port;
+ boost::thread_group _thread_group;
+- asio::io_service _io_service;
++ asio::io_context _io_context;
+ asio::ip::udp::endpoint _endpoint;
+ std::mutex _endpoint_mutex;
+ socket_type _server_socket, _client_socket;
+diff --git a//include/uhd/transport/nirio/rpc/rpc_client.hpp b//include/uhd/transport/nirio/rpc/rpc_client.hpp
+index 844e36c763..98f1e2860d 100644
+--- a//include/uhd/transport/nirio/rpc/rpc_client.hpp
++++ b//include/uhd/transport/nirio/rpc/rpc_client.hpp
+@@ -56,20 +56,20 @@ class rpc_client : private uhd::noncopyable
+ const boost::system::error_code& err, size_t transferred, size_t expected);
+ void _wait_for_next_response_header();
+
+- inline void _stop_io_service()
++ inline void _stop_io_context()
+ {
+- if (_io_service_thread.get()) {
++ if (_io_context_thread.get()) {
+ UHD_LOG_DEBUG("NIRIO", "rpc_client stopping...");
+- _io_service.stop();
+- _io_service_thread->join();
+- _io_service_thread.reset();
++ _io_context.stop();
++ _io_context_thread->join();
++ _io_context_thread.reset();
+ UHD_LOG_DEBUG("NIRIO", "rpc_client stopped.");
+ }
+ }
+
+ // Services
+- boost::asio::io_service _io_service;
+- std::unique_ptr<boost::thread> _io_service_thread;
++ boost::asio::io_context _io_context;
++ std::unique_ptr<boost::thread> _io_context_thread;
+ boost::asio::ip::tcp::socket _socket;
+ // Handshake info
+ hshake_args_t _hshake_args_client;
+diff --git a//lib/deps/rpclib/include/rpc/detail/async_writer.h b//lib/deps/rpclib/include/rpc/detail/async_writer.h
+index 1e17f1292a..2b97361c86 100644
+--- a//lib/deps/rpclib/include/rpc/detail/async_writer.h
++++ b//lib/deps/rpclib/include/rpc/detail/async_writer.h
+@@ -19,9 +19,9 @@ namespace detail {
+ //! \brief Common logic for classes that have a write queue with async writing.
+ class async_writer : public std::enable_shared_from_this<async_writer> {
+ public:
+- async_writer(boost::asio::io_service *io,
++ async_writer(boost::asio::io_context* io,
+ boost::asio::ip::tcp::socket socket)
+- : socket_(std::move(socket)), write_strand_(*io), exit_(false) {}
++ : socket_(std::move(socket)), write_strand_(io->get_executor()), exit_(false) {}
+
+ void do_write() {
+ if (exit_) {
+@@ -31,9 +31,9 @@ class async_writer : public std::enable_shared_from_this<async_writer> {
+ auto &item = write_queue_.front();
+ // the data in item remains valid until the handler is called
+ // since it will still be in the queue physically until then.
+- boost::asio::async_write(
+- socket_, boost::asio::buffer(item.data(), item.size()),
+- write_strand_.wrap(
++ boost::asio::async_write(socket_,
++ boost::asio::buffer(item.data(), item.size()),
++ boost::asio::bind_executor(write_strand_,
+ [this, self](boost::system::error_code ec, std::size_t transferred) {
+ (void)transferred;
+ if (!ec) {
+@@ -69,7 +69,7 @@ class async_writer : public std::enable_shared_from_this<async_writer> {
+
+ protected:
+ boost::asio::ip::tcp::socket socket_;
+- boost::asio::io_service::strand write_strand_;
++ boost::asio::strand<boost::asio::io_context::executor_type> write_strand_;
+ std::atomic_bool exit_{false};
+ bool exited_ = false;
+ std::mutex m_exit_;
+diff --git a//lib/deps/rpclib/include/rpc/detail/server_session.h b//lib/deps/rpclib/include/rpc/detail/server_session.h
+index 754c0879cd..474e4b589b 100644
+--- a//lib/deps/rpclib/include/rpc/detail/server_session.h
++++ b//lib/deps/rpclib/include/rpc/detail/server_session.h
+@@ -22,7 +22,7 @@ namespace detail {
+
+ class server_session : public async_writer {
+ public:
+- server_session(server *srv, boost::asio::io_service *io,
++ server_session(server* srv, boost::asio::io_context* io,
+ boost::asio::ip::tcp::socket socket,
+ std::shared_ptr<dispatcher> disp, bool suppress_exceptions);
+ void start();
+@@ -34,8 +34,8 @@ class server_session : public async_writer {
+
+ private:
+ server* parent_;
+- boost::asio::io_service *io_;
+- boost::asio::io_service::strand read_strand_;
++ boost::asio::io_context* io_;
++ boost::asio::strand<boost::asio::io_context::executor_type> read_strand_;
+ std::shared_ptr<dispatcher> disp_;
+ RPCLIB_MSGPACK::unpacker pac_;
+ RPCLIB_MSGPACK::sbuffer output_buf_;
+diff --git a//lib/deps/rpclib/lib/rpc/client.cc b//lib/deps/rpclib/lib/rpc/client.cc
+index ed4a8e329f..b3d8579832 100644
+--- a//lib/deps/rpclib/lib/rpc/client.cc
++++ b//lib/deps/rpclib/lib/rpc/client.cc
+@@ -38,7 +38,7 @@ struct client::impl {
+ impl(client *parent, std::string const &addr, uint16_t port)
+ : parent_(parent),
+ io_(),
+- strand_(io_),
++ strand_(io_.get_executor()),
+ call_idx_(0),
+ addr_(addr),
+ port_(port),
+@@ -50,11 +50,11 @@ struct client::impl {
+ pac_.reserve_buffer(default_buffer_size);
+ }
+
+- void do_connect(tcp::resolver::iterator endpoint_iterator) {
++ void do_connect(const tcp::resolver::results_type& endpoints) {
+ LOG_INFO("Initiating connection.");
+ boost::asio::async_connect(
+- writer_->socket_, endpoint_iterator,
+- [this](boost::system::error_code ec, tcp::resolver::iterator) {
++ writer_->socket_, endpoints,
++ [this](boost::system::error_code ec, tcp::endpoint) {
+ std::unique_lock<std::mutex> lock(mut_connection_finished_);
+ if (!ec) {
+ LOG_INFO("Client connected to {}:{}", addr_, port_);
+@@ -101,7 +101,7 @@ struct client::impl {
+ std::get<1>(current_call)
+ .set_exception(std::current_exception());
+ }
+- strand_.post(
++ boost::asio::post(strand_,
+ [this, id]() { ongoing_calls_.erase(id); });
+ }
+
+@@ -144,8 +144,8 @@ struct client::impl {
+ std::pair<std::string, std::promise<RPCLIB_MSGPACK::object_handle>>;
+
+ client *parent_;
+- boost::asio::io_service io_;
+- boost::asio::io_service::strand strand_;
++ boost::asio::io_context io_;
++ boost::asio::strand<boost::asio::io_context::executor_type> strand_;
+ std::atomic<int> call_idx_; /// The index of the last call made
+ std::unordered_map<uint32_t, call_t> ongoing_calls_;
+ std::string addr_;
+@@ -164,9 +164,9 @@ struct client::impl {
+ client::client(std::string const &addr, uint16_t port)
+ : pimpl(new client::impl(this, addr, port)) {
+ tcp::resolver resolver(pimpl->io_);
+- auto endpoint_it =
+- resolver.resolve({pimpl->addr_, std::to_string(pimpl->port_)});
+- pimpl->do_connect(endpoint_it);
++ auto endpoints =
++ resolver.resolve(pimpl->addr_, std::to_string(pimpl->port_));
++ pimpl->do_connect(endpoints);
+ std::thread io_thread([this]() {
+ RPCLIB_CREATE_LOG_CHANNEL(client)
+ name_thread("client");
+@@ -190,7 +190,7 @@ int client::get_next_call_idx() {
+ void client::post(std::shared_ptr<RPCLIB_MSGPACK::sbuffer> buffer, int idx,
+ std::string const &func_name,
+ std::shared_ptr<rsp_promise> p) {
+- pimpl->strand_.post([=]() {
++ boost::asio::post(pimpl->strand_, [buffer, idx, func_name, p, this]() {
+ pimpl->ongoing_calls_.insert(
+ std::make_pair(idx, std::make_pair(func_name, std::move(*p))));
+ pimpl->write(std::move(*buffer));
+@@ -198,7 +198,7 @@ void client::post(std::shared_ptr<RPCLIB_MSGPACK::sbuffer> buffer, int idx,
+ }
+
+ void client::post(RPCLIB_MSGPACK::sbuffer *buffer) {
+- pimpl->strand_.post([=]() {
++ boost::asio::post(pimpl->strand_, [buffer, this]() {
+ pimpl->write(std::move(*buffer));
+ delete buffer;
+ });
+diff --git a//lib/deps/rpclib/lib/rpc/detail/server_session.cc b//lib/deps/rpclib/lib/rpc/detail/server_session.cc
+index d3e13c89fa..1468a62e5a 100644
+--- a//lib/deps/rpclib/lib/rpc/detail/server_session.cc
++++ b//lib/deps/rpclib/lib/rpc/detail/server_session.cc
+@@ -22,14 +22,14 @@ namespace detail {
+
+ static constexpr std::size_t default_buffer_size = rpc::constants::DEFAULT_BUFFER_SIZE;
+
+-server_session::server_session(server *srv, boost::asio::io_service *io,
++server_session::server_session(server *srv, boost::asio::io_context *io,
+ boost::asio::ip::tcp::socket socket,
+ std::shared_ptr<dispatcher> disp,
+ bool suppress_exceptions)
+ : async_writer(io, std::move(socket)),
+ parent_(srv),
+ io_(io),
+- read_strand_(*io),
++ read_strand_(io->get_executor()),
+ disp_(disp),
+ pac_(),
+ suppress_exceptions_(suppress_exceptions) {
+@@ -42,7 +42,7 @@ void server_session::start() { do_read(); }
+ void server_session::close() {
+ LOG_INFO("Closing session.");
+ exit_ = true;
+- write_strand_.post([this]() {
++ boost::asio::post(write_strand_, [this]() {
+ try {
+ socket_.close();
+ } catch (const boost::system::system_error&) {
+@@ -54,12 +54,11 @@ void server_session::close() {
+ void server_session::do_read() {
+ auto self(shared_from_this());
+ constexpr std::size_t max_read_bytes = default_buffer_size;
+- socket_.async_read_some(
+- boost::asio::buffer(pac_.buffer(), default_buffer_size),
++ socket_.async_read_some(boost::asio::buffer(pac_.buffer(), default_buffer_size),
+ // I don't think max_read_bytes needs to be captured explicitly
+ // (since it's constexpr), but MSVC insists.
+- read_strand_.wrap([this, self, max_read_bytes](boost::system::error_code ec,
+- std::size_t length) {
++ boost::asio::bind_executor(read_strand_, [this, self, max_read_bytes](boost::system::error_code ec,
++ std::size_t length) {
+ if (!ec) {
+ pac_.buffer_consumed(length);
+ RPCLIB_MSGPACK::unpacked result;
+@@ -69,7 +68,7 @@ void server_session::do_read() {
+
+ // any worker thread can take this call
+ auto z = std::shared_ptr<RPCLIB_MSGPACK::zone>(result.zone().release());
+- io_->post([
++ boost::asio::post(io_->get_executor(), [
+ this, msg, z
+ ]() {
+ this_handler().clear();
+@@ -102,10 +101,10 @@ void server_session::do_read() {
+ if (!resp.is_empty()) {
+ #ifdef _MSC_VER
+ // doesn't compile otherwise.
+- write_strand_.post(
++ boost::asio::post(write_strand_,
+ [=]() { write(resp.get_data()); });
+ #else
+- write_strand_.post(
++ boost::asio::post(write_strand_,
+ [this, resp, z]() { write(resp.get_data()); });
+ #endif
+ }
+@@ -114,14 +113,14 @@ void server_session::do_read() {
+ LOG_WARN("Session exit requested from a handler.");
+ // posting through the strand so this comes after
+ // the previous write
+- write_strand_.post([this]() { exit_ = true; });
++ boost::asio::post(write_strand_, [this]() { exit_ = true; });
+ }
+
+ if (this_server().stopping_) {
+ LOG_WARN("Server exit requested from a handler.");
+ // posting through the strand so this comes after
+ // the previous write
+- write_strand_.post(
++ boost::asio::post(write_strand_,
+ [this]() { parent_->close_sessions(); });
+ }
+ });
+diff --git a//lib/deps/rpclib/lib/rpc/server.cc b//lib/deps/rpclib/lib/rpc/server.cc
+index 4facb93a85..d0638cb8fc 100644
+--- a//lib/deps/rpclib/lib/rpc/server.cc
++++ b//lib/deps/rpclib/lib/rpc/server.cc
+@@ -25,7 +25,7 @@ struct server::impl {
+ : parent_(parent),
+ io_(),
+ acceptor_(io_,
+- tcp::endpoint(ip::address::from_string(address), port)),
++ tcp::endpoint(ip::make_address(address), port)),
+ socket_(io_),
+ suppress_exceptions_(false) {}
+
+@@ -66,7 +66,7 @@ struct server::impl {
+ }
+
+ server *parent_;
+- io_service io_;
++ io_context io_;
+ ip::tcp::acceptor acceptor_;
+ ip::tcp::socket socket_;
+ rpc::detail::thread_group loop_workers_;
+diff --git a//lib/include/uhdlib/transport/udp_boost_asio_link.hpp b//lib/include/uhdlib/transport/udp_boost_asio_link.hpp
+index 8944aa9991..80b585af73 100644
+--- a//lib/include/uhdlib/transport/udp_boost_asio_link.hpp
++++ b//lib/include/uhdlib/transport/udp_boost_asio_link.hpp
+@@ -146,7 +146,7 @@ class udp_boost_asio_link : public recv_link_base<udp_boost_asio_link>,
+ std::vector<udp_boost_asio_frame_buff> _recv_buffs;
+ std::vector<udp_boost_asio_frame_buff> _send_buffs;
+
+- boost::asio::io_service _io_service;
++ boost::asio::io_context _io_context;
+ std::shared_ptr<boost::asio::ip::udp::socket> _socket;
+ int _sock_fd;
+ adapter_id_t _adapter_id;
+diff --git a//lib/include/uhdlib/transport/udp_common.hpp b//lib/include/uhdlib/transport/udp_common.hpp
+index 96146a7017..b4b0ec309f 100644
+--- a//lib/include/uhdlib/transport/udp_common.hpp
++++ b//lib/include/uhdlib/transport/udp_common.hpp
+@@ -81,17 +81,16 @@ UHD_INLINE bool wait_for_recv_ready(int sock_fd, int32_t timeout_ms)
+ }
+
+ UHD_INLINE socket_sptr open_udp_socket(
+- const std::string& addr, const std::string& port, boost::asio::io_service& io_service)
++ const std::string& addr, const std::string& port, boost::asio::io_context& io_context)
+ {
+ using udp = boost::asio::ip::udp;
+
+ // resolve the address
+- udp::resolver resolver(io_service);
+- udp::resolver::query query(udp::v4(), addr, port);
+- udp::endpoint receiver_endpoint = *resolver.resolve(query);
++ udp::resolver resolver(io_context);
++ udp::endpoint receiver_endpoint = *resolver.resolve(udp::v4(), addr, port).begin();
+
+ // create, open, and connect the socket
+- socket_sptr socket = socket_sptr(new udp::socket(io_service));
++ socket_sptr socket = socket_sptr(new udp::socket(io_context));
+ socket->open(udp::v4());
+ socket->connect(receiver_endpoint);
+
+diff --git a//lib/include/uhdlib/utils/eeprom_utils.hpp b//lib/include/uhdlib/utils/eeprom_utils.hpp
+index d3be4c03c4..ea05136738 100644
+--- a//lib/include/uhdlib/utils/eeprom_utils.hpp
++++ b//lib/include/uhdlib/utils/eeprom_utils.hpp
+@@ -10,7 +10,6 @@
+ #include <uhd/types/dict.hpp>
+ #include <uhd/types/mac_addr.hpp>
+ #include <uhd/utils/log.hpp>
+-#include <boost/asio/ip/address_v4.hpp>
+ #include <string>
+ #include <vector>
+
+@@ -29,7 +28,7 @@ std::string uint16_bytes_to_string(const uhd::byte_vector_t& bytes);
+ * see if the resulting contents will contain duplicates. Useful error
+ * messages are logged describing any duplicates.
+ *
+- * <field_type> must provide to_string() and from_string() functions
++ * <field_type> must provide from_string() functions
+ *
+ * \param error_label Label to put on error messages
+ * \param new_eeprom New EEPROM contents
+@@ -38,12 +37,13 @@ std::string uint16_bytes_to_string(const uhd::byte_vector_t& bytes);
+ * \param keys Keys to examine for duplicate values
+ * \return true if duplicates are found, false if not
+ */
+-template <typename field_type>
++template <typename str_normalizer_type>
+ bool check_for_duplicates(const std::string& error_label,
+ const uhd::dict<std::string, std::string>& new_eeprom,
+ const uhd::dict<std::string, std::string>& curr_eeprom,
+ const std::string& category,
+- const std::vector<std::string>& keys)
++ const std::vector<std::string>& keys,
++ str_normalizer_type&& str_normalizer)
+ {
+ bool has_duplicates = false;
+ for (size_t i = 0; i < keys.size(); i++) {
+@@ -54,7 +54,7 @@ bool check_for_duplicates(const std::string& error_label,
+ continue;
+ }
+
+- auto value = field_type::from_string(new_eeprom[key]).to_string();
++ auto value = str_normalizer(new_eeprom[key]);
+
+ // Check other values in new_eeprom for duplicate
+ // Starting at key index i+1 so the same duplicate is not found twice
+@@ -63,7 +63,7 @@ bool check_for_duplicates(const std::string& error_label,
+ if (not new_eeprom.has_key(other_key)) {
+ continue;
+ }
+- auto other_value = field_type::from_string(new_eeprom[other_key]).to_string();
++ auto other_value = str_normalizer(new_eeprom[other_key]);
+ if (value == other_value) {
+ // Value is a duplicate of another supplied value
+ UHD_LOG_ERROR(error_label,
+diff --git a//lib/transport/dpdk_simple.cpp b//lib/transport/dpdk_simple.cpp
+index e258ddb2f8..f2787ba8c8 100644
+--- a//lib/transport/dpdk_simple.cpp
++++ b//lib/transport/dpdk_simple.cpp
+@@ -96,7 +96,7 @@ class dpdk_simple_impl : public dpdk_simple
+ // Extract buff and sanity check
+ const size_t nbytes = boost::asio::buffer_size(user_buff);
+ UHD_ASSERT_THROW(nbytes <= _link->get_send_frame_size())
+- const uint8_t* user_data = boost::asio::buffer_cast<const uint8_t*>(user_buff);
++ const uint8_t* user_data = static_cast<const uint8_t*>(user_buff.data());
+
+ // Get send buff
+ auto buff = _send_io->get_send_buff(SEND_TIMEOUT_MS);
+@@ -120,7 +120,7 @@ class dpdk_simple_impl : public dpdk_simple
+ size_t recv(const boost::asio::mutable_buffer& user_buff, double timeout) override
+ {
+ size_t user_buff_size = boost::asio::buffer_size(user_buff);
+- uint8_t* user_data = boost::asio::buffer_cast<uint8_t*>(user_buff);
++ uint8_t* user_data = static_cast<uint8_t*>(user_buff.data());
+
+ auto buff = _recv_io->get_recv_buff(static_cast<int32_t>(timeout * 1e3));
+ if (!buff) {
+diff --git a//lib/transport/if_addrs.cpp b//lib/transport/if_addrs.cpp
+index a1cb6909f0..4c43c95d57 100644
+--- a//lib/transport/if_addrs.cpp
++++ b//lib/transport/if_addrs.cpp
+@@ -50,8 +50,8 @@ std::vector<uhd::transport::if_addrs_t> uhd::transport::get_if_addrs(void)
+ == boost::asio::ip::address_v4(0)) {
+ // manually calculate broadcast address
+ // https://svn.boost.org/trac/boost/ticket/5198
+- const uint32_t addr = sockaddr_to_ip_addr(iter->ifa_addr).to_ulong();
+- const uint32_t mask = sockaddr_to_ip_addr(iter->ifa_netmask).to_ulong();
++ const uint32_t addr = sockaddr_to_ip_addr(iter->ifa_addr).to_uint();
++ const uint32_t mask = sockaddr_to_ip_addr(iter->ifa_netmask).to_uint();
+ const uint32_t bcast = (addr & mask) | ~mask;
+ if_addr.bcast = boost::asio::ip::address_v4(bcast).to_string();
+ }
+diff --git a//lib/transport/nirio/rpc/rpc_client.cpp b//lib/transport/nirio/rpc/rpc_client.cpp
+index 16dd5aa823..aaa9753ee9 100644
+--- a//lib/transport/nirio/rpc/rpc_client.cpp
++++ b//lib/transport/nirio/rpc/rpc_client.cpp
+@@ -27,7 +27,7 @@ rpc_client::rpc_client(const std::string& server,
+ const std::string& port,
+ uint32_t process_id,
+ uint32_t host_id)
+- : _socket(_io_service), _hshake_args_server()
++ : _socket(_io_context), _hshake_args_server()
+ {
+ // Fill in handshake info
+ _hshake_args_client.version = CURRENT_VERSION;
+@@ -38,16 +38,14 @@ rpc_client::rpc_client(const std::string& server,
+
+ try {
+ // Synchronous resolve + connect
+- tcp::resolver resolver(_io_service);
+- // Create flags object with all special flags disabled. Especially the following:
++ tcp::resolver resolver(_io_context);
++ // All special flags disabled. Especially the following:
+ //- address_configured: Only return addresses if a non-loopback address is
+ // configured for the system.
+ //- numeric_host: No name resolution should be attempted for host
+ //- numeric_service: No name resolution should be attempted for service
+- tcp::resolver::query::flags query_flags(tcp::resolver::query::passive);
+- tcp::resolver::query query(tcp::v4(), server, port, query_flags);
+- tcp::resolver::iterator iterator = resolver.resolve(query);
+- boost::asio::connect(_socket, iterator);
++ auto endpoints = resolver.resolve(server, port, tcp::resolver::passive);
++ boost::asio::connect(_socket, endpoints);
+
+ UHD_LOGGER_TRACE("NIRIO") << "rpc_client connected to server.";
+
+@@ -73,10 +71,10 @@ rpc_client::rpc_client(const std::string& server,
+ UHD_LOGGER_TRACE("NIRIO") << "rpc_client bound to server.";
+ _wait_for_next_response_header();
+
+- // Spawn a thread for the io_service callback handler. This thread will
++ // Spawn a thread for the io_context callback handler. This thread will
+ // run until rpc_client is destroyed.
+- _io_service_thread.reset(new boost::thread(
+- boost::bind(&boost::asio::io_service::run, &_io_service)));
++ _io_context_thread.reset(new boost::thread(
++ boost::bind(&boost::asio::io_context::run, &_io_context)));
+ } else {
+ UHD_LOGGER_DEBUG("NIRIO") << "rpc_client handshake failed.";
+ _exec_err.assign(boost::asio::error::connection_refused,
+@@ -100,7 +98,7 @@ rpc_client::rpc_client(const std::string& server,
+
+ rpc_client::~rpc_client()
+ {
+- _stop_io_service();
++ _stop_io_context();
+ }
+
+ const boost::system::error_code& rpc_client::call(func_id_t func_id,
+@@ -110,7 +108,7 @@ const boost::system::error_code& rpc_client::call(func_id_t func_id,
+ {
+ std::unique_lock<std::mutex> lock(_mutex);
+
+- if (_io_service_thread.get()) {
++ if (_io_context_thread.get()) {
+ _request.header.func_id = func_id;
+ in_args.store(_request.data);
+ _request.header.func_args_size = uhd::narrow_cast<uint32_t>(_request.data.size());
+@@ -147,7 +145,7 @@ const boost::system::error_code& rpc_client::call(func_id_t func_id,
+ UHD_LOGGER_DEBUG("NIRIO") << "rpc_client connection dropped.";
+ _exec_err.assign(boost::asio::error::connection_aborted,
+ boost::asio::error::get_system_category());
+- _stop_io_service();
++ _stop_io_context();
+ }
+
+ // Verify that we are talking to the correct endpoint
+diff --git a//lib/transport/udp_boost_asio_link.cpp b//lib/transport/udp_boost_asio_link.cpp
+index f91bad09e1..b6a6b550c1 100644
+--- a//lib/transport/udp_boost_asio_link.cpp
++++ b//lib/transport/udp_boost_asio_link.cpp
+@@ -37,7 +37,7 @@ udp_boost_asio_link::udp_boost_asio_link(
+ }
+
+ // create, open, and connect the socket
+- _socket = open_udp_socket(addr, port, _io_service);
++ _socket = open_udp_socket(addr, port, _io_context);
+ _sock_fd = _socket->native_handle();
+
+ auto info = udp_boost_asio_adapter_info(*_socket);
+diff --git a//lib/transport/udp_simple.cpp b//lib/transport/udp_simple.cpp
+index c83e72d03b..2d031f2b00 100644
+--- a//lib/transport/udp_simple.cpp
++++ b//lib/transport/udp_simple.cpp
+@@ -8,7 +8,6 @@
+ #include <uhd/transport/udp_simple.hpp>
+ #include <uhd/utils/log.hpp>
+ #include <uhdlib/transport/udp_common.hpp>
+-#include <boost/format.hpp>
+
+ using namespace uhd::transport;
+ namespace asio = boost::asio;
+@@ -23,17 +22,19 @@ class udp_simple_impl : public udp_simple
+ const std::string& addr, const std::string& port, bool bcast, bool connect)
+ : _connected(connect)
+ {
+- UHD_LOGGER_TRACE("UDP")
+- << boost::format("Creating udp transport for %s %s") % addr % port;
++ UHD_LOG_TRACE("UDP", "Creating udp transport for " << addr << " " << port);
+
+ // resolve the address
+- asio::ip::udp::resolver resolver(_io_service);
+- asio::ip::udp::resolver::query query(
+- asio::ip::udp::v4(), addr, port, asio::ip::resolver_query_base::all_matching);
+- _send_endpoint = *resolver.resolve(query);
++ asio::ip::udp::resolver resolver(_io_context);
++ _send_endpoint = *resolver
++ .resolve(asio::ip::udp::v4(),
++ addr,
++ port,
++ asio::ip::resolver_query_base::all_matching)
++ .begin();
+
+ // create and open the socket
+- _socket = socket_sptr(new asio::ip::udp::socket(_io_service));
++ _socket = socket_sptr(new asio::ip::udp::socket(_io_context));
+ _socket->open(asio::ip::udp::v4());
+
+ // allow broadcasting
+@@ -72,7 +73,7 @@ class udp_simple_impl : public udp_simple
+
+ private:
+ bool _connected;
+- asio::io_service _io_service;
++ asio::io_context _io_context;
+ socket_sptr _socket;
+ asio::ip::udp::endpoint _send_endpoint;
+ asio::ip::udp::endpoint _recv_endpoint;
+diff --git a//lib/transport/udp_wsa_zero_copy.cpp b//lib/transport/udp_wsa_zero_copy.cpp
+index 55773296fe..f189396361 100644
+--- a//lib/transport/udp_wsa_zero_copy.cpp
++++ b//lib/transport/udp_wsa_zero_copy.cpp
+@@ -216,10 +216,10 @@ class udp_zero_copy_wsa_impl : public udp_zero_copy
+ UHD_ASSERT_THROW(_num_send_frames <= WSA_MAXIMUM_WAIT_EVENTS);
+
+ // resolve the address
+- asio::io_service io_service;
+- asio::ip::udp::resolver resolver(io_service);
+- asio::ip::udp::resolver::query query(asio::ip::udp::v4(), addr, port);
+- asio::ip::udp::endpoint receiver_endpoint = *resolver.resolve(query);
++ asio::io_context io_context;
++ asio::ip::udp::resolver resolver(io_context);
++ asio::ip::udp::endpoint receiver_endpoint =
++ *resolver.resolve(asio::ip::udp::v4(), addr, port).begin();
+
+ // create the socket
+ _sock_fd =
+diff --git a//lib/transport/udp_zero_copy.cpp b//lib/transport/udp_zero_copy.cpp
+index be527be5cb..1a43f9d6be 100644
+--- a//lib/transport/udp_zero_copy.cpp
++++ b//lib/transport/udp_zero_copy.cpp
+@@ -161,7 +161,7 @@ class udp_zero_copy_asio_impl : public udp_zero_copy
+ check_registry_for_fast_send_threshold(this->get_send_frame_size());
+ #endif /*CHECK_REG_SEND_THRESH*/
+
+- _socket = open_udp_socket(addr, port, _io_service);
++ _socket = open_udp_socket(addr, port, _io_context);
+ _sock_fd = _socket->native_handle();
+
+ UHD_LOGGER_TRACE("UDP") << boost::format("Local UDP socket endpoint: %s:%s")
+@@ -252,7 +252,7 @@ class udp_zero_copy_asio_impl : public udp_zero_copy
+ size_t _next_recv_buff_index, _next_send_buff_index;
+
+ // asio guts -> socket and service
+- asio::io_service _io_service;
++ asio::io_context _io_context;
+ socket_sptr _socket;
+ int _sock_fd;
+ };
+diff --git a//lib/usrp/cores/xport_adapter_ctrl.cpp b//lib/usrp/cores/xport_adapter_ctrl.cpp
+index 224f51ba22..9b3556ad3a 100644
+--- a//lib/usrp/cores/xport_adapter_ctrl.cpp
++++ b//lib/usrp/cores/xport_adapter_ctrl.cpp
+@@ -28,13 +28,12 @@ std::pair<uint32_t, uint32_t> cast_ipv4_and_port(
+ const std::string& ipv4, const std::string& port)
+ {
+ using namespace boost::asio;
+- io_service io_service;
+- ip::udp::resolver resolver(io_service);
++ io_context io_context;
++ ip::udp::resolver resolver(io_context);
+ try {
+- ip::udp::resolver::query query(ip::udp::v4(), ipv4, port);
+- ip::udp::endpoint endpoint = *resolver.resolve(query);
++ ip::udp::endpoint endpoint = *(resolver.resolve(ipv4, port).begin());
+ return {
+- uint32_t(endpoint.address().to_v4().to_ulong()), uint32_t(endpoint.port())};
++ uint32_t(endpoint.address().to_v4().to_uint()), uint32_t(endpoint.port())};
+ } catch (const std::exception&) {
+ throw uhd::value_error("Invalid UDP address: " + ipv4 + ":" + port);
+ }
+diff --git a//lib/usrp/usrp1/mb_eeprom.cpp b//lib/usrp/usrp1/mb_eeprom.cpp
+index 756a103953..e5648dd34d 100644
+--- a//lib/usrp/usrp1/mb_eeprom.cpp
++++ b//lib/usrp/usrp1/mb_eeprom.cpp
+@@ -8,6 +8,7 @@
+ #include <uhd/types/byte_vector.hpp>
+ #include <uhd/usrp/mboard_eeprom.hpp>
+ #include <uhdlib/utils/eeprom_utils.hpp>
++#include <boost/asio.hpp>
+
+ namespace {
+ const uint8_t USRP1_EEPROM_ADDR = 0x50;
+diff --git a//lib/usrp/usrp2/io_impl.cpp b//lib/usrp/usrp2/io_impl.cpp
+index c58787e3e5..48ab7b5f0e 100644
+--- a//lib/usrp/usrp2/io_impl.cpp
++++ b//lib/usrp/usrp2/io_impl.cpp
+@@ -415,12 +415,12 @@ void usrp2_impl::program_stream_dest(
+ "IPv4 Address: %s, UDP Port: %s")
+ % args.args["addr"] % args.args["port"];
+
+- asio::io_service io_service;
+- asio::ip::udp::resolver resolver(io_service);
+- asio::ip::udp::resolver::query query(
+- asio::ip::udp::v4(), args.args["addr"], args.args["port"]);
+- asio::ip::udp::endpoint endpoint = *resolver.resolve(query);
+- stream_ctrl.ip_addr = uhd::htonx(uint32_t(endpoint.address().to_v4().to_ulong()));
++ asio::io_context io_context;
++ asio::ip::udp::resolver resolver(io_context);
++ asio::ip::udp::endpoint endpoint =
++ *resolver.resolve(asio::ip::udp::v4(), args.args["addr"], args.args["port"])
++ .begin();
++ stream_ctrl.ip_addr = uhd::htonx(uint32_t(endpoint.address().to_v4().to_uint()));
+ stream_ctrl.udp_port = uhd::htonx(uint32_t(endpoint.port()));
+
+ for (size_t i = 0; i < 3; i++) {
+diff --git a//lib/usrp/usrp2/mb_eeprom.cpp b//lib/usrp/usrp2/mb_eeprom.cpp
+index 7bfe6159d0..2b01c0bf40 100644
+--- a//lib/usrp/usrp2/mb_eeprom.cpp
++++ b//lib/usrp/usrp2/mb_eeprom.cpp
+@@ -141,8 +141,7 @@ void usrp2_impl::set_mb_eeprom(const std::string& mb, const mboard_eeprom_t& mb_
+
+ if (mb_eeprom.has_key("ip-addr")) {
+ byte_vector_t ip_addr_bytes(4);
+- byte_copy(
+- boost::asio::ip::address_v4::from_string(mb_eeprom["ip-addr"]).to_bytes(),
++ byte_copy(boost::asio::ip::make_address_v4(mb_eeprom["ip-addr"]).to_bytes(),
+ ip_addr_bytes);
+ iface->write_eeprom(
+ N200_EEPROM_ADDR, offsetof(n200_eeprom_map, ip_addr), ip_addr_bytes);
+@@ -150,8 +149,7 @@ void usrp2_impl::set_mb_eeprom(const std::string& mb, const mboard_eeprom_t& mb_
+
+ if (mb_eeprom.has_key("subnet")) {
+ byte_vector_t ip_addr_bytes(4);
+- byte_copy(
+- boost::asio::ip::address_v4::from_string(mb_eeprom["subnet"]).to_bytes(),
++ byte_copy(boost::asio::ip::make_address_v4(mb_eeprom["subnet"]).to_bytes(),
+ ip_addr_bytes);
+ iface->write_eeprom(
+ N200_EEPROM_ADDR, offsetof(n200_eeprom_map, subnet), ip_addr_bytes);
+@@ -159,8 +157,7 @@ void usrp2_impl::set_mb_eeprom(const std::string& mb, const mboard_eeprom_t& mb_
+
+ if (mb_eeprom.has_key("gateway")) {
+ byte_vector_t ip_addr_bytes(4);
+- byte_copy(
+- boost::asio::ip::address_v4::from_string(mb_eeprom["gateway"]).to_bytes(),
++ byte_copy(boost::asio::ip::make_address_v4(mb_eeprom["gateway"]).to_bytes(),
+ ip_addr_bytes);
+ iface->write_eeprom(
+ N200_EEPROM_ADDR, offsetof(n200_eeprom_map, gateway), ip_addr_bytes);
+diff --git a//lib/usrp/x300/x300_mb_eeprom.cpp b//lib/usrp/x300/x300_mb_eeprom.cpp
+index e0e6072aa1..273ad2b1ed 100644
+--- a//lib/usrp/x300/x300_mb_eeprom.cpp
++++ b//lib/usrp/x300/x300_mb_eeprom.cpp
+@@ -9,6 +9,7 @@
+ #include <uhd/types/serial.hpp>
+ #include <uhd/usrp/mboard_eeprom.hpp>
+ #include <uhdlib/utils/eeprom_utils.hpp>
++#include <boost/asio.hpp>
+
+ namespace {
+ const uint8_t X300_EEPROM_ADDR = 0x50;
+@@ -122,10 +123,22 @@ void uhd::usrp::x300::set_mb_eeprom(
+ "ip-addr0", "ip-addr1", "ip-addr2", "ip-addr3"};
+
+ // make sure there are no duplicate values
+- if (check_for_duplicates<uhd::mac_addr_t>(
+- "X300", mb_eeprom, curr_eeprom, "MAC address", mac_keys)
+- or check_for_duplicates<boost::asio::ip::address_v4>(
+- "X300", mb_eeprom, curr_eeprom, "IP address", ip_keys)) {
++ if (check_for_duplicates("X300",
++ mb_eeprom,
++ curr_eeprom,
++ "MAC address",
++ mac_keys,
++ [](const std::string& str) {
++ return mac_addr_t::from_string(str).to_string();
++ })
++ or check_for_duplicates("X300",
++ mb_eeprom,
++ curr_eeprom,
++ "IP address",
++ ip_keys,
++ [](const std::string& str) {
++ return boost::asio::ip::make_address(str).to_string();
++ })) {
+ throw uhd::value_error(
+ "Duplicate values not permitted - write to EEPROM aborted");
+ }
+@@ -161,8 +174,7 @@ void uhd::usrp::x300::set_mb_eeprom(
+ // store the ip addresses
+ byte_vector_t ip_addr_bytes(4);
+ if (mb_eeprom.has_key("gateway")) {
+- byte_copy(
+- boost::asio::ip::address_v4::from_string(mb_eeprom["gateway"]).to_bytes(),
++ byte_copy(boost::asio::ip::make_address_v4(mb_eeprom["gateway"]).to_bytes(),
+ ip_addr_bytes);
+ iface->write_eeprom(
+ X300_EEPROM_ADDR, offsetof(x300_eeprom_map, gateway), ip_addr_bytes);
+@@ -170,8 +182,8 @@ void uhd::usrp::x300::set_mb_eeprom(
+ for (size_t i = 0; i < 4; i++) {
+ const std::string n(1, char(i) + '0');
+ if (mb_eeprom.has_key("ip-addr" + n)) {
+- byte_copy(boost::asio::ip::address_v4::from_string(mb_eeprom["ip-addr" + n])
+- .to_bytes(),
++ byte_copy(
++ boost::asio::ip::make_address_v4(mb_eeprom["ip-addr" + n]).to_bytes(),
+ ip_addr_bytes);
+ iface->write_eeprom(X300_EEPROM_ADDR,
+ offsetof(x300_eeprom_map, ip_addr) + (i * 4),
+@@ -179,8 +191,8 @@ void uhd::usrp::x300::set_mb_eeprom(
+ }
+
+ if (mb_eeprom.has_key("subnet" + n)) {
+- byte_copy(boost::asio::ip::address_v4::from_string(mb_eeprom["subnet" + n])
+- .to_bytes(),
++ byte_copy(
++ boost::asio::ip::make_address_v4(mb_eeprom["subnet" + n]).to_bytes(),
+ ip_addr_bytes);
+ iface->write_eeprom(X300_EEPROM_ADDR,
+ offsetof(x300_eeprom_map, subnet) + (i * 4),
+diff --git a//lib/usrp_clock/octoclock/octoclock_eeprom.cpp b//lib/usrp_clock/octoclock/octoclock_eeprom.cpp
+index 9023c6607a..adddb23f3e 100644
+--- a//lib/usrp_clock/octoclock/octoclock_eeprom.cpp
++++ b//lib/usrp_clock/octoclock/octoclock_eeprom.cpp
+@@ -99,7 +99,7 @@ void octoclock_eeprom_t::_store() const
+ // IP address
+ if ((*this).has_key("ip-addr")) {
+ ip_v4::bytes_type ip_addr_bytes =
+- ip_v4::from_string((*this)["ip-addr"]).to_bytes();
++ boost::asio::ip::make_address_v4((*this)["ip-addr"]).to_bytes();
+ memcpy(&eeprom_out->ip_addr, &ip_addr_bytes, 4);
+ eeprom_out->ip_addr = uhd::htonx<uint32_t>(eeprom_out->ip_addr);
+ }
+@@ -107,7 +107,7 @@ void octoclock_eeprom_t::_store() const
+ // Default router
+ if ((*this).has_key("gateway")) {
+ ip_v4::bytes_type dr_addr_bytes =
+- ip_v4::from_string((*this)["gateway"]).to_bytes();
++ boost::asio::ip::make_address_v4((*this)["gateway"]).to_bytes();
+ memcpy(&eeprom_out->dr_addr, &dr_addr_bytes, 4);
+ eeprom_out->dr_addr = uhd::htonx<uint32_t>(eeprom_out->dr_addr);
+ }
+@@ -115,7 +115,7 @@ void octoclock_eeprom_t::_store() const
+ // Netmask
+ if ((*this).has_key("netmask")) {
+ ip_v4::bytes_type netmask_bytes =
+- ip_v4::from_string((*this)["netmask"]).to_bytes();
++ boost::asio::ip::make_address_v4((*this)["netmask"]).to_bytes();
+ memcpy(&eeprom_out->netmask, &netmask_bytes, 4);
+ eeprom_out->netmask = uhd::htonx<uint32_t>(eeprom_out->netmask);
+ }
+diff --git a//tests/eeprom_utils_test.cpp b//tests/eeprom_utils_test.cpp
+index 728b4b8b67..57d107a177 100644
+--- a//tests/eeprom_utils_test.cpp
++++ b//tests/eeprom_utils_test.cpp
+@@ -44,13 +44,37 @@ BOOST_AUTO_TEST_CASE(test_eeprom_duplicate_check)
+ map_list_of("0", "b")("1", "B");
+ const std::vector<std::string> keys = {"0", "1", "2"};
+
+- BOOST_CHECK_EQUAL(check_for_duplicates<upper_case_char>(
+- "TEST", new_eeprom_no_dups, curr_eeprom, "Test Value", keys),
++ BOOST_CHECK_EQUAL(check_for_duplicates("TEST",
++ new_eeprom_no_dups,
++ curr_eeprom,
++ "Test Value",
++ keys,
++ [](const std::string& str) {
++ return upper_case_char::from_string(str).to_string();
++ }),
+ false);
+- BOOST_CHECK(check_for_duplicates<upper_case_char>(
+- "TEST", new_eeprom_dups_in_curr, curr_eeprom, "Test Value", keys));
+- BOOST_CHECK(check_for_duplicates<upper_case_char>(
+- "TEST", new_eeprom_dups_in_new, curr_eeprom, "Test Value", keys));
+- BOOST_CHECK(check_for_duplicates<upper_case_char>(
+- "TEST", new_eeprom_dups_in_both, curr_eeprom, "Test Value", keys));
++ BOOST_CHECK(check_for_duplicates("TEST",
++ new_eeprom_dups_in_curr,
++ curr_eeprom,
++ "Test Value",
++ keys,
++ [](const std::string& str) {
++ return upper_case_char::from_string(str).to_string();
++ }));
++ BOOST_CHECK(check_for_duplicates("TEST",
++ new_eeprom_dups_in_new,
++ curr_eeprom,
++ "Test Value",
++ keys,
++ [](const std::string& str) {
++ return upper_case_char::from_string(str).to_string();
++ }));
++ BOOST_CHECK(check_for_duplicates("TEST",
++ new_eeprom_dups_in_both,
++ curr_eeprom,
++ "Test Value",
++ keys,
++ [](const std::string& str) {
++ return upper_case_char::from_string(str).to_string();
++ }));
+ }
diff --git a/net-wireless/uhd/files/uhd-4.6.0.0-boost-1.87-2.patch b/net-wireless/uhd/files/uhd-4.6.0.0-boost-1.87-2.patch
new file mode 100644
index 000000000000..d8d3085a2c14
--- /dev/null
+++ b/net-wireless/uhd/files/uhd-4.6.0.0-boost-1.87-2.patch
@@ -0,0 +1,27 @@
+https://github.com/EttusResearch/uhd/commit/e75629c3cfb4d0a654648f775e65e79375cf4f13
+https://bugs.gentoo.org/946371#c12
+
+From e75629c3cfb4d0a654648f775e65e79375cf4f13 Mon Sep 17 00:00:00 2001
+From: Martin Braun <martin.braun@ettus.com>
+Date: Thu, 5 Dec 2024 20:34:15 +0100
+Subject: [PATCH] lib: Fix boost::detail::atomic_count header
+
+This fixes a deprecation warning.
+---
+ host/include/uhd/transport/zero_copy.hpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/uhd/transport/zero_copy.hpp b/include/uhd/transport/zero_copy.hpp
+index 5f954e24e4..2f15e8c4c7 100644
+--- a/include/uhd/transport/zero_copy.hpp
++++ b/include/uhd/transport/zero_copy.hpp
+@@ -9,8 +9,8 @@
+
+ #include <uhd/config.hpp>
+ #include <uhd/utils/noncopyable.hpp>
+-#include <boost/detail/atomic_count.hpp>
+ #include <boost/intrusive_ptr.hpp>
++#include <boost/smart_ptr/detail/atomic_count.hpp>
+ #include <boost/utility.hpp>
+ #include <memory>
+
diff --git a/net-wireless/uhd/uhd-4.6.0.0.ebuild b/net-wireless/uhd/uhd-4.6.0.0.ebuild
index 23a5cfed7d6e..398b3f102e81 100644
--- a/net-wireless/uhd/uhd-4.6.0.0.ebuild
+++ b/net-wireless/uhd/uhd-4.6.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -53,6 +53,8 @@ S="${WORKDIR}/${P}/host"
PATCHES=(
"${FILESDIR}"/uhd-4.6.0.0-boost-1.85-1.patch
"${FILESDIR}"/uhd-4.6.0.0-boost-1.85-2.patch
+ "${FILESDIR}"/uhd-4.6.0.0-boost-1.87-1.patch
+ "${FILESDIR}"/uhd-4.6.0.0-boost-1.87-2.patch
)
src_unpack() {
^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2025-02-24 12:30 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-28 1:45 [gentoo-commits] repo/gentoo:master commit in: net-wireless/uhd/, net-wireless/uhd/files/ Sam James
-- strict thread matches above, loose matches on Subject: below --
2025-02-24 12:30 Thomas Beierlein
2022-02-24 16:04 Rick Farina
2022-02-15 10:45 David Seifert
2021-06-03 2:12 Rick Farina
2020-09-16 17:01 Rick Farina
2019-01-11 3:34 Rick Farina
2018-06-06 8:13 Andreas Sturmlechner
2017-10-16 1:14 Jason Donenfeld
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox