json.wrap tracked WrapDB's legacy json package, which has been frozen at
3.2.0-1 since upstream renamed it. It also carried no wrapdb_version field, so
`meson wrap update` could not tell what it was upgrading from and the bump
script skipped it silently, leaving us stuck on a 2018 release.
Point the wrap at nlohmann/json directly rather than routing through WrapDB,
which is slow to adopt upstream releases. Upstream has shipped a root
meson.build declaring nlohmann_json_dep since 2017, so no packaging overlay is
needed and ui/thirdparty keeps asking for the same dependency name.
The revision stays on v3.2.0 so this is only a change of mechanism. The bump
script can now carry it forward to v3.12.0 on its own.
sdl3.wrap was a hand-written [wrap-file] pointing straight at upstream release
tarballs. The bump script hands every [wrap-file] to `meson wrap update`, which
needs a wrapdb_version field to work, so SDL3 was silently skipped on every run
and had to be bumped by hand. WrapDB's own sdl3 package trails upstream, so
pointing back at it is not the answer either.
A git wrap goes through the script's existing GitHub path, which already
resolves the newest matching tag and rewrites the revision. SDL tags releases
as release-X.Y.Z, which the default semver pattern does not match, so give the
wrap a tag_regex like glslang and SPIRV-Reflect have.
The release tarball is a git export plus REVISION.txt, so the only build
difference is that SDL's CMakeLists now takes its non-release path for the
revision string it reports.
- Fixes a few bugs in the existing C interpreter
- Adds a state abstraction layer to switch between engines at runtime
and maintain snapshot compatibility
Get rid of all the version numbers, and use wildcard matches instead,
because peopl will repeatedly forgot to change these versions.
Suggested-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Suggested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
The attrs crate is a simple combinator-based for Rust attributes. It
will be used instead of a handwritten parser.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This is a standard replacement for Box<dyn Error> which is more efficient (it only
occcupies one word) and provides a backtrace of the error. This could be plumbed
into &error_abort in the future.
Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
"let ... else" was stabilized in 1.65.0; bumping the minimum supported
Rust version means we don't need to patch it out anymore.
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>