gnuradio, uhd: Use boost17x

gnss-sdr needs it: https://github.com/boostorg/format/issues/67 .
uhd and gnuradio need to use the same boost version to avoid
incompatibilities issues. icu is needed from some reason with boost17x.

+20 -3
+16 -2
pkgs/applications/radio/gnuradio/default.nix
··· 24 24 , gsl 25 25 , cppzmq 26 26 , zeromq 27 + # Needed only if qt-gui is disabled, from some reason 28 + , icu 27 29 # GUI related 28 30 , gtk3 29 31 , pango ··· 60 62 boost 61 63 log4cpp 62 64 mpir 63 - ]; 65 + ] 66 + # when gr-qtgui is disabled, icu needs to be included, otherwise 67 + # building with boost 1.7x fails 68 + ++ lib.optionals (!(hasFeature "gr-qtgui" features)) [ icu ]; 64 69 pythonNative = with python.pkgs; [ 65 70 Mako 66 71 six ··· 160 165 cmakeEnableFlag = "GR_TRELLIS"; 161 166 }; 162 167 gr-uhd = { 163 - runtime = [ uhd ]; 168 + runtime = [ 169 + uhd 170 + ]; 164 171 cmakeEnableFlag = "GR_UHD"; 165 172 }; 166 173 gr-utils = { ··· 264 271 (fetchpatch { 265 272 url = "https://github.com/gnuradio/gnuradio/commit/dbc8ad7e7361fddc7b1dbc267c07a776a3f9664b.diff"; 266 273 sha256 = "tQcCpcUbJv3yqAX8rSHN/pAuBq4ueEvoVo7sNzZGvf4="; 274 + }) 275 + # Needed to use boost 1.7x, see: 276 + # https://github.com/gnuradio/gnuradio/issues/3720 277 + # https://github.com/gnuradio/gnuradio/pull/3967 278 + (fetchpatch { 279 + url = "https://github.com/gnuradio/gnuradio/commit/cbcb968358fad56f3646619b258f18b0e6693a07.diff"; 280 + sha256 = "1ajf4797f869lqv436xw61s29qdbn7f01i0970kfxv3yahd34p9v"; 267 281 }) 268 282 ]; 269 283 in
+4 -1
pkgs/top-level/all-packages.nix
··· 13142 13142 uefi-firmware-parser = callPackage ../development/tools/analysis/uefi-firmware-parser { }; 13143 13143 13144 13144 uhd3_5 = callPackage ../applications/radio/uhd/3.5.nix { }; 13145 - uhd = callPackage ../applications/radio/uhd { }; 13145 + uhd = callPackage ../applications/radio/uhd { 13146 + boost = boost17x; 13147 + }; 13146 13148 13147 13149 uisp = callPackage ../development/tools/misc/uisp { }; 13148 13150 ··· 22337 22339 gnuradio-unwrapped = callPackage ../applications/radio/gnuradio { 22338 22340 inherit (darwin.apple_sdk.frameworks) CoreAudio; 22339 22341 python = python3; 22342 + boost = boost17x; 22340 22343 }; 22341 22344 # A build without gui components and other utilites not needed for end user 22342 22345 # libraries