Files
buildroot/package/avrdude/0001-CMakeLists.txt-allow-disabling-Python-support.patch
Thomas Petazzoni d3229d7fa0 package/avrdude: disable Python support to fix build issues
The build of avrdude sometimes fails with:

avrdude: installs files in /home/autobuild/autobuild/instance-1/output-1/target//home/autobuild/autobuild/instance-1/output-1

This is due to an issue in the installation logic for the Python
code. However, our avrdude.mk doesn't explicitly support building
avrdude's Python support, so it's really only by luck (or lack
thereof) that sometimes host-swig and python3 end up built before
avrdude, causing avrdude to build its Python support, which installs
at the wrong location.

In order to address this, we add a small patch, submitted upstream,
that allows to explicitly disable Python support, which we then use in
avrdude.mk.

The actual Python issue can be investigated at a later point if
someone needs it. But in any case, being able to explicitly disable
Python support if not needed is useful.

Fixes:

  http://autobuild.buildroot.net/results/f18d47289d8b4dee768275a468c25b4f4399cf8c/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-09-03 18:24:59 +02:00

60 lines
2.1 KiB
Diff

From 41ee27cf1d31bbc62425aab286b7e524acc64bff Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Fri, 29 Aug 2025 22:21:50 +0200
Subject: [PATCH] CMakeLists.txt: allow disabling Python support
In some cases, even if Swig is found and Python3 is found, it may not
be desirable to build Python support in avrdude, so this commit adds
an ENABLE_PYTHON_SUPPORT option to be able to explicitly disable using
Python support (unfortunately CMake doesn't allow passing arguments
that would prevent it from finding Swig/Python 3 if available).
To preserve existing behavior, this option defaults to enabled (ON).
Upstream: https://github.com/avrdudes/avrdude/pull/2051
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
CMakeLists.txt | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7f3fce92..94263bab 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -34,6 +34,7 @@ option(USE_EXTERNAL_LIBS "Use external libraries from AVRDUDE GitHub repositorie
option(USE_LIBUSBWIN32 "Prefer libusb-win32 over libusb" OFF)
option(DEBUG_CMAKE "Enable debugging output for this CMake project" OFF)
option(BUILD_SHARED_LIBS "Build shared libraries" OFF)
+option(ENABLE_PYTHON_SUPPORT "Enable Python support" ON)
if(WIN32)
# Prefer static libraries over DLLs on Windows
@@ -281,14 +282,16 @@ if(HAVE_LINUXGPIO)
endif()
# -------------------------------------
-# Find SWIG
-find_package(SWIG 4.0 COMPONENTS python)
-if(SWIG_FOUND)
- find_package(Python3 COMPONENTS Interpreter Development)
- if(PYTHON3_FOUND)
- set(HAVE_SWIG 1)
- else()
- message(STATUS "Found SWIG but no Python3 header/library; cannot use SWIG")
+# Find SWIG/Python3 if needed
+if(ENABLE_PYTHON_SUPPORT)
+ find_package(SWIG 4.0 COMPONENTS python)
+ if(SWIG_FOUND)
+ find_package(Python3 COMPONENTS Interpreter Development)
+ if(PYTHON3_FOUND)
+ set(HAVE_SWIG 1)
+ else()
+ message(STATUS "Found SWIG but no Python3 header/library; cannot use SWIG")
+ endif()
endif()
endif()
--
2.50.1