meson: rename Rust subprojects to NAME-SEMVER-rs

Use the convention for Rust subprojects that was adopted by Meson 1.5.0
and newer.

Distros would prefer to avoid vendored crate sources, and instead use
local sources from e.g. /usr/share/cargo/registry.  While Meson does not
support a local registry, it can be emulated with MESON_PACKAGE_CACHE_DIR.

However, because the distro might not be using the exact version of the
package, but only one that has the same semver, packagers need to add
some hacks to rewrite the wrap files.  For example, in Fedora:

    export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
    # So... Meson can't actually find them without tweaks
    %define inst_crate_nameversion() %(basename %{cargo_registry}/%{1}-*)
    %define rewrite_wrap_file() sed -e "/source.*/d" -e "s/%{1}-.*/%{inst_crate_nameversion %{1}}/" -i subprojects/%{1}.wrap
    %rewrite_wrap_file proc-macro2
    %rewrite_wrap_file quote
    %rewrite_wrap_file syn
    %rewrite_wrap_file unicode-ident
    %rewrite_wrap_file paste

Having a common convention for the name of Rust wraps makes it possible
to perform this transformation with a script without listing
the wraps one by one, and to share the script across multiple packages
(which will be useful when QEMU starts using Rust in a similar way to Mesa).

For an example of such a script, see
https://lore.kernel.org/r/20250722083507.678542-1-pbonzini@redhat.com/.

Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36284>
This commit is contained in:
Paolo Bonzini 2025-07-22 08:43:52 +02:00 committed by Marge Bot
parent 2fb53f01f1
commit 8ea232a9ae
63 changed files with 92 additions and 92 deletions

View file

@ -144,15 +144,15 @@ fi
# shellcheck disable=2206 # shellcheck disable=2206
meson_subprojects=( meson_subprojects=(
perfetto perfetto
syn syn-2-rs
paste paste-1-rs
pest pest-2-rs
pest_derive pest_derive-2-rs
pest_generator pest_generator-2-rs
pest_meta pest_meta-2-rs
roxmltree roxmltree-0.20-rs
rustc-hash rustc-hash-2-rs
indexmap indexmap-2-rs
${FORCE_FALLBACK_FOR:-} ${FORCE_FALLBACK_FOR:-}
) )

View file

@ -125,7 +125,7 @@ idep_compiler_rs = declare_dependency(
dep_syn = dependency('syn', dep_syn = dependency('syn',
version : '>= 2.0.15', version : '>= 2.0.15',
fallback : ['syn', 'dep_syn'], fallback : ['syn-2-rs', 'dep_syn'],
required : true, required : true,
) )

View file

@ -121,31 +121,31 @@ if with_tools.contains('etnaviv')
dep_indexmap = dependency('indexmap', dep_indexmap = dependency('indexmap',
version : '>= 2.2.6', version : '>= 2.2.6',
fallback : ['indexmap', 'dep_indexmap'], fallback : ['indexmap-2-rs', 'dep_indexmap'],
required : true, required : true,
) )
dep_roxmltree = dependency('roxmltree', dep_roxmltree = dependency('roxmltree',
version : '>= 0.20.roxmltree', version : '>= 0.20.roxmltree',
fallback : ['roxmltree', 'dep_roxmltree'], fallback : ['roxmltree-0.20-rs', 'dep_roxmltree'],
required : true, required : true,
) )
dep_syn = dependency('syn', dep_syn = dependency('syn',
version : '>= 2.0.15', version : '>= 2.0.15',
fallback : ['syn', 'dep_syn'], fallback : ['syn-2-rs', 'dep_syn'],
required : true, required : true,
) )
dep_pest_generator = dependency('pest_generator', dep_pest_generator = dependency('pest_generator',
version: '>= 2.7.6', version: '>= 2.7.6',
fallback: ['pest_generator', 'dep_pest_generator'], fallback: ['pest_generator-2-rs', 'dep_pest_generator'],
required: true, required: true,
) )
dep_pest = dependency('pest', dep_pest = dependency('pest',
version: '>= 2.7.6', version: '>= 2.7.6',
fallback: ['pest', 'dep_pest'], fallback: ['pest-2-rs', 'dep_pest'],
required: true, required: true,
) )

View file

@ -5,12 +5,12 @@ subdir('latencies')
dep_paste = dependency('paste', dep_paste = dependency('paste',
version : '>= 1.0.14', version : '>= 1.0.14',
fallback : ['paste', 'dep_paste'], fallback : ['paste-1-rs', 'dep_paste'],
required : true, required : true,
) )
dep_rustc_hash = dependency('rustc-hash', dep_rustc_hash = dependency('rustc-hash',
fallback: ['rustc-hash', 'dep_rustc_hash'], fallback: ['rustc-hash-2-rs', 'dep_rustc_hash'],
required: true, required: true,
) )

View file

@ -9,7 +9,7 @@ prog_cbindgen = find_program(
dep_paste = dependency('paste', dep_paste = dependency('paste',
version : '>= 1.0.14', version : '>= 1.0.14',
fallback : ['paste', 'dep_paste'], fallback : ['paste-1-rs', 'dep_paste'],
required : true, required : true,
) )

View file

@ -3,31 +3,31 @@
dep_cfg_if = dependency('cfg-if', dep_cfg_if = dependency('cfg-if',
version: '>= 1.0.0', version: '>= 1.0.0',
fallback: ['cfg-if', 'dep_cfg_if'], fallback: ['cfg-if-1-rs', 'dep_cfg_if'],
required: true, required: true,
) )
dep_thiserror = dependency('thiserror', dep_thiserror = dependency('thiserror',
version: '>= 2.0.11', version: '>= 2.0.11',
fallback: ['thiserror', 'dep_thiserror'], fallback: ['thiserror-2-rs', 'dep_thiserror'],
required: true, required: true,
) )
dep_remain = dependency('remain', dep_remain = dependency('remain',
version: '>= 0.2.12', version: '>= 0.2.12',
fallback: ['remain', 'dep_remain'], fallback: ['remain-0.2-rs', 'dep_remain'],
required: true, required: true,
) )
dep_zerocopy = dependency('zerocopy', dep_zerocopy = dependency('zerocopy',
version: '>= 0.8.13', version: '>= 0.8.13',
fallback: ['zerocopy', 'dep_zerocopy'], fallback: ['zerocopy-0.8-rs', 'dep_zerocopy'],
required: true, required: true,
) )
dep_zerocopy_derive = dependency('zerocopy-derive', dep_zerocopy_derive = dependency('zerocopy-derive',
version: '>= 0.8.13', version: '>= 0.8.13',
fallback: ['zerocopy-derive', 'dep_zerocopy_derive'], fallback: ['zerocopy-derive-0.8-rs', 'dep_zerocopy_derive'],
required: true, required: true,
) )
@ -37,19 +37,19 @@ dep_mesa3d_util = [dep_cfg_if, dep_thiserror, dep_remain, dep_zerocopy,
if host_machine.system() == 'linux' if host_machine.system() == 'linux'
dep_rustix = dependency('rustix', dep_rustix = dependency('rustix',
version: '>= 0.38.31', version: '>= 0.38.31',
fallback: ['rustix', 'dep_rustix'], fallback: ['rustix-1-rs', 'dep_rustix'],
required: true, required: true,
) )
dep_bitflags = dependency('bitflags', dep_bitflags = dependency('bitflags',
version: '>= 2.6.0', version: '>= 2.6.0',
fallback: ['bitflags', 'dep_bitflags'], fallback: ['bitflags-2-rs', 'dep_bitflags'],
required: true, required: true,
) )
dep_errno = dependency('errno', dep_errno = dependency('errno',
version: '>= 0.3.8', version: '>= 0.3.8',
fallback: ['errno', 'dep_errno'], fallback: ['errno-0.3-rs', 'dep_errno'],
required: true, required: true,
) )

View file

@ -5,7 +5,7 @@ inc_virtgpu_kumquat_ffi = include_directories('include')
dep_log = dependency('log', dep_log = dependency('log',
version: '>= 0.4.22', version: '>= 0.4.22',
fallback: ['log', 'dep_log'], fallback: ['log-0.4-rs', 'dep_log'],
required: true, required: true,
) )

View file

@ -3,4 +3,4 @@ directory = bitflags-2.9.1
source_url = https://crates.io/api/v1/crates/bitflags/2.9.1/download source_url = https://crates.io/api/v1/crates/bitflags/2.9.1/download
source_filename = bitflags-2.9.1.tar.gz source_filename = bitflags-2.9.1.tar.gz
source_hash = 1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967 source_hash = 1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967
patch_directory = bitflags patch_directory = bitflags-2-rs

View file

@ -3,4 +3,4 @@ directory = cfg-if-1.0.0
source_url = https://crates.io/api/v1/crates/cfg-if/1.0.0/download source_url = https://crates.io/api/v1/crates/cfg-if/1.0.0/download
source_filename = cfg-if-1.0.0.tar.gz source_filename = cfg-if-1.0.0.tar.gz
source_hash = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd source_hash = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
patch_directory = cfg-if patch_directory = cfg-if-1-rs

View file

@ -3,4 +3,4 @@ directory = equivalent-1.0.1
source_url = https://crates.io/api/v1/crates/equivalent/1.0.1/download source_url = https://crates.io/api/v1/crates/equivalent/1.0.1/download
source_filename = equivalent-1.0.1.tar.gz source_filename = equivalent-1.0.1.tar.gz
source_hash = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5 source_hash = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
patch_directory = equivalent patch_directory = equivalent-1-rs

View file

@ -3,4 +3,4 @@ directory = errno-0.3.12
source_url = https://crates.io/api/v1/crates/errno/0.3.12/download source_url = https://crates.io/api/v1/crates/errno/0.3.12/download
source_filename = errno-0.3.12.tar.gz source_filename = errno-0.3.12.tar.gz
source_hash = cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18 source_hash = cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18
patch_directory = errno patch_directory = errno-0.3-rs

View file

@ -3,4 +3,4 @@ directory = hashbrown-0.14.1
source_url = https://crates.io/api/v1/crates/hashbrown/0.14.1/download source_url = https://crates.io/api/v1/crates/hashbrown/0.14.1/download
source_filename = hashbrown-0.14.1.tar.gz source_filename = hashbrown-0.14.1.tar.gz
source_hash = 7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12 source_hash = 7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12
patch_directory = hashbrown patch_directory = hashbrown-0.14-rs

View file

@ -3,4 +3,4 @@ directory = indexmap-2.2.6
source_url = https://crates.io/api/v1/crates/indexmap/2.2.6/download source_url = https://crates.io/api/v1/crates/indexmap/2.2.6/download
source_filename = indexmap-2.2.6.tar.gz source_filename = indexmap-2.2.6.tar.gz
source_hash = 168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26 source_hash = 168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26
patch_directory = indexmap patch_directory = indexmap-2-rs

View file

@ -3,4 +3,4 @@ directory = libc-0.2.168
source_url = https://crates.io/api/v1/crates/libc/0.2.168/download source_url = https://crates.io/api/v1/crates/libc/0.2.168/download
source_filename = libc-0.2.168.tar.gz source_filename = libc-0.2.168.tar.gz
source_hash = 5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d source_hash = 5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d
patch_directory = libc patch_directory = libc-0.2-rs

View file

@ -3,4 +3,4 @@ directory = log-0.4.27
source_url = https://crates.io/api/v1/crates/log/0.4.27/download source_url = https://crates.io/api/v1/crates/log/0.4.27/download
source_filename = log-0.4.27.tar.gz source_filename = log-0.4.27.tar.gz
source_hash = 13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94 source_hash = 13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94
patch_directory = log patch_directory = log-0.4-rs

View file

@ -3,4 +3,4 @@ directory = once_cell-1.8.0
source_url = https://crates.io/api/v1/crates/once_cell/1.8.0/download source_url = https://crates.io/api/v1/crates/once_cell/1.8.0/download
source_filename = once_cell-1.8.0.tar.gz source_filename = once_cell-1.8.0.tar.gz
source_hash = 692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56 source_hash = 692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56
patch_directory = once_cell patch_directory = once_cell-1-rs

View file

@ -8,7 +8,7 @@ project(
license : 'MIT OR Apache-2.0', license : 'MIT OR Apache-2.0',
) )
libc = subproject('libc').get_variable('lib') libc = subproject('libc-0.2-rs').get_variable('lib')
lib = static_library( lib = static_library(
'libc_errno', 'libc_errno',

View file

@ -5,8 +5,8 @@ project(
license : 'MIT OR Apache-2.0', license : 'MIT OR Apache-2.0',
) )
dep_equivalent = subproject('equivalent').get_variable('dep_equivalent') dep_equivalent = subproject('equivalent-1-rs').get_variable('dep_equivalent')
dep_hashbrown = subproject('hashbrown').get_variable('dep_hashbrown') dep_hashbrown = subproject('hashbrown-0.14-rs').get_variable('dep_hashbrown')
rust_args = [ rust_args = [
'--cfg', 'feature="std"' '--cfg', 'feature="std"'

View file

@ -5,7 +5,7 @@ project(
license : 'MIT OR Apache-2.0', license : 'MIT OR Apache-2.0',
) )
ucd = subproject('ucd-trie').get_variable('lib') ucd = subproject('ucd-trie-0.1-rs').get_variable('lib')
lib = static_library( lib = static_library(
'pest', 'pest',

View file

@ -5,8 +5,8 @@ project(
license : 'MIT OR Apache-2.0', license : 'MIT OR Apache-2.0',
) )
pest = subproject('pest').get_variable('lib') pest = subproject('pest-2-rs').get_variable('lib')
pest_generator = subproject('pest_generator').get_variable('lib') pest_generator = subproject('pest_generator-2-rs').get_variable('lib')
rust = import('rust') rust = import('rust')

View file

@ -5,11 +5,11 @@ project(
license : 'MIT OR Apache-2.0', license : 'MIT OR Apache-2.0',
) )
pest = subproject('pest').get_variable('lib') pest = subproject('pest-2-rs').get_variable('lib')
pest_meta = subproject('pest_meta').get_variable('lib') pest_meta = subproject('pest_meta-2-rs').get_variable('lib')
quote = subproject('quote').get_variable('lib') quote = subproject('quote-1-rs').get_variable('lib')
pm2 = subproject('proc-macro2').get_variable('lib') pm2 = subproject('proc-macro2-1-rs').get_variable('lib')
syn = subproject('syn').get_variable('lib') syn = subproject('syn-2-rs').get_variable('lib')
rust_args = [ rust_args = [
'--cfg', 'feature="std"', '--cfg', 'feature="std"',

View file

@ -5,8 +5,8 @@ project(
license : 'MIT OR Apache-2.0', license : 'MIT OR Apache-2.0',
) )
once_cell = subproject('once_cell').get_variable('lib') once_cell = subproject('once_cell-1-rs').get_variable('lib')
pest = subproject('pest').get_variable('lib') pest = subproject('pest-2-rs').get_variable('lib')
lib = static_library( lib = static_library(
'pest_meta', 'pest_meta',

View file

@ -51,7 +51,7 @@ if rc.version().version_compare('< 1.79')
] ]
endif endif
u_ind = subproject('unicode-ident').get_variable('lib') u_ind = subproject('unicode-ident-1-rs').get_variable('lib')
lib = static_library( lib = static_library(
'proc_macro2', 'proc_macro2',

View file

@ -16,10 +16,10 @@ if rc.version().version_compare('< 1.53')
rust_args += ['--cfg', 'needs_invalid_span_workaround'] rust_args += ['--cfg', 'needs_invalid_span_workaround']
endif endif
pm2 = subproject('proc-macro2').get_variable('lib') pm2 = subproject('proc-macro2-1-rs').get_variable('lib')
# XXX: workround for meson bug: https://github.com/mesonbuild/meson/issues/11306 # XXX: workround for meson bug: https://github.com/mesonbuild/meson/issues/11306
rust_args += ['-L', 'dependency=subprojects/unicode-ident'] rust_args += ['-L', 'dependency=subprojects/unicode-ident-1-rs']
lib = static_library( lib = static_library(
'quote', 'quote',

View file

@ -8,9 +8,9 @@ project(
license : 'MIT OR Apache-2.0', license : 'MIT OR Apache-2.0',
) )
syn = subproject('syn').get_variable('lib') syn = subproject('syn-2-rs').get_variable('lib')
quote = subproject('quote').get_variable('lib') quote = subproject('quote-1-rs').get_variable('lib')
proc_macro2 = subproject('proc-macro2').get_variable('lib') proc_macro2 = subproject('proc-macro2-1-rs').get_variable('lib')
rust = import('rust') rust = import('rust')
lib = rust.proc_macro( lib = rust.proc_macro(

View file

@ -8,9 +8,9 @@ project(
license : 'Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT', license : 'Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT',
) )
errno = subproject('errno').get_variable('lib') errno = subproject('errno-0.3-rs').get_variable('lib')
libc = subproject('libc').get_variable('lib') libc = subproject('libc-0.2-rs').get_variable('lib')
bitflags = subproject('bitflags').get_variable('lib') bitflags = subproject('bitflags-2-rs').get_variable('lib')
rustix_args = [] rustix_args = []
if host_machine.system() == 'linux' or host_machine.system() == 'android' if host_machine.system() == 'linux' or host_machine.system() == 'android'

View file

@ -32,9 +32,9 @@ if rc.version().version_compare('< 1.56')
rust_args += ['--cfg', 'syn_no_negative_literal_parse'] rust_args += ['--cfg', 'syn_no_negative_literal_parse']
endif endif
u_ind = subproject('unicode-ident').get_variable('lib') u_ind = subproject('unicode-ident-1-rs').get_variable('lib')
quote = subproject('quote').get_variable('lib') quote = subproject('quote-1-rs').get_variable('lib')
pm2 = subproject('proc-macro2').get_variable('lib') pm2 = subproject('proc-macro2-1-rs').get_variable('lib')
lib = static_library( lib = static_library(

View file

@ -8,10 +8,10 @@ project(
license : 'MIT OR Apache-2.0', license : 'MIT OR Apache-2.0',
) )
syn = subproject('syn').get_variable('lib') syn = subproject('syn-2-rs').get_variable('lib')
quote = subproject('quote').get_variable('lib') quote = subproject('quote-1-rs').get_variable('lib')
proc_macro2 = subproject('proc-macro2').get_variable('lib') proc_macro2 = subproject('proc-macro2-1-rs').get_variable('lib')
thiserror_impl = subproject('thiserror-impl').get_variable('lib') thiserror_impl = subproject('thiserror-impl-2-rs').get_variable('lib')
lib = static_library( lib = static_library(
'thiserror', 'thiserror',

View file

@ -8,9 +8,9 @@ project(
license : 'MIT OR Apache-2.0', license : 'MIT OR Apache-2.0',
) )
syn = subproject('syn').get_variable('lib') syn = subproject('syn-2-rs').get_variable('lib')
quote = subproject('quote').get_variable('lib') quote = subproject('quote-1-rs').get_variable('lib')
proc_macro2 = subproject('proc-macro2').get_variable('lib') proc_macro2 = subproject('proc-macro2-1-rs').get_variable('lib')
rust = import('rust') rust = import('rust')
lib = rust.proc_macro( lib = rust.proc_macro(

View file

@ -9,7 +9,7 @@ project(
) )
zerocopy_args = ['--cfg', 'feature="derive"'] zerocopy_args = ['--cfg', 'feature="derive"']
zerocopy_derive = subproject('zerocopy-derive').get_variable('lib') zerocopy_derive = subproject('zerocopy-derive-0.8-rs').get_variable('lib')
lib = static_library( lib = static_library(
'zerocopy', 'zerocopy',

View file

@ -8,9 +8,9 @@ project(
license : 'MIT OR Apache-2.0 OR BSD 2-Clause', license : 'MIT OR Apache-2.0 OR BSD 2-Clause',
) )
syn = subproject('syn').get_variable('lib') syn = subproject('syn-2-rs').get_variable('lib')
quote = subproject('quote').get_variable('lib') quote = subproject('quote-1-rs').get_variable('lib')
proc_macro2 = subproject('proc-macro2').get_variable('lib') proc_macro2 = subproject('proc-macro2-1-rs').get_variable('lib')
rust = import('rust') rust = import('rust')
lib = rust.proc_macro( lib = rust.proc_macro(

View file

@ -3,4 +3,4 @@ directory = paste-1.0.14
source_url = https://crates.io/api/v1/crates/paste/1.0.14/download source_url = https://crates.io/api/v1/crates/paste/1.0.14/download
source_filename = paste-1.0.14.tar.gz source_filename = paste-1.0.14.tar.gz
source_hash = de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c source_hash = de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c
patch_directory = paste patch_directory = paste-1-rs

View file

@ -3,4 +3,4 @@ directory = pest-2.8.0
source_url = https://crates.io/api/v1/crates/pest/2.8.0/download source_url = https://crates.io/api/v1/crates/pest/2.8.0/download
source_filename = pest-2.8.0.tar.gz source_filename = pest-2.8.0.tar.gz
source_hash = 198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6 source_hash = 198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6
patch_directory = pest patch_directory = pest-2-rs

View file

@ -3,4 +3,4 @@ directory = pest_derive-2.8.0
source_url = https://crates.io/api/v1/crates/pest_derive/2.8.0/download source_url = https://crates.io/api/v1/crates/pest_derive/2.8.0/download
source_filename = pest_derive-2.8.0.tar.gz source_filename = pest_derive-2.8.0.tar.gz
source_hash = d725d9cfd79e87dccc9341a2ef39d1b6f6353d68c4b33c177febbe1a402c97c5 source_hash = d725d9cfd79e87dccc9341a2ef39d1b6f6353d68c4b33c177febbe1a402c97c5
patch_directory = pest_derive patch_directory = pest_derive-2-rs

View file

@ -3,4 +3,4 @@ directory = pest_generator-2.8.0
source_url = https://crates.io/api/v1/crates/pest_generator/2.8.0/download source_url = https://crates.io/api/v1/crates/pest_generator/2.8.0/download
source_filename = pest_generator-2.8.0.tar.gz source_filename = pest_generator-2.8.0.tar.gz
source_hash = db7d01726be8ab66ab32f9df467ae8b1148906685bbe75c82d1e65d7f5b3f841 source_hash = db7d01726be8ab66ab32f9df467ae8b1148906685bbe75c82d1e65d7f5b3f841
patch_directory = pest_generator patch_directory = pest_generator-2-rs

View file

@ -3,4 +3,4 @@ directory = pest_meta-2.8.0
source_url = https://crates.io/api/v1/crates/pest_meta/2.8.0/download source_url = https://crates.io/api/v1/crates/pest_meta/2.8.0/download
source_filename = pest_meta-2.8.0.tar.gz source_filename = pest_meta-2.8.0.tar.gz
source_hash = 7f9f832470494906d1fca5329f8ab5791cc60beb230c74815dff541cbd2b5ca0 source_hash = 7f9f832470494906d1fca5329f8ab5791cc60beb230c74815dff541cbd2b5ca0
patch_directory = pest_meta patch_directory = pest_meta-2-rs

View file

@ -3,4 +3,4 @@ directory = proc-macro2-1.0.86
source_url = https://crates.io/api/v1/crates/proc-macro2/1.0.86/download source_url = https://crates.io/api/v1/crates/proc-macro2/1.0.86/download
source_filename = proc-macro2-1.0.86.tar.gz source_filename = proc-macro2-1.0.86.tar.gz
source_hash = 5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77 source_hash = 5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77
patch_directory = proc-macro2 patch_directory = proc-macro2-1-rs

View file

@ -3,4 +3,4 @@ directory = quote-1.0.35
source_url = https://crates.io/api/v1/crates/quote/1.0.35/download source_url = https://crates.io/api/v1/crates/quote/1.0.35/download
source_filename = quote-1.0.35.tar.gz source_filename = quote-1.0.35.tar.gz
source_hash = 291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef source_hash = 291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef
patch_directory = quote patch_directory = quote-1-rs

View file

@ -3,4 +3,4 @@ directory = remain-0.2.12
source_url = https://crates.io/api/v1/crates/remain/0.2.12/download source_url = https://crates.io/api/v1/crates/remain/0.2.12/download
source_filename = remain-0.2.12.tar.gz source_filename = remain-0.2.12.tar.gz
source_hash = 1ad5e011230cad274d0532460c5ab69828ea47ae75681b42a841663efffaf794 source_hash = 1ad5e011230cad274d0532460c5ab69828ea47ae75681b42a841663efffaf794
patch_directory = remain patch_directory = remain-0.2-rs

View file

@ -3,4 +3,4 @@ directory = roxmltree-0.20.0
source_url = https://crates.io/api/v1/crates/roxmltree/0.20.0/download source_url = https://crates.io/api/v1/crates/roxmltree/0.20.0/download
source_filename = roxmltree-0.20.0.tar.gz source_filename = roxmltree-0.20.0.tar.gz
source_hash = 6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97 source_hash = 6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97
patch_directory = roxmltree patch_directory = roxmltree-0.20-rs

View file

@ -3,4 +3,4 @@ directory = rustc-hash-2.1.1
source_url = https://crates.io/api/v1/crates/rustc-hash/2.1.1/download source_url = https://crates.io/api/v1/crates/rustc-hash/2.1.1/download
source_filename = rustc-hash-2.1.1.tar.gz source_filename = rustc-hash-2.1.1.tar.gz
source_hash = 357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d source_hash = 357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d
patch_directory = rustc-hash patch_directory = rustc-hash-2-rs

View file

@ -3,6 +3,6 @@ directory = rustix-1.0.7
source_url = https://crates.io/api/v1/crates/rustix/1.0.7/download source_url = https://crates.io/api/v1/crates/rustix/1.0.7/download
source_filename = rustix-1.0.7.tar.gz source_filename = rustix-1.0.7.tar.gz
source_hash = c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266 source_hash = c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266
patch_directory = rustix patch_directory = rustix-1-rs
diff_files = rustix/0001-BACKPORT-rustix-on-Linux-support-a-build-without-lin.patch diff_files = rustix-1-rs/0001-BACKPORT-rustix-on-Linux-support-a-build-without-lin.patch

View file

@ -3,4 +3,4 @@ directory = syn-2.0.87
source_url = https://crates.io/api/v1/crates/syn/2.0.87/download source_url = https://crates.io/api/v1/crates/syn/2.0.87/download
source_filename = syn-2.0.87.tar.gz source_filename = syn-2.0.87.tar.gz
source_hash = 25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d source_hash = 25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d
patch_directory = syn patch_directory = syn-2-rs

View file

@ -3,4 +3,4 @@ directory = thiserror-2.0.11
source_url = https://crates.io/api/v1/crates/thiserror/2.0.11/download source_url = https://crates.io/api/v1/crates/thiserror/2.0.11/download
source_filename = thiserror-2.0.11.tar.gz source_filename = thiserror-2.0.11.tar.gz
source_hash = d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc source_hash = d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc
patch_directory = thiserror patch_directory = thiserror-2-rs

View file

@ -3,4 +3,4 @@ directory = thiserror-impl-2.0.11
source_url = https://crates.io/api/v1/crates/thiserror-impl/2.0.11/download source_url = https://crates.io/api/v1/crates/thiserror-impl/2.0.11/download
source_filename = thiserror-impl-2.0.11.tar.gz source_filename = thiserror-impl-2.0.11.tar.gz
source_hash = 26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2 source_hash = 26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2
patch_directory = thiserror-impl patch_directory = thiserror-impl-2-rs

View file

@ -3,4 +3,4 @@ directory = ucd-trie-0.1.6
source_url = https://crates.io/api/v1/crates/ucd-trie/0.1.6/download source_url = https://crates.io/api/v1/crates/ucd-trie/0.1.6/download
source_filename = ucd-trie-0.1.6.tar.gz source_filename = ucd-trie-0.1.6.tar.gz
source_hash = ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9 source_hash = ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9
patch_directory = ucd-trie patch_directory = ucd-trie-0.1-rs

View file

@ -3,4 +3,4 @@ directory = unicode-ident-1.0.12
source_url = https://crates.io/api/v1/crates/unicode-ident/1.0.12/download source_url = https://crates.io/api/v1/crates/unicode-ident/1.0.12/download
source_filename = unicode-ident-1.0.12.tar.gz source_filename = unicode-ident-1.0.12.tar.gz
source_hash = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b source_hash = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
patch_directory = unicode-ident patch_directory = unicode-ident-1-rs

View file

@ -3,6 +3,6 @@ directory = zerocopy-0.8.13
source_url = https://crates.io/api/v1/crates/zerocopy/0.8.13/download source_url = https://crates.io/api/v1/crates/zerocopy/0.8.13/download
source_filename = zerocopy-0.8.13.tar.gz source_filename = zerocopy-0.8.13.tar.gz
source_hash = 67914ab451f3bfd2e69e5e9d2ef3858484e7074d63f204fd166ec391b54de21d source_hash = 67914ab451f3bfd2e69e5e9d2ef3858484e7074d63f204fd166ec391b54de21d
patch_directory = zerocopy patch_directory = zerocopy-0.8-rs
diff_files = zerocopy/0001-zerocopy-work-around-Meson-limitation.patch diff_files = zerocopy-0.8-rs/0001-zerocopy-work-around-Meson-limitation.patch

View file

@ -3,4 +3,4 @@ directory = zerocopy-derive-0.8.13
source_url = https://crates.io/api/v1/crates/zerocopy-derive/0.8.13/download source_url = https://crates.io/api/v1/crates/zerocopy-derive/0.8.13/download
source_filename = zerocopy-derive-0.8.13.tar.gz source_filename = zerocopy-derive-0.8.13.tar.gz
source_hash = 7988d73a4303ca289df03316bc490e934accf371af6bc745393cf3c2c5c4f25d source_hash = 7988d73a4303ca289df03316bc490e934accf371af6bc745393cf3c2c5c4f25d
patch_directory = zerocopy-derive patch_directory = zerocopy-derive-0.8-rs