From 1ab7e14422729f204b74d5c21da30181a4592920 Mon Sep 17 00:00:00 2001 From: deepend Date: Wed, 18 Feb 2026 10:54:55 -0700 Subject: [PATCH] Updated macOS app metadata in osx/Info.plist.in: Raised LSMinimumSystemVersion to 11.0. Aligned CFBundleIdentifier with project naming (net.zoite.Zoitechat). Kept version placeholders (@VERSION@) in CFBundleGetInfoString, CFBundleShortVersionString, and CFBundleVersion so they map cleanly via template substitution. Confirmed icon/document declarations still point to zoitechat.icns and zct/hct extensions. Made Info.plist generation deterministic in bundling workflow by updating osx/makebundle.sh: Force script execution from its own directory for stable relative paths. Always render Info.plist from Info.plist.in before bundling. Use a single explicit version source: VERSION env var or fallback to meson.build project version. Use LC_ALL=C substitution and atomic temp-file move for stable output behavior. --- osx/Info.plist.in | 4 ++-- osx/makebundle.sh | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/osx/Info.plist.in b/osx/Info.plist.in index 073886eb..3e3a0c75 100644 --- a/osx/Info.plist.in +++ b/osx/Info.plist.in @@ -11,7 +11,7 @@ CFBundleIconFile zoitechat.icns CFBundleIdentifier - org.zoitechat + net.zoite.Zoitechat CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType @@ -41,6 +41,6 @@ NSHumanReadableCopyright LSMinimumSystemVersion - 10.4 + 11.0 diff --git a/osx/makebundle.sh b/osx/makebundle.sh index 3e679f5a..66381ef7 100755 --- a/osx/makebundle.sh +++ b/osx/makebundle.sh @@ -2,6 +2,9 @@ set -eu +SCRIPT_DIR="$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)" +cd "$SCRIPT_DIR" + BUNDLE_DEF="zoitechat.bundle" APP_NAME="ZoiteChat.app" @@ -27,6 +30,19 @@ fi rm -rf "$APP_NAME" rm -f ./*.app.zip + +# Keep Info.plist generation deterministic by always rendering from template +# using a single, explicit version source. +VERSION_STRING="${VERSION:-$(sed -n "s/^ version: '\([^']*\)',$/\1/p" ../meson.build | head -n1)}" +if [ -z "$VERSION_STRING" ]; then + echo "error: unable to determine VERSION_STRING for Info.plist" >&2 + exit 1 +fi + +TMP_PLIST="Info.plist.tmp" +LC_ALL=C sed "s/@VERSION@/$VERSION_STRING/g" Info.plist.in > "$TMP_PLIST" +mv -f "$TMP_PLIST" Info.plist + # shellcheck disable=SC2086 $BUNDLER_CMD "$BUNDLE_DEF"