rb_sys 0.9.88 → 0.9.90

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: 15d57a4553b64cda8df8725e87004f41d8270cc44200659a0af0e64a4b45c873
4
- data.tar.gz: cdf02a0c1d4fbdbbf279f8298bddc5d62acda5fb51304b489f0844827bcb8a70
3
+ metadata.gz: a0e42cff7eb770ac1e6b766aed23ee13e855a24997a1e27dafc2bee51d72bddc
4
+ data.tar.gz: 838a06f80a5304b65fdc590d5a6623b5b3fd64bc230983cecdc6f98035c7ed4f
5
5
  SHA512:
6
- metadata.gz: 2acaf8ff57e2e6fa56eccbb3e3ad70a337539089c3ec7c8bae760b88ae6fac584dc009fb07655e71d5db61e61f975fc37801a0e90c8d5768c2f95a4a02bfd2e5
7
- data.tar.gz: c68d528f92d88c16cfa68fe80c640672cb366e3bcac268bbfeab3479766226cf39d22e6e31753d38b8f551d172d7ed5eca1773177bc3d9c40a0df0f0abc48961
6
+ metadata.gz: eeda0d5cc55d4b17469bbd46ec3ff24b3871e9a085abccdaaa3b4c92f06ea8220356e88513c170ca3603ef276fa7721076d33c629d7e843d4e5e171763a0ce4f
7
+ data.tar.gz: c6fe283eb1a6f43e5e1e60c32c6a3e9a0098b46b0f96dba64477656237d7dd59d182ab32f4c2ee6a599f7cb4f914e314cb14ee3d9071369bde998485b999bc06
checksums.yaml.gz.sig CHANGED
Binary file
@@ -9,7 +9,7 @@ module RbSys
9
9
  WELL_KNOWN_WRAPPERS = %w[sccache cachepot].freeze
10
10
 
11
11
  attr_accessor :spec, :runner, :env, :features, :target, :extra_rustc_args, :dry_run, :ext_dir, :extra_rustflags,
12
- :extra_cargo_args
12
+ :extra_cargo_args, :config
13
13
  attr_writer :profile
14
14
 
15
15
  def initialize(spec)
@@ -66,7 +66,11 @@ module RbSys
66
66
 
67
67
  def cargo_command(dest_path, args = [])
68
68
  cmd = []
69
- cmd += ["cargo", "rustc"]
69
+ cmd += if config.use_cargo_build
70
+ ["cargo", "build"]
71
+ else
72
+ ["cargo", "rustc"]
73
+ end
70
74
  cmd += ["--target", target] if target
71
75
  cmd += ["--target-dir", dest_path]
72
76
  cmd += ["--features", features.join(",")] unless features.empty?
@@ -74,9 +78,11 @@ module RbSys
74
78
  cmd += ["--profile", profile.to_s]
75
79
  cmd += Gem::Command.build_args
76
80
  cmd += args
77
- cmd += ["--"]
78
- cmd += [*rustc_args(dest_path)]
79
- cmd += extra_rustc_args
81
+ if !config.use_cargo_build
82
+ cmd += ["--"]
83
+ cmd += [*rustc_args(dest_path)]
84
+ cmd += extra_rustc_args
85
+ end
80
86
  cmd
81
87
  end
82
88
 
@@ -328,7 +334,7 @@ module RbSys
328
334
  end
329
335
 
330
336
  def rubygems_invoked?
331
- ENV.key?("SOURCE_DATE_EPOCH") && !ENV["RB_SYS_TEST"] == "1"
337
+ ENV.key?("SOURCE_DATE_EPOCH") && ENV["RB_SYS_TEST"] != "1"
332
338
  end
333
339
 
334
340
  # Error raised when no cdylib artifact was created
@@ -25,8 +25,13 @@ module RbSys
25
25
  # Use compiled C code fallback for stable API for ruby-head (default: false)
26
26
  attr_accessor :use_stable_api_compiled_fallback
27
27
 
28
+ # Instead of the default `cargo rustc` behaviour, just call `cargo build`.
29
+ # Requires manually setting relevant rb-sys environment (default: false)
30
+ attr_accessor :use_cargo_build
31
+
28
32
  def initialize(builder)
29
33
  @builder = builder
34
+ @builder.config = self
30
35
  @force_install_rust_toolchain = false
31
36
  @auto_install_rust_toolchain = true
32
37
  @use_stable_api_compiled_fallback = false
@@ -55,7 +60,7 @@ module RbSys
55
60
  # install, to remove bloat.
56
61
  # @api private
57
62
  def rubygems_invoked?
58
- ENV.key?("SOURCE_DATE_EPOCH") && !ENV["RB_SYS_TEST"] == "1"
63
+ ENV.key?("SOURCE_DATE_EPOCH") && ENV["RB_SYS_TEST"] != "1"
59
64
  end
60
65
 
61
66
  def use_stable_api_compiled_fallback?
data/lib/rb_sys/mkmf.rb CHANGED
@@ -10,9 +10,6 @@ require_relative "mkmf/config"
10
10
  module RbSys
11
11
  # Helper class for creating Rust Makefiles
12
12
  module Mkmf
13
- # @api private
14
- GLOBAL_RUSTFLAGS = ["--cfg=rb_sys_gem"]
15
-
16
13
  # Helper for building Rust extensions by creating a Ruby compatible makefile
17
14
  # for Rust. By using this class, your rust extension will be 100% compatible
18
15
  # with the rake-compiler gem, which allows for easy cross compilation.
@@ -53,7 +50,9 @@ module RbSys
53
50
  RbConfig.expand(srcdir = srcprefix.dup)
54
51
 
55
52
  full_cargo_command = cargo_command(srcdir, builder)
56
- global_rustflags = GLOBAL_RUSTFLAGS.dup
53
+
54
+ global_rustflags = []
55
+ global_rustflags << "--cfg=rb_sys_gem" unless builder.use_cargo_build
57
56
  global_rustflags << "--cfg=rb_sys_use_stable_api_compiled_fallback" if builder.use_stable_api_compiled_fallback?
58
57
 
59
58
  make_install = +<<~MAKE
@@ -169,7 +168,11 @@ module RbSys
169
168
  cargo_cmd = builder.cargo_command(dest_path, args)
170
169
  cmd = Shellwords.join(cargo_cmd)
171
170
  cmd.gsub!("\\=", "=")
172
- cmd.gsub!(/\Acargo rustc/, "$(CARGO) rustc $(RB_SYS_EXTRA_CARGO_ARGS) --manifest-path $(RB_SYS_CARGO_MANIFEST_DIR)/Cargo.toml")
171
+ if builder.use_cargo_build
172
+ cmd.gsub!(/\Acargo rustc/, "$(CARGO) build $(RB_SYS_EXTRA_CARGO_ARGS) --manifest-path $(RB_SYS_CARGO_MANIFEST_DIR)/Cargo.toml")
173
+ else
174
+ cmd.gsub!(/\Acargo rustc/, "$(CARGO) rustc $(RB_SYS_EXTRA_CARGO_ARGS) --manifest-path $(RB_SYS_CARGO_MANIFEST_DIR)/Cargo.toml")
175
+ end
173
176
  cmd.gsub!(/-v=\d/, "")
174
177
  cmd
175
178
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RbSys
4
- VERSION = "0.9.88"
4
+ VERSION = "0.9.90"
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.88
4
+ version: 0.9.90
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: 1980-01-01 00:00:00.000000000 Z
33
+ date: 2024-03-01 00:00:00.000000000 Z
34
34
  dependencies: []
35
35
  description:
36
36
  email:
@@ -82,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  requirements: []
85
- rubygems_version: 3.5.5
85
+ rubygems_version: 3.5.3
86
86
  signing_key:
87
87
  specification_version: 4
88
88
  summary: Helpers for compiling Rust extensions for ruby
metadata.gz.sig CHANGED
Binary file