rb_sys 0.9.89 → 0.9.90
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/rb_sys/cargo_builder.rb +11 -5
- data/lib/rb_sys/mkmf/config.rb +5 -0
- data/lib/rb_sys/mkmf.rb +8 -5
- data/lib/rb_sys/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a0e42cff7eb770ac1e6b766aed23ee13e855a24997a1e27dafc2bee51d72bddc
|
|
4
|
+
data.tar.gz: 838a06f80a5304b65fdc590d5a6623b5b3fd64bc230983cecdc6f98035c7ed4f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: eeda0d5cc55d4b17469bbd46ec3ff24b3871e9a085abccdaaa3b4c92f06ea8220356e88513c170ca3603ef276fa7721076d33c629d7e843d4e5e171763a0ce4f
|
|
7
|
+
data.tar.gz: c6fe283eb1a6f43e5e1e60c32c6a3e9a0098b46b0f96dba64477656237d7dd59d182ab32f4c2ee6a599f7cb4f914e314cb14ee3d9071369bde998485b999bc06
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/lib/rb_sys/cargo_builder.rb
CHANGED
|
@@ -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 +=
|
|
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
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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
|
|
data/lib/rb_sys/mkmf/config.rb
CHANGED
|
@@ -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
|
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
|
-
|
|
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
|
-
|
|
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
|
data/lib/rb_sys/version.rb
CHANGED
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.
|
|
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: 2024-
|
|
33
|
+
date: 2024-03-01 00:00:00.000000000 Z
|
|
34
34
|
dependencies: []
|
|
35
35
|
description:
|
|
36
36
|
email:
|
metadata.gz.sig
CHANGED
|
Binary file
|