Remove arch BladeRF/build BladeRF from source, it's not current as of Dec 22 2025 Remove any missing packages like osmosdr-git or miri-git from the PKGBUILD.
Then to fix boost: cp -a PKGBUILD PKGBUILD.bak
python3 - <<'PY' import re, pathlib
p = pathlib.Path("PKGBUILD") s = p.read_text()
Lines we MUST apply after the repo is cloned into $srcdir/gr-osmosdr
patch = r''' # Boost 1.89+: Boost.System stub component removed -> don't require "system" sed -i 's/find_package(Boost "1.65" REQUIRED chrono thread system)/find_package(Boost "1.65" REQUIRED chrono thread)/' CMakeLists.txt # (defensive) if any link line references Boost::system, remove it sed -i 's/Boost::system//g' CMakeLists.txt '''
if re.search(r'^\sprepare()\s{', s, flags=re.M): # Insert patch inside existing prepare() after cd "$srcdir/gr-osmosdr" if present, else at top of prepare. m = re.search(r'^\sprepare()\s{', s, flags=re.M) start = m.end() # Find the prepare block end (first standalone '}' after start) endm = re.search(r'^}', s[start:], flags=re.M) if not endm: raise SystemExit("Couldn't find end of prepare() block") block = s[start:start+endm.start()] if 'cd "$srcdir/gr-osmosdr"' in block: block = re.sub(r'(cd "\$srcdir/gr-osmosdr".*\n)', r'\1' + patch, block, count=1) else: block = patch + block s = s[:start] + block + s[start+endm.start():] else: # No prepare(): add one s += "\nprepare() {\n cd \"$srcdir/gr-osmosdr\"\n" + patch + "}\n"
p.write_text(s) print("PKGBUILD patched (Boost system removed).") PY
Make sure you manually deinstall the official repo gnuradio-osmosdr package, there is no check in the PKGBUILD
these are notes, YMMV
Pinned Comments