From 29a35843f17e1e79435db5e50cfac936e5409f8c Mon Sep 17 00:00:00 2001 From: deepend Date: Thu, 19 Feb 2026 16:39:38 -0700 Subject: [PATCH] Fixed macOS bundling prefix serialization in osx/makebundle.sh by removing the forced trailing slash from BUNDLE_PREFIX_XML, so gtk-mac-bundler translation path rebasing no longer produces malformed .../ocale/... paths. Updated the inline comments to document the exact failure mode and why a slashless is required for this code path. --- osx/makebundle.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/osx/makebundle.sh b/osx/makebundle.sh index 337c15c4..799ceab2 100755 --- a/osx/makebundle.sh +++ b/osx/makebundle.sh @@ -58,10 +58,11 @@ if [ -z "$BUNDLE_PREFIX" ]; then BUNDLE_PREFIX="/usr/local" fi -# gtk-mac-bundler rebases translation paths using string concatenation on -# ${prefix}. Keep a trailing slash in the bundle metadata to avoid malformed -# paths like ".../x86_64locale/..." when copying locale catalogs. -BUNDLE_PREFIX_XML="${BUNDLE_PREFIX%/}/" +# gtk-mac-bundler translation rebasing can produce off-by-one path slicing +# with a trailing slash in , yielding broken paths like +# ".../x86_64/ocale/...". Keep the XML prefix slashless and let bundle entries +# contribute their own separators. +BUNDLE_PREFIX_XML="${BUNDLE_PREFIX%/}" ENCHANT_PREFIX_DEFAULT="${BUNDLE_PREFIX}/opt/enchant" ENCHANT_PREFIX_PATH="${ENCHANT_PREFIX:-$ENCHANT_PREFIX_DEFAULT}"