Skip to content

xz-m 5.8.3: liblzma as C++23 modules (mcpplibs.mwrap.xz) - #1

Merged
Sunrisepeak merged 3 commits into
mainfrom
mwrap-5.8.3
Nov 6, 2026
Merged

Sunrisepeak merged 3 commits into
mainfrom
mwrap-5.8.3

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

liblzma of XZ Utils 5.8.3 as C++23 modules over compat.xz 5.8.3, the first release of the mwrap identity mcpplibs.mwrap.xz (mcpp-index docs/mwrap.md; the package keeps the compat identity xz). mcpp 2026.11.7.1 imports it in place of including <lzma.h> (mcpp design record 2026-11-07, D10).

Contents

  • mcpplibs.mwrap.xz: 110 functions, 26 types and 43 enumerators of <lzma.h> and lzma/*.h, upstream names in the global namespace. The four multithreaded entry points are declared by the header but not built by compat.xz; they are listed as unbuilt and not exported.
  • mcpplibs.mwrap.xz.macros: 65 constant macros, same names, in mcpplibs::mwrap::xz::macros.
  • <mwrap/xz/macros.hpp>: LZMA_STREAM_INIT (upstream's NULL written nullptr), lzma_vli_is_valid, lzma_set_ext_size, lzma_block_header_size_decode, LZMA_VLI_C.
  • tools/generate.py writes the module, the mapping, the macro header and two tests (every constant against its macro; every exported function linked) from the headers as clang reads them with the build's flags; --check audits them on every LLVM row.
  • Tests: buffer round trip, a stream through LZMA_STREAM_INIT, BCJ+LZMA2 filter chain read back by the automatic decoder, .lzma, CRC-32/CRC-64 published values, garbage → LZMA_FORMAT_ERROR, version against its macros, header mixing. Upstream's 89 test files: each good file decodes, each bad file is refused. Default template pack.

Local results (Linux x86_64)

Check Result
mcpp test, GCC 16.1.0 / LLVM 23.1.3 / GCC 16.1.0 --target x86_64-linux-musl 4/4 passed each
tools/generate.py --check 0 problems
tools/run_conformance.py 89 test files, 0 wrong
tools/test_template.py template built and ran
tools/check_mwrap_release.py mcpplibs.mwrap.xz@5.8.3

After merge: tag mwrap-5.8.3, GitCode mirror, mcpp-index pkgs/mwrap/xz.lua and tests/mwrap/xz.

Sunrisepeak and others added 3 commits November 7, 2026 06:09
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…ays so

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…defines)

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
@Sunrisepeak
Sunrisepeak merged commit bcff4a4 into main Nov 6, 2026
6 checks passed
@Sunrisepeak
Sunrisepeak deleted the mwrap-5.8.3 branch November 6, 2026 22:04
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