From e28ff818695ca953b31ec15d1f371b64a4ff9e3d Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Thu, 18 Jan 2024 16:13:39 +0100 Subject: [PATCH] meson: Add pest rust dependencies Including its dependency ucd-trie. Signed-off-by: Christian Gmeiner Reviewed-by: @LingMan Reviewed-by: Eric Engestrom Part-of: --- .gitlab-ci/meson/build.sh | 2 +- subprojects/once_cell.wrap | 6 ++++ .../packagefiles/once_cell/meson.build | 23 ++++++++++++++ subprojects/packagefiles/pest/meson.build | 21 +++++++++++++ .../packagefiles/pest_derive/meson.build | 22 ++++++++++++++ .../packagefiles/pest_generator/meson.build | 30 +++++++++++++++++++ .../packagefiles/pest_meta/meson.build | 22 ++++++++++++++ subprojects/packagefiles/ucd-trie/meson.build | 14 +++++++++ subprojects/pest.wrap | 6 ++++ subprojects/pest_derive.wrap | 6 ++++ subprojects/pest_generator.wrap | 6 ++++ subprojects/pest_meta.wrap | 6 ++++ subprojects/ucd-trie.wrap | 6 ++++ 13 files changed, 169 insertions(+), 1 deletion(-) create mode 100644 subprojects/once_cell.wrap create mode 100644 subprojects/packagefiles/once_cell/meson.build create mode 100644 subprojects/packagefiles/pest/meson.build create mode 100644 subprojects/packagefiles/pest_derive/meson.build create mode 100644 subprojects/packagefiles/pest_generator/meson.build create mode 100644 subprojects/packagefiles/pest_meta/meson.build create mode 100644 subprojects/packagefiles/ucd-trie/meson.build create mode 100644 subprojects/pest.wrap create mode 100644 subprojects/pest_derive.wrap create mode 100644 subprojects/pest_generator.wrap create mode 100644 subprojects/pest_meta.wrap create mode 100644 subprojects/ucd-trie.wrap diff --git a/.gitlab-ci/meson/build.sh b/.gitlab-ci/meson/build.sh index 82d590d5f68..9cabd2f0760 100755 --- a/.gitlab-ci/meson/build.sh +++ b/.gitlab-ci/meson/build.sh @@ -104,7 +104,7 @@ rm -rf _build meson setup _build \ --native-file=native.file \ --wrap-mode=nofallback \ - --force-fallback-for perfetto,syn,paste \ + --force-fallback-for perfetto,syn,paste,pest,pest_derive,pest_generator,pest_meta \ ${CROSS+--cross "$CROSS_FILE"} \ -D prefix=$PWD/install \ -D libdir=lib \ diff --git a/subprojects/once_cell.wrap b/subprojects/once_cell.wrap new file mode 100644 index 00000000000..90187931432 --- /dev/null +++ b/subprojects/once_cell.wrap @@ -0,0 +1,6 @@ +[wrap-file] +directory = once_cell-1.8.0 +source_url = https://crates.io/api/v1/crates/once_cell/1.8.0/download +source_filename = once_cell-1.8.0.tar.gz +source_hash = 692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56 +patch_directory = once_cell diff --git a/subprojects/packagefiles/once_cell/meson.build b/subprojects/packagefiles/once_cell/meson.build new file mode 100644 index 00000000000..09dfbf52c9b --- /dev/null +++ b/subprojects/packagefiles/once_cell/meson.build @@ -0,0 +1,23 @@ +project( + 'once_cell', + 'rust', + version : '1.8.0', + license :'MIT OR Apache-2.0', +) + +rust_args = [ + '--cfg', 'feature="std"' +] + +lib = static_library( + 'once_cell', + 'src/lib.rs', + rust_args : rust_args, + override_options : ['rust_std=2018', 'build.rust_std=2018'], + rust_abi : 'rust', + native : true, +) + +dep_once_cell = declare_dependency( + link_with : [lib], +) diff --git a/subprojects/packagefiles/pest/meson.build b/subprojects/packagefiles/pest/meson.build new file mode 100644 index 00000000000..82f10d42c06 --- /dev/null +++ b/subprojects/packagefiles/pest/meson.build @@ -0,0 +1,21 @@ +project( + 'pest', + 'rust', + version : '2.7.11', + license :'MIT OR Apache-2.0', +) + +ucd = subproject('ucd-trie').get_variable('lib') + +lib = static_library( + 'pest', + 'src/lib.rs', + override_options : ['rust_std=2021', 'build.rust_std=2021'], + link_with : [ucd], + rust_abi : 'rust', + native : true, +) + +dep_pest = declare_dependency( + link_with : [lib, ucd], +) diff --git a/subprojects/packagefiles/pest_derive/meson.build b/subprojects/packagefiles/pest_derive/meson.build new file mode 100644 index 00000000000..316a584bfef --- /dev/null +++ b/subprojects/packagefiles/pest_derive/meson.build @@ -0,0 +1,22 @@ +project( + 'pest_derive', + 'rust', + version : '2.7.11', + license :'MIT OR Apache-2.0', +) + +pest = subproject('pest').get_variable('lib') +pest_generator = subproject('pest_generator').get_variable('lib') + +rust = import('rust') + +lib = rust.proc_macro( + 'pest_derive', + 'src/lib.rs', + override_options : ['rust_std=2021', 'build.rust_std=2021'], + link_with : [pest, pest_generator], +) + +dep_pest_derive = declare_dependency( + link_with : [lib, pest, pest_generator], +) diff --git a/subprojects/packagefiles/pest_generator/meson.build b/subprojects/packagefiles/pest_generator/meson.build new file mode 100644 index 00000000000..965081c2b06 --- /dev/null +++ b/subprojects/packagefiles/pest_generator/meson.build @@ -0,0 +1,30 @@ +project( + 'pest_generator', + 'rust', + version : '2.7.11', + license :'MIT OR Apache-2.0', +) + +pest = subproject('pest').get_variable('lib') +pest_meta = subproject('pest_meta').get_variable('lib') +quote = subproject('quote').get_variable('lib') +pm2 = subproject('proc-macro2').get_variable('lib') +syn = subproject('syn').get_variable('lib') + +rust_args = [ + '--cfg', 'feature="std"', +] + +lib = static_library( + 'pest_generator', + 'src/lib.rs', + rust_args : rust_args, + override_options : ['rust_std=2021', 'build.rust_std=2021'], + link_with : [pest, pest_meta, pm2, quote, syn], + rust_abi : 'rust', + native : true, +) + +dep_pest_generator = declare_dependency( + link_with : [lib, pest, pest_meta, quote, syn], +) diff --git a/subprojects/packagefiles/pest_meta/meson.build b/subprojects/packagefiles/pest_meta/meson.build new file mode 100644 index 00000000000..74d41a0e3a3 --- /dev/null +++ b/subprojects/packagefiles/pest_meta/meson.build @@ -0,0 +1,22 @@ +project( + 'pest_meta', + 'rust', + version : '2.7.11', + license :'MIT OR Apache-2.0', +) + +once_cell = subproject('once_cell').get_variable('lib') +pest = subproject('pest').get_variable('lib') + +lib = static_library( + 'pest_meta', + 'src/lib.rs', + override_options : ['rust_std=2021', 'build.rust_std=2021'], + link_with : [once_cell, pest], + rust_abi : 'rust', + native : true, +) + +deb_pest_meta = declare_dependency( + link_with : [lib, once_cell, pest], +) diff --git a/subprojects/packagefiles/ucd-trie/meson.build b/subprojects/packagefiles/ucd-trie/meson.build new file mode 100644 index 00000000000..e8b14387d4a --- /dev/null +++ b/subprojects/packagefiles/ucd-trie/meson.build @@ -0,0 +1,14 @@ +project( + 'ucd_trie', + 'rust', + version : '0.1.6', + license : '(MIT or Apache-2.0) AND Unicode-DFS-2016)', +) + +lib = static_library( + 'ucd_trie', + 'src/lib.rs', + override_options : ['rust_std=2018', 'build.rust_std=2018'], + rust_abi : 'rust', + native : true, +) diff --git a/subprojects/pest.wrap b/subprojects/pest.wrap new file mode 100644 index 00000000000..7655d0f5109 --- /dev/null +++ b/subprojects/pest.wrap @@ -0,0 +1,6 @@ +[wrap-file] +directory = pest-2.7.11 +source_url = https://crates.io/api/v1/crates/pest/2.7.11/download +source_filename = pest-2.7.11.tar.gz +source_hash = cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95 +patch_directory = pest diff --git a/subprojects/pest_derive.wrap b/subprojects/pest_derive.wrap new file mode 100644 index 00000000000..025b23e524d --- /dev/null +++ b/subprojects/pest_derive.wrap @@ -0,0 +1,6 @@ +[wrap-file] +directory = pest_derive-2.7.11 +source_url = https://crates.io/api/v1/crates/pest_derive/2.7.11/download +source_filename = pest_derive-2.7.11.tar.gz +source_hash = 2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a +patch_directory = pest_derive diff --git a/subprojects/pest_generator.wrap b/subprojects/pest_generator.wrap new file mode 100644 index 00000000000..e69d5568dfc --- /dev/null +++ b/subprojects/pest_generator.wrap @@ -0,0 +1,6 @@ +[wrap-file] +directory = pest_generator-2.7.11 +source_url = https://crates.io/api/v1/crates/pest_generator/2.7.11/download +source_filename = pest_generator-2.7.11.tar.gz +source_hash = 3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183 +patch_directory = pest_generator diff --git a/subprojects/pest_meta.wrap b/subprojects/pest_meta.wrap new file mode 100644 index 00000000000..00cb0a2964f --- /dev/null +++ b/subprojects/pest_meta.wrap @@ -0,0 +1,6 @@ +[wrap-file] +directory = pest_meta-2.7.11 +source_url = https://crates.io/api/v1/crates/pest_meta/2.7.11/download +source_filename = pest_meta-2.7.11.tar.gz +source_hash = a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f +patch_directory = pest_meta diff --git a/subprojects/ucd-trie.wrap b/subprojects/ucd-trie.wrap new file mode 100644 index 00000000000..f9fd9fd6e12 --- /dev/null +++ b/subprojects/ucd-trie.wrap @@ -0,0 +1,6 @@ +[wrap-file] +directory = ucd-trie-0.1.6 +source_url = https://crates.io/api/v1/crates/ucd-trie/0.1.6/download +source_filename = ucd-trie-0.1.6.tar.gz +source_hash = ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9 +patch_directory = ucd-trie