rb_sys 0.9.128 → 0.9.129
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/error.rb +1 -1
- data/lib/rb_sys/extensiontask.rb +33 -4
- data/lib/rb_sys/mkmf.rb +1 -1
- data/lib/rb_sys/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +1 -1
- 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: 82ca808ba001224b45263763167b562faad29ce575bf8b490845cf85e555bc26
|
|
4
|
+
data.tar.gz: ef1ab354b5451ad6e815eebd65e9863a58e9cb73d0dd13732b2ffaa0db1e48ed
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 062cc26ba140d61fc252b877446601287cd4098be9e7bbf3d8b464d2f3c08439bf749d8dc548fd44c38f33f7627f33ec908f1ff7e6e6db07fccb9e7ded30aaf6
|
|
7
|
+
data.tar.gz: 6b65c7ba433bf42579a13b43874155528fff7e1967e64f83cb304dc07223a7d3bd3f9c219ee8109edeb57ec511112421677ab09976c1d8508ee91553ea0c4e6c
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/lib/rb_sys/error.rb
CHANGED
|
@@ -32,7 +32,7 @@ module RbSys
|
|
|
32
32
|
- Make sure `cargo` is installed and in your PATH
|
|
33
33
|
MSG
|
|
34
34
|
|
|
35
|
-
if !stderr.empty?
|
|
35
|
+
if stderr && !stderr.empty?
|
|
36
36
|
indented_stderr = stderr.lines.map { |line| " #{line}" }.join
|
|
37
37
|
msg << "Stderr from `cargo metadata` was:\n#{indented_stderr}"
|
|
38
38
|
end
|
data/lib/rb_sys/extensiontask.rb
CHANGED
|
@@ -29,8 +29,8 @@ module RbSys
|
|
|
29
29
|
def init(name = nil, gem_spec = nil)
|
|
30
30
|
super(name, lint_gem_spec(name, gem_spec))
|
|
31
31
|
|
|
32
|
-
@
|
|
33
|
-
@ext_dir =
|
|
32
|
+
@original_ext_dir = @ext_dir
|
|
33
|
+
@ext_dir = cargo_manifest_directory
|
|
34
34
|
@source_pattern = nil
|
|
35
35
|
@compiled_pattern = "*.{obj,so,bundle,dSYM}"
|
|
36
36
|
@cross_compile = ENV.key?("RUBY_TARGET")
|
|
@@ -61,7 +61,7 @@ module RbSys
|
|
|
61
61
|
end
|
|
62
62
|
|
|
63
63
|
def extconf
|
|
64
|
-
File.join(
|
|
64
|
+
File.join(ext_dir, "extconf.rb")
|
|
65
65
|
end
|
|
66
66
|
|
|
67
67
|
def binary(_platf)
|
|
@@ -86,6 +86,8 @@ module RbSys
|
|
|
86
86
|
end
|
|
87
87
|
|
|
88
88
|
def target_directory
|
|
89
|
+
return fallback_target_directory if @cargo_metadata_unavailable
|
|
90
|
+
|
|
89
91
|
cargo_metadata.target_directory
|
|
90
92
|
end
|
|
91
93
|
|
|
@@ -104,7 +106,7 @@ module RbSys
|
|
|
104
106
|
def define_env_tasks
|
|
105
107
|
task "rb_sys:env:default" do
|
|
106
108
|
ENV["RB_SYS_CARGO_TARGET_DIR"] ||= target_directory
|
|
107
|
-
ENV["RB_SYS_CARGO_MANIFEST_DIR"] ||=
|
|
109
|
+
ENV["RB_SYS_CARGO_MANIFEST_DIR"] ||= File.expand_path(ext_dir)
|
|
108
110
|
ENV["RB_SYS_CARGO_PROFILE"] ||= "release"
|
|
109
111
|
end
|
|
110
112
|
|
|
@@ -129,6 +131,33 @@ module RbSys
|
|
|
129
131
|
|
|
130
132
|
private
|
|
131
133
|
|
|
134
|
+
def cargo_manifest_directory
|
|
135
|
+
cargo_metadata.manifest_directory
|
|
136
|
+
rescue CargoMetadataError
|
|
137
|
+
raise unless force_install_rust_toolchain?
|
|
138
|
+
|
|
139
|
+
# Let the generated Makefile install Cargo before the extension is built.
|
|
140
|
+
@cargo_metadata_unavailable = true
|
|
141
|
+
File.expand_path(configured_extension_directory)
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
def configured_extension_directory
|
|
145
|
+
extension = @gem_spec&.extensions&.find do |path|
|
|
146
|
+
%w[Cargo.toml extconf.rb].include?(File.basename(path))
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
extension ? File.dirname(extension) : @original_ext_dir
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
def fallback_target_directory
|
|
153
|
+
File.expand_path(ENV["RB_SYS_CARGO_TARGET_DIR"] || ENV["CARGO_TARGET_DIR"] || "target")
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
def force_install_rust_toolchain?
|
|
157
|
+
value = ENV["RB_SYS_FORCE_INSTALL_RUST_TOOLCHAIN"]
|
|
158
|
+
value && value != "false"
|
|
159
|
+
end
|
|
160
|
+
|
|
132
161
|
def lint_gem_spec(name, gs)
|
|
133
162
|
gem_spec = case gs
|
|
134
163
|
when :undefined
|
data/lib/rb_sys/mkmf.rb
CHANGED
data/lib/rb_sys/version.rb
CHANGED
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
metadata.gz.sig
CHANGED
|
Binary file
|