rb_sys 0.9.78 → 0.9.81

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8fb42bed92543f08d6a3225a194387d67671a18152815470b835b12bc2406411
4
- data.tar.gz: e9fe146231fe531643428f3bc2c4b7376fcf883fb1b8adc400bff361379be9e3
3
+ metadata.gz: e03b52a0133fca3f16a8614c77d582ba2cd82a91cb383c5066cba1ef4e22e49b
4
+ data.tar.gz: 82dd02bc346faeef784fea046b329162d0e3145aa6f8b57cbca3cb5b2afdf9e9
5
5
  SHA512:
6
- metadata.gz: b31316a3201a77e5960bf33ce5b9e59bb1fdf24bd31a6f5eebf9103938d0adee6cca5f9cd3a84813e3f24b9519676467fb649b45788487ab607af9b54c3a018e
7
- data.tar.gz: cae3aaeead61b81af09bfcb5d77f79e9db5ce1f5863273c7ba230cb5dc7a0db34dce910692d453fab187d57ef7c233da43441e2537733ec2937158540a95cb0c
6
+ metadata.gz: 80fa9f01a3201773188eabb0b2022e36cf15d940195ead2595dcc7e4852e1cf195d2f628ca0bbc12432c6a52bc79c08b3afe8d12252882241d8d970cdfc4d030
7
+ data.tar.gz: cb1211eae42b9575d5062ebb34dca1c9728f8369b1dc297b4eaae4417e5fd24c713d25ee130b403e5ccda52e35e537fc376e45e3f184c08bc5f0887b643c1e5c
checksums.yaml.gz.sig CHANGED
Binary file
@@ -45,6 +45,7 @@ module RbSys
45
45
  gemspec.files.reject! { |f| f.end_with?(".rs") }
46
46
  gemspec.files.reject! { |f| f.match?(/Cargo.(toml|lock)$/) }
47
47
  gemspec.files.reject! { |f| extconf.end_with?(f) }
48
+ gemspec.extensions.reject! { |f| f.end_with?("Cargo.toml") }
48
49
  end
49
50
  end
50
51
 
@@ -19,12 +19,20 @@ module RbSys
19
19
  # Directories to clean after installing with Rubygems
20
20
  attr_accessor :rubygems_clean_dirs
21
21
 
22
+ # Extra targets to install
23
+ attr_accessor :extra_rustup_targets
24
+
25
+ # Use compiled C code fallback for stable API for ruby-head (default: false)
26
+ attr_accessor :use_stable_api_compiled_fallback
27
+
22
28
  def initialize(builder)
23
29
  @builder = builder
24
30
  @force_install_rust_toolchain = false
25
31
  @auto_install_rust_toolchain = true
32
+ @use_stable_api_compiled_fallback = false
26
33
  @clean_after_install = rubygems_invoked?
27
34
  @rubygems_clean_dirs = ["./cargo-vendor"]
35
+ @extra_rustup_targets = []
28
36
  end
29
37
 
30
38
  # @api private
@@ -49,6 +57,10 @@ module RbSys
49
57
  def rubygems_invoked?
50
58
  ENV.key?("SOURCE_DATE_EPOCH")
51
59
  end
60
+
61
+ def use_stable_api_compiled_fallback?
62
+ @use_stable_api_compiled_fallback
63
+ end
52
64
  end
53
65
  end
54
66
  end
data/lib/rb_sys/mkmf.rb CHANGED
@@ -53,6 +53,8 @@ module RbSys
53
53
  RbConfig.expand(srcdir = srcprefix.dup)
54
54
 
55
55
  full_cargo_command = cargo_command(srcdir, builder)
56
+ global_rustflags = GLOBAL_RUSTFLAGS.dup
57
+ global_rustflags << "--cfg=rb_sys_use_stable_api_compiled_fallback" if builder.use_stable_api_compiled_fallback?
56
58
 
57
59
  make_install = +<<~MAKE
58
60
  #{conditional_assign("RB_SYS_BUILD_DIR", File.join(Dir.pwd, ".rb-sys"))}
@@ -68,7 +70,7 @@ module RbSys
68
70
 
69
71
  #{set_cargo_profile(builder)}
70
72
  #{conditional_assign("RB_SYS_CARGO_FEATURES", builder.features.join(","))}
71
- #{conditional_assign("RB_SYS_GLOBAL_RUSTFLAGS", GLOBAL_RUSTFLAGS.join(" "))}
73
+ #{conditional_assign("RB_SYS_GLOBAL_RUSTFLAGS", global_rustflags.join(" "))}
72
74
  #{conditional_assign("RB_SYS_EXTRA_RUSTFLAGS", builder.extra_rustflags.join(" "))}
73
75
  #{conditional_assign("RB_SYS_EXTRA_CARGO_ARGS", builder.extra_cargo_args.join(" "))}
74
76
  #{conditional_assign("RB_SYS_CARGO_MANIFEST_DIR", builder.manifest_dir)}
@@ -253,12 +255,19 @@ module RbSys
253
255
  \t$(Q) curl --proto '=https' --tlsv1.2 --retry 10 --retry-connrefused -fsSL "https://sh.rustup.rs" | sh -s -- --no-modify-path --profile $(RB_SYS_RUSTUP_PROFILE) --default-toolchain none -y
254
256
  \t$(Q) $(CARGO_HOME)/bin/rustup toolchain install $(RB_SYS_DEFAULT_TOOLCHAIN) --profile $(RB_SYS_RUSTUP_PROFILE)
255
257
  \t$(Q) $(CARGO_HOME)/bin/rustup default $(RB_SYS_DEFAULT_TOOLCHAIN)
258
+ #{install_extra_rustup_targets(builder)}
256
259
 
257
260
  $(RUSTLIB): $(CARGO)
258
261
  #{endif_stmt}
259
262
  MAKE
260
263
  end
261
264
 
265
+ def install_extra_rustup_targets(builder)
266
+ builder.extra_rustup_targets.map do |target|
267
+ "\t$(Q) $(CARGO_HOME)/bin/rustup target add #{target}"
268
+ end.join("\n")
269
+ end
270
+
262
271
  def force_install_rust_toolchain?(builder)
263
272
  return builder.force_install_rust_toolchain if builder.force_install_rust_toolchain
264
273
  return false unless builder.rubygems_invoked? && builder.auto_install_rust_toolchain
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RbSys
4
- VERSION = "0.9.78"
4
+ VERSION = "0.9.81"
5
5
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rb_sys
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.78
4
+ version: 0.9.81
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ian Ker-Seymer
@@ -30,7 +30,7 @@ cert_chain:
30
30
  DIZ6NVmpBvohJVCCCDxQQxFKLXZp1ivoxjN+m7eJSW7yzIz062pH4u8pPNQsiVSb
31
31
  I5rgRPbDr2rAFGXKoQ0+u6CLkRxqrVsITl/OPfZhBQI=
32
32
  -----END CERTIFICATE-----
33
- date: 2023-05-23 00:00:00.000000000 Z
33
+ date: 2023-08-03 00:00:00.000000000 Z
34
34
  dependencies: []
35
35
  description:
36
36
  email:
metadata.gz.sig CHANGED
Binary file