rb_sys 0.9.78 → 0.9.81

Sign up to get free protection for your applications and to get access to all the features.
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