feat: add gr-leo and gr-dl5eu, fix binding hash script for GR 3.10

Add two new OOT modules to the catalog:
- gr-leo: LEO satellite channel simulator from LibreSpace Foundation
- gr-dl5eu: DVB-T OFDM synchronization and TPS decoder

Update fix_binding_hashes.py to search python/**/bindings/ recursively,
supporting both GR 3.9 layout (python/bindings/) and GR 3.10 layout
(python/<module>/bindings/).
This commit is contained in:
Ryan Malloy 2026-02-01 10:30:23 -07:00
parent 30a1fecc6b
commit ca114fe2cb
2 changed files with 38 additions and 19 deletions

View File

@ -57,10 +57,13 @@ headers so cmake skips the regeneration step.
import hashlib, pathlib, re, sys
root = pathlib.Path(sys.argv[1]) if len(sys.argv) > 1 else pathlib.Path(".")
bindings = root / "python" / "bindings"
if not bindings.is_dir():
# GR 3.9-: python/bindings/ | GR 3.10+: python/<module>/bindings/
binding_dirs = list(root.joinpath("python").glob("**/bindings"))
if not binding_dirs:
sys.exit(0)
for bindings in binding_dirs:
for cc in sorted(bindings.glob("*_python.cc")):
text = cc.read_text()
m = re.search(r"BINDTOOL_HEADER_FILE\\((\\S+)\\)", text)

View File

@ -286,6 +286,22 @@ CATALOG: dict[str, OOTModuleEntry] = {
branch="master",
homepage="https://github.com/muccc/gr-iridium",
),
_entry(
name="leo",
description="LEO satellite channel simulator (Doppler, path loss, atmosphere)",
category="Satellite",
git_url="https://gitlab.com/librespacefoundation/gr-leo",
branch="gnuradio-3.10",
homepage="https://gitlab.com/librespacefoundation/gr-leo",
),
_entry(
name="dl5eu",
description="DVB-T OFDM synchronization and TPS decoder",
category="Broadcast",
git_url="https://github.com/dl5eu/gr-dl5eu",
branch="main",
homepage="https://github.com/dl5eu/gr-dl5eu",
),
_entry(
name="inspector",
description="Signal analysis toolbox (energy detection, OFDM estimation)",