itsi 0.2.21 → 0.2.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +24 -10
  3. data/Cargo.toml +4 -0
  4. data/Rakefile +4 -0
  5. data/crates/itsi_scheduler/Cargo.toml +1 -1
  6. data/crates/itsi_server/Cargo.toml +1 -1
  7. data/crates/itsi_server/src/server/signal.rs +7 -5
  8. data/gems/scheduler/Cargo.lock +516 -3984
  9. data/gems/scheduler/Cargo.toml +4 -0
  10. data/gems/scheduler/Gemfile +11 -0
  11. data/gems/scheduler/Rakefile +21 -6
  12. data/gems/scheduler/itsi-scheduler.gemspec +5 -1
  13. data/gems/scheduler/lib/itsi/scheduler/native_extension.rb +34 -0
  14. data/gems/scheduler/lib/itsi/scheduler/version.rb +1 -1
  15. data/gems/scheduler/lib/itsi/scheduler.rb +1 -1
  16. data/gems/scheduler/test/test_block_unblock.rb +1 -1
  17. data/gems/scheduler/vendor/rb-sys-build/.cargo-ok +1 -0
  18. data/gems/scheduler/vendor/rb-sys-build/.cargo_vcs_info.json +6 -0
  19. data/gems/scheduler/vendor/rb-sys-build/Cargo.lock +294 -0
  20. data/gems/scheduler/vendor/rb-sys-build/Cargo.toml +71 -0
  21. data/gems/scheduler/vendor/rb-sys-build/Cargo.toml.orig +32 -0
  22. data/gems/scheduler/vendor/rb-sys-build/LICENSE-APACHE +190 -0
  23. data/gems/scheduler/vendor/rb-sys-build/LICENSE-MIT +21 -0
  24. data/gems/scheduler/vendor/rb-sys-build/src/bindings/sanitizer.rs +185 -0
  25. data/gems/scheduler/vendor/rb-sys-build/src/bindings/stable_api.rs +247 -0
  26. data/gems/scheduler/vendor/rb-sys-build/src/bindings/wrapper.h +71 -0
  27. data/gems/scheduler/vendor/rb-sys-build/src/bindings.rs +280 -0
  28. data/gems/scheduler/vendor/rb-sys-build/src/cc.rs +421 -0
  29. data/gems/scheduler/vendor/rb-sys-build/src/lib.rs +12 -0
  30. data/gems/scheduler/vendor/rb-sys-build/src/rb_config/flags.rs +101 -0
  31. data/gems/scheduler/vendor/rb-sys-build/src/rb_config/library.rs +132 -0
  32. data/gems/scheduler/vendor/rb-sys-build/src/rb_config/search_path.rs +57 -0
  33. data/gems/scheduler/vendor/rb-sys-build/src/rb_config.rs +906 -0
  34. data/gems/scheduler/vendor/rb-sys-build/src/utils.rs +53 -0
  35. data/gems/server/Cargo.lock +24 -37
  36. data/gems/server/Cargo.toml +4 -0
  37. data/gems/server/Gemfile +23 -0
  38. data/gems/server/Rakefile +39 -7
  39. data/gems/server/itsi-server.gemspec +5 -1
  40. data/gems/server/lib/itsi/server/native_extension.rb +34 -0
  41. data/gems/server/lib/itsi/server/version.rb +1 -1
  42. data/gems/server/lib/itsi/server.rb +10 -2
  43. data/gems/server/test/rack/test_rack_server.rb +14 -2
  44. data/gems/server/vendor/rb-sys-build/.cargo-ok +1 -0
  45. data/gems/server/vendor/rb-sys-build/.cargo_vcs_info.json +6 -0
  46. data/gems/server/vendor/rb-sys-build/Cargo.lock +294 -0
  47. data/gems/server/vendor/rb-sys-build/Cargo.toml +71 -0
  48. data/gems/server/vendor/rb-sys-build/Cargo.toml.orig +32 -0
  49. data/gems/server/vendor/rb-sys-build/LICENSE-APACHE +190 -0
  50. data/gems/server/vendor/rb-sys-build/LICENSE-MIT +21 -0
  51. data/gems/server/vendor/rb-sys-build/src/bindings/sanitizer.rs +185 -0
  52. data/gems/server/vendor/rb-sys-build/src/bindings/stable_api.rs +247 -0
  53. data/gems/server/vendor/rb-sys-build/src/bindings/wrapper.h +71 -0
  54. data/gems/server/vendor/rb-sys-build/src/bindings.rs +280 -0
  55. data/gems/server/vendor/rb-sys-build/src/cc.rs +421 -0
  56. data/gems/server/vendor/rb-sys-build/src/lib.rs +12 -0
  57. data/gems/server/vendor/rb-sys-build/src/rb_config/flags.rs +101 -0
  58. data/gems/server/vendor/rb-sys-build/src/rb_config/library.rs +132 -0
  59. data/gems/server/vendor/rb-sys-build/src/rb_config/search_path.rs +57 -0
  60. data/gems/server/vendor/rb-sys-build/src/rb_config.rs +906 -0
  61. data/gems/server/vendor/rb-sys-build/src/utils.rs +53 -0
  62. data/lib/itsi/version.rb +1 -1
  63. data/script/ci/resolve_version.rb +32 -0
  64. data/script/ci/set_version.rb +53 -0
  65. data/script/ci/setup_cibuildgem_rake_compiler.sh +63 -0
  66. data/script/ci/smoke_scheduler.rb +24 -0
  67. data/script/ci/smoke_server.rb +38 -0
  68. data/vendor/rb-sys-build/.cargo-ok +1 -0
  69. data/vendor/rb-sys-build/.cargo_vcs_info.json +6 -0
  70. data/vendor/rb-sys-build/Cargo.lock +294 -0
  71. data/vendor/rb-sys-build/Cargo.toml +71 -0
  72. data/vendor/rb-sys-build/Cargo.toml.orig +32 -0
  73. data/vendor/rb-sys-build/LICENSE-APACHE +190 -0
  74. data/vendor/rb-sys-build/LICENSE-MIT +21 -0
  75. data/vendor/rb-sys-build/src/bindings/sanitizer.rs +185 -0
  76. data/vendor/rb-sys-build/src/bindings/stable_api.rs +247 -0
  77. data/vendor/rb-sys-build/src/bindings/wrapper.h +71 -0
  78. data/vendor/rb-sys-build/src/bindings.rs +280 -0
  79. data/vendor/rb-sys-build/src/cc.rs +421 -0
  80. data/vendor/rb-sys-build/src/lib.rs +12 -0
  81. data/vendor/rb-sys-build/src/rb_config/flags.rs +101 -0
  82. data/vendor/rb-sys-build/src/rb_config/library.rs +132 -0
  83. data/vendor/rb-sys-build/src/rb_config/search_path.rs +57 -0
  84. data/vendor/rb-sys-build/src/rb_config.rs +906 -0
  85. data/vendor/rb-sys-build/src/utils.rs +53 -0
  86. metadata +68 -5
@@ -0,0 +1,53 @@
1
+ use crate::debug_log;
2
+
3
+ /// Check if current platform is mswin.
4
+ pub fn is_msvc() -> bool {
5
+ if let Ok(target) = std::env::var("TARGET") {
6
+ target.contains("msvc")
7
+ } else {
8
+ false
9
+ }
10
+ }
11
+
12
+ /// Check if current platform is mswin or mingw.
13
+ pub fn is_mswin_or_mingw() -> bool {
14
+ if let Ok(target) = std::env::var("TARGET") {
15
+ target.contains("msvc") || target.contains("pc-windows-gnu")
16
+ } else {
17
+ false
18
+ }
19
+ }
20
+
21
+ /// Splits shell words.
22
+ pub fn shellsplit<S: AsRef<str>>(s: S) -> Vec<String> {
23
+ let s = s.as_ref();
24
+ match shell_words::split(s) {
25
+ Ok(v) => v,
26
+ Err(e) => {
27
+ debug_log!("WARN: shellsplit failed: {}", e);
28
+ s.split_whitespace().map(Into::into).collect()
29
+ }
30
+ }
31
+ }
32
+
33
+ #[macro_export]
34
+ macro_rules! memoize {
35
+ ($type:ty: $val:expr) => {{
36
+ static INIT: std::sync::Once = std::sync::Once::new();
37
+ static mut VALUE: Option<$type> = None;
38
+ #[allow(static_mut_refs)]
39
+ unsafe {
40
+ INIT.call_once(|| {
41
+ VALUE = Some($val);
42
+ });
43
+ VALUE.as_ref().unwrap()
44
+ }
45
+ }};
46
+ }
47
+
48
+ #[macro_export]
49
+ macro_rules! debug_log {
50
+ ($($arg:tt)*) => {
51
+ eprintln!($($arg)*);
52
+ };
53
+ }
data/lib/itsi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Itsi
2
- VERSION = "0.2.21"
2
+ VERSION = "0.2.22"
3
3
  end
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require "rubygems"
5
+
6
+ VERSION_PATTERN = /
7
+ v?
8
+ (
9
+ \d+\.\d+\.\d+
10
+ (?:[.-][0-9A-Za-z]+(?:[.-][0-9A-Za-z]+)*)?
11
+ )
12
+ /x
13
+
14
+ def extract_version(value)
15
+ return if value.nil? || value.strip.empty?
16
+
17
+ match = value.match(VERSION_PATTERN)
18
+ match && match[1]
19
+ end
20
+
21
+ version = extract_version(ARGV.first)
22
+ version ||= [
23
+ ENV["ITSI_BUILD_VERSION"],
24
+ ENV["GITHUB_HEAD_REF"],
25
+ ENV["GITHUB_REF_NAME"],
26
+ ENV["GITHUB_REF"]
27
+ ].lazy.map { |value| extract_version(value) }.find(&:itself)
28
+
29
+ abort("Could not determine a build version. Pass one explicitly or run from a branch/tag that contains a version.") unless version
30
+
31
+ Gem::Version.new(version)
32
+ puts version
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require "pathname"
5
+ require "rubygems"
6
+
7
+ ROOT = Pathname(__dir__).join("..", "..").expand_path
8
+
9
+ def replace_file(path)
10
+ content = path.read
11
+ updated = yield(content)
12
+ return if updated == content
13
+
14
+ path.write(updated)
15
+ end
16
+
17
+ version = ARGV.fetch(0)
18
+ Gem::Version.new(version)
19
+
20
+ def cargo_version_for(version)
21
+ version.sub(/(?<=\d)\.([A-Za-z].*)\z/, '-\1')
22
+ end
23
+
24
+ cargo_version = cargo_version_for(version)
25
+
26
+ replace_file(ROOT.join("lib/itsi/version.rb")) do |content|
27
+ content.sub(/VERSION = ".*?"/, %(VERSION = "#{version}"))
28
+ end
29
+
30
+ replace_file(ROOT.join("gems/server/lib/itsi/server/version.rb")) do |content|
31
+ content.sub(/VERSION = ".*?"/, %(VERSION = "#{version}"))
32
+ end
33
+
34
+ replace_file(ROOT.join("gems/scheduler/lib/itsi/scheduler/version.rb")) do |content|
35
+ content.sub(/VERSION = ".*?"/, %(VERSION = "#{version}"))
36
+ end
37
+
38
+ replace_file(ROOT.join("itsi.gemspec")) do |content|
39
+ content
40
+ .sub(/itsi-scheduler', '= .*?'/, "itsi-scheduler', '= #{version}'")
41
+ .sub(/itsi-server', '= .*?'/, "itsi-server', '= #{version}'")
42
+ end
43
+
44
+ [
45
+ ROOT.join("crates/itsi_server/Cargo.toml"),
46
+ ROOT.join("crates/itsi_scheduler/Cargo.toml")
47
+ ].each do |path|
48
+ replace_file(path) do |content|
49
+ content.sub(/^version = ".*?"$/, %(version = "#{cargo_version}"))
50
+ end
51
+ end
52
+
53
+ puts "Set CI workspace version to #{version}"
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ working_directory="${1:?expected gem working directory}"
5
+
6
+ cc_versions="${RUBY_CC_VERSION:-}"
7
+ if [[ -z "${cc_versions}" ]]; then
8
+ cc_versions="$(cd "$working_directory" && cibuildgem print_ruby_cc_version)"
9
+ fi
10
+ normalized_platform="$(cd "$working_directory" && cibuildgem print_normalized_platform)"
11
+ current_ruby_version="$(ruby -e 'print RUBY_VERSION')"
12
+
13
+ runner_temp="${RUNNER_TEMP:-/tmp}"
14
+ rubies_dir="${runner_temp}/rubies"
15
+ config_dir="${HOME}/.rake-compiler"
16
+ config_path="${config_dir}/config.yml"
17
+
18
+ mkdir -p "${rubies_dir}" "${config_dir}"
19
+ : > "${config_path}"
20
+
21
+ host_os="$(uname -s)"
22
+ host_arch="$(uname -m)"
23
+
24
+ case "${host_os}" in
25
+ Darwin) asset_platform="darwin" ;;
26
+ Linux) asset_platform="ubuntu-22.04" ;;
27
+ *)
28
+ echo "Unsupported host OS: ${host_os}" >&2
29
+ exit 1
30
+ ;;
31
+ esac
32
+
33
+ case "${host_arch}" in
34
+ x86_64) asset_arch="x64" ;;
35
+ arm64|aarch64) asset_arch="arm64" ;;
36
+ *)
37
+ echo "Unsupported host architecture: ${host_arch}" >&2
38
+ exit 1
39
+ ;;
40
+ esac
41
+
42
+ IFS=':' read -r -a ruby_versions <<< "${cc_versions}"
43
+ for ruby_version in "${ruby_versions[@]}"; do
44
+ archive_path="${runner_temp}/ruby-${ruby_version}-${asset_platform}-${asset_arch}.tar.gz"
45
+ extract_path="${rubies_dir}/${ruby_version}"
46
+ download_url="https://github.com/ruby/ruby-builder/releases/download/ruby-${ruby_version}/ruby-${ruby_version}-${asset_platform}-${asset_arch}.tar.gz"
47
+
48
+ mkdir -p "${extract_path}"
49
+ curl --fail --silent --show-error --location --retry 5 \
50
+ --output "${archive_path}" \
51
+ "${download_url}"
52
+ tar -xzf "${archive_path}" -C "${extract_path}"
53
+
54
+ rbconfig_path="$(find "${extract_path}" -path '*/lib/ruby/*/*/rbconfig.rb' -print -quit)"
55
+ if [[ -z "${rbconfig_path}" ]]; then
56
+ echo "Could not find rbconfig.rb for Ruby ${ruby_version}" >&2
57
+ exit 1
58
+ fi
59
+
60
+ if [[ "${ruby_version}" != "${current_ruby_version}" ]]; then
61
+ printf 'rbconfig-%s-%s: %s\n' "${normalized_platform}" "${ruby_version}" "${rbconfig_path}" >> "${config_path}"
62
+ fi
63
+ done
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "itsi/scheduler"
4
+
5
+ started_at = Process.clock_gettime(Process::CLOCK_MONOTONIC)
6
+ scheduler = Itsi::Scheduler.new
7
+ Fiber.set_scheduler(scheduler)
8
+ results = Queue.new
9
+
10
+ 2.times do |idx|
11
+ Fiber.schedule do
12
+ sleep 0.05
13
+ results << idx
14
+ end
15
+ end
16
+
17
+ scheduler.run
18
+ elapsed = Process.clock_gettime(Process::CLOCK_MONOTONIC) - started_at
19
+ values = 2.times.map { results.pop }
20
+
21
+ raise "Scheduler smoke test did not resume both fibers" unless values.sort == [0, 1]
22
+ raise "Scheduler smoke test took too long: #{elapsed}" unless elapsed < 0.2
23
+
24
+ puts "scheduler smoke ok"
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "itsi/server"
4
+ require "net/http"
5
+ require "socket"
6
+ require "uri"
7
+
8
+ def free_bind
9
+ server = TCPServer.new("127.0.0.1", 0)
10
+ port = server.addr[1]
11
+ server.close
12
+ "http://127.0.0.1:#{port}"
13
+ end
14
+
15
+ bind = free_bind
16
+ uri = URI("#{bind}/health")
17
+ sync = Queue.new
18
+
19
+ Itsi::Server.start_in_background_thread(
20
+ binds: [bind],
21
+ hooks: { "after_start" => -> { sync << true } }
22
+ ) do
23
+ workers 1
24
+ threads 1
25
+ log_level :warn
26
+ run lambda { |_env| [200, { "content-type" => "text/plain" }, ["ok"]] }
27
+ end
28
+
29
+ begin
30
+ sync.pop
31
+ response = Net::HTTP.get_response(uri)
32
+ raise "Unexpected response code #{response.code}" unless response.code == "200"
33
+ raise "Unexpected response body #{response.body.inspect}" unless response.body == "ok"
34
+ ensure
35
+ Itsi::Server.stop_background_threads
36
+ end
37
+
38
+ puts "server smoke ok"
@@ -0,0 +1 @@
1
+ {"v":1}
@@ -0,0 +1,6 @@
1
+ {
2
+ "git": {
3
+ "sha1": "8b8369748af0e3fa80d20e11b38b423cb2009bdf"
4
+ },
5
+ "path_in_vcs": "crates/rb-sys-build"
6
+ }
@@ -0,0 +1,294 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 3
4
+
5
+ [[package]]
6
+ name = "aho-corasick"
7
+ version = "1.1.3"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
10
+ dependencies = [
11
+ "memchr",
12
+ ]
13
+
14
+ [[package]]
15
+ name = "bindgen"
16
+ version = "0.69.4"
17
+ source = "registry+https://github.com/rust-lang/crates.io-index"
18
+ checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0"
19
+ dependencies = [
20
+ "bitflags",
21
+ "cexpr",
22
+ "clang-sys",
23
+ "itertools",
24
+ "lazy_static",
25
+ "lazycell",
26
+ "proc-macro2",
27
+ "quote",
28
+ "regex",
29
+ "rustc-hash",
30
+ "shlex",
31
+ "syn",
32
+ ]
33
+
34
+ [[package]]
35
+ name = "bitflags"
36
+ version = "2.6.0"
37
+ source = "registry+https://github.com/rust-lang/crates.io-index"
38
+ checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
39
+
40
+ [[package]]
41
+ name = "cexpr"
42
+ version = "0.6.0"
43
+ source = "registry+https://github.com/rust-lang/crates.io-index"
44
+ checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
45
+ dependencies = [
46
+ "nom",
47
+ ]
48
+
49
+ [[package]]
50
+ name = "cfg-if"
51
+ version = "1.0.0"
52
+ source = "registry+https://github.com/rust-lang/crates.io-index"
53
+ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
54
+
55
+ [[package]]
56
+ name = "clang-sys"
57
+ version = "1.8.1"
58
+ source = "registry+https://github.com/rust-lang/crates.io-index"
59
+ checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
60
+ dependencies = [
61
+ "glob",
62
+ "libc",
63
+ "libloading",
64
+ ]
65
+
66
+ [[package]]
67
+ name = "either"
68
+ version = "1.13.0"
69
+ source = "registry+https://github.com/rust-lang/crates.io-index"
70
+ checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
71
+
72
+ [[package]]
73
+ name = "glob"
74
+ version = "0.3.1"
75
+ source = "registry+https://github.com/rust-lang/crates.io-index"
76
+ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
77
+
78
+ [[package]]
79
+ name = "itertools"
80
+ version = "0.12.1"
81
+ source = "registry+https://github.com/rust-lang/crates.io-index"
82
+ checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
83
+ dependencies = [
84
+ "either",
85
+ ]
86
+
87
+ [[package]]
88
+ name = "lazy_static"
89
+ version = "1.5.0"
90
+ source = "registry+https://github.com/rust-lang/crates.io-index"
91
+ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
92
+
93
+ [[package]]
94
+ name = "lazycell"
95
+ version = "1.3.0"
96
+ source = "registry+https://github.com/rust-lang/crates.io-index"
97
+ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
98
+
99
+ [[package]]
100
+ name = "libc"
101
+ version = "0.2.155"
102
+ source = "registry+https://github.com/rust-lang/crates.io-index"
103
+ checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
104
+
105
+ [[package]]
106
+ name = "libloading"
107
+ version = "0.8.5"
108
+ source = "registry+https://github.com/rust-lang/crates.io-index"
109
+ checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"
110
+ dependencies = [
111
+ "cfg-if",
112
+ "windows-targets",
113
+ ]
114
+
115
+ [[package]]
116
+ name = "memchr"
117
+ version = "2.7.4"
118
+ source = "registry+https://github.com/rust-lang/crates.io-index"
119
+ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
120
+
121
+ [[package]]
122
+ name = "minimal-lexical"
123
+ version = "0.2.1"
124
+ source = "registry+https://github.com/rust-lang/crates.io-index"
125
+ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
126
+
127
+ [[package]]
128
+ name = "nom"
129
+ version = "7.1.3"
130
+ source = "registry+https://github.com/rust-lang/crates.io-index"
131
+ checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
132
+ dependencies = [
133
+ "memchr",
134
+ "minimal-lexical",
135
+ ]
136
+
137
+ [[package]]
138
+ name = "proc-macro2"
139
+ version = "1.0.103"
140
+ source = "registry+https://github.com/rust-lang/crates.io-index"
141
+ checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8"
142
+ dependencies = [
143
+ "unicode-ident",
144
+ ]
145
+
146
+ [[package]]
147
+ name = "quote"
148
+ version = "1.0.42"
149
+ source = "registry+https://github.com/rust-lang/crates.io-index"
150
+ checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f"
151
+ dependencies = [
152
+ "proc-macro2",
153
+ ]
154
+
155
+ [[package]]
156
+ name = "rb-sys-build"
157
+ version = "0.9.124"
158
+ dependencies = [
159
+ "bindgen",
160
+ "lazy_static",
161
+ "proc-macro2",
162
+ "quote",
163
+ "regex",
164
+ "shell-words",
165
+ "syn",
166
+ ]
167
+
168
+ [[package]]
169
+ name = "regex"
170
+ version = "1.12.2"
171
+ source = "registry+https://github.com/rust-lang/crates.io-index"
172
+ checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4"
173
+ dependencies = [
174
+ "aho-corasick",
175
+ "memchr",
176
+ "regex-automata",
177
+ "regex-syntax",
178
+ ]
179
+
180
+ [[package]]
181
+ name = "regex-automata"
182
+ version = "0.4.13"
183
+ source = "registry+https://github.com/rust-lang/crates.io-index"
184
+ checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c"
185
+ dependencies = [
186
+ "aho-corasick",
187
+ "memchr",
188
+ "regex-syntax",
189
+ ]
190
+
191
+ [[package]]
192
+ name = "regex-syntax"
193
+ version = "0.8.5"
194
+ source = "registry+https://github.com/rust-lang/crates.io-index"
195
+ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
196
+
197
+ [[package]]
198
+ name = "rustc-hash"
199
+ version = "1.1.0"
200
+ source = "registry+https://github.com/rust-lang/crates.io-index"
201
+ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
202
+
203
+ [[package]]
204
+ name = "shell-words"
205
+ version = "1.1.0"
206
+ source = "registry+https://github.com/rust-lang/crates.io-index"
207
+ checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
208
+
209
+ [[package]]
210
+ name = "shlex"
211
+ version = "1.3.0"
212
+ source = "registry+https://github.com/rust-lang/crates.io-index"
213
+ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
214
+
215
+ [[package]]
216
+ name = "syn"
217
+ version = "2.0.111"
218
+ source = "registry+https://github.com/rust-lang/crates.io-index"
219
+ checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87"
220
+ dependencies = [
221
+ "proc-macro2",
222
+ "quote",
223
+ "unicode-ident",
224
+ ]
225
+
226
+ [[package]]
227
+ name = "unicode-ident"
228
+ version = "1.0.12"
229
+ source = "registry+https://github.com/rust-lang/crates.io-index"
230
+ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
231
+
232
+ [[package]]
233
+ name = "windows-targets"
234
+ version = "0.52.6"
235
+ source = "registry+https://github.com/rust-lang/crates.io-index"
236
+ checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
237
+ dependencies = [
238
+ "windows_aarch64_gnullvm",
239
+ "windows_aarch64_msvc",
240
+ "windows_i686_gnu",
241
+ "windows_i686_gnullvm",
242
+ "windows_i686_msvc",
243
+ "windows_x86_64_gnu",
244
+ "windows_x86_64_gnullvm",
245
+ "windows_x86_64_msvc",
246
+ ]
247
+
248
+ [[package]]
249
+ name = "windows_aarch64_gnullvm"
250
+ version = "0.52.6"
251
+ source = "registry+https://github.com/rust-lang/crates.io-index"
252
+ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
253
+
254
+ [[package]]
255
+ name = "windows_aarch64_msvc"
256
+ version = "0.52.6"
257
+ source = "registry+https://github.com/rust-lang/crates.io-index"
258
+ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
259
+
260
+ [[package]]
261
+ name = "windows_i686_gnu"
262
+ version = "0.52.6"
263
+ source = "registry+https://github.com/rust-lang/crates.io-index"
264
+ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
265
+
266
+ [[package]]
267
+ name = "windows_i686_gnullvm"
268
+ version = "0.52.6"
269
+ source = "registry+https://github.com/rust-lang/crates.io-index"
270
+ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
271
+
272
+ [[package]]
273
+ name = "windows_i686_msvc"
274
+ version = "0.52.6"
275
+ source = "registry+https://github.com/rust-lang/crates.io-index"
276
+ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
277
+
278
+ [[package]]
279
+ name = "windows_x86_64_gnu"
280
+ version = "0.52.6"
281
+ source = "registry+https://github.com/rust-lang/crates.io-index"
282
+ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
283
+
284
+ [[package]]
285
+ name = "windows_x86_64_gnullvm"
286
+ version = "0.52.6"
287
+ source = "registry+https://github.com/rust-lang/crates.io-index"
288
+ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
289
+
290
+ [[package]]
291
+ name = "windows_x86_64_msvc"
292
+ version = "0.52.6"
293
+ source = "registry+https://github.com/rust-lang/crates.io-index"
294
+ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
@@ -0,0 +1,71 @@
1
+ # THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
2
+ #
3
+ # When uploading crates to the registry Cargo will automatically
4
+ # "normalize" Cargo.toml files for maximal compatibility
5
+ # with all versions of Cargo and also rewrite `path` dependencies
6
+ # to registry (e.g., crates.io) dependencies.
7
+ #
8
+ # If you are reading this file be aware that the original Cargo.toml
9
+ # will likely look very different (and much more reasonable).
10
+ # See Cargo.toml.orig for the original contents.
11
+
12
+ [package]
13
+ edition = "2018"
14
+ rust-version = "1.71"
15
+ name = "rb-sys-build"
16
+ version = "0.9.124"
17
+ build = false
18
+ autolib = false
19
+ autobins = false
20
+ autoexamples = false
21
+ autotests = false
22
+ autobenches = false
23
+ description = "Build system for rb-sys"
24
+ homepage = "https://github.com/oxidize-rb/rb-sys"
25
+ readme = false
26
+ license = "MIT OR Apache-2.0"
27
+ repository = "https://github.com/oxidize-rb/rb-sys"
28
+
29
+ [features]
30
+ bindgen-deprecated-types = []
31
+ bindgen-enable-function-attribute-detection = []
32
+ bindgen-impl-debug = []
33
+ bindgen-layout-tests = []
34
+ bindgen-rbimpls = []
35
+ bindgen-return-const-encoding-pointers = []
36
+ bindgen-sizet-is-usize = []
37
+ default = []
38
+
39
+ [lib]
40
+ name = "rb_sys_build"
41
+ path = "src/lib.rs"
42
+ doctest = false
43
+ bench = false
44
+
45
+ [dependencies.bindgen]
46
+ version = "0.72"
47
+ features = ["runtime"]
48
+ default-features = false
49
+
50
+ [dependencies.lazy_static]
51
+ version = "1.4.0"
52
+
53
+ [dependencies.proc-macro2]
54
+ version = "1.0"
55
+
56
+ [dependencies.quote]
57
+ version = "1.0"
58
+
59
+ [dependencies.regex]
60
+ version = "1"
61
+
62
+ [dependencies.shell-words]
63
+ version = "1.1"
64
+
65
+ [dependencies.syn]
66
+ version = "2.0"
67
+ features = [
68
+ "parsing",
69
+ "full",
70
+ "extra-traits",
71
+ ]
@@ -0,0 +1,32 @@
1
+ [package]
2
+ name = "rb-sys-build"
3
+ version = "0.9.124"
4
+ edition = "2018"
5
+ description = "Build system for rb-sys"
6
+ homepage = "https://github.com/oxidize-rb/rb-sys"
7
+ license = "MIT OR Apache-2.0"
8
+ repository = "https://github.com/oxidize-rb/rb-sys"
9
+ rust-version = "1.71"
10
+
11
+ [lib]
12
+ bench = false
13
+ doctest = false
14
+
15
+ [dependencies]
16
+ regex = "1"
17
+ shell-words = "1.1"
18
+ bindgen = { version = "0.69", default-features = false, features = ["runtime"] }
19
+ syn = { version = "2.0", features = ["parsing", "full", "extra-traits"] }
20
+ quote = "1.0"
21
+ lazy_static = "1.4.0"
22
+ proc-macro2 = "1.0"
23
+
24
+ [features]
25
+ default = []
26
+ bindgen-rbimpls = []
27
+ bindgen-deprecated-types = []
28
+ bindgen-layout-tests = []
29
+ bindgen-impl-debug = []
30
+ bindgen-sizet-is-usize = []
31
+ bindgen-return-const-encoding-pointers = []
32
+ bindgen-enable-function-attribute-detection = []