Skip to content

Update libdigidocpp to v4.4.0 and remove build hacks#6

Draft
lnagel wants to merge 5 commits into
mainfrom
upstream-v440
Draft

Update libdigidocpp to v4.4.0 and remove build hacks#6
lnagel wants to merge 5 commits into
mainfrom
upstream-v440

Conversation

@lnagel
Copy link
Copy Markdown
Member

@lnagel lnagel commented Mar 16, 2026

Summary

Update libdigidocpp submodule from v4.3.0 to v4.4.0 (official release tag, commit 68ec5bf).

  • Remove symlink hack — upstream switched CMAKE_SOURCE_DIR to PROJECT_SOURCE_DIR (#716)
  • Remove ANDROID=TRUE hack — upstream now includes static targets in export set (#717)

Remaining hacks (pending upstream, not in v4.4.0)

Both hacks stay until a future upstream release; documented in CLAUDE.md.

Test plan

  • uv build --wheel succeeds on Linux
  • uv run pytest tests/ -v — all 22 tests pass
  • CI build_wheels job passes on Linux/macOS/Windows

lnagel and others added 5 commits March 16, 2026 14:09
Upstream now uses PROJECT_SOURCE_DIR (fixes CMAKE_SOURCE_DIR issue)
and includes static targets in the export set (fixes install(EXPORT)
failure). Removes the symlink workaround and ANDROID=TRUE hack.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Move from master snapshot (v4.3.0-16-ge232b19) to the official v4.4.0
tag for a reproducible release. PR #722 (PDB install guard) and #723
(digidocpp_EXPORTS) landed/are pending after v4.4.0, so both upstream
build hacks remain in place.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…regression

Previous CI at this exact pin passed on macOS arm64 and Windows on
2026-03-16 (run 23143995035). v4.4.0 currently segfaults on second
initialize_lib() call on those platforms. This revert tests whether the
regression is in v4.4.0 (only 5 lines changed in TSL.cpp) or due to
environmental drift since March.

This commit will be reverted depending on CI outcome.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
CI diagnostic at submodule pin e232b19 (run 26246671120) showed the
same macOS/Windows segfault as v4.4.0, confirming the bug is not in
v4.4.0 — it is an environmental issue exposed by EU TSL data drift
since the last passing CI on 2026-03-16. libdigidocpp segfaults on
init -> terminate -> init cycles on macOS/Windows with current TSL
data; Linux is unaffected.

Workaround:
- Make the `lib` test fixture session-scoped (one init per session).
- Skip `test_initialize_lib_custom_path` on non-Linux platforms; it
  intentionally exercises a second init after terminate, which is
  what triggers the upstream bug.

Submodule re-pinned to v4.4.0 tag (this reverts d2a40f4 diagnostic).

Co-Authored-By: Claude Opus 4.7 (1M context) <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.

1 participant