228fffb renamed luxprecompile-sys -> lux-precompile for lux-consensus naming
consistency, but that (a) broke every consumer importing luxprecompile_sys and
(b) collided with sdk-rs's idiomatic wrapper crate, which is ALSO lux-precompile
— cargo refuses two same-named packages in one graph. Keep the family consistent
AND the Rust FFI convention: the -sys crate is lux-precompile-sys, the wrapper
stays lux-precompile. Consumed as a local path dep from sdk-rs (no crates.io
publish required).
Metadata polish for the public registry: switch from `license = "MIT"`
(wrong) to `license-file = "LICENSE"` with the actual Lux Ecosystem
License 1.2 vendored in-crate, declare `links = "luxprecompile"` so
cargo enforces the single-source-of-truth for the sys crate, add
README/homepage/authors, and add a docs.rs section that disables the
link step (docs.rs has no libluxprecompile.dylib).
build.rs: skip linking entirely on docs.rs, consult /usr/local/lib as
a standard install fallback in addition to the in-tree dist/ path, and
emit rerun-if-env-changed hints. Existing in-tree dev workflow is
unchanged; downstream consumers must install libluxprecompile.dylib
externally (the 18 MiB Go-built dylib exceeds crates.io's 10 MiB tarball
limit, so vendoring is not viable).
Published: https://crates.io/crates/luxprecompile-sys/0.1.0