Skip to content

build: Update liblouis to 3.39.0 - #31

Merged
nanchen2483 merged 1 commit into
Notalib:mainfrom
henrikottesorensen:feature/liblouis-3.39.0
Oct 9, 2026
Merged

nanchen2483 merged 1 commit into
Notalib:mainfrom
henrikottesorensen:feature/liblouis-3.39.0

Conversation

@henrikottesorensen

Copy link
Copy Markdown
Collaborator

Bumps the packaged liblouis from 3.38.0 to 3.39.0. LiblouisVersion and LiblouisTarballSha384 in Directory.Build.props are the only functional change. The rest is version examples in comments and PACKAGING.md.

Verification

  • ./build.sh (container) builds linux-x86/x64/arm64 and win-x86/x64/arm64. build/build_runtime_macos_packages.sh builds osx-arm64/x64.
  • verify_native_binary.sh passes for all eight RIDs: the right architecture, all 18 P/Invoke symbols exported, and no dependencies outside the allowlist.
  • The glibc floor is unchanged: 2.34 / 2.33 / 2.33 (linux-x86 / x64 / arm64).
  • win-arm64 still needs both workarounds documented in PACKAGING.md: removing the stdcall alias and adding -Wno-incompatible-pointer-types.
  • dotnet test passes on net8.0 and net10.0 (4/4 each), resolved against the locally built 3.39.0 runtime packages.
  • 481 tables now stage, up from 475.

Upstream notes

  • 3.39.0 deprecates the spacing parameter of lou_translate, lou_translateString, lou_backTranslate and lou_backTranslateString. API and ABI are preserved, so NativeMethod.cs needs no change. LibLouis.Translate still exposes spacing publicly, and this PR leaves that as is. It could get an [Obsolete] in a follow-up.

🤖 Generated with Claude Code

The version and its checksum are the only functional change; everything
else derives from them. The remaining 3.38 references were examples in
comments and documentation.

Verified rather than assumed:

- All eight RIDs build. win-arm64 still needs the -Wl,--add-stdcall-alias
  workaround and the -Wno-incompatible-pointer-types flag for gnulib's
  metadata.c, so PACKAGING.md's note on both survives the bump.
- The glibc floor is unchanged: 2.34, 2.33, 2.33 for linux-x86, x64 and
  arm64.
- Every binary exports all eighteen P/Invoke entry points and depends on
  nothing outside its platform allowlist.
- The tests pass on net8.0 and net10.0 against the 3.39.0 runtime
  packages, so the tables still compile.

3.39.0 deprecates the spacing parameter of lou_translate,
lou_translateString, lou_backTranslate and lou_backTranslateString.
API and ABI are preserved, so the P/Invoke signatures are unaffected,
but LibLouis.Translate still exposes spacing publicly.

481 tables now stage, up from 475.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@nanchen2483
nanchen2483 merged commit c98eb8d into Notalib:main Oct 9, 2026
7 checks passed
henrikottesorensen added a commit that referenced this pull request Oct 9, 2026
main moved to liblouis 3.39.0 (#31). Four of the specs here changed
upstream: bg.yaml, de-blista-dictionary.yaml,
en-ueb-symbols_harness.yaml and hbo.yaml, in line with the release's
Bulgarian and Biblical Hebrew back-translation work. None of the Danish
specs changed.

en-ueb.yaml still does not parse with YamlDotNet. The README now gives
the 3.39.0 count of upstream specs, 160, and adds the three it
introduced (en-nz.yaml, ht.yaml, mi.yaml) to the list not yet tried.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
henrikottesorensen added a commit that referenced this pull request Oct 9, 2026
main moved to liblouis 3.39.0 (#31). Four of the specs here changed
upstream: bg.yaml, de-blista-dictionary.yaml,
en-ueb-symbols_harness.yaml and hbo.yaml, in line with the release's
Bulgarian and Biblical Hebrew back-translation work. None of the Danish
specs changed.

en-ueb.yaml still does not parse with YamlDotNet. The README now gives
the 3.39.0 count of upstream specs, 160, and adds the three it
introduced (en-nz.yaml, ht.yaml, mi.yaml) to the list not yet tried.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants