All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni via buildroot <buildroot@buildroot.org>
To: buildroot@buildroot.org
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Julien Olivain <ju.o@free.fr>
Subject: [Buildroot] [PATCH v2] package/fluidsynth: fix download-while-configure since 2.5.7 bump
Date: Thu, 27 Aug 2026 10:16:26 +0200	[thread overview]
Message-ID: <20260827081626.1018466-1-thomas.petazzoni@bootlin.com> (raw)

Since commit
566bdcb97f5706aa08f40a88e4728e4a0bed8257 ("package/fluidsynth:
security bump to version 2.5.7"), fluidsynth tries to download some
"gcem" code during its configure step, which not only violates
Buildroot's policies, but also breaks the build if network is not
available during the build.

To fix this, we add an EXTRA_DOWNLOADS to grab gcem and extract it at
the right place. Some minor fix (submitted upstream) is needed to
ensure the FindGCEM.cmake logic properly finds that gcem is already in
the source tree.

Fixes:

  https://autobuild.buildroot.net/results/048df28f6ab97a16731e62d7f56c6eba565cda63/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
Changes since v1:
- Fix typo in commit log reported by Baruch (thanks for the review!)
---
 ...-finding-bundled-GCEM-with-a-sysroot.patch | 41 +++++++++++++++++++
 package/fluidsynth/fluidsynth.hash            |  1 +
 package/fluidsynth/fluidsynth.mk              | 12 ++++++
 3 files changed, 54 insertions(+)
 create mode 100644 package/fluidsynth/0001-cmake-fix-finding-bundled-GCEM-with-a-sysroot.patch

diff --git a/package/fluidsynth/0001-cmake-fix-finding-bundled-GCEM-with-a-sysroot.patch b/package/fluidsynth/0001-cmake-fix-finding-bundled-GCEM-with-a-sysroot.patch
new file mode 100644
index 0000000000..66f5224847
--- /dev/null
+++ b/package/fluidsynth/0001-cmake-fix-finding-bundled-GCEM-with-a-sysroot.patch
@@ -0,0 +1,41 @@
+From f558b8656efe8bba7dd94f4acfceb1294a7ded22 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+Date: Thu, 27 Aug 2026 08:59:32 +0200
+Subject: [PATCH] cmake: fix finding bundled GCEM with a sysroot
+
+CMAKE_FIND_ROOT_PATH_MODE_INCLUDE may be set to ONLY when cross
+compiling, to ensure that header searches use the target sysroot
+instead of accidentally finding host headers.
+
+This causes find_path() to re-root the absolute path to the bundled
+GCEM headers under the target sysroot, making FindGCEM miss
+gcem/include/gcem.hpp in situations where
+CMAKE_FIND_ROOT_PATH_MODE_INCLUDE is set to ONLY.
+
+To fix this, this commit passes NO_CMAKE_FIND_ROOT_PATH to prevent
+sysroot re-rooting when searching this source-tree path. It allows to
+properly detected gcem/include/gcem.hpp and avoid the download if
+already present.
+
+Upstream: https://github.com/FluidSynth/fluidsynth/pull/1835
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+---
+ cmake_admin/FindGCEM.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake_admin/FindGCEM.cmake b/cmake_admin/FindGCEM.cmake
+index 980951cc..e02d97f8 100644
+--- a/cmake_admin/FindGCEM.cmake
++++ b/cmake_admin/FindGCEM.cmake
+@@ -23,7 +23,7 @@ This will define the following variables:
+ #]=======================================================================]
+ 
+ # Find the headers and library
+-find_path(GCEM_INCLUDE_DIR NAMES "gcem.hpp" PATHS "${CMAKE_CURRENT_SOURCE_DIR}/gcem/include")
++find_path(GCEM_INCLUDE_DIR NAMES "gcem.hpp" PATHS "${CMAKE_CURRENT_SOURCE_DIR}/gcem/include" NO_CMAKE_FIND_ROOT_PATH)
+ 
+ include(FindPackageHandleStandardArgs)
+ 
+-- 
+2.55.0
+
diff --git a/package/fluidsynth/fluidsynth.hash b/package/fluidsynth/fluidsynth.hash
index 0d727e75e6..1e15d48d0d 100644
--- a/package/fluidsynth/fluidsynth.hash
+++ b/package/fluidsynth/fluidsynth.hash
@@ -1,3 +1,4 @@
 # Locally computed
 sha256  ce27840221ab00dd59bf27e85ecbba480c6c2a7c9fbec4243658f68f59c07f4a  fluidsynth-2.5.7.tar.gz
+sha256  34ab0ee87a9eb26d3087fa9b49c2572ea8ee03db0c9705b83648301a3a3fc172  gcem-012ae73c6d0a2cb09ffe86475f5c6fba3926e200.tar.gz
 sha256  20e50fe7aae3e56378ebf0417d9de904f55a0e61e4df315333e632a4d3555d95  LICENSE
diff --git a/package/fluidsynth/fluidsynth.mk b/package/fluidsynth/fluidsynth.mk
index 1d6cb118ff..1e6043e6b8 100644
--- a/package/fluidsynth/fluidsynth.mk
+++ b/package/fluidsynth/fluidsynth.mk
@@ -12,6 +12,18 @@ FLUIDSYNTH_CPE_ID_VENDOR = fluidsynth
 FLUIDSYNTH_INSTALL_STAGING = YES
 FLUIDSYNTH_DEPENDENCIES = libglib2
 
+FLUIDSYNTH_GCEM_VERSION = 012ae73c6d0a2cb09ffe86475f5c6fba3926e200
+FLUIDSYNTH_EXTRA_DOWNLOADS = $(call github,kthohr,gcem,$(FLUIDSYNTH_GCEM_VERSION))/gcem-$(FLUIDSYNTH_GCEM_VERSION).tar.gz
+
+define FLUIDSYNTH_GCEM_EXTRACT
+	$(call suitable-extractor,$(notdir $(FLUIDSYNTH_EXTRA_DOWNLOADS))) \
+		$(FLUIDSYNTH_DL_DIR)/$(notdir $(FLUIDSYNTH_EXTRA_DOWNLOADS)) | \
+		$(TAR) -C $(@D)/ $(TAR_OPTIONS) -
+	rmdir $(@D)/gcem
+	ln -sf gcem-$(FLUIDSYNTH_GCEM_VERSION) $(@D)/gcem
+endef
+FLUIDSYNTH_POST_EXTRACT_HOOKS += FLUIDSYNTH_GCEM_EXTRACT
+
 ifeq ($(BR2_PACKAGE_FLUIDSYNTH_ALSA_LIB),y)
 FLUIDSYNTH_CONF_OPTS += -Denable-alsa=1
 FLUIDSYNTH_DEPENDENCIES += alsa-lib
-- 
2.55.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

             reply	other threads:[~2026-08-27  8:16 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-27  8:16 Thomas Petazzoni via buildroot [this message]
2026-08-28  9:35 ` [Buildroot] [PATCH v2] package/fluidsynth: fix download-while-configure since 2.5.7 bump Julien Olivain via buildroot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260827081626.1018466-1-thomas.petazzoni@bootlin.com \
    --to=buildroot@buildroot.org \
    --cc=ju.o@free.fr \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.