diff --git a/CHANGELOG.md b/CHANGELOG.md index e3152acc..8fbe70ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,13 @@ ## Unreleased ### Added ### Changed + +* PGO helper scripts no longer set `LC_CTYPE=en_US.UTF-8`. But, note + that “full” PGO builds still **require** an UTF-8 locale; you need + to set one manually in your build script + (https://codeberg.org/dnkl/foot/issues/728). + + ### Deprecated ### Removed ### Fixed diff --git a/INSTALL.md b/INSTALL.md index 40b128e7..6fe8406b 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -281,6 +281,10 @@ reason there are a number of helper scripts available. scripts in the `pgo` directory to do a complete PGO build. This script is intended to be used when doing manual builds. +Note that all “full” (which `auto` will prefer, if possible) PGO +builds **require** `LC_CTYPE` to be set to an UTF-8 locale. This is +**not** done automatically. + Example: ```sh diff --git a/PKGBUILD b/PKGBUILD index 5c3666f9..c4c99282 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,4 +1,29 @@ -PGO=auto # auto|none|partial|full-current-session|full-headless-sway|full-headless-cage +# Select PGO (Performance Guided Optimizations) build type. +# +# - auto: choose best available option +# +# - none: disable PGO +# +# - full-current-session: run a “full” PGO build in an existing +# Wayland session. This will pop up a foot window running a script +# that generates random terminal output. +# +# - full-headless-sway: run a “full” PGO build inside a headless Sway +# instance. Requires Sway >= 1.7. +# +# - full-headless-cage: run a “full” PGO build inside a headless Cage +# instance. Requires cage to be installed. Will generate lots of +# Cage warnings, but seems to procude a fully working (and well +# optimized) foot build. +# +# - partial: run a “partial” PGO build. This requires neither a +# running Wayland session, nor an installed Wayland compositor. +# +# Note that “full-*” (which “auto” will prefer) requires an UTF-8 +# locale. Either make sure LC_CTYPE is set to an UTF-8 locale, or do a +# “partial” PGO build (or disable PGO altoghether). + +PGO=auto pkgname=('foot-git' 'foot-terminfo-git') pkgver=1.9.1 diff --git a/pgo/full-inner.sh b/pgo/full-inner.sh index 37cb2fb6..e6168081 100755 --- a/pgo/full-inner.sh +++ b/pgo/full-inner.sh @@ -15,10 +15,10 @@ rm -f "${blddir}"/pgo-ok # To ensure profiling data is generated in the build directory cd "${blddir}" -LC_CTYPE=en_US.UTF-8 "${blddir}"/footclient --version -LC_CTYPE=en_US.UTF-8 "${blddir}"/foot \ - --config=/dev/null \ - --term=xterm \ +"${blddir}"/footclient --version +"${blddir}"/foot \ + --config=/dev/null \ + --term=xterm \ sh -c " set -eux