From 03ba656cb6010374a08714b17a0f6426e537440d Mon Sep 17 00:00:00 2001 From: Carlos Jenkins Date: Wed, 12 Aug 2026 12:32:23 -0600 Subject: [PATCH] Exclude utility/pigpio from PlatformIO package export MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `export.exclude` list in library.json strips every Linux/SBC-specific backend under `utility/` from the packaged PlatformIO library (wiringPi, MRAA, LittleWire, RPi, SPIDEV, rp2, ATXMegaD3) — but `utility/pigpio` was missed. `utility/pigpio/{compatibility,gpio,interrupt,spi}.cpp` include , which is a Raspberry-Pi-only dependency. When RF24 is consumed as a PlatformIO dependency on Arduino targets, classic PlatformIO's Library Dependency Finder prunes these files via the `#if !defined(ARDUINO)` guards, so the omission is harmless there. However, build systems that compile all packaged sources without running the LDF (e.g. ESPHome's ESP32 arduino/pioarduino -> ESP-IDF converter, which globs every source file in a dependency) attempt to compile the pigpio backend and fail with "pigpio.h: No such file or directory". Excluding `utility/pigpio/*` from the export — consistent with the other Linux-only backends already listed — fixes those builds and has no effect on platforms that relied on LDF pruning. --- library.json | 1 + 1 file changed, 1 insertion(+) diff --git a/library.json b/library.json index c297bd2a..89c98c83 100644 --- a/library.json +++ b/library.json @@ -26,6 +26,7 @@ "utility/LittleWire/*", "utility/RPi/*", "utility/SPIDEV/*", + "utility/pigpio/*", "utility/rp2/*", "utility/ATXMegaD3/*" ]