From 487483482fe231eb3612ca41911326fb1c64cfb3 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Tue, 13 Oct 2026 13:39:45 +0000 Subject: automatic import of ros-humble-zenoh-bridge-dds --- zenoh-bridge-dds.spec | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'zenoh-bridge-dds.spec') diff --git a/zenoh-bridge-dds.spec b/zenoh-bridge-dds.spec index 139e354..ebb453e 100644 --- a/zenoh-bridge-dds.spec +++ b/zenoh-bridge-dds.spec @@ -36,6 +36,24 @@ Bridge between ROS2/DDS and Eclipse zenoh (https://zenoh.io). It allows the inte %autosetup -n %{RosPkgName}-%{src_version} tar -xzf %{SOURCE1} +# Patch bindgen 0.58.1: sanitize_name only replaces space/colon/dot, not +# parentheses and slashes in unnamed enum type names from newer glibc headers +# (e.g. confname.h), causing proc-macro2 panic "is not a valid Ident". +python3 - <<'PYEOF' +import json, hashlib +p = 'vendor/bindgen/src/ir/ty.rs' +s = open(p).read() +old = "name.replace(|c| c == ' ' || c == ':' || c == '.', \"_\")" +new = "name.replace(|c| !(c.is_alphanumeric() || c == '_'), \"_\")" +assert old in s, "bindgen sanitize_name pattern not found" +s = s.replace(old, new) +open(p, 'w').write(s) +c = 'vendor/bindgen/.cargo-checksum.json' +d = json.load(open(c)) +d['files']['src/ir/ty.rs'] = hashlib.sha256(open(p, 'rb').read()).hexdigest() +json.dump(d, open(c, 'w'), separators=(',', ':')) +PYEOF + %build [ -f /opt/ros/%{ros_distro}/setup.sh ] && source /opt/ros/%{ros_distro}/setup.sh || true export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages${PYTHONPATH:+:$PYTHONPATH} -- cgit v1.2.3