summaryrefslogtreecommitdiff
path: root/net-wireless
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-02-24 19:24:56 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-02-24 19:24:56 +0000
commitd4653056cc74d97f24bef0d56b4ebe11c53c8b76 (patch)
tree5d4be0715302fad2089468027fadaa0372afd1d1 /net-wireless
parent575bcb9220287a6f0d2577db1fd9fe55d9d8b745 (diff)
gentoo auto-resync : 24:02:2025 - 19:24:56
Diffstat (limited to 'net-wireless')
-rw-r--r--net-wireless/Manifest.gzbin13889 -> 13887 bytes
-rw-r--r--net-wireless/broadcom-sta/Manifest35
-rw-r--r--net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r8.ebuild (renamed from net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r7.ebuild)22
-rw-r--r--net-wireless/broadcom-sta/files/001-null-pointer-fix.patch10
-rw-r--r--net-wireless/broadcom-sta/files/002-rdtscl.patch5
-rw-r--r--net-wireless/broadcom-sta/files/003-linux47.patch4
-rw-r--r--net-wireless/broadcom-sta/files/004-linux48.patch6
-rw-r--r--net-wireless/broadcom-sta/files/006-linux411.patch2
-rw-r--r--net-wireless/broadcom-sta/files/007-linux412.patch6
-rw-r--r--net-wireless/broadcom-sta/files/008-linux415.patch4
-rw-r--r--net-wireless/broadcom-sta/files/009-fix_mac_profile_discrepancy.patch4
-rw-r--r--net-wireless/broadcom-sta/files/010-linux56.patch4
-rw-r--r--net-wireless/broadcom-sta/files/011-linux59.patch18
-rw-r--r--net-wireless/broadcom-sta/files/012-linux517.patch6
-rw-r--r--net-wireless/broadcom-sta/files/013-linux518.patch5
-rw-r--r--net-wireless/broadcom-sta/files/014-linux414.patch6
-rw-r--r--net-wireless/broadcom-sta/files/015-linux600.patch6
-rw-r--r--net-wireless/broadcom-sta/files/016-linux601.patch5
-rw-r--r--net-wireless/broadcom-sta/files/017-handle-new-header-name-6.12.patch33
-rw-r--r--net-wireless/broadcom-sta/files/018-broadcom-wl-fix-linux-6.13.patch27
-rw-r--r--net-wireless/broadcom-sta/files/019-broadcom-wl-fix-linux-6.14.patch40
-rw-r--r--net-wireless/dump1090/Manifest7
-rw-r--r--net-wireless/dump1090/dump1090-9.0.ebuild117
-rw-r--r--net-wireless/dump1090/dump1090-9999.ebuild104
-rw-r--r--net-wireless/dump1090/files/dump1090-9.0-gcc14.patch24
-rw-r--r--net-wireless/dump1090/metadata.xml6
-rw-r--r--net-wireless/kismet/Manifest2
-rw-r--r--net-wireless/kismet/kismet-2022.08.1-r2.ebuild4
-rw-r--r--net-wireless/rtl-sdr/Manifest11
-rw-r--r--net-wireless/rtl-sdr/files/rtl-sdr-2.0.2-disable-static.patch55
-rw-r--r--net-wireless/rtl-sdr/files/rtl-sdr-2.0.2-pkgconfig-libdir.patch11
-rw-r--r--net-wireless/rtl-sdr/files/rtl-sdr-2.0.2-udev-rules-path.patch11
-rw-r--r--net-wireless/rtl-sdr/files/rtl_tcp.confd-r17
-rw-r--r--net-wireless/rtl-sdr/files/rtl_tcp.initd-r111
-rw-r--r--net-wireless/rtl-sdr/metadata.xml4
-rw-r--r--net-wireless/rtl-sdr/rtl-sdr-2.0.2.ebuild56
-rw-r--r--net-wireless/rtl-sdr/rtl-sdr-9999.ebuild34
-rw-r--r--net-wireless/uhd/Manifest4
-rw-r--r--net-wireless/uhd/files/uhd-4.6.0.0-boost-1.87-1.patch938
-rw-r--r--net-wireless/uhd/files/uhd-4.6.0.0-boost-1.87-2.patch27
-rw-r--r--net-wireless/uhd/uhd-4.6.0.0.ebuild4
-rw-r--r--net-wireless/wpa_supplicant/Manifest3
-rw-r--r--net-wireless/wpa_supplicant/wpa_supplicant-2.11-r1.ebuild446
-rw-r--r--net-wireless/wpa_supplicant/wpa_supplicant-9999.ebuild37
44 files changed, 1968 insertions, 203 deletions
diff --git a/net-wireless/Manifest.gz b/net-wireless/Manifest.gz
index 6cd6761966b4..5b1d2aabaa81 100644
--- a/net-wireless/Manifest.gz
+++ b/net-wireless/Manifest.gz
Binary files differ
diff --git a/net-wireless/broadcom-sta/Manifest b/net-wireless/broadcom-sta/Manifest
index 47a9926bcc15..d68b0c65e737 100644
--- a/net-wireless/broadcom-sta/Manifest
+++ b/net-wireless/broadcom-sta/Manifest
@@ -1,22 +1,25 @@
-AUX 001-null-pointer-fix.patch 1270 BLAKE2B 41191fefabfd4bb5d1feaecefaf0f836e68b1190e420b54a7b5155a1ffea645c34740dc0fbc0ae60a2dac448e9e412c0c22b824f18aded70f685a2efa58c130e SHA512 885a3677304e900aeb624dbe50b5c2102d17da64551a0a4108a1da31ccc59b9349b3ba1344d4da9c0342c34927e40457105a542a74d51818301c65843f19ce9e
-AUX 002-rdtscl.patch 786 BLAKE2B bbc80e1ac01683ccc2d940212347fc11c74bdc252d492ca79a292015ac25df6a153ac97cb6c0f0a8d51c1c33d5dc0de4fdd61b1958499b946dc817d29646b72f SHA512 b483a4fd5fbb5a4697365b6ddcd8034b4d90ddee9bf2aecf003b0fd6838a708d3e84be33b08acdbe165d440480da25fdf0dfff0d2fe12fa2c5271c51d6ac74c0
-AUX 003-linux47.patch 3897 BLAKE2B ecf3eb75f8eb3331b0a36b39851536de43cffd3b303db9e9f4fe6fe55d463c3343aba17a99668448427764a719e15e3e862d6a3dc0bc61cb68da9934fb427c6f SHA512 f61ecfb6b8c5a377c7a4da7549c9ec75677782fa2f97e64de0df1259e0ec3b993cfa3eaa4ff50331703ee18ef28f2af0d09839dd3b63ed994e6b29cbfe8ed73f
-AUX 004-linux48.patch 1835 BLAKE2B 7e091ac44616ea4cfa80b3a5563f4c6a235d2431b911f6bc52074a76b2c1d609dc546430f048abf042f862907f573c6b1dfa24c8c424aeefe73ff13ae3f34900 SHA512 e5959921b6f0cd5d61d7ed568f549b0920f394458c28257c05064b89d7067ce11c8e44ed0e5a48a65bd041c6193d9ae2d02fca2f5efbfb787d3f9001786a4578
+AUX 001-null-pointer-fix.patch 1027 BLAKE2B 4ac6a744814f8151082c991f32bb53c50ad17aec30b5418f201d6abb4860fb9ba22f856888d3b0cb2241cd8bb80daaf04d4011b0f324edf6d95ec79b7381c949 SHA512 5002709d99e0a5c1ef9fd50ceff4084da83643406e5b50dc44b21d723016adffa976d7f808236fc23704457921adcad0c15abd740abd3d4603472345524f00e9
+AUX 002-rdtscl.patch 655 BLAKE2B 78080155ef2c28150f19470fae945e2a8da58f829dba8d0b6b148420e805e8cf87c0cc5a2ade6d29b63c7ec4531bd89883748814d5bae73f57b6cb8ce8800112 SHA512 56c43d1c76bce21dd98fa405009b448a586823a383b977c6617b4e9d700ace2a7f15ba09dac57ab4f0bb364041e87526b39c6783bd62f87288078a521c40c313
+AUX 003-linux47.patch 3825 BLAKE2B 7d188853d437809f63b5cf7b144b8f6f5b06b8fee827d3613eb82bb6fb82ea339875b89e1110cba566f9d52a850aec239bca988bd22dc5f7c0fab8347eee57cf SHA512 4b5460a18f4020a5e5e81daa779c15b360b4a801f8d1fd200f09eca6b5190754276c0ce9f92a26f336c3677cd58f5cd8578c4a7b61b46a1b653c27907c2c875f
+AUX 004-linux48.patch 1626 BLAKE2B 9fb2fec1197919543d5a94be404b55cc40651a484ba9ef731a438d8d4c8fe4ab570d2ad3c5d73ffca27254542730980f90b2fabb3779f40ea61912e4d6a72745 SHA512 d3a2d4de8c4a269c190901fdce9b4eab8248d921b932e9970e627af4f7b62e7d10cb784919aad439c2b8cec6ab01944874f02d4788ad0ccf2fac67f2f610410f
AUX 005-debian-fix-kernel-warnings.patch 5013 BLAKE2B 3b65cccde7ed80bd88bf945cca6b71fca9eccc4a910666dad4df56a24471535e1d6007e1ea24567002c927357b525683b02c6a7ad2986aca738fc81ab736219f SHA512 6209a0a5a46a3efcede3cb1e263467173153d779b6267ba4c20f46421a9abd8743a7068527ace350a3da3ef3046b0399e09b37aba917fabe020c8c2600b60fdf
-AUX 006-linux411.patch 800 BLAKE2B 28ef5e50fa11fc15b409f3b3ee42aaf329756354ba8b7923d1b27939a6b21bd64b72a4adfb2eeff3c48bb8c4c1bc4294e8fd7744b83768974bf5d0592e20c148 SHA512 b7db17e30731a9cbc940b83f7b62f059529cff6c134e47e2176cd7c6fcd8d028334ed4fe1fdce7cf1aef87590f9664b463383ae3302a6e2aabe1baa79fbc5c95
-AUX 007-linux412.patch 2776 BLAKE2B 06035b1bca121c72b5e6bf120df644d5496d6020cf8537ec83917bb0f5b5a0a25129730f46201da2cc61e48cbcf4e9d3ed7757f3223e1d3b6e29b531c4c8fabb SHA512 d4acd891023ff8d4b9308afdd55c4e971cdf7773570c8e3a545400ed9e414eeca5016ebc8a530002e7858fd44f1fd5b0ae70c0d0a3cdbbffd5bd9abb702b2cde
-AUX 008-linux415.patch 1063 BLAKE2B 091e1da266ebaa0d429663facf3e81c849fe900c446e1c270ba23b65c15a99efeb1ae6c20905dfcc21b5f4bc3f91b32eb3b7bc9841f2a23508c71312403af774 SHA512 2fb5c3eebd48b6099fb87a9fd92545c17b2abf318b040a434c1b0bdd75a7a682b6e7ec9f80245c198f1c306bbaef35a2488123c5ba8764d5a83eb18132c0857b
-AUX 009-fix_mac_profile_discrepancy.patch 492 BLAKE2B 7c8012fa51592a3fca6dfde7a7a9c6dd37eb6c406d3f8695927e32c9e714c3faa23295b116a6cd97ec0403b123747b9095883bd7e3abe6c1888c3c9a4630f9f4 SHA512 97d34398d18ac9a7943233c12e01cf7006bf0648938303100932cabf5000c346f1a852978e3c8c48bb6e8652177e625ce1190047d580624319e680a13802ce92
-AUX 010-linux56.patch 1866 BLAKE2B 21f7fc163ffcf6857f3a21a8519a42600fd6b3658d14b32191ef1142c817c10c8dc691a3bc39228927ac29d7b7ac5c3a62eb786853046bacb9cc74efb51b6cb0 SHA512 8fb320c1272246c91fdd99cade2fb67a6ecd924a132c1b9432fa1ff0338444700451ffc6a1cb35e07188c58c5bd1ccaf59ebf014c49f44cb6ba33d1ec732859d
-AUX 011-linux59.patch 5933 BLAKE2B c1f522f6554a7bfe0f7b789b042ada14316ecc87bc196c83bec95f684152f323a4c31f60ff26843e36338b8c7949bf36719a5c8afa439ff71f7c74dae4c755b6 SHA512 b9a0193ab604da92c99051e2a4fd91e43c3b6aeea7dbda15635b43eabd35b414e197bf5f25ac0d4ec905a1cb75abc15f165428470bc788dbefd73f178d165099
-AUX 012-linux517.patch 2790 BLAKE2B d84d08161530bb9f05f627ec798a0897643869ea9b80781ae9eee85b072922c52e5127e55f04265c53fcfedc4e9da166eb3bb9f9fc2e139d62517ec54c2f45bb SHA512 ec34a2800d7a70a7a1ff8a96ba87c2327f68066addf5adc9f60ba303cfda9cee39159f110013f075e357988f92efe802010e9c1d7884a5dfb1908df1489bd608
-AUX 013-linux518.patch 2337 BLAKE2B e5ae3570dc2f27105c50e6dec807c1f4f1a2824995e0951e7ff405114d519e4f33992d8d2ea2c2d4fc3f9271d57f89bfb5b6b5c79af2c89492209a86ad673456 SHA512 b815a4ff9289d81ddbe7f76553b092df19ee137438c9e33811c3a8b15e8a3896763715975b42391b4edfb60cfb0db46b71f4fee0f33a7b07f8d45cc4608d3faa
-AUX 014-linux414.patch 936 BLAKE2B 0b1075bd59e8046969052ceb9cbe305ac2373b5d1600701ffcffb5219d3765ef5d15465c3aff63bbc547ed4f663dc4816d1b4fa09176d6c78828e488a9a863c4 SHA512 30207d8872ee8925a7c7412184e3b4fd6935f8017fb46e1173aca77333c99fb4316ef1511a83e345593c369210d4cbf976eea53995e229b4d856d97662c98961
-AUX 015-linux600.patch 1267 BLAKE2B 7d4dfe48577456436d0932bd1eca78fc1f0a952e141f13641b93bb24161a9f6847152966631cc05a6d707f9cf8adbded55a19aeaa2c15c963fffb5db9eff9f63 SHA512 21cf9b0b01ad4b30fa8541638e9a8428c8c68c89992b7e15c19f8526e8df6f8c5ff20de5ae2759b36fead07deacd1805749a9ed82611d15fb75dc94812e4941e
-AUX 016-linux601.patch 4316 BLAKE2B 6c627b392a5b05248e3fb78c9be0329deee601b70d88334f5f61e1af14643a7367fabbf3d3fce23b0cae317456ecdc7e7985ce019c3bc283117f3ba2be5b25b5 SHA512 8879aeb0a79b7e82ca5e70fd33acefda1733594d7e78940932d2c220cad48b643fc2c0cb8e79f1fc3ebaaa5a4383a0caf6798214f911c2f5859c8fab1c8532e8
+AUX 006-linux411.patch 702 BLAKE2B 8fc2ad06beac301609738b44ae4b8bb722fc55ed3373462dc1e37867a9e0302368324ea5d4f6b14513fa8b7e237bb9d4e86af33b71d51a91f3df997a75900880 SHA512 1f1358ad4f6ccbd727900057fd06a1eeb1eb8be638f50afd09263cbcb8019c01c737df00455c30d02a699d47c43388c923a1704bf72848c6e0ab68ed5cb31e83
+AUX 007-linux412.patch 2544 BLAKE2B e73e78eb26f5f862ca3f0e9853d213acc0dd89cc6af2189f6916c281f671b3c4f504257e5be367d51860243ffd8d6285e0db7c5542c08c44f21a12f31973e2d4 SHA512 c65a5fd1eaefbe4f6719c8e7e055c473327186eda1bc1305ecb40a1a757e0b6bf7a86b855af25f124696b0bc1bbe5a44d16d30cb665ced0cddc3f67698908f16
+AUX 008-linux415.patch 991 BLAKE2B b7429aad683d20197ba467ee25258fe0948d63fb9e120db6d8f0b511eeac70ebae89c61c2f4c65ffb2a88494b5b5f9d357c150a6c95b3562380da223531a00f1 SHA512 758e8caa7356a00834e4c9bb554195c6e4f08851bbc64816790a83c83e5cae462d6e5d5d309a3e65040c0424de626fb18c81855f5281f9ae3d4d42d6059193df
+AUX 009-fix_mac_profile_discrepancy.patch 420 BLAKE2B 5caf4cf96a21b883f865fa30a6ddbb84324865d020b498eca6885ea40d1669e273670da34bebb9824120be444ee34e19a8334aa8f633b6aea2de6fd7e060ad3e SHA512 76159e4b5ea8a7e12638da96c96b8a12feec1b0acefd126d2f8dacd37cd3a688c4621b2a06cac2d7a78254cb37b838333263a712d7671ceb3ae3d0392b2ecef1
+AUX 010-linux56.patch 1686 BLAKE2B 9365929984459764d01b77c86d81e9189f56f2cd2d7778f48fac78d7f9bb2c6c3bc23ca6b057fb3dbc8daefd9991827096923c3924fa90bc5300e94161623c60 SHA512 2949045cd3d34f180fd4513a95cd66ce8c1e057b722982237790d0c7c201ec6b236dc6c4e95f4d4972e5643a05fe82c62681f455fc2d1cb094986ba8434926e3
+AUX 011-linux59.patch 5146 BLAKE2B 0f9b96d618bea41cbe7111062542dbd32a074bb8c570cab1289fab62085d1f28c6c93b4939be6d6120b9c121ecaa975aff56b8d3a5d6e16c8c251121e72c0659 SHA512 a4d5545af37b655489d31802b56c9f22767cc1798fcd53b224bda0bf750e2317c8355baf27f1161cdc290db21a3f60beb82745393f6baa0a5baf888c2f49d2c5
+AUX 012-linux517.patch 2601 BLAKE2B dcea7ea4b6749cd0a6306be6906c61052eaa645086c6fe75862b714f3c3195972c70bffec871435072c3912a6997d3144977c421965b267ac05b8814dc344fa6 SHA512 e95f8558d4a6cf13994c1172c704e44bf1bc2dccebf5427c210b98999f5ab027f5907957e714bc4da2914323580bbb7595b14a742712faee2836f2c1ad573ede
+AUX 013-linux518.patch 2204 BLAKE2B 78d610e50b11a320a17dd2f38ab3e190623ca1c6c12cddc6c35718ae911454f0b4c61baec6541448519caf5f6f5515d429a5999fc0cc1e55e88df7036468cb04 SHA512 8e345dc798033bf1d993024587c71951c483176c8830605c823ed5b1db1e3c0d9461fc3615095511645de20053122284fd735f97eb648cc488a62b5685acbc59
+AUX 014-linux414.patch 748 BLAKE2B 463464cd9fa94562773521207b5a8100b66359d1a00526df57978a9c09b66d09dbe7027c2ca5c775ef78f7463699c6e59a2a5a3ae7971b8d0a1df4d71bb57a58 SHA512 3f585962e6cac1650c9eff2bfe4e1c51efa23a18aa0f19d007244c1254d18b320f6f3fe42b6b3b2ee5ab9f166c352faa65980e61f22a2e26bc92bdd25d763585
+AUX 015-linux600.patch 1078 BLAKE2B 1c8e5d72f3333285ccdbfa3bc84be280274c94521f2958a26b77f642e0093a55ed581d6cffd4647b476bbbfa5a74e272abece0a68be3fccaafde58d21f264833 SHA512 db47fa36cd7d8ba6ce034efc6cf60fd4c6d38d6335099a8b8a02cb354e5c0244c65a62529baf16468527e1047827612807a404ae7a03ac15cfe3a0bd9d5bfe91
+AUX 016-linux601.patch 4159 BLAKE2B 20ae46a34a42b2c93ecc73f4c4d3efdadf3150cd5b039c92b8ced62804dfb5f6dcd59b4599c06770b2b6fc801049085ebaac3f2c0d0c8be5c014deea7d662e7c SHA512 5de9714c279d0ee7d7cfbee59c7842f587c3b37ba292e15eb6a8b331f1fa609fa9aea01968a1995a90f9d924a0862a3601611ca8af0819840628944835c0204e
+AUX 017-handle-new-header-name-6.12.patch 909 BLAKE2B a1910049f7d9d976b05284fdee0f92d5c8ddd131f637652bc57c692b4eb5e35bef98f9f14cc27b3cd7b2bb9e179ca56c5fb86974d83f43efc81ec55cef1c0351 SHA512 5c649993d108593e3bfa278dae10bee8b4b0c2377469c716d8c315e74b623619b6e0b81fdaff3b33fa0a6ef7fdf0e1462b894152f49b888816ff42634f1f4779
+AUX 018-broadcom-wl-fix-linux-6.13.patch 978 BLAKE2B 72197f3ef943324d35ddeba243c5779b278ed9d844d6351a8b2a292bfe02dd1f790dd62646c03315747e0545185a4dc1a59c8b72f0a818398aa92a1a0d939e86 SHA512 1a676c4f646845bf104506c8ac88c31c4de138b81999ff0347cad3c48bb2fcb1a37ea2339f433bd55ba2bdf1dbdaf7f63c0ef7a8b7a4484784234374634b1592
+AUX 019-broadcom-wl-fix-linux-6.14.patch 1810 BLAKE2B 03533c2de71c0f4b8d827af6f799b50359ec673c8adcaa53d8b4c159c63000d4016209c7b08ef41f1c09bd0cbf55e7727e07be43e4e49fab4141dbaf227b9d8e SHA512 de37991b61884379fb3edbf55e798fa4751f7b6b2e9eabdcbe2a099401ec17ad079aeaa269ae0ec4b5fd30d1d160bb4856334a7516a2e293d03caa81ac82708a
AUX broadcom-sta-modules.conf 335 BLAKE2B 25faab24a10f9a20b2178ac18e832e09a8a664e36d3eb794d4bf09db0ae7e0220105908d128523edb1bd218b8f090b9056700de93cf8a7eac7ac70f3f6dc575f SHA512 c882b853948e695b35f9c8d366d992ae73efa7aefd1c167ad36cd8e83edc5988e4b0caf36046d88481051a00e3c88bd42d4e83d88e36910f3c62d725e063af27
DIST README-broadcom-sta-6.30.223.271.txt 17216 BLAKE2B af6db6e129911d1589d7d6cb7166bee32ce1ca98a4e5c9b3515a44e48681d8a7a7a6b697419b2bcd9c46f0f4ca1f7ece632b63531b4a4ecd91df4f9dddf043c9 SHA512 672ecc5afcd8535a9f8beb4baea5a40c584b7682844e9ff0e4f66b7406b42118a99dce1fcd580118187fdc506781334b8243082def2b78dce916d90c55ab3663
DIST hybrid-v35-nodebug-pcoem-6_30_223_271.tar.gz 2869247 BLAKE2B 2e3189c468cec50b1a980452a4b2bd0f9657d9adf6fae2a95a8b1c2d1df2f5f6beb4cb903f72f444eddf823fe4375299864cd62191c9d59c4f77598b5d3aa246 SHA512 0361ba30d97bcb1dedf46c11ef1b9a16f09cde3faa6be87b3ccc28679f34183c2fdf511e7c3b5c26b304f6961da454ccf71844b92bbb2f25aa876249496a2f1b
DIST hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz 2928541 BLAKE2B e9d01c1a1a63c07f720e3ee53ee3ef634ab12694135300cb0ce47ade0e9e0084967a0b6df64d983e8184240eb3defb128f650bddb7727e901d50315307f3398a SHA512 6855781f7c69a9aecb9461932423688964879d5a4df571f01ae7adaa7bf21a410bef839605d555afb6c8f4eec92fe8510af6cb120930095617ff6cdcccedaf17
-EBUILD broadcom-sta-6.30.223.271-r7.ebuild 3769 BLAKE2B 9334cc504b4e48211b7029842511b94685297edf10faa159a65ef68d86986a3c3e73d3b74b6dabfc347356c6e2e53208bdb042f706c13d6332383f5051b5c062 SHA512 8fc1532c434d42f4a8f07dd47cac429201e69346c3fc514f8851357761095983eea4c57316901e114734c017140f10426c4bc20a050f77271e9ca442f99ed8cc
+EBUILD broadcom-sta-6.30.223.271-r8.ebuild 4063 BLAKE2B 509aa1bf12f5a42ec2e3144f26c545ff439f3c9001f9207d55c62e5fc66709d7635679faf2939de2f49f89ceaf36079ac539dbb54f4909c57c0a6a28670157b4 SHA512 4a8e21d9b66690479a6fd0bc65c4811be412c635d6ed90481c2f0a18b84c17ab576458c8780366ba09d6330f45c1e314fee22694091d9e9ffc8e9956e1486f5f
MISC metadata.xml 250 BLAKE2B 3418f6ba3586bffc26461ed5b80518671c845466e4f0ceb2468b5f9a12efa0ee7bee2dedd74908c11bcdd7bc92fbf3c018f18e011c2cb9c319945e185147233f SHA512 b0ea50f3526de06f698a5914ba34edeb1df5f04ab23f457e63685875f938b4dc70b8602266a90f7d07e9e2ebe547b37ff5b577eebb08256d5606046438582032
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r7.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r8.ebuild
index efe1beb913de..e8bf4205ee86 100644
--- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r7.ebuild
+++ b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r8.ebuild
@@ -1,26 +1,28 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
+
inherit linux-mod-r1
DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
HOMEPAGE="https://www.broadcom.com/support/802.11"
SRC_BASE="https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/hybrid-v35"
-SRC_URI="x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
+SRC_URI="
+ x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )
- https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/README_${PV}.txt -> README-${P}.txt"
+ https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/README_${PV}.txt -> README-${P}.txt
+"
+S="${WORKDIR}"
LICENSE="Broadcom"
SLOT="0"
+
KEYWORDS="-* ~amd64 ~x86"
RESTRICT="mirror"
DEPEND="virtual/linux-sources"
-RDEPEND=""
-
-S="${WORKDIR}"
PATCHES=(
"${FILESDIR}/001-null-pointer-fix.patch"
@@ -39,6 +41,9 @@ PATCHES=(
"${FILESDIR}/014-linux414.patch"
"${FILESDIR}/015-linux600.patch"
"${FILESDIR}/016-linux601.patch"
+ "${FILESDIR}/017-handle-new-header-name-6.12.patch"
+ "${FILESDIR}/018-broadcom-wl-fix-linux-6.13.patch"
+ "${FILESDIR}/019-broadcom-wl-fix-linux-6.14.patch"
)
pkg_pretend() {
@@ -62,6 +67,7 @@ pkg_setup() {
# b43 via udev rules. Moreover, previous fix broke binpkgs support.
CONFIG_CHECK="~!B43 ~!BCMA ~!SSB ~!X86_INTEL_LPSS"
CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
+ CONFIG_CHECK3="~!MAC80211"
ERROR_B43="B43: If you insist on building this, you must blacklist it!"
ERROR_BCMA="BCMA: If you insist on building this, you must blacklist it!"
ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
@@ -70,7 +76,9 @@ pkg_setup() {
ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
ERROR_X86_INTEL_LPSS="X86_INTEL_LPSS: Please disable it. The module does not work with it enabled."
- if kernel_is ge 3 8 8; then
+ if kernel_is ge 6 1 127; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK3} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"
+ elif kernel_is ge 3 8 8; then
CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"
elif kernel_is ge 2 6 32; then
CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
diff --git a/net-wireless/broadcom-sta/files/001-null-pointer-fix.patch b/net-wireless/broadcom-sta/files/001-null-pointer-fix.patch
index 0ebe1e242243..6b1bb33180ff 100644
--- a/net-wireless/broadcom-sta/files/001-null-pointer-fix.patch
+++ b/net-wireless/broadcom-sta/files/001-null-pointer-fix.patch
@@ -4,12 +4,6 @@ Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=773713
Bug-Ubuntu: https://launchpad.net/bugs/1415880
Last-Update: 2015-08-18
----
- src/wl/sys/wl_linux.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
-index 860b935..295156f 100644
--- a/src/wl/sys/wl_linux.c
+++ b/src/wl/sys/wl_linux.c
@@ -2157,8 +2157,8 @@ wl_start(struct sk_buff *skb, struct net_device *dev)
@@ -25,8 +19,8 @@ index 860b935..295156f 100644
--
1.9.1
---- a/src/wl/sys/wl_linux.a 2023-04-16 23:06:52.255588442 -0500
-+++ b/src/wl/sys/wl_linux.c 2023-04-16 23:07:22.315309655 -0500
+--- a/src/wl/sys/wl_linux.a
++++ b/src/wl/sys/wl_linux.c
@@ -737,9 +737,6 @@
dev->name, device,
WL_ALL_PASSIVE_ENAB(wl) ? ", Passive Mode" : "", EPI_VERSION_STR);
diff --git a/net-wireless/broadcom-sta/files/002-rdtscl.patch b/net-wireless/broadcom-sta/files/002-rdtscl.patch
index 1b9862cc3d8d..8612895d7082 100644
--- a/net-wireless/broadcom-sta/files/002-rdtscl.patch
+++ b/net-wireless/broadcom-sta/files/002-rdtscl.patch
@@ -5,9 +5,8 @@ new function. References:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=fe47ae6e1a5005b2e82f7eab57b5c3820453293a
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=4ea1636b04dbd66536fa387bae2eea463efc705b
-diff -ru a/src/shared/linux_osl.c b/src/shared/linux_osl.c
---- a/src/shared/linux_osl.c 2015-09-19 01:47:15.000000000 +0300
-+++ b/src/shared/linux_osl.c 2015-11-21 15:20:30.585902518 +0200
+--- a/src/shared/linux_osl.c
++++ b/src/shared/linux_osl.c
@@ -932,7 +932,11 @@
uint cycles;
diff --git a/net-wireless/broadcom-sta/files/003-linux47.patch b/net-wireless/broadcom-sta/files/003-linux47.patch
index 566680a09140..3ad02380ebdb 100644
--- a/net-wireless/broadcom-sta/files/003-linux47.patch
+++ b/net-wireless/broadcom-sta/files/003-linux47.patch
@@ -9,8 +9,8 @@ This patch refactors the references of IEEE80211_BAND_* to NL80211_BAND_*
Reference:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=57fbcce37be7c1d2622b56587c10ade00e96afa3
---- a/src/wl/sys/wl_cfg80211_hybrid.c 2016-06-13 11:57:36.159340297 -0500
-+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2016-06-13 11:58:18.442323435 -0500
+--- a/src/wl/sys/wl_cfg80211_hybrid.c
++++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -236,7 +236,7 @@
#endif
diff --git a/net-wireless/broadcom-sta/files/004-linux48.patch b/net-wireless/broadcom-sta/files/004-linux48.patch
index 20e8a9ae49d2..10315f7f2326 100644
--- a/net-wireless/broadcom-sta/files/004-linux48.patch
+++ b/net-wireless/broadcom-sta/files/004-linux48.patch
@@ -4,12 +4,6 @@ Date: Fri, 2 Sep 2016 17:35:34 +0200
Subject: [PATCH 1/1] Add support for Linux 4.8
Orginal author: Krzysztof Kolasa
----
- src/wl/sys/wl_cfg80211_hybrid.c | 22 ++++++++++++++++++++++
- 1 file changed, 22 insertions(+)
-
-diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
-index 2fc71fe..ec5e472 100644
--- a/src/wl/sys/wl_cfg80211_hybrid.c
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -2388,8 +2388,16 @@ wl_bss_connect_done(struct wl_cfg80211_priv *wl, struct net_device *ndev,
diff --git a/net-wireless/broadcom-sta/files/006-linux411.patch b/net-wireless/broadcom-sta/files/006-linux411.patch
index 7a2e8c0c6cb0..87715a9c8e2a 100644
--- a/net-wireless/broadcom-sta/files/006-linux411.patch
+++ b/net-wireless/broadcom-sta/files/006-linux411.patch
@@ -1,4 +1,3 @@
-diff -u sys0/wl_cfg80211_hybrid.c sys/wl_cfg80211_hybrid.c
--- a/src/wl/sys/wl_cfg80211_hybrid.c
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -39,6 +39,10 @@
@@ -12,7 +11,6 @@ diff -u sys0/wl_cfg80211_hybrid.c sys/wl_cfg80211_hybrid.c
#define EVENT_TYPE(e) dtoh32((e)->event_type)
#define EVENT_FLAGS(e) dtoh16((e)->flags)
#define EVENT_STATUS(e) dtoh32((e)->status)
-diff -u sys0/wl_linux.c sys/wl_linux.c
--- a/src/wl/sys/wl_linux.c
+++ b/src/wl/sys/wl_linux.c
@@ -2915,7 +2915,9 @@
diff --git a/net-wireless/broadcom-sta/files/007-linux412.patch b/net-wireless/broadcom-sta/files/007-linux412.patch
index 1673f063cdb5..8fb62bdfde5f 100644
--- a/net-wireless/broadcom-sta/files/007-linux412.patch
+++ b/net-wireless/broadcom-sta/files/007-linux412.patch
@@ -5,12 +5,6 @@ Subject: [PATCH] Apply patch from Debian bug #867258
Compile fix with kernel 4.12
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=867258
----
- src/wl/sys/wl_cfg80211_hybrid.c | 29 +++++++++++++++++++++++++----
- 1 file changed, 25 insertions(+), 4 deletions(-)
-
-diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
-index c46944a..1a9840a 100644
--- a/src/wl/sys/wl_cfg80211_hybrid.c
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -53,7 +53,11 @@ u32 wl_dbg_level = WL_DBG_ERR;
diff --git a/net-wireless/broadcom-sta/files/008-linux415.patch b/net-wireless/broadcom-sta/files/008-linux415.patch
index 1bced2f68ab1..fbaa08bc7057 100644
--- a/net-wireless/broadcom-sta/files/008-linux415.patch
+++ b/net-wireless/broadcom-sta/files/008-linux415.patch
@@ -1,5 +1,5 @@
---- a/src/wl/sys/wl_linux.c 2017-07-17 00:11:24.000000000 +0100
-+++ b/src/wl/sys/wl_linux.c 2018-01-27 09:49:47.057799596 +0000
+--- a/src/wl/sys/wl_linux.c
++++ b/src/wl/sys/wl_linux.c
@@ -93,7 +93,11 @@
#include <wlc_wowl.h>
diff --git a/net-wireless/broadcom-sta/files/009-fix_mac_profile_discrepancy.patch b/net-wireless/broadcom-sta/files/009-fix_mac_profile_discrepancy.patch
index 4260eba5057a..bcc6d50dc8ac 100644
--- a/net-wireless/broadcom-sta/files/009-fix_mac_profile_discrepancy.patch
+++ b/net-wireless/broadcom-sta/files/009-fix_mac_profile_discrepancy.patch
@@ -1,5 +1,5 @@
---- a/src/wl/sys/wl_cfg80211_hybrid.c 2015-09-19 00:47:30.000000000 +0200
-+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2018-11-14 14:06:03.313487995 +0100
+--- a/src/wl/sys/wl_cfg80211_hybrid.c
++++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -1444,11 +1444,10 @@
s32 rate;
s32 err = 0;
diff --git a/net-wireless/broadcom-sta/files/010-linux56.patch b/net-wireless/broadcom-sta/files/010-linux56.patch
index f8d5783819cd..4cee72e9081d 100644
--- a/net-wireless/broadcom-sta/files/010-linux56.patch
+++ b/net-wireless/broadcom-sta/files/010-linux56.patch
@@ -1,5 +1,3 @@
-diff --git a/src/shared/linux_osl.c b/src/shared/linux_osl.c
-index 6157d18..8237ec7 100644
--- a/src/shared/linux_osl.c
+++ b/src/shared/linux_osl.c
@@ -942,7 +942,7 @@ osl_getcycles(void)
@@ -11,8 +9,6 @@ index 6157d18..8237ec7 100644
}
void
-diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
-index 0d05100..2ed1f0d 100644
--- a/src/wl/sys/wl_linux.c
+++ b/src/wl/sys/wl_linux.c
@@ -582,7 +582,7 @@ wl_attach(uint16 vendor, uint16 device, ulong regs,
diff --git a/net-wireless/broadcom-sta/files/011-linux59.patch b/net-wireless/broadcom-sta/files/011-linux59.patch
index 6ef476464c0c..9494ed6f1f50 100644
--- a/net-wireless/broadcom-sta/files/011-linux59.patch
+++ b/net-wireless/broadcom-sta/files/011-linux59.patch
@@ -15,16 +15,6 @@ See also: https://lwn.net/Articles/722267/
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5e6e9852d6f76e01b2e6803c74258afa5b432bc5
Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
----
- src/wl/sys/wl_cfg80211_hybrid.c | 25 ++-------------------
- src/wl/sys/wl_iw.c | 25 ++-------------------
- src/wl/sys/wl_linux.c | 40 ++++++++++++++++++++++++++++-----
- src/wl/sys/wl_linux.h | 2 ++
- src/wl/sys/wlc_pub.h | 1 +
- 5 files changed, 42 insertions(+), 51 deletions(-)
-
-diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
-index 7b606e0..1e0adb7 100644
--- a/src/wl/sys/wl_cfg80211_hybrid.c
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -38,6 +38,7 @@
@@ -67,8 +57,6 @@ index 7b606e0..1e0adb7 100644
}
static s32
-diff --git a/src/wl/sys/wl_iw.c b/src/wl/sys/wl_iw.c
-index c4c610b..e346b15 100644
--- a/src/wl/sys/wl_iw.c
+++ b/src/wl/sys/wl_iw.c
@@ -37,6 +37,7 @@ typedef const struct si_pub si_t;
@@ -110,8 +98,6 @@ index c4c610b..e346b15 100644
}
static int
-diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
-index 947cef3..f04c148 100644
--- a/src/wl/sys/wl_linux.c
+++ b/src/wl/sys/wl_linux.c
@@ -1643,10 +1643,7 @@ wl_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
@@ -175,8 +161,6 @@ index 947cef3..f04c148 100644
static struct net_device_stats*
wl_get_stats(struct net_device *dev)
{
-diff --git a/src/wl/sys/wl_linux.h b/src/wl/sys/wl_linux.h
-index 5b1048e..c8c1f41 100644
--- a/src/wl/sys/wl_linux.h
+++ b/src/wl/sys/wl_linux.h
@@ -22,6 +22,7 @@
@@ -195,8 +179,6 @@ index 5b1048e..c8c1f41 100644
extern struct net_device * wl_netdev_get(wl_info_t *wl);
#endif
-diff --git a/src/wl/sys/wlc_pub.h b/src/wl/sys/wlc_pub.h
-index 53a98b8..2b5a029 100644
--- a/src/wl/sys/wlc_pub.h
+++ b/src/wl/sys/wlc_pub.h
@@ -24,6 +24,7 @@
diff --git a/net-wireless/broadcom-sta/files/012-linux517.patch b/net-wireless/broadcom-sta/files/012-linux517.patch
index 6f23316691c8..9bc7a11d79cc 100644
--- a/net-wireless/broadcom-sta/files/012-linux517.patch
+++ b/net-wireless/broadcom-sta/files/012-linux517.patch
@@ -16,12 +16,6 @@ Applies on top of all the patches applied to broadcom-wl-dkms 6.30.223.271-28 on
See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=adeef3e32146a8d2a73c399dc6f5d76a449131b1
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=359745d78351c6f5442435f81549f0207ece28aa
----
- src/wl/sys/wl_linux.c | 16 +++++++++++++---
- 1 file changed, 13 insertions(+), 3 deletions(-)
-
-diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
-index e491df7..e4614fb 100644
--- a/src/wl/sys/wl_linux.c
+++ b/src/wl/sys/wl_linux.c
@@ -93,6 +93,10 @@ struct iw_statistics *wl_get_wireless_stats(struct net_device *dev);
diff --git a/net-wireless/broadcom-sta/files/013-linux518.patch b/net-wireless/broadcom-sta/files/013-linux518.patch
index d837429a6899..dbac7f85c9ad 100644
--- a/net-wireless/broadcom-sta/files/013-linux518.patch
+++ b/net-wireless/broadcom-sta/files/013-linux518.patch
@@ -1,6 +1,5 @@
-diff -u -r a/src/shared/linux_osl.c b/src/shared/linux_osl.c
---- a/src/shared/linux_osl.c 2022-05-24 20:51:15.662604980 +0000
-+++ b/src/shared/linux_osl.c 2022-05-24 21:13:38.264472425 +0000
+--- a/src/shared/linux_osl.c
++++ b/src/shared/linux_osl.c
@@ -599,6 +599,8 @@
va = kmalloc(size, GFP_ATOMIC | __GFP_ZERO);
if (va)
diff --git a/net-wireless/broadcom-sta/files/014-linux414.patch b/net-wireless/broadcom-sta/files/014-linux414.patch
index 0576aa5cf97c..256a4d90216b 100644
--- a/net-wireless/broadcom-sta/files/014-linux414.patch
+++ b/net-wireless/broadcom-sta/files/014-linux414.patch
@@ -4,12 +4,6 @@ Subject: linux414
Origin: https://bugs.debian.org/885885
linux 4.14 changed the kernel_read function prototype.
----
- src/shared/linux_osl.c | 12 +++++++++++-
- 1 files changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/src/shared/linux_osl.c b/src/shared/linux_osl.c
-index 9adc392..b24a973 100644
--- a/src/shared/linux_osl.c
+++ b/src/shared/linux_osl.c
@@ -1076,11 +1076,21 @@ osl_os_get_image_block(char *buf, int len, void *image)
diff --git a/net-wireless/broadcom-sta/files/015-linux600.patch b/net-wireless/broadcom-sta/files/015-linux600.patch
index 8645907bbae4..2b02046cb328 100644
--- a/net-wireless/broadcom-sta/files/015-linux600.patch
+++ b/net-wireless/broadcom-sta/files/015-linux600.patch
@@ -9,12 +9,6 @@ See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/com
Original patch by Joan Bruguera:
https://gist.github.com/joanbm/207210d74637870c01ef5a3c262a597d
----
- src/wl/sys/wl_cfg80211_hybrid.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
-index 5e9e6d3..5ec35c5 100644
--- a/src/wl/sys/wl_cfg80211_hybrid.c
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -2412,7 +2412,11 @@ wl_bss_roaming_done(struct wl_cfg80211_priv *wl, struct net_device *ndev,
diff --git a/net-wireless/broadcom-sta/files/016-linux601.patch b/net-wireless/broadcom-sta/files/016-linux601.patch
index 721967d275c2..e099b789bd6c 100644
--- a/net-wireless/broadcom-sta/files/016-linux601.patch
+++ b/net-wireless/broadcom-sta/files/016-linux601.patch
@@ -1,6 +1,5 @@
-diff -Nurp -u -r a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
---- a/src/wl/sys/wl_cfg80211_hybrid.c 2022-12-12 00:23:30.821615599 +0000
-+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2022-12-12 00:35:47.854975024 +0000
+--- a/src/wl/sys/wl_cfg80211_hybrid.c
++++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -105,14 +105,28 @@ static s32 wl_cfg80211_get_tx_power(stru
static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, s32 *dbm);
#endif
diff --git a/net-wireless/broadcom-sta/files/017-handle-new-header-name-6.12.patch b/net-wireless/broadcom-sta/files/017-handle-new-header-name-6.12.patch
new file mode 100644
index 000000000000..f9906f16aeb0
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/017-handle-new-header-name-6.12.patch
@@ -0,0 +1,33 @@
+https://bugs.gentoo.org/947928
+
+Adds support for the new name of the asm/unaligned.h header file for kernels >=6.12.0 (header file was renamed to "linux/unaligned.h")
+Bug found by Sam Petch
+Patch by Sam Petch
+
+TESTING DETAILS:
+
+Bugfix tested by Sam Petch on kernels: gentoo-sources:6.6.67, gentoo-sources:6.12.4-r1, gentoo-sources:6.12.9
+
+Patch tested on kernels: gentoo-sources:6.6.67, gentoo-sources:6.12.9
+
+Bugfix and patch tested on device: 2012 Macbook Pro (A1278) running Gentoo Linux with Gnome Desktop / OpenRC profile
+
+Chipset: BCM4331 (Broadcom)
+
+Contact: sam.petch.recall824@passinbox.com
+
+--- a/src/wl/sys/wl_linux.c
++++ b/src/wl/sys/wl_linux.c
+@@ -56,7 +56,12 @@
+ #include <asm/irq.h>
+ #include <asm/pgtable.h>
+ #include <asm/uaccess.h>
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 12, 0)
++#include <linux/unaligned.h>
++#else
+ #include <asm/unaligned.h>
++#endif
+
+ #include <proto/802.1d.h>
+
diff --git a/net-wireless/broadcom-sta/files/018-broadcom-wl-fix-linux-6.13.patch b/net-wireless/broadcom-sta/files/018-broadcom-wl-fix-linux-6.13.patch
new file mode 100644
index 000000000000..940eb7978c53
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/018-broadcom-wl-fix-linux-6.13.patch
@@ -0,0 +1,27 @@
+From https://gist.github.com/joanbm/72189c81ff67b39d36a660cf00483ccb
+From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= <joanbrugueram@gmail.com>
+Date: Sat, 12 Oct 2024 11:54:40 +0000
+Subject: [PATCH] Tentative patch for broadcom-wl 6.30.223.271 driver for Linux
+ 6.13-rc1
+
+The net/lib80211.h header has been removed by commit
+"wifi: ipw2x00/lib80211: move remaining lib80211 into libipw"
+(Johannes Berg, 7 Oct 2024).
+The header does not appear to be actually used anywhere, so remove it.
+
+ #include <asm/irq.h>
+ #include <asm/pgtable.h>
+--- a/src/include/linuxver.h
++++ b/src/include/linuxver.h
+@@ -147,7 +147,7 @@ typedef irqreturn_t(*FN_ISR) (int irq, void *dev_id, struct pt_regs *ptregs);
+ #include <linux/sched.h>
+ #endif
+
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) && LINUX_VERSION_CODE < KERNEL_VERSION(6, 13, 0)
+ #include <net/lib80211.h>
+ #endif
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
+--
+2.47.0
+
diff --git a/net-wireless/broadcom-sta/files/019-broadcom-wl-fix-linux-6.14.patch b/net-wireless/broadcom-sta/files/019-broadcom-wl-fix-linux-6.14.patch
new file mode 100644
index 000000000000..a431b8f060d8
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/019-broadcom-wl-fix-linux-6.14.patch
@@ -0,0 +1,40 @@
+From https://gist.github.com/joanbm/b711bafdcb065d57364a701061b902a3
+From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= <joanbrugueram@gmail.com>
+Date: Sun, 8 Dec 2024 17:57:43 +0000
+Subject: [PATCH] Tentative fix for broadcom-wl 6.30.223.271 driver for Linux
+ 6.14-rc1
+
+Related to the new parameter for get_tx_power introduced in
+"wifi: cfg80211: send MLO links tx power info in GET_INTERFACE"
+(Rameshkumar Sundaram, 25 Nov 2024).
+
+As the driver doesn't support Multi-Link, we just ignore it afterwards.
+--- a/src/wl/sys/wl_cfg80211_hybrid.c
++++ b/src/wl/sys/wl_cfg80211_hybrid.c
+@@ -99,7 +99,10 @@ static s32 wl_cfg80211_set_tx_power(struct wiphy *wiphy,
+ enum tx_power_setting type, s32 dbm);
+ #endif
+
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 14, 0)
++static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev,
++ unsigned int link_id, s32 *dbm);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
+ static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, s32 *dbm);
+ #else
+ static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, s32 *dbm);
+@@ -1152,7 +1155,10 @@ wl_cfg80211_set_tx_power(struct wiphy *wiphy, enum tx_power_setting type, s32 db
+ return err;
+ }
+
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 14, 0)
++static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev,
++ unsigned int link_id, s32 *dbm)
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
+ static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, s32 *dbm)
+ #else
+ static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, s32 *dbm)
+--
+2.48.1
+
diff --git a/net-wireless/dump1090/Manifest b/net-wireless/dump1090/Manifest
index 2ee0b1a0e254..29aa4801086a 100644
--- a/net-wireless/dump1090/Manifest
+++ b/net-wireless/dump1090/Manifest
@@ -3,12 +3,15 @@ AUX dump1090-5.0-further-32bit-fix.patch 1742 BLAKE2B 2cc502d6a88f4dd79a70efca53
AUX dump1090-5.0.confd 927 BLAKE2B 144a8c2f51ba714b7c41a50ae58e893c1cfa2e9494a962c9033201c09fc889411b4b868b16934521709fe7402e593767be77ad6c43c0a4b4a9fba8b231756f58 SHA512 930267650aedb8012c2a92c1555d318789cf29ab42568109a9935a7d83a13fba4482cffff91b27062f74d9fde514e95060e0a53cb9438d39ede292ea9ca15b90
AUX dump1090-5.0.initd 372 BLAKE2B f4e1ca0db565f56c104401b221af77966f499ad00f1fba5c804ee529fbc61fd75149c3d2d503d4a5e119784fcc10998ebbbad80cb09c1a27dba804a0d8a86c24 SHA512 0f9717d3f161658aefcd29f135bd3401bb539a0e83f40fdacf7326b48a96782d211dde1fc9237a822ee3d09a8b5b17ab22da63f6e93aceb526ff22c02eaa300e
AUX dump1090-6.1-libdir.patch 586 BLAKE2B 20d358289b55e9f1ae11904b74035b8f1ba61061c741e7b71bf449350b255a630c1468b604f1ac98e02632346f26c5f8d7f34a00765e1b1a73dd232ab0a39e6d SHA512 470d8840b3da26f2bbb8be24f36ba17457a28d9b63080ea1483693b78e86ca38f69687a45209baf6767bac1e206bf62bd392024e9963926d4044fcf88e1fc5c6
+AUX dump1090-9.0-gcc14.patch 779 BLAKE2B 9e37dd486892990a0373e064b51ee08cb410ace7a988e9eb7a21c76440d4de0433c88c67445bbc0d8d799c8b70cdc76c33884ed00505756a7a2a3d99badeb213 SHA512 54970b9e25dc6963e81d1309f5f45abefbe875eb8be54ff3b825fcfd44121368525c57409207258d5af7f97454a888f875dc1dc6f1e6f5fdd33b70a7bd0bc963
AUX tmpfilesd-dump1090-5.0.conf 212 BLAKE2B 081b8340377a40adbb3a9dfa87ede06729979ad50a138cb3caf6b0dac55203222df6c71714103c096b6fbdcd2b115dd2c40bd767b7e5ff1dd0360addc021882a SHA512 d44170620addbc3590d524ae540c38be31115d22f69fd55a075877ab482c0bbcdfe86e2eac3c3007c5476408c18623a0e179fadd2247beab01d1df296d7467b6
DIST dump1090-4.0.tar.gz 6663754 BLAKE2B bf0a6c8dfd8b2da5ed0e7ae5f7b862c57a54e5d48bc24b29e42ebffec4e0606604fbe4b8502e85df60a3a618568bf9e2eba88e5ad2fdec7fb93043b823435362 SHA512 97dc872e4d0ac8df2f46e17b590e970a62a78baf81e18a9beeb23d37a4401a2e52591ca96cc01e1465b22aa234cf9e88f84a7b0f27d0144b3afeac62f6252c95
DIST dump1090-5.0.tar.gz 10124422 BLAKE2B d6b26a444f73cccd002558b6863431537078e1fe9f61e4e240d4a5f06181b9ff713387aad623c2ee8257c2568bd4dd373746606c356ac3ff0f27f411d4949997 SHA512 1104982308db788993bf5dc130a5ca369c8bfaaae56cd5a435bbd22ed99b0633594789334d7f256bad2b288c4906923baf8bc73e2f7b7f9f52f7068b9b519142
DIST dump1090-6.1.tar.gz 9879362 BLAKE2B 716c1abe6df7958fb5ec94c35ed6af75fdb6180a56cdfba72443a7b34d1614cede6ec29aaac22a1e15f31d05bf1d1971eebccdff21cf9442ae69617e7c535ae6 SHA512 5f20d52f1fda754e33774faab852252d802ae5da8694e768cbf92df56f7693cd2da788df9e0a422f1801603e62498fb0af0143f5ea3292e9d607296cd5983dc2
+DIST dump1090-9.0.tar.gz 5743616 BLAKE2B 3276075d441f7d410b63fc08b702102637b3c95b0ec5ed3dbd1ea93ecd6af1e322929842db398a23e9e2bca690e601e8bb1916b9998fce1cc80194ca83484dbf SHA512 07408c5680e626eccd3f74d35a6e8a7538dfffd31675f036580003dbba2a78f2487e1980d72d3ec7e44d3f94880e3f231ab1c97bd99ba1ca6cdcfa0ebf198aff
EBUILD dump1090-4.0.ebuild 1250 BLAKE2B acd1dc457eced589b99528333cdbfa5bb0c29bacac3cb0eb18c6daaa902f3c5f498c7c6a6810c83f92155b87f6e3511fd87d1dff51fb46e462b48af47fa66948 SHA512 27c238ddb2d0d2223f1cbc286c0bf6860706d6ef6c76902af25c3c542deb6382ac71c5ab2f9b8576b2d0906633bd1acb72b6ba870f8cb62b9b353d96818cc5d9
EBUILD dump1090-5.0.ebuild 2626 BLAKE2B dececa48e1b48005a4855cd056977490a1e0d6bdc412463b777ad006e3c96f74648e17362801b74ee9b751e38d58ff184390bd3c1142f8699b909677fc25c73d SHA512 36765019ee228703a9fc6798323323cf685a5647c8bac66557e095203b7e3ea3042ef8e7ee62f0d8897a53d09e5f90120a4a642ed4a2c0fb1e6b434a4dd513c1
EBUILD dump1090-6.1.ebuild 2584 BLAKE2B 280a8fe7401ad4d049970e1c62cf012e9adf91594c87b3f751b71074d65860b293dcda6415d64e83036c8335ac63f710f7a4f3637d3c2809c8a782e9f36bff48 SHA512 b13fa3e352ff4a4a859ae0ef8ace3597f72902a53752f9a69ad932f44289c30a66b2a6b366194a2110902aa70e26909ebe33bc0afc417750165c8a686b3cc37d
-EBUILD dump1090-9999.ebuild 2535 BLAKE2B 5560a564b3dbf4e3d89441afa783aa9f00e463dc68e11a3f6036ee18e81844477f3aaa79330ac61da5c381f81f355bd67e90e4b70e2fa987eb52d317ce555cd4 SHA512 e4f883236856a078c28fadddab095a2da894ad165ff0a200fdefd94b33dc3b1d54c0afc8942ae36fdfb1683e48ff977cc1fc0b8dd03703be8ec6d069abc49743
-MISC metadata.xml 658 BLAKE2B 6dd0aec90915a420b69849188a8b29211db8cad5824442d4c1d1c07cf1bd88c4d477a3fa35481b745c2dbfd7ea1c8459751cc2c037932430d230a6f24ccfbb64 SHA512 fb0c280c0bf81c614f91ff9a4dad532ac61db9419c48e335e86ed37a592183fd8181fe0f6ade7e165a16e734b1be50b05db57efc1f1b27c01ec38be68565a61d
+EBUILD dump1090-9.0.ebuild 2494 BLAKE2B 71461fe76e6cb02b0e2fd6fd947d2e552f6e5f593528022b5a3ab4a66bb487bba75a976d82c0aac4044af15aff6ce80cfadee5455f5706b35be364dba501aea6 SHA512 527df3ac55e4d0face363f0d8afc9c8e5a205c08082a0b2d014f0a5d81481b683f393d85afe675dac09646c93e0853a524376e01e603ede2220204e714da02ac
+EBUILD dump1090-9999.ebuild 2494 BLAKE2B 71461fe76e6cb02b0e2fd6fd947d2e552f6e5f593528022b5a3ab4a66bb487bba75a976d82c0aac4044af15aff6ce80cfadee5455f5706b35be364dba501aea6 SHA512 527df3ac55e4d0face363f0d8afc9c8e5a205c08082a0b2d014f0a5d81481b683f393d85afe675dac09646c93e0853a524376e01e603ede2220204e714da02ac
+MISC metadata.xml 770 BLAKE2B 1103e032746ddcf4246c232a9a4b5160a7939f1b15b8899c4c62bf1f0cebd19bc2d466971d41ea41d2cdafe48ac30b413d080fc37f68f70fa4567c6e0013e6f0 SHA512 055c05533ab883057a22113d861c236fe7f0bcfc28b90e1893638bdd5267575ef18fbaf509c85835f9ac0c686e239694563aa71bc07c2ae00fc12f64b7d5e567
diff --git a/net-wireless/dump1090/dump1090-9.0.ebuild b/net-wireless/dump1090/dump1090-9.0.ebuild
new file mode 100644
index 000000000000..b61294afb217
--- /dev/null
+++ b/net-wireless/dump1090/dump1090-9.0.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tmpfiles toolchain-funcs
+
+DESCRIPTION="Simple Mode S decoder for RTLSDR devices"
+HOMEPAGE="https://github.com/flightaware/dump1090"
+
+if [[ ${PV} == *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/flightaware/${PN}.git"
+else
+ KEYWORDS="~amd64 ~x86"
+ SRC_URI="https://github.com/flightaware/dump1090/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+LICENSE="BSD GPL-2+"
+SLOT="0"
+IUSE="bladerf hackrf minimal +rtlsdr"
+
+DEPEND="
+ sys-libs/ncurses:=[tinfo]
+ bladerf? (
+ net-wireless/bladerf:=
+ virtual/libusb:1
+ )
+ hackrf? (
+ net-libs/libhackrf:=
+ virtual/libusb:1
+ )
+ rtlsdr? (
+ net-wireless/rtl-sdr:=
+ virtual/libusb:1
+ )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.1-libdir.patch
+ "${FILESDIR}"/${PN}-9.0-gcc14.patch
+)
+
+src_prepare() {
+ default
+
+ sed \
+ -e '/CFLAGS/s# -O3 -g -Wall -Wmissing-declarations -Werror -W # #' \
+ -e "/LIBS_CURSES/s#-lncurses#$($(tc-getPKG_CONFIG) --libs ncurses)#" \
+ -i Makefile || die
+}
+
+src_compile() {
+ myemakeargs=(
+ BLADERF="$(usex bladerf)"
+ CC="$(tc-getCC)"
+ CPUFEATURES="yes"
+ HACKRF="$(usex hackrf)"
+ LIMESDR="no"
+ RTLSDR="$(usex rtlsdr)"
+ )
+
+ emake "${myemakeargs[@]}"
+}
+
+src_install() {
+ dobin dump1090 view1090
+
+ # DSP config files for bladeRF
+ if use bladerf; then
+ insinto usr/share/dump1090/bladerf
+ doins bladerf/*
+ fi
+
+ newtmpfiles "${FILESDIR}"/tmpfilesd-dump1090-5.0.conf dump1090.conf
+ newconfd "${FILESDIR}"/dump1090-5.0.confd dump1090
+ newinitd "${FILESDIR}"/dump1090-5.0.initd dump1090
+
+ einstalldocs
+
+ if use !minimal; then
+ # Install tools
+ insinto /usr/share/dump1090
+ doins -r tools
+
+ # Install lighthttps example files
+ insinto /usr/share/dump1090/lighttpd
+ doins debian/lighttpd/{88-dump1090-fa-statcache.conf,89-skyaware.conf}
+
+ # Some tooling expects the -fa variant directory to contain the files
+ dosym ../../usr/share/dump1090 /usr/share/dump1090-fa
+
+ # Install html docs
+ docinto html
+ doins -r public_html/*
+
+ # See README.md for how to use custom wisdom files
+ exeinto /usr/share/dump1090/wisdom
+ doexe debian/generate-wisdom
+ insinto /usr/share/dump1090/wisdom
+ doins wisdom.*
+ doins wisdom/wisdom.*
+
+ # For /etc/dump1090-fa/wisdom.local
+ keepdir /etc/dump1090-fa/
+
+ # Tooling to generate custom wisdom:
+ exeinto /usr/libexec/dump1090
+ doexe starch-benchmark
+ fi
+}
+
+pkg_postinst() {
+ tmpfiles_process dump1090.conf
+}
diff --git a/net-wireless/dump1090/dump1090-9999.ebuild b/net-wireless/dump1090/dump1090-9999.ebuild
index 04ee546dcf91..b61294afb217 100644
--- a/net-wireless/dump1090/dump1090-9999.ebuild
+++ b/net-wireless/dump1090/dump1090-9999.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit tmpfiles toolchain-funcs
-DESCRIPTION="simple Mode S decoder for RTLSDR devices"
+DESCRIPTION="Simple Mode S decoder for RTLSDR devices"
HOMEPAGE="https://github.com/flightaware/dump1090"
if [[ ${PV} == *9999 ]] ; then
@@ -16,84 +16,102 @@ else
SRC_URI="https://github.com/flightaware/dump1090/archive/v${PV}.tar.gz -> ${P}.tar.gz"
fi
-LICENSE="BSD"
+LICENSE="BSD GPL-2+"
SLOT="0"
-IUSE="bladerf hackrf +rtlsdr minimal"
+IUSE="bladerf hackrf minimal +rtlsdr"
DEPEND="
sys-libs/ncurses:=[tinfo]
- bladerf? ( net-wireless/bladerf:= virtual/libusb:1 )
- hackrf? ( net-libs/libhackrf:= virtual/libusb:1 )
- rtlsdr? ( net-wireless/rtl-sdr:= virtual/libusb:1 )"
+ bladerf? (
+ net-wireless/bladerf:=
+ virtual/libusb:1
+ )
+ hackrf? (
+ net-libs/libhackrf:=
+ virtual/libusb:1
+ )
+ rtlsdr? (
+ net-wireless/rtl-sdr:=
+ virtual/libusb:1
+ )
+"
RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.1-libdir.patch
+ "${FILESDIR}"/${PN}-9.0-gcc14.patch
+)
+
src_prepare() {
default
- sed -i -e '/CFLAGS/s# -O3 -g -Wall -Wmissing-declarations -Werror -W # #' Makefile || die
- sed -i -e "/LIBS_CURSES/s#-lncurses#$($(tc-getPKG_CONFIG) --libs ncurses)#" Makefile || die
+
+ sed \
+ -e '/CFLAGS/s# -O3 -g -Wall -Wmissing-declarations -Werror -W # #' \
+ -e "/LIBS_CURSES/s#-lncurses#$($(tc-getPKG_CONFIG) --libs ncurses)#" \
+ -i Makefile || die
}
src_compile() {
- emake CC="$(tc-getCC)" \
- BLADERF=$(usex bladerf) \
- RTLSDR=$(usex rtlsdr) \
- HACKRF=$(usex hackrf) \
- CPUFEATURES=yes \
- LIMESDR=no
+ myemakeargs=(
+ BLADERF="$(usex bladerf)"
+ CC="$(tc-getCC)"
+ CPUFEATURES="yes"
+ HACKRF="$(usex hackrf)"
+ LIMESDR="no"
+ RTLSDR="$(usex rtlsdr)"
+ )
+
+ emake "${myemakeargs[@]}"
}
src_install() {
- dobin ${PN}
- dobin view1090
- dodoc README.md README-json.md
- # DSP config for bladerf
+ dobin dump1090 view1090
+
+ # DSP config files for bladeRF
if use bladerf; then
- insinto usr/share/${PN}/bladerf
+ insinto usr/share/dump1090/bladerf
doins bladerf/*
fi
- newtmpfiles "${FILESDIR}"/tmpfilesd-dump1090-5.0.conf ${PN}.conf
- newconfd "${FILESDIR}"/dump1090-5.0.confd ${PN}
- newinitd "${FILESDIR}"/dump1090-5.0.initd ${PN}
+ newtmpfiles "${FILESDIR}"/tmpfilesd-dump1090-5.0.conf dump1090.conf
+ newconfd "${FILESDIR}"/dump1090-5.0.confd dump1090
+ newinitd "${FILESDIR}"/dump1090-5.0.initd dump1090
+
+ einstalldocs
if use !minimal; then
- insinto /usr/share/${PN}
+ # Install tools
+ insinto /usr/share/dump1090
doins -r tools
+ # Install lighthttps example files
+ insinto /usr/share/dump1090/lighttpd
+ doins debian/lighttpd/{88-dump1090-fa-statcache.conf,89-skyaware.conf}
+
# Some tooling expects the -fa variant directory to contain the files
- dosym ../../usr/share/${PN} /usr/share/dump1090-fa
+ dosym ../../usr/share/dump1090 /usr/share/dump1090-fa
- # Older HTML
- insinto /usr/share/${PN}/html
+ # Install html docs
+ docinto html
doins -r public_html/*
- # Newer HTML
- insinto /usr/share/skyaware/html
- doins -r public_html_merged/*
-
- # One of these this should be included into other lighttpd configs
- insinto /usr/share/${PN}/lighttpd
- # Old style:
- doins debian/lighttpd/89-dump1090-fa.conf
- doins debian/lighttpd/88-dump1090-fa-statcache.conf
- # New style:
- doins debian/lighttpd/89-skyaware.conf
# See README.md for how to use custom wisdom files
- exeinto /usr/share/${PN}/wisdom
+ exeinto /usr/share/dump1090/wisdom
doexe debian/generate-wisdom
- insinto /usr/share/${PN}/wisdom
+ insinto /usr/share/dump1090/wisdom
doins wisdom.*
doins wisdom/wisdom.*
+
# For /etc/dump1090-fa/wisdom.local
keepdir /etc/dump1090-fa/
# Tooling to generate custom wisdom:
- exeinto /usr/libexec/${PN}
+ exeinto /usr/libexec/dump1090
doexe starch-benchmark
fi
}
pkg_postinst() {
- tmpfiles_process ${PN}.conf
+ tmpfiles_process dump1090.conf
}
diff --git a/net-wireless/dump1090/files/dump1090-9.0-gcc14.patch b/net-wireless/dump1090/files/dump1090-9.0-gcc14.patch
new file mode 100644
index 000000000000..25e5ea8e4ce0
--- /dev/null
+++ b/net-wireless/dump1090/files/dump1090-9.0-gcc14.patch
@@ -0,0 +1,24 @@
+Fix -Werror=calloc-transposed-args error with gcc 14.
+
+--- dump1090-9.0-origin/adaptive.c
++++ dump1090-9.0/adaptive.c
+@@ -195,7 +195,7 @@
+ adaptive_burst_window_remaining = adaptive_samples_per_window;
+ adaptive_burst_window_counter = 0;
+
+- adaptive_range_radix = calloc(sizeof(unsigned), 65536);
++ adaptive_range_radix = calloc(65536, sizeof(unsigned));
+ adaptive_range_state = RANGE_RESCAN_UP;
+
+ // select and enforce gain limits
+--- dump1090-9.0-origin/net_io.c
++++ dump1090-9.0/net_io.c
+@@ -104,7 +104,7 @@
+ {
+ struct net_service *service;
+
+- if (!(service = calloc(sizeof(*service), 1))) {
++ if (!(service = calloc(1, sizeof(*service)))) {
+ fprintf(stderr, "Out of memory allocating service %s\n", descr);
+ exit(1);
+ }
diff --git a/net-wireless/dump1090/metadata.xml b/net-wireless/dump1090/metadata.xml
index c06f9ae821ad..77285a4f188c 100644
--- a/net-wireless/dump1090/metadata.xml
+++ b/net-wireless/dump1090/metadata.xml
@@ -5,11 +5,15 @@
<email>radio@gentoo.org</email>
<name>Radio</name>
</maintainer>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad kostecki</name>
+ </maintainer>
<use>
<flag name="bladerf">Build with Nuand BladeRF support</flag>
<flag name="hackrf">Build with Great Scott Gadgets HackRF support</flag>
- <flag name="rtlsdr">Build with Realtek RTL2832U (rtlsdr) support</flag>
<flag name="minimal">Exclude all HTML/webserver extras for a tiny build, e.g. to export data only</flag>
+ <flag name="rtlsdr">Build with Realtek RTL2832U (rtlsdr) support</flag>
</use>
<upstream>
<remote-id type="github">flightaware/dump1090</remote-id>
diff --git a/net-wireless/kismet/Manifest b/net-wireless/kismet/Manifest
index c7fe982996ac..185e5b1d9307 100644
--- a/net-wireless/kismet/Manifest
+++ b/net-wireless/kismet/Manifest
@@ -7,7 +7,7 @@ AUX kismet.initd-r3 332 BLAKE2B e3d4987a41acf7b76aa0a08da7d11bb7c49807a5f60e4540
DIST kismet-2022-08-R1.tar.xz 10700692 BLAKE2B 9f6b3a651eca34b90e34b8a8357be493a8966cdd5c54f5f1c38383cc3ad74f2c78ab265df882b0a5b985bed98ad61f4741ead7b443d9b79f2769ca7edc72427f SHA512 befca2dcd7016d96a17e97babbd6d88195fa61750ed616d104d10a85828ec160672c33bd2a1eae554d375feb55ea45a040a3e53c4410a3ff8c9bfa4b5c8bcdb1
DIST kismet-2023-07-R1.tar.xz 11144120 BLAKE2B c43f0665c784ff9245289e624e23cb3eb4ffcb79f050deede50129cf6b07662e817f9c9aaf6cc608395045b5b449b87d22ff314d7dbc8f04b29db2df86dc5f84 SHA512 b8b320b8e09be5be582848ce8a1a66f71a96eccc3c78f52d3f1f18122abbe614ff3b5a55b5fcedf3e6a1fc959a72838adc0d7278ffd6c25a1c179a1caf5584ce
DIST kismet-2023.07.1-stdint-fix.patch 144077 BLAKE2B 77a4ca3da4ed54e567d21c7d8d0a718751802827bcefc1122318c989cde93a2132753c910e6f503e74dac30024111edc788d9df65ef4c4749ab918485d818ee3 SHA512 cb9220cdd5e14d030ef303e28a32dced61916ff64aa5960c412c2355c1b714dc423e34b33ef701e1daa2a22c9562a85a739dc130c4ec5761924338ffb462286b
-EBUILD kismet-2022.08.1-r2.ebuild 6221 BLAKE2B de706cf2d1dd2f152c2f67c6fffbfe955bd4e7b8b977195a2e5934f654015356f3ee4141cad98319a407953b0233c5a445643be26087766633b8e0dda3bc0bbb SHA512 01a49a7ce814ea1bc18aaae92987542000cb4f72b9c5a9d5a94ba211d151c72a2c901107490dc4db4b9ad3304ff92e6acf4a3813cd9157a9032a73c667d08c98
+EBUILD kismet-2022.08.1-r2.ebuild 6217 BLAKE2B e4e4455a37f4903529bfaf14d8bd5b8813abf9bd232f9db8f221e69901d26aba55e923ca7723a4888119f6a3f64fd05df7ad21e37690f92871c71db782e6b70d SHA512 a05e823d4a60a48396c9c55dd2ce46726e973548da3c55a881dbd41075e6aea2a56b8916b6dc5fe5fb5781b80b0ea8e1f8ce721f1f53033d0e38df9592c0780d
EBUILD kismet-2023.07.1-r1.ebuild 6053 BLAKE2B 67901b98264964d78a6942ed9d7d63687b07c15559b83aae8b7d4209c47c8d83b0c45c99499750cdc0ca6b31384963db84f80f49d64d98ba1c7bbe59eb29b909 SHA512 eb54d32c983a8d083b0e62c78f6f5da164e8d3d398c5cad3032e121d81019d97ba49199560c0647f97d7313ae2a50caed821fbea528652e63e4a8b2c7e5024fc
EBUILD kismet-9999.ebuild 5941 BLAKE2B bae04efd1b0c4fee42f70dbf18454f29e92979ab1208799793107ae57d5a80c5a8f10c9697e1634d19406535139148ab76c9eb9e09716badfa69707bc4946c30 SHA512 dab579b64f24977e0e1054d0c1acc3d111746b579ca7f97002003516f4e2eab41f55b030b18af46c7f5b7855d76456d01b582e19080b4931ec8b060e38ea7a1a
MISC metadata.xml 1177 BLAKE2B f53196e9d3a504d77a0a272bb5c189f7a662003661727f8a66b38ed387f7358c01dd27f2c0d7ec49b2069c2004fd7d5dd921f971c4989cf49363d226802928fe SHA512 65ef90c42e4c6cc6581ca533705114bae2e35c6e04e3011e88496c79aca30ebc3dfe85873e0935835577e2bd74fe199206247214f1a29842cdf3c20b6bf4001e
diff --git a/net-wireless/kismet/kismet-2022.08.1-r2.ebuild b/net-wireless/kismet/kismet-2022.08.1-r2.ebuild
index 3cdf4407a7e8..271645980ba9 100644
--- a/net-wireless/kismet/kismet-2022.08.1-r2.ebuild
+++ b/net-wireless/kismet/kismet-2022.08.1-r2.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
@@ -110,7 +110,7 @@ src_prepare() {
# log_tools/kismetdb_to_wiglecsv.cc trackedcomponent.h \
# trackedelement.h trackedelement_workers.h
- eapply_user
+ default
if [ "${PV}" = "9999" ]; then
eautoreconf
diff --git a/net-wireless/rtl-sdr/Manifest b/net-wireless/rtl-sdr/Manifest
index 7b5f13c7552d..8d288055c494 100644
--- a/net-wireless/rtl-sdr/Manifest
+++ b/net-wireless/rtl-sdr/Manifest
@@ -1,7 +1,14 @@
AUX rtl-sdl-0.6.0_p2020802-fix-pkgconfig-libdir.patch 423 BLAKE2B 885b014e776f0342d147e066b879d251a99850f86c907f573e7c89364bf04b2103de95c66c866dd6572c71ab91506760e72e9fb5a7777dcb637c3062562c061c SHA512 f559e5d72b36f9abe689e4726fb6b0b1ab571796acbca02d8b49d5e568f567fbd73579c3b8f0cfe343cd442dc7141d7743f9ba0a795f66e791239f65cb4859d0
+AUX rtl-sdr-2.0.2-disable-static.patch 2334 BLAKE2B 018fb65f7aa67c2b77c19a0b01f9c670669f116cf7c482669355ed6e3b2d712a7b099ed727215e23762a84ae636af249f30d632ac7d6da55c6f70ec47d49c1e9 SHA512 0f135e5f7f563f5b6cd168c0ab81f2a6bf2fffdd508a496fc97ef04b2bec4b7a528296a9d2e67811decde5d8fe606fa268384f7aed13ba5b74d1377a454ccb7b
+AUX rtl-sdr-2.0.2-pkgconfig-libdir.patch 320 BLAKE2B 2ab264947e23c7f0a7b2765133e417d24028946f206792c2cba31fffb063725cf4878bc43cebdc72d1068392dd0e82f3f33c16df146b23db7a2fbf7a1df094a5 SHA512 606c690278d6641c57c2fb3a75557e810e392a3b02d974fc188315d12f6105a43aa76a5328b9dff1d7ef079ef7b96965483e18d01ef7aadd6161e8ea6402b213
+AUX rtl-sdr-2.0.2-udev-rules-path.patch 277 BLAKE2B dfbccf26802f83802fa295f658b3be4ea97908682c1e963c0d2c0e04583f65ff7e85da3c43347fa6db2920c2f1025d1bcb34a9c6647b5c69e7507df12a08339b SHA512 817a82c12f54c69e5695a4c1c1b28690accba475baee642e532c5d11c6cf98b4ddb79cdff56e69f0bebb774beac68d3e6400b6f20ec92fedcc0907003e16fd62
AUX rtl_tcp.confd 138 BLAKE2B 04df300f0add96490ab861d99301b53ae45d414891f808780f79ef7c6c1cd7b0a48696510933b0cb8fc04c65ef4b2cd23109bcf266472225a8ee4a2ff430d404 SHA512 48324164cc7adab2e7c7f44b45a3a590ef9bcb161b4f6b22a94b4c4abf989b353a37c7b28ad1d81ffdff96dda84c10ba36bc9948f70a6b1f1c767394dc03ab77
+AUX rtl_tcp.confd-r1 310 BLAKE2B 2b352e54c507fd14c53ec4b164563420674f71e7a4f10819bbd4dc1fe1ed52fbec91f1bb4553e543bb59c6d4897bc1f707a78676ed6fed360c27797d6923d9a1 SHA512 33a2afc074f27f3440e4664d2c51492a0c86c51d03383034d6c52ee7addef247896bfbe31803882858bc526b5b36f0110e674e1af6e42595a11336713055d9f2
AUX rtl_tcp.initd 483 BLAKE2B 1e2feb9f481677792319b60fa99d0a2ed5c4a489c85c97a3a0e54e65fc8fe0c4b1ed8c1c6d4ea5991736fa232d26bb17b3e31fa8e6d01c111ec4ccae4c9df924 SHA512 7ac01b0568b1c12e906ae0d102708070b9aacca97d590b61d80125dac9f84587438fe5b582765552d37b0a9b730e00fca8894f8d5ff0c6a518fa2fb5dd4fb407
+AUX rtl_tcp.initd-r1 306 BLAKE2B 8c6376b8bd3665500372f3705283b19a6e75feb6a878bcd3a43a99d44508fe739a0d39d87f6382217946958731c2c492b8ebaaea0880ce9eb242523950653757 SHA512 5f2ab517d045d5c7ef74b0ef44452c03160c160b4cdf2ffffdcbf14586f9b1e3b73a9045a0da4ffacc369f2eb72a6b3c469e4a3a1fff8762edc37a3342fbde8e
DIST rtl-sdr-2.0.1.gh.tar.gz 135727 BLAKE2B 46bb64e2e35d5f6164acb15b0b1e4c0c988bac8de8fd494faec85f4d36f2db3f73ebb0dc46ce42d4b2ff00a9025f145259aeff25563dd82623c2a3502cda1059 SHA512 ed7b84f05d524d89afc1db384a4e1c4bb2a66e9c6b42623ab42ac9d55829bde77eb12529044e1778664b5a97a48dc5b64bed19161a430c9d91c04dd08cb6b7ac
+DIST rtl-sdr-2.0.2.gh.tar.gz 136512 BLAKE2B 48c8ed688f7eb1fce9400accfef3e7762fc40bb5c4e578bf19fdbb7c90bce55dcd1606d57d656c5860fd26e86fc70cae499e9e981695985571a6d51bb2ddd96b SHA512 20a1630df7d4da5d263c5ffd4d83a7c2a6fc674e3838bf02b2b59c1da8d946dafc48790d410ab2fcbc0362c2ac70e5cdcae9391c5f04803bf2cdddafd6f58483
EBUILD rtl-sdr-2.0.1.ebuild 1327 BLAKE2B 3e650039eb13750a6d839d08ecac461d33956cef401189d4ac0f82f52ce89e56fe270226788a1d442ab568473610c41f3d79a57f270d9e14bd57f96590538eb3 SHA512 d984fe47a11c1d12fc0dd0bb9f63c85010cb12a5d4faedbc50d9fc72bce017f829d099d14c1d6d16a8f279075a7e8c5ba62cd8cd874bf546bdadf5346d68904c
-EBUILD rtl-sdr-9999.ebuild 1326 BLAKE2B fef6bfecfdedaf2985473de624f2ea327788a466fb0dacbfffa6a886afb2b1fa0126b23014205d46ed862c7a3e507f7389b1c5d789a63aa5436fdb0d15b827b7 SHA512 186f7941c67a262534086388e61f0590d1f6398c33f2579bf9ccd27fcc19d161f37be8466ba3897b9c77814d16badeeba9ba31b055ec6dfede67cd74c03b812b
-MISC metadata.xml 407 BLAKE2B 0d901e2279b5c54a094be851b6e0997d422e32224fb1f5032185a6ddeaadf12b5cc445813d1e8526a1c9920546fca2149045656401f69e45493ad1aa2f034da4 SHA512 5d04dd4d2f97dfa558a7313c60437d60527aa0c00009e7c274223374a7271f576af83b374948f36e788c3710077bb3b10a1dab26dbd74d7d3cd67d834bbd9d5d
+EBUILD rtl-sdr-2.0.2.ebuild 1265 BLAKE2B 83835aa215c9537681d9526317ab983d07dbd54c67979d1b7edd5f5f035881005a7bc61eb49a82a2bd66cf30976f3d472c4e624af8d2cd1456c8a0433a404adb SHA512 2d3e8c28557144f84a72c6496f207d014ca4975a3d317aa26a9054472f4c108a32b8442221e0d56f51a34706ba66b909748efe2097eaee2cfa7e4cc6fdd29f68
+EBUILD rtl-sdr-9999.ebuild 1265 BLAKE2B 83835aa215c9537681d9526317ab983d07dbd54c67979d1b7edd5f5f035881005a7bc61eb49a82a2bd66cf30976f3d472c4e624af8d2cd1456c8a0433a404adb SHA512 2d3e8c28557144f84a72c6496f207d014ca4975a3d317aa26a9054472f4c108a32b8442221e0d56f51a34706ba66b909748efe2097eaee2cfa7e4cc6fdd29f68
+MISC metadata.xml 518 BLAKE2B d025587eab3ccb4e572e2db6d88018fae57f674fc174a37a558bd3fca51036af4f7dcf25dae8ae3d3b833965b8c52c230cc6c648967b3df10056d9bbdbf6e4dd SHA512 4f59f9145db46caca3c9e545e436ed95a130486dfca5914ffbb37603af49244a6d2f7df40f318a1137cf1e414c591781ebccd2d9ed7b0ec275f816553e0d8501
diff --git a/net-wireless/rtl-sdr/files/rtl-sdr-2.0.2-disable-static.patch b/net-wireless/rtl-sdr/files/rtl-sdr-2.0.2-disable-static.patch
new file mode 100644
index 000000000000..aff87deed756
--- /dev/null
+++ b/net-wireless/rtl-sdr/files/rtl-sdr-2.0.2-disable-static.patch
@@ -0,0 +1,55 @@
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -34,25 +34,6 @@
+ generate_export_header(rtlsdr)
+
+ ########################################################################
+-# Setup static library variant
+-########################################################################
+-add_library(rtlsdr_static STATIC librtlsdr.c
+- tuner_e4k.c tuner_fc0012.c tuner_fc0013.c tuner_fc2580.c tuner_r82xx.c)
+-target_link_libraries(rtlsdr ${LIBUSB_LIBRARIES} ${THREADS_PTHREADS_LIBRARY})
+-target_include_directories(rtlsdr_static PUBLIC
+- $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>
+- $<INSTALL_INTERFACE:include> # <prefix>/include
+- ${LIBUSB_INCLUDE_DIRS}
+- ${THREADS_PTHREADS_INCLUDE_DIR}
+- )
+-set_property(TARGET rtlsdr_static APPEND PROPERTY COMPILE_DEFINITIONS "rtlsdr_STATIC" )
+-if(NOT WIN32)
+-# Force same library filename for static and shared variants of the library
+-set_target_properties(rtlsdr_static PROPERTIES OUTPUT_NAME rtlsdr)
+-endif()
+-generate_export_header(rtlsdr_static)
+-
+-########################################################################
+ # Set up Windows DLL resource files
+ ########################################################################
+ IF(MSVC)
+@@ -63,7 +44,6 @@
+ ${CMAKE_CURRENT_BINARY_DIR}/rtlsdr.rc
+ @ONLY)
+ target_sources(rtlsdr PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/rtlsdr.rc)
+- target_sources(rtlsdr_static PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/rtlsdr.rc)
+ ENDIF(MSVC)
+
+ ########################################################################
+@@ -94,7 +74,7 @@
+ add_executable(rtl_adsb rtl_adsb.c)
+ add_executable(rtl_power rtl_power.c)
+ add_executable(rtl_biast rtl_biast.c)
+-set(INSTALL_TARGETS rtlsdr rtlsdr_static rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power rtl_biast)
++set(INSTALL_TARGETS rtlsdr rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power rtl_biast)
+
+ target_link_libraries(rtl_sdr rtlsdr convenience_static
+ ${LIBUSB_LIBRARIES}
+@@ -163,9 +143,6 @@
+ install(TARGETS rtlsdr EXPORT RTLSDR-export
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} # .so/.dylib file
+ )
+-install(TARGETS rtlsdr_static EXPORT RTLSDR-export
+- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} # .so/.dylib file
+- )
+ install(TARGETS rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power rtl_biast
+ DESTINATION ${CMAKE_INSTALL_BINDIR}
+ )
diff --git a/net-wireless/rtl-sdr/files/rtl-sdr-2.0.2-pkgconfig-libdir.patch b/net-wireless/rtl-sdr/files/rtl-sdr-2.0.2-pkgconfig-libdir.patch
new file mode 100644
index 000000000000..831fc0063947
--- /dev/null
+++ b/net-wireless/rtl-sdr/files/rtl-sdr-2.0.2-pkgconfig-libdir.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -174,7 +174,7 @@
+ set(prefix "${CMAKE_INSTALL_PREFIX}")
+ set(exec_prefix \${prefix})
+ set(includedir \${prefix}/include)
+-set(libdir \${exec_prefix}/lib)
++set(libdir \${exec_prefix}/${CMAKE_INSTALL_LIBDIR})
+
+ CONFIGURE_FILE(
+ ${CMAKE_CURRENT_SOURCE_DIR}/librtlsdr.pc.in
diff --git a/net-wireless/rtl-sdr/files/rtl-sdr-2.0.2-udev-rules-path.patch b/net-wireless/rtl-sdr/files/rtl-sdr-2.0.2-udev-rules-path.patch
new file mode 100644
index 000000000000..e164bc553956
--- /dev/null
+++ b/net-wireless/rtl-sdr/files/rtl-sdr-2.0.2-udev-rules-path.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -113,7 +113,7 @@
+ if (INSTALL_UDEV_RULES)
+ install (
+ FILES rtl-sdr.rules
+- DESTINATION "/etc/udev/rules.d"
++ DESTINATION "/lib/udev/rules.d"
+ COMPONENT "udev"
+ )
+ else (INSTALL_UDEV_RULES)
diff --git a/net-wireless/rtl-sdr/files/rtl_tcp.confd-r1 b/net-wireless/rtl-sdr/files/rtl_tcp.confd-r1
new file mode 100644
index 000000000000..653d292de3cd
--- /dev/null
+++ b/net-wireless/rtl-sdr/files/rtl_tcp.confd-r1
@@ -0,0 +1,7 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Options which will be passed to rtl_tcp.
+# Default is listen on localhost with default port 1234 on first device.
+# See `rtl_tcp -h` for all available options.
+RTL_TCP_OPTIONS="-a localhost -d0 -p 1234"
diff --git a/net-wireless/rtl-sdr/files/rtl_tcp.initd-r1 b/net-wireless/rtl-sdr/files/rtl_tcp.initd-r1
new file mode 100644
index 000000000000..6dd8f795e190
--- /dev/null
+++ b/net-wireless/rtl-sdr/files/rtl_tcp.initd-r1
@@ -0,0 +1,11 @@
+#!/sbin/openrc-run
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+error_log="/var/log/rtl_tcp.log"
+pidfile="/run/rtl_tcp.pid"
+output_log="/var/log/rtl_tcp.log"
+
+command="/usr/bin/rtl_tcp"
+command_background="true"
+command_args="${RTL_TCP_OPTIONS}"
diff --git a/net-wireless/rtl-sdr/metadata.xml b/net-wireless/rtl-sdr/metadata.xml
index cacbce26183d..67d416851e57 100644
--- a/net-wireless/rtl-sdr/metadata.xml
+++ b/net-wireless/rtl-sdr/metadata.xml
@@ -5,6 +5,10 @@
<email>radio@gentoo.org</email>
<name>Radio</name>
</maintainer>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
<use>
<flag name="zerocopy">may cause a bus error on some ARM systems</flag>
</use>
diff --git a/net-wireless/rtl-sdr/rtl-sdr-2.0.2.ebuild b/net-wireless/rtl-sdr/rtl-sdr-2.0.2.ebuild
new file mode 100644
index 000000000000..846819c0a2da
--- /dev/null
+++ b/net-wireless/rtl-sdr/rtl-sdr-2.0.2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake udev
+
+DESCRIPTION="Turns your Realtek RTL2832 based DVB dongle into a SDR receiver"
+HOMEPAGE="https://sdr.osmocom.org/trac/wiki/rtl-sdr"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.osmocom.org/${PN}"
+else
+ SRC_URI="https://github.com/osmocom/rtl-sdr/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+LICENSE="GPL-2+ GPL-3+"
+SLOT="0"
+IUSE="+zerocopy"
+
+RDEPEND="virtual/libusb:1"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.0.2-disable-static.patch"
+ "${FILESDIR}/${PN}-2.0.2-pkgconfig-libdir.patch"
+ "${FILESDIR}/${PN}-2.0.2-udev-rules-path.patch"
+
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DDETACH_KERNEL_DRIVER="ON"
+ -DENABLE_ZEROCOPY="$(usex zerocopy)"
+ -DINSTALL_UDEV_RULES="ON"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ newinitd "${FILESDIR}"/rtl_tcp.initd-r1 rtl_tcp
+ newconfd "${FILESDIR}"/rtl_tcp.confd-r1 rtl_tcp
+}
+
+pkg_postinst() {
+ udev_reload
+ elog "Only users in the usb group can capture."
+ elog "Just run 'gpasswd -a <USER> usb', then have <USER> re-login."
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/net-wireless/rtl-sdr/rtl-sdr-9999.ebuild b/net-wireless/rtl-sdr/rtl-sdr-9999.ebuild
index dd2530e97a36..846819c0a2da 100644
--- a/net-wireless/rtl-sdr/rtl-sdr-9999.ebuild
+++ b/net-wireless/rtl-sdr/rtl-sdr-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake
+inherit cmake udev
DESCRIPTION="Turns your Realtek RTL2832 based DVB dongle into a SDR receiver"
HOMEPAGE="https://sdr.osmocom.org/trac/wiki/rtl-sdr"
@@ -12,41 +12,45 @@ if [[ ${PV} == 9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://git.osmocom.org/${PN}"
else
- #COMMIT="142325a93c6ad70f851f43434acfdf75e12dfe03"
- #SRC_URI="https://github.com/osmocom/rtl-sdr/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
- #S="${WORKDIR}/${PN}-${COMMIT}"
SRC_URI="https://github.com/osmocom/rtl-sdr/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
-LICENSE="GPL-2+"
+LICENSE="GPL-2+ GPL-3+"
SLOT="0"
IUSE="+zerocopy"
-DEPEND="virtual/libusb:1"
-RDEPEND="${DEPEND}"
+RDEPEND="virtual/libusb:1"
+DEPEND="${RDEPEND}"
PATCHES=(
- "${FILESDIR}"/rtl-sdl-0.6.0_p2020802-fix-pkgconfig-libdir.patch
+ "${FILESDIR}/${PN}-2.0.2-disable-static.patch"
+ "${FILESDIR}/${PN}-2.0.2-pkgconfig-libdir.patch"
+ "${FILESDIR}/${PN}-2.0.2-udev-rules-path.patch"
+
)
src_configure() {
- #the udev rules are 666, we don't want that
local mycmakeargs=(
- -DINSTALL_UDEV_RULES=OFF
- -DDETACH_KERNEL_DRIVER=ON
+ -DDETACH_KERNEL_DRIVER="ON"
-DENABLE_ZEROCOPY="$(usex zerocopy)"
+ -DINSTALL_UDEV_RULES="ON"
)
cmake_src_configure
}
src_install() {
cmake_src_install
- newinitd "${FILESDIR}"/rtl_tcp.initd rtl_tcp
- newconfd "${FILESDIR}"/rtl_tcp.confd rtl_tcp
+ newinitd "${FILESDIR}"/rtl_tcp.initd-r1 rtl_tcp
+ newconfd "${FILESDIR}"/rtl_tcp.confd-r1 rtl_tcp
}
pkg_postinst() {
+ udev_reload
elog "Only users in the usb group can capture."
elog "Just run 'gpasswd -a <USER> usb', then have <USER> re-login."
}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/net-wireless/uhd/Manifest b/net-wireless/uhd/Manifest
index 071e03ceeb4e..4163675f87a2 100644
--- a/net-wireless/uhd/Manifest
+++ b/net-wireless/uhd/Manifest
@@ -1,5 +1,7 @@
AUX uhd-4.6.0.0-boost-1.85-1.patch 3665 BLAKE2B 1fe78699d1e3c6e2359733ca8ca46ed11cc159f7975a339b7ffc7a3bf91f0b91d031fcaa0c523ae3313c806c8398583ef7b1ec73c41df33bd0fa56c158fd16bf SHA512 db66bfc5af671546d8d7ad2fe0c2d1515846d466d564864e2f9ca9bc4140094944ce997efd03d667d41e5a6e059041b727ff2fc1def7f38fe756a614c346cf29
AUX uhd-4.6.0.0-boost-1.85-2.patch 1155 BLAKE2B 84002da36d755899d3921a68d5748f80cf12a65f289001843bfdc04d6e69e3a3003c75099564d13cc8e8b6e7f8069c677f033d5fdc74469cb2d9de4c9129430c SHA512 0705b4102b3e73a2dd046f2b00d1d8f08f4324c7c9a5c41a9ce1a998c7439b8532cc77d97eeea23b191e5a0bb6c831e9a0d68659bb03f158c2fb8913c4bbaf8e
+AUX uhd-4.6.0.0-boost-1.87-1.patch 43586 BLAKE2B ab4bb57eca11c38573103899fc1673efe587c07400cf23503ab018320f1e81310b6bffd3a939e9e7ed39b5f789491d70b981f23bcfc0f85bc91276bfe9feb4c4 SHA512 b6f849e8255d560dc0d28d3d239494a10d381c62de0d4f3626b9793db868de9192e43f14d8fe5456360896a0540266e1c769d4ba5294850f87dd1fc475158092
+AUX uhd-4.6.0.0-boost-1.87-2.patch 941 BLAKE2B ab1bed4e0e0492137893327b05cb29ef5596b4f249f7071df5c61c4319d4d7cf2267a0a83c8fc7fd26dc746f946f90dd0dd71333b9fd291ef5aacf4611d588a0 SHA512 b7cb6acfd7afc9e1eb50c982128bda982f2aba0ccef893416d69fd0543e62211724704b0ec362af02d65a75caec9e549911b02372aa9de498d98bc3cc0b7baff
DIST EttusResearch-UHD-4.4.0.0.tar.gz 38210999 BLAKE2B defc2ae91c1422491c0c434f76852c253d84e2bdc43f6768069e23c40803d33aac8f087d51c28037102ab4760c5f3d5e04dc090655ddca26eef3440bf703db61 SHA512 3c9b57dc776e0fadc991ffeede84c2367f7403bfae6fd30a045baf1c9cfb21889310b9a8340a35ea13eea00208bf678cccd7b82e190dfb6b9d61e42bdef3b21a
DIST EttusResearch-UHD-4.6.0.0.tar.gz 41235519 BLAKE2B 4a9c9d0064bf52edd4a4a93ee8602eaa61029b5350728431e4e2e17d9f4a06de21c2598a6ffde0832ecfd5a499344d190ba113f1c5d96ffea0a029186f95de87 SHA512 de9bb10e5109bd860a9b2f61841e3ade55fbbc7d8000f385fcdf1c831585c9d25999d159a7da95e3e3f0b74330c1512265994e9aacf00b1b0891f9ba6db58e30
DIST EttusResearch-UHD-4.8.0.0.tar.gz 41358938 BLAKE2B c69af5aabcd7e02290b4a168f319dc43bb6cb277e235407a5ded8eb617fe957ca1326042a892efa7b688cfae52f3c345e0930a614ff59b25c05e8b202d62e82e SHA512 61e92209e69994b1c5d3a2a88f749ddca612a3fa3c1580c00a9577e25fab5055d7c80571f2843cca3951fc941d1a81566bafc21070fb93cb3e566228c46331e7
@@ -7,6 +9,6 @@ DIST uhd-images_4.4.0.0.tar.xz 127558912 BLAKE2B bb7135241c4e39db2450e0fca8c8c6b
DIST uhd-images_4.6.0.0.tar.xz 180745328 BLAKE2B f698c68c66e706146cd2163abca10bc2d3660827e2425f395b9096b1ccecdadaf563730912e930e29b6f286dd77a83dc2ab0280e0d55ceb550496de03c208917 SHA512 944a26bea2f11d0df630e14a2a586d07e185e2c9bf40e10ff17cc103a33a8cf32c37b676e15cf55a1c1efd17c82384c7323526aed4b0624fda0b58d39ed487d3
DIST uhd-images_4.8.0.0.tar.xz 180420544 BLAKE2B 5cce16db59c6c78035512e5275ac36b02a5d928104ff77877f8a13a9df64d0bde6c832497675b27a0090debef78ef4c284c48ef3b6169fae3420ca4d87e8209e SHA512 4203e5b7f642d7850e9563ba495a60efe965a64223d9208c780e1400ea755b322125fff53c3f8a3fb010617b57a4da638dc3cf80bf7d95604e20788cc469edb9
EBUILD uhd-4.4.0.0.ebuild 3707 BLAKE2B 0bef82e613b6f7fdfc89487382d5358db8787d53c308431697170c204deb57986e00578bd6a3c648aa57df9449af6e26a362d812c033d334d32273bdba8f2209 SHA512 e55d9be83e3262c094a3087ac77b5db2afff622be05df27a728d4e95affcc3d4a60e25dbf39de8a523d5f4b98e4ac4335e1d841d3744075ef4df82e5da3b500f
-EBUILD uhd-4.6.0.0.ebuild 3785 BLAKE2B 053a1491f98f9dd4a0b42654a5e83b92331c962e2094c94991772053a8389d2f9fca8d88a6041440564239a3cff2ee74f360aa8cea921ad68bdea991f23e1870 SHA512 4b1066656133de967249fab37c5369b2cd9ef75a74cd0e5d23a9aa74760a39260e6d7cefdaa061c8b41024b00e99a87b399246b7daca244b0d129922bbc50004
+EBUILD uhd-4.6.0.0.ebuild 3877 BLAKE2B 11e4c123d3092e465f77ddf3a1eb379b74add6878c9d0ed5de0f95be6a42894b2881e4215dd87cc54eaa819356bb5a2061f622e04e02d1b16ce8f5a47f03b343 SHA512 3b3faf2ebfddf03fb7fa2d41a7b29a15abfd78b318af70ed3d6a870372504490b9521c1e00092988afe62ff4d59baf243721ed347259ce0fe53a4255e9cbf360
EBUILD uhd-4.8.0.0.ebuild 3695 BLAKE2B 829a811d04e180dc82d76fc8ca7dba3e70cb5f5489e4f61a1fd7a34935f865a0ecb5d68285c94c035f7e0882e38cd1cc321d7888cd59374875fd5110e54499b0 SHA512 3ade952792eedf5fb946bb4b9374cd3f98931d58bd9cc35bc77b570fefd0248ffc1adf09e83850b6e88c39951683206a2b32b29591ec1f16137106b0e355a1c3
MISC metadata.xml 1112 BLAKE2B 7bf2e25d7618581200731789b4c5ee05c6cd6b33c21a7912b3904ffd53e6948d4d2e36bb071d3f966febb5b3da1523c2316558f66d4297341264d534e08d122f SHA512 ac48857213ada598edec618d0c39fc8faaa2b405444b37958e47dc23068fdd61d80bffb8033b20428f2fa63caf8ca322eb4bb765c59389d4a070fee260dee66d
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() {
diff --git a/net-wireless/wpa_supplicant/Manifest b/net-wireless/wpa_supplicant/Manifest
index f7e3a65a1054..fd87bd76dd93 100644
--- a/net-wireless/wpa_supplicant/Manifest
+++ b/net-wireless/wpa_supplicant/Manifest
@@ -12,6 +12,7 @@ DIST wpa_supplicant-2.10.tar.gz 3511622 BLAKE2B 7f6045e5dcf24f7ccf1ea75c99541f9d
DIST wpa_supplicant-2.11.tar.gz 3841433 BLAKE2B 71bd0d11cd31eb5bc6beb51caf0f1399856ea188f316d2330053a2d8c81869057811e9f500828e8981eabd0af38f30a18a3ae584d744005c78681c82fa910abf SHA512 9a0a3a9d6fa2235903c40aa57b5955f0c9dd1dccfd0e3825a3b6f92b3e32db8d464b3ea0aef3285ba3ee109e7b190560cedd744902e954f0003cdba543e277b2
EBUILD wpa_supplicant-2.10-r5.ebuild 12406 BLAKE2B ebaaf0685a183b849bbcba4978f717ea385d66e3bc8e56c557dbd289fc60b2eeb75d7b63adfadbedcee846590bb62d45d66ce68024d5dfc89da11a07d2cd4b6b SHA512 a21336436bdabd80c2e945592afb1722548bd7dfb8c1d70be06688d6394d82ab63945c2c3e5d349b53458c89ab94fed7205c5698b04523cf35cc5e7161ecb74b
EBUILD wpa_supplicant-2.10-r6.ebuild 12445 BLAKE2B 9fda2691fe48150436386bb389973916dcce0eacc2e5313e3d72263ead0d0af5241ff769a1e73179f577fd9c358f2841ffc4538570e2052e437e0594d3dfcf2c SHA512 367ffc883d39a262d8e62992911989db1aa49773e979d7c999b016ba73770e90f2754a3abc204cfde1199d0c77ffebedcb61361c8fa2aea9cf8ca68d649702ea
+EBUILD wpa_supplicant-2.11-r1.ebuild 11662 BLAKE2B aefd0a4a2e4889a0ba50ffe75ba5c5b7aab588fb8423b6f1a949ef133ab13034a3bfdadf315490ac4a54d7e4dc8ec1c5ddd9b912ca741e968ecd6feeb72ef218 SHA512 2d915580f542b443f0fbb86f7980f56128be5889a5ce4b23b5127e2de3f0fce0a2ecb89642f86c40cf731624cccdee8ef843a1042870c4ebff860c11fb97f414
EBUILD wpa_supplicant-2.11.ebuild 12476 BLAKE2B e66f95e2101dfb8b51d948cb942ebaeabb45d757386b5be32df41e932cbfcec08c3ffbb369e97d67d51f6bc8ab6203aeac64d75c817ec582786df8a9298c6a9c SHA512 9aab43a252252d21c03b60ca81c62e78a71ef68b45cfe3fce00c1b4e1e3d42f87d5ad70498a5649d6d05c8c9f3c833d7060e3652ed3c21d4e80eaa268811064e
-EBUILD wpa_supplicant-9999.ebuild 12367 BLAKE2B 92d734b372fed84155a6982ff956ab78d8c3ab69100c3da5b3f385cf1708599744945a393f352e85dab95bf620d557696130a1d18f4d2649e5c6182738607a25 SHA512 7b5a8de61d92673790d8bfc5e737fba747e9506a890b58a757773101b7e511b2e74f72f143c6c806168f372a9a67ea62b9c2fd6255a923f36b82a55c9a9fe09e
+EBUILD wpa_supplicant-9999.ebuild 11662 BLAKE2B aefd0a4a2e4889a0ba50ffe75ba5c5b7aab588fb8423b6f1a949ef133ab13034a3bfdadf315490ac4a54d7e4dc8ec1c5ddd9b912ca741e968ecd6feeb72ef218 SHA512 2d915580f542b443f0fbb86f7980f56128be5889a5ce4b23b5127e2de3f0fce0a2ecb89642f86c40cf731624cccdee8ef843a1042870c4ebff860c11fb97f414
MISC metadata.xml 1882 BLAKE2B fc23e2184bd2c01f590800a2087461ba6c5d9d5021f6300f1505671369694374a26d333556b467ca0f41fb90d676a5fcad5b87e80ab8f2b2b891255afa0bcd6b SHA512 05ca61dcaf7c3d7543085be7d375088e5372eb6e3dee0cd9920b763e34f528aa988a8ec484328e122812e0f3208aac308d6011995e5ab1c9599fc7d5b9dc6733
diff --git a/net-wireless/wpa_supplicant/wpa_supplicant-2.11-r1.ebuild b/net-wireless/wpa_supplicant/wpa_supplicant-2.11-r1.ebuild
new file mode 100644
index 000000000000..4f34e0835b8c
--- /dev/null
+++ b/net-wireless/wpa_supplicant/wpa_supplicant-2.11-r1.ebuild
@@ -0,0 +1,446 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop linux-info qmake-utils readme.gentoo-r1 systemd toolchain-funcs
+
+DESCRIPTION="IEEE 802.1X/WPA supplicant for secure wireless transfers"
+HOMEPAGE="https://w1.fi/wpa_supplicant/"
+LICENSE="|| ( GPL-2 BSD )"
+
+if [ "${PV}" = "9999" ]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://w1.fi/hostap.git"
+else
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ SRC_URI="https://w1.fi/releases/${P}.tar.gz"
+fi
+
+SLOT="0"
+IUSE="+ap broadcom-sta dbus eap-sim eapol-test +fils macsec +mbo +mesh p2p privsep qt6 readline selinux smartcard tkip uncommon-eap-types wep wps"
+
+# CONFIG_PRIVSEP=y does not have sufficient support for the new driver
+# interface functions used for MACsec, so this combination cannot be used
+# at least for now. bug #684442
+REQUIRED_USE="
+ macsec? ( !privsep )
+ mesh? ( ap )
+ p2p? ( ap wps )
+ privsep? ( !macsec )
+ broadcom-sta? ( !fils !mesh !mbo )
+"
+
+DEPEND="
+ >=dev-libs/openssl-1.0.2k:=
+ dbus? ( sys-apps/dbus )
+ kernel_linux? (
+ >=dev-libs/libnl-3.2:3
+ eap-sim? ( sys-apps/pcsc-lite )
+ )
+ !kernel_linux? ( net-libs/libpcap )
+ qt6? (
+ dev-qt/qtbase:6[gui,widgets]
+ dev-qt/qtsvg:6
+ )
+ readline? (
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ )
+"
+RDEPEND="${DEPEND}
+ selinux? ( sec-policy/selinux-networkmanager )
+ kernel_linux? (
+ net-wireless/wireless-regdb
+ )
+"
+BDEPEND="virtual/pkgconfig"
+
+DOC_CONTENTS="
+ If this is a clean installation of wpa_supplicant, you
+ have to create a configuration file named
+ /etc/wpa_supplicant/wpa_supplicant.conf
+ An example configuration file is available for reference in
+ /usr/share/doc/${PF}/
+"
+
+S="${WORKDIR}/${P}/${PN}"
+
+Kconfig_style_config() {
+ #param 1 is CONFIG_* item
+ #param 2 is what to set it = to, defaulting in y
+ CONFIG_PARAM="${CONFIG_HEADER:-CONFIG_}$1"
+ setting="${2:-y}"
+
+ if [ ! $setting = n ]; then
+ #first remove any leading "# " if $2 is not n
+ sed -i "/^# *$CONFIG_PARAM=/s/^# *//" .config || echo "Kconfig_style_config error uncommenting $CONFIG_PARAM"
+ #set item = $setting (defaulting to y)
+ if ! sed -i "/^$CONFIG_PARAM\>/s/=.*/=$setting/" .config; then
+ echo "Kconfig_style_config error setting $CONFIG_PARAM=$setting"
+ fi
+ if [ -z "$( grep ^$CONFIG_PARAM= .config )" ] ; then
+ echo "$CONFIG_PARAM=$setting" >>.config
+ fi
+ else
+ #ensure item commented out
+ if ! sed -i "/^$CONFIG_PARAM\>/s/$CONFIG_PARAM/# $CONFIG_PARAM/" .config; then
+ echo "Kconfig_style_config error commenting $CONFIG_PARAM"
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+
+ # net/bpf.h needed for net-libs/libpcap on Gentoo/FreeBSD
+ sed -i \
+ -e "s:\(#include <pcap\.h>\):#include <net/bpf.h>\n\1:" \
+ ../src/l2_packet/l2_packet_freebsd.c || die
+
+ # Change configuration to match Gentoo locations (bug #143750)
+ sed -i \
+ -e "s:/usr/lib/opensc:/usr/$(get_libdir):" \
+ -e "s:/usr/lib/pkcs11:/usr/$(get_libdir):" \
+ wpa_supplicant.conf || die
+
+ # systemd entries to D-Bus service files (bug #372877)
+ echo 'SystemdService=wpa_supplicant.service' \
+ | tee -a dbus/*.service >/dev/null || die
+
+ cd "${WORKDIR}/${P}" || die
+
+ # bug (320097)
+ eapply "${FILESDIR}/${PN}-2.6-do-not-call-dbus-functions-with-NULL-path.patch"
+
+ # bug (912315)
+ eapply "${FILESDIR}/${PN}-2.10-allow-legacy-renegotiation.patch"
+
+ # bug (948052)
+ eapply "${FILESDIR}/${PN}-2.10-use-qt6.patch"
+
+ # bug (640492)
+ sed -i 's#-Werror ##' wpa_supplicant/Makefile || die
+}
+
+src_configure() {
+ # Toolchain setup
+ tc-export CC PKG_CONFIG
+
+ cp defconfig .config || die
+
+ # Basic setup
+ Kconfig_style_config CTRL_IFACE
+ Kconfig_style_config MATCH_IFACE
+ Kconfig_style_config BACKEND file
+ Kconfig_style_config IBSS_RSN
+ Kconfig_style_config IEEE80211W
+ Kconfig_style_config IEEE80211R
+ Kconfig_style_config HT_OVERRIDES
+ Kconfig_style_config VHT_OVERRIDES
+ Kconfig_style_config OCV
+ Kconfig_style_config TLSV11
+ Kconfig_style_config TLSV12
+ Kconfig_style_config GETRANDOM
+
+ # Basic authentication methods
+ # NOTE: we don't set GPSK or SAKE as they conflict
+ # with the below options
+ Kconfig_style_config EAP_GTC
+ Kconfig_style_config EAP_MD5
+ Kconfig_style_config EAP_OTP
+ Kconfig_style_config EAP_PAX
+ Kconfig_style_config EAP_PSK
+ Kconfig_style_config EAP_TLV
+ Kconfig_style_config EAP_EXE
+ Kconfig_style_config IEEE8021X_EAPOL
+ Kconfig_style_config PKCS12
+ Kconfig_style_config PEERKEY
+ Kconfig_style_config EAP_LEAP
+ Kconfig_style_config EAP_MSCHAPV2
+ Kconfig_style_config EAP_PEAP
+ Kconfig_style_config EAP_TEAP
+ Kconfig_style_config EAP_TLS
+ Kconfig_style_config EAP_TTLS
+
+ # Enabling background scanning.
+ Kconfig_style_config BGSCAN_SIMPLE
+ Kconfig_style_config BGSCAN_LEARN
+
+ if use dbus ; then
+ Kconfig_style_config CTRL_IFACE_DBUS
+ Kconfig_style_config CTRL_IFACE_DBUS_NEW
+ Kconfig_style_config CTRL_IFACE_DBUS_INTRO
+ else
+ Kconfig_style_config CTRL_IFACE_DBUS n
+ Kconfig_style_config CTRL_IFACE_DBUS_NEW n
+ Kconfig_style_config CTRL_IFACE_DBUS_INTRO n
+ fi
+
+ if use eapol-test ; then
+ Kconfig_style_config EAPOL_TEST
+ fi
+
+ # Enable support for writing debug info to a log file and syslog.
+ Kconfig_style_config DEBUG_FILE
+ Kconfig_style_config DEBUG_SYSLOG
+
+ if use mbo ; then
+ Kconfig_style_config MBO
+ else
+ Kconfig_style_config MBO n
+ fi
+
+ if use uncommon-eap-types; then
+ Kconfig_style_config EAP_GPSK
+ Kconfig_style_config EAP_SAKE
+ Kconfig_style_config EAP_GPSK_SHA256
+ Kconfig_style_config EAP_IKEV2
+ Kconfig_style_config EAP_EKE
+ fi
+
+ if use eap-sim ; then
+ # Smart card authentication
+ Kconfig_style_config EAP_SIM
+ Kconfig_style_config EAP_AKA
+ Kconfig_style_config EAP_AKA_PRIME
+ Kconfig_style_config PCSC
+ fi
+
+ if use readline ; then
+ # readline/history support for wpa_cli
+ Kconfig_style_config READLINE
+ else
+ #internal line edit mode for wpa_cli
+ Kconfig_style_config WPA_CLI_EDIT
+ fi
+
+ Kconfig_style_config TLS openssl
+ Kconfig_style_config FST
+
+ Kconfig_style_config EAP_PWD
+ if use fils; then
+ Kconfig_style_config FILS
+ Kconfig_style_config FILS_SK_PFS
+ fi
+ if use mesh; then
+ Kconfig_style_config MESH
+ else
+ Kconfig_style_config MESH n
+ fi
+ # WPA3
+ Kconfig_style_config OWE
+ Kconfig_style_config SAE
+ Kconfig_style_config DPP
+ Kconfig_style_config DPP2
+ Kconfig_style_config SUITEB192
+ Kconfig_style_config SUITEB
+
+ if use wep ; then
+ Kconfig_style_config WEP
+ else
+ Kconfig_style_config WEP n
+ fi
+
+ # Watch out, reversed logic
+ if use tkip ; then
+ Kconfig_style_config NO_TKIP n
+ else
+ Kconfig_style_config NO_TKIP
+ fi
+
+ if use smartcard ; then
+ Kconfig_style_config SMARTCARD
+ else
+ Kconfig_style_config SMARTCARD n
+ fi
+
+ if use kernel_linux ; then
+ # Linux specific drivers
+ Kconfig_style_config DRIVER_ATMEL
+ Kconfig_style_config DRIVER_HOSTAP
+ Kconfig_style_config DRIVER_IPW
+ Kconfig_style_config DRIVER_NL80211
+ Kconfig_style_config DRIVER_RALINK
+ Kconfig_style_config DRIVER_WEXT
+ Kconfig_style_config DRIVER_WIRED
+
+ if use macsec ; then
+ #requires something, no idea what
+ #Kconfig_style_config DRIVER_MACSEC_QCA
+ Kconfig_style_config DRIVER_MACSEC_LINUX
+ Kconfig_style_config MACSEC
+ else
+ # bug #831369 and bug #684442
+ Kconfig_style_config DRIVER_MACSEC_LINUX n
+ Kconfig_style_config MACSEC n
+ fi
+ fi
+
+ # Wi-Fi Protected Setup (WPS)
+ if use wps ; then
+ Kconfig_style_config WPS
+ Kconfig_style_config WPS2
+ # USB Flash Drive
+ Kconfig_style_config WPS_UFD
+ # External Registrar
+ Kconfig_style_config WPS_ER
+ # Universal Plug'n'Play
+ Kconfig_style_config WPS_UPNP
+ # Near Field Communication
+ Kconfig_style_config WPS_NFC
+ else
+ Kconfig_style_config WPS n
+ Kconfig_style_config WPS2 n
+ Kconfig_style_config WPS_UFD n
+ Kconfig_style_config WPS_ER n
+ Kconfig_style_config WPS_UPNP n
+ Kconfig_style_config WPS_NFC n
+ fi
+
+ # Wi-Fi Direct (WiDi)
+ if use p2p ; then
+ Kconfig_style_config P2P
+ Kconfig_style_config WIFI_DISPLAY
+ else
+ Kconfig_style_config P2P n
+ Kconfig_style_config WIFI_DISPLAY n
+ fi
+
+ # Access Point Mode
+ if use ap ; then
+ Kconfig_style_config AP
+ else
+ Kconfig_style_config AP n
+ fi
+
+ # Enable essentials for AP/P2P
+ if use ap || use p2p ; then
+ # Enabling HT support (802.11n)
+ Kconfig_style_config IEEE80211N
+
+ # Enabling VHT support (802.11ac)
+ Kconfig_style_config IEEE80211AC
+ fi
+
+ # Enable mitigation against certain attacks against TKIP
+ Kconfig_style_config DELAYED_MIC_ERROR_REPORT
+
+ if use privsep ; then
+ Kconfig_style_config PRIVSEP
+ fi
+
+ if use kernel_linux ; then
+ Kconfig_style_config LIBNL32
+ fi
+
+ if use qt6 ; then
+ pushd "${S}"/wpa_gui-qt4 > /dev/null || die
+ eqmake6 wpa_gui.pro
+ popd > /dev/null || die
+ fi
+}
+
+src_compile() {
+ einfo "Building wpa_supplicant"
+ emake V=1 BINDIR=/usr/sbin
+
+ if use qt6; then
+ einfo "Building wpa_gui"
+ emake -C "${S}"/wpa_gui-qt4
+ fi
+
+ if use eapol-test ; then
+ emake eapol_test
+ fi
+}
+
+src_install() {
+ dosbin wpa_supplicant
+ use privsep && dosbin wpa_priv
+ dobin wpa_cli wpa_passphrase
+
+ newinitd "${FILESDIR}/${PN}-init.d" wpa_supplicant
+ newconfd "${FILESDIR}/${PN}-conf.d" wpa_supplicant
+
+ exeinto /etc/wpa_supplicant/
+ newexe "${FILESDIR}/wpa_cli-r1.sh" wpa_cli.sh
+
+ readme.gentoo_create_doc
+ dodoc ChangeLog {eap_testing,todo}.txt README{,-WPS} \
+ wpa_supplicant.conf
+
+ newdoc .config build-config
+
+ if [ "${PV}" != "9999" ]; then
+ doman doc/docbook/*.{5,8}
+ fi
+
+ if use qt6 ; then
+ into /usr
+ dobin wpa_gui-qt4/wpa_gui
+ doicon wpa_gui-qt4/icons/wpa_gui.svg
+ domenu wpa_gui-qt4/wpa_gui.desktop
+ else
+ rm "${ED}"/usr/share/man/man8/wpa_gui.8
+ fi
+
+ if use dbus ; then
+ pushd "${S}"/dbus > /dev/null || die
+ insinto /etc/dbus-1/system.d
+ newins dbus-wpa_supplicant.conf wpa_supplicant.conf
+ insinto /usr/share/dbus-1/system-services
+ doins fi.w1.wpa_supplicant1.service
+ popd > /dev/null || die
+
+ # This unit relies on dbus support, bug 538600.
+ systemd_dounit systemd/wpa_supplicant.service
+ fi
+
+ if use eapol-test ; then
+ dobin eapol_test
+ fi
+
+ systemd_dounit "systemd/wpa_supplicant@.service"
+ systemd_dounit "systemd/wpa_supplicant-nl80211@.service"
+ systemd_dounit "systemd/wpa_supplicant-wired@.service"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+
+ if [[ -e "${EROOT}"/etc/wpa_supplicant.conf ]] ; then
+ echo
+ ewarn "WARNING: your old configuration file ${EROOT}/etc/wpa_supplicant.conf"
+ ewarn "needs to be moved to ${EROOT}/etc/wpa_supplicant/wpa_supplicant.conf"
+ fi
+ if ! use wep; then
+ einfo "WARNING: You are building with WEP support disabled, which is recommended since"
+ einfo "this protocol is deprecated and insecure. If you still need to connect to"
+ einfo "WEP-enabled networks, you may turn this flag back on. With this flag off,"
+ einfo "WEP-enabled networks will not even show up as available."
+ einfo "If your network is missing you may wish to USE=wep"
+ fi
+ if ! use tkip; then
+ ewarn "WARNING: You are building with TKIP support disabled, which is recommended since"
+ ewarn "this protocol is deprecated and insecure. If you still need to connect to"
+ ewarn "TKIP-enabled networks, you may turn this flag back on. With this flag off,"
+ ewarn "TKIP-enabled networks, including mixed mode TKIP/AES-CCMP will not even show up"
+ ewarn "as available. If your network is missing you may wish to USE=tkip"
+ fi
+
+ # Mea culpa, feel free to remove that after some time --mgorny.
+ local fn
+ for fn in wpa_supplicant{,@wlan0}.service; do
+ if [[ -e "${EROOT}"/etc/systemd/system/network.target.wants/${fn} ]]
+ then
+ ebegin "Moving ${fn} to multi-user.target"
+ mv "${EROOT}"/etc/systemd/system/network.target.wants/${fn} \
+ "${EROOT}"/etc/systemd/system/multi-user.target.wants/ || die
+ eend ${?} \
+ "Please try to re-enable ${fn}"
+ fi
+ done
+
+ systemd_reenable wpa_supplicant.service
+}
diff --git a/net-wireless/wpa_supplicant/wpa_supplicant-9999.ebuild b/net-wireless/wpa_supplicant/wpa_supplicant-9999.ebuild
index 9fef0e62ce8c..4f34e0835b8c 100644
--- a/net-wireless/wpa_supplicant/wpa_supplicant-9999.ebuild
+++ b/net-wireless/wpa_supplicant/wpa_supplicant-9999.ebuild
@@ -18,13 +18,15 @@ else
fi
SLOT="0"
-IUSE="ap broadcom-sta dbus eap-sim eapol-test fasteap +fils +hs2-0 macsec +mbo +mesh p2p privsep ps3 qt6 readline selinux smartcard tdls tkip uncommon-eap-types wep wimax wps"
+IUSE="+ap broadcom-sta dbus eap-sim eapol-test +fils macsec +mbo +mesh p2p privsep qt6 readline selinux smartcard tkip uncommon-eap-types wep wps"
# CONFIG_PRIVSEP=y does not have sufficient support for the new driver
# interface functions used for MACsec, so this combination cannot be used
# at least for now. bug #684442
REQUIRED_USE="
macsec? ( !privsep )
+ mesh? ( ap )
+ p2p? ( ap wps )
privsep? ( !macsec )
broadcom-sta? ( !fils !mesh !mbo )
"
@@ -108,15 +110,6 @@ src_prepare() {
cd "${WORKDIR}/${P}" || die
- if use wimax; then
- # generate-libeap-peer.patch comes before
- # fix-undefined-reference-to-random_get_bytes.patch
- eapply "${FILESDIR}/${P}-generate-libeap-peer.patch"
-
- # multilib-strict fix (bug #373685)
- sed -e "s/\/usr\/lib/\/usr\/$(get_libdir)/" -i src/eap_peer/Makefile || die
- fi
-
# bug (320097)
eapply "${FILESDIR}/${PN}-2.6-do-not-call-dbus-functions-with-NULL-path.patch"
@@ -192,11 +185,6 @@ src_configure() {
Kconfig_style_config DEBUG_FILE
Kconfig_style_config DEBUG_SYSLOG
- if use hs2-0 ; then
- Kconfig_style_config INTERWORKING
- Kconfig_style_config HS20
- fi
-
if use mbo ; then
Kconfig_style_config MBO
else
@@ -219,10 +207,6 @@ src_configure() {
Kconfig_style_config PCSC
fi
- if use fasteap ; then
- Kconfig_style_config EAP_FAST
- fi
-
if use readline ; then
# readline/history support for wpa_cli
Kconfig_style_config READLINE
@@ -271,10 +255,6 @@ src_configure() {
Kconfig_style_config SMARTCARD n
fi
- if use tdls ; then
- Kconfig_style_config TDLS
- fi
-
if use kernel_linux ; then
# Linux specific drivers
Kconfig_style_config DRIVER_ATMEL
@@ -295,10 +275,6 @@ src_configure() {
Kconfig_style_config DRIVER_MACSEC_LINUX n
Kconfig_style_config MACSEC n
fi
-
- if use ps3 ; then
- Kconfig_style_config DRIVER_PS3
- fi
fi
# Wi-Fi Protected Setup (WPS)
@@ -369,11 +345,6 @@ src_compile() {
einfo "Building wpa_supplicant"
emake V=1 BINDIR=/usr/sbin
- if use wimax; then
- emake -C ../src/eap_peer clean
- emake -C ../src/eap_peer
- fi
-
if use qt6; then
einfo "Building wpa_gui"
emake -C "${S}"/wpa_gui-qt4
@@ -414,8 +385,6 @@ src_install() {
rm "${ED}"/usr/share/man/man8/wpa_gui.8
fi
- use wimax && emake DESTDIR="${D}" -C ../src/eap_peer install
-
if use dbus ; then
pushd "${S}"/dbus > /dev/null || die
insinto /etc/dbus-1/system.d