What a clone lacked: the gates went green with a thousand skipped tests and said nothing, every login script assumed a worktree-pool slot and its probe account, the client defaulted to the maintainer's account, a docker path and a home directory were in the code, the temp files broke on GNU coreutils, and two generators could only run against a sibling repo. Now the test gates print how many data-gated tests skipped and why; a scripted run logs in as the account its checkout declares in `.probe-identity` or as the three variables name, never a default, and the client refuses a scripted login on any other account; the event and message tables regenerate from vendored inputs, byte for byte; the docs state the real prerequisites. Out of the tree, into the maintainer's own tooling: the worktree pool, its hooks, the perf leg runner, the cross-platform compile and the Vulkan container leg — a way of working, and setups not every machine has. One hook stays: no writes into the install. Two tests that could never run are gone with their subject: the quest-timer geometry diff compared a copy of the window that no longer exists (and joined a chain path onto a folder, so it always skipped), and the FrameXML flag gate now reads the stock files off the player's own patch chain instead of an extracted folder only one machine had. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
37 lines
1.9 KiB
TOML
37 lines
1.9 KiB
TOML
# A fork of the `lua-src` crate (MIT, github.com/mlua-rs/lua-src-rs), pinned to the version mlua
|
|
# 0.11 asks for, carrying ONE deliberate change to the Lua 5.1.5 sources it compiles.
|
|
#
|
|
# WHY THIS EXISTS — decision 1215. The 1.12 addon corpus is written for Lua 5.0 and uses the
|
|
# iterator-less generic-for (`for k, v in someTable do`) in 183 of 218 addons. Lua 5.1 deleted the
|
|
# opcode that made it work, so on stock 5.1 it raises `attempt to call a table value` — the first
|
|
# error for 60 of 218 addons at session start, three quarters of everything that breaks in a running
|
|
# session. It is not reachable from inside Lua: not a library function, not a global, an OPCODE.
|
|
#
|
|
# WHAT IS AND IS NOT CHANGED: `BENILLA.md` lists every hunk against upstream's `lua-5.1.5/` tree
|
|
# (eight, in three files) and the one command that verifies the sources against the registry copy.
|
|
#
|
|
# When the payload does land we are still NOT adopting Lua 5.0: we stay on 5.1.5 and restore the
|
|
# behaviour of one opcode Lua itself shipped and labelled "for compatibility only", so every other
|
|
# 5.1 fix and mlua's whole surface stay intact.
|
|
#
|
|
# The crate's own `src/lib.rs` is upstream's, with Lua 5.2/5.3/5.4/5.5 stripped from the `Version`
|
|
# enum and the trees deleted. That is deliberate rather than tidiness: benilla builds 5.1 and only
|
|
# 5.1, and a fork that still *offers* the other four would answer a request for them with a missing
|
|
# directory at build time instead of a compile error here.
|
|
[package]
|
|
name = "lua-src"
|
|
version = "550.0.0"
|
|
authors = ["Aleksandr Orlenko <zxteam@protonmail.com>"]
|
|
edition = "2024"
|
|
repository = "https://github.com/mlua-rs/lua-src-rs"
|
|
license = "MIT"
|
|
description = """
|
|
Sources of Lua 5.1 and logic to build them — benilla's fork, see the header and BENILLA.md.
|
|
"""
|
|
|
|
[features]
|
|
ucid = [] # accept UniCode IDentifiers (upstream's; inert here, it only ever gated 5.4/5.5)
|
|
|
|
[dependencies]
|
|
cc = "1.2"
|