From 9b0fb399515878a6d2a24f6ba1304ec508ab296c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Fri, 1 Oct 2021 21:57:57 +0200 Subject: [PATCH 1/2] =?UTF-8?q?changelog:=20add=20a=20new=20=E2=80=98unrel?= =?UTF-8?q?eased=E2=80=99=20section?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ac5d5d9..e3152acc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ # Changelog +* [Unreleased](#unreleased) * [1.9.1](#1-9-1) * [1.9.0](#1-9-0) * [1.8.2](#1-8-2) @@ -30,6 +31,16 @@ * [1.2.0](#1-2-0) +## Unreleased +### Added +### Changed +### Deprecated +### Removed +### Fixed +### Security +### Contributors + + ## 1.9.1 ### Added From 9389f337d0f75bcdeaf95cbfc9c8525db0e2007b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Sat, 2 Oct 2021 14:43:02 +0200 Subject: [PATCH 2/2] pgo: full-inner: do not set LC_CTYPE=en_US.UTF-8 That locale may not exist. Instead, require the user/build script to explicitly set an UTF-8 locale. Document this in INSTALL.md, and in the bundled PKGBUILD. --- CHANGELOG.md | 7 +++++++ INSTALL.md | 4 ++++ PKGBUILD | 27 ++++++++++++++++++++++++++- pgo/full-inner.sh | 8 ++++---- 4 files changed, 41 insertions(+), 5 deletions(-) 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