rb_sys 0.9.77 → 0.9.79

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: b31464c40e0238817da236bfbc3890d604ee772304c1e0186ab61942ff2cb72b
4
- data.tar.gz: 4a23bcaf4d11ac382a0a6ee1c1e9aafd8725087ef1e2520e53d3713fbb0a5c91
3
+ metadata.gz: 63c63786ecd9f735f17132c8f772cb145d0c4107052d482ea5cff7084f30a7c5
4
+ data.tar.gz: 5d2f9d6e902e855805367f7cdba4a80953693c7a979b58593eca572d310c0cf6
5
5
  SHA512:
6
- metadata.gz: ede98c88f6793cb94f365b7106bcc8253c967e28205ebd73aecc166f95bf37f34c350490548cd39c61fb5f70f60937a73a39ec5ffe57352b0e5eb9bd67cd1627
7
- data.tar.gz: 046e69a7794b381560e40ee845b9ec1efeaa454977323737793819bd3149580f355d2f415447962147daf084de2af5347f3a80a0ede635393aec4fb7bcd5f9a1
6
+ metadata.gz: 1653a68b2336d328c855c0ce972668d67461b3c5aeb4d15f76a69377f72ff76b21f85b0fc1da73ce491fff4965b6378ac7c7742018b9263a91ec40f34719bda3
7
+ data.tar.gz: 8cbae235b072bd6a68980a4159fd13ea8f7168b4fc760d834371a62bfb1677ded0e1932334204b97ed45004d9baba1c3f0364ae671c5b4f9ceb012fd03bd3237
checksums.yaml.gz.sig CHANGED
@@ -1 +1,2 @@
1
- p�������n�����$���#�k�acWw��� M�ث�� ���r��t� w7�(�zU`N��r�<��-,816������e*F1&��cJL��~�����Ӂ�t.8[Zˉ�{SR�������l^V�$�{�o0�ׄtb��>@oa�ş��߉#�-��kK�.��Jx����r����>�دv�W�_]�,�_G +�rÂtbC
1
+ `��us���V`b,�rS�LDI*N���V���Tk�+�z2?��`�ٱ>���oR��W��?.�cXLv �7D�Լ�Ҫ�+��g���Ħ��t���pWv�q����k��*'���/P8`��%{>*>}}z\H���x.QN����B��n_HV�W,�;�ڷ��H��)���a��aVB(Q�{'c5XºN��v��KG{v8�o���g�i_#B�
2
+ ��-c������I��M��ô��C�مK~�w�_S�W
@@ -19,12 +19,16 @@ 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
+
22
25
  def initialize(builder)
23
26
  @builder = builder
24
27
  @force_install_rust_toolchain = false
25
28
  @auto_install_rust_toolchain = true
26
29
  @clean_after_install = rubygems_invoked?
27
30
  @rubygems_clean_dirs = ["./cargo-vendor"]
31
+ @extra_rustup_targets = []
28
32
  end
29
33
 
30
34
  # @api private
data/lib/rb_sys/mkmf.rb CHANGED
@@ -173,24 +173,35 @@ module RbSys
173
173
  end
174
174
 
175
175
  def env_vars(builder)
176
- lines = builder.build_env.map { |k, v| env_line(k, v) }
177
- lines << env_line("CC", strip_cmd(env_or_makefile_config("CC")))
178
- lines << env_line("CXX", strip_cmd(env_or_makefile_config("CXX")))
179
- lines << env_line("AR", strip_cmd(env_or_makefile_config("AR"))) unless env_or_makefile_config("AR") == "libtool -static"
176
+ lines = []
177
+
178
+ if (cc = env_or_makefile_config("CC", builder)) && find_executable(cc)
179
+ lines << assign_stmt("CC", cc)
180
+ end
181
+
182
+ if (cxx = env_or_makefile_config("CXX", builder)) && find_executable(cxx)
183
+ lines << assign_stmt("CXX", cxx)
184
+ end
185
+
186
+ if (ar = env_or_makefile_config("AR", builder)) && find_executable(ar)
187
+ lines << assign_stmt("AR", ar)
188
+ end
189
+
190
+ lines += builder.build_env.map { |k, v| env_line(k, v) }
180
191
  lines.compact.join("\n")
181
192
  end
182
193
 
183
194
  def env_line(k, v)
184
195
  return unless v
185
- export_env(k, v.gsub("\n", '\n'))
196
+ export_env(k, strip_cmd(v.gsub("\n", '\n')))
186
197
  end
187
198
 
188
199
  def strip_cmd(cmd)
189
200
  cmd.gsub("-nologo", "").strip
190
201
  end
191
202
 
192
- def env_or_makefile_config(key)
193
- ENV[key] || RbConfig::MAKEFILE_CONFIG[key]
203
+ def env_or_makefile_config(key, builder)
204
+ builder.env[key] || ENV[key] || RbConfig::MAKEFILE_CONFIG[key]
194
205
  end
195
206
 
196
207
  def gsub_cargo_command!(cargo_command, builder:)
@@ -242,12 +253,19 @@ module RbSys
242
253
  \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
243
254
  \t$(Q) $(CARGO_HOME)/bin/rustup toolchain install $(RB_SYS_DEFAULT_TOOLCHAIN) --profile $(RB_SYS_RUSTUP_PROFILE)
244
255
  \t$(Q) $(CARGO_HOME)/bin/rustup default $(RB_SYS_DEFAULT_TOOLCHAIN)
256
+ #{install_extra_rustup_targets(builder)}
245
257
 
246
258
  $(RUSTLIB): $(CARGO)
247
259
  #{endif_stmt}
248
260
  MAKE
249
261
  end
250
262
 
263
+ def install_extra_rustup_targets(builder)
264
+ builder.extra_rustup_targets.map do |target|
265
+ "\t$(Q) $(CARGO_HOME)/bin/rustup target add #{target}"
266
+ end.join("\n")
267
+ end
268
+
251
269
  def force_install_rust_toolchain?(builder)
252
270
  return builder.force_install_rust_toolchain if builder.force_install_rust_toolchain
253
271
  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.77"
4
+ VERSION = "0.9.79"
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.77
4
+ version: 0.9.79
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-10 00:00:00.000000000 Z
33
+ date: 2023-06-13 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.4.6
85
+ rubygems_version: 3.4.10
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