rb_sys 0.9.4 → 0.9.7

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: 5f361cdc09e131225d1dc35bfd79a391df71665264e674da09b4122a0bee7096
4
- data.tar.gz: b2bcbcf45a0f555aaee12136e79b756a3ab12d6daf8504d8a571d3382c1483b5
3
+ metadata.gz: 77fe2eb244ee95aef39a0d6541d2813fd22c00a3e677b127d0558750f0673ebd
4
+ data.tar.gz: 3892fbaf3193dd6248335eab7416ff63b29cd9beb1927cbbcad121165f5a8e4b
5
5
  SHA512:
6
- metadata.gz: 7277d6b439a9d319d6b380118544f65706c858f54504922014990c68763c77407cd05310453266c945e6db18efa0827322b1721575d01f32f1b80074bd58339d
7
- data.tar.gz: 7c2454a9bb3ccf632a696b2ad92c28d7cbda213946fbab32addc87b8237e9f317d2d4ddddb31b024d4a721bf59d1d07e286f0341709b6f24cf813da67d4db36a
6
+ metadata.gz: 6c3505e4db3cbdfbfc6bd5ed1cdf38098a890ff4e926b31b82f72c67d341f2b838fa306d540816ef5ffe6247e470b9c07660dc550871f65755c8725f4f20dd64
7
+ data.tar.gz: 44d284cae0fd02324891eb08062941f3588dec9ce23e96c02d6f4953c353dfc571e096b8ef7e2cfb167931320a68cc2223d06a304a28abf623782fad59d9e48c
checksums.yaml.gz.sig CHANGED
Binary file
@@ -1,6 +1,6 @@
1
1
  module RbSys
2
2
  class CargoBuilder < Gem::Ext::Builder
3
- attr_accessor :spec, :runner, :profile, :env, :features, :target, :extra_rustc_args, :dry_run
3
+ attr_accessor :spec, :runner, :profile, :env, :features, :target, :extra_rustc_args, :dry_run, :ext_dir
4
4
 
5
5
  def initialize(spec)
6
6
  require "rubygems/command"
@@ -8,12 +8,13 @@ module RbSys
8
8
 
9
9
  @spec = spec
10
10
  @runner = self.class.method(:run)
11
- @profile = ENV.fetch("CARGO_BUILD_PROFILE", :release).to_sym
11
+ @profile = ENV.fetch("RB_SYS_CARGO_BUILD_PROFILE", :release).to_sym
12
12
  @env = {}
13
13
  @features = []
14
14
  @target = ENV["CARGO_BUILD_TARGET"]
15
15
  @extra_rustc_args = []
16
16
  @dry_run = true
17
+ @ext_dir = nil
17
18
  end
18
19
 
19
20
  def build(_extension, dest_path, results, args = [], lib_dir = nil, cargo_dir = Dir.pwd)
@@ -29,7 +30,7 @@ module RbSys
29
30
 
30
31
  def build_crate(dest_path, results, args, cargo_dir)
31
32
  env = build_env
32
- cmd = cargo_command(cargo_dir, dest_path, args)
33
+ cmd = cargo_command(dest_path, args)
33
34
  runner.call cmd, results, "cargo", cargo_dir, env
34
35
 
35
36
  results
@@ -41,8 +42,8 @@ module RbSys
41
42
  build_env.merge(env)
42
43
  end
43
44
 
44
- def cargo_command(cargo_dir, dest_path, args = [])
45
- manifest = File.join(cargo_dir, "Cargo.toml")
45
+ def cargo_command(dest_path, args = [])
46
+ manifest = File.join(ext_dir, "Cargo.toml")
46
47
  cargo = ENV.fetch("CARGO", "cargo")
47
48
 
48
49
  cmd = []
@@ -83,8 +84,7 @@ module RbSys
83
84
  *mkmf_libpath,
84
85
  *rustc_dynamic_linker_flags(dest_dir),
85
86
  *rustc_lib_flags(dest_dir),
86
- *platform_specific_rustc_args(dest_dir),
87
- *debug_flags
87
+ *platform_specific_rustc_args(dest_dir)
88
88
  ]
89
89
  end
90
90
 
@@ -256,13 +256,6 @@ module RbSys
256
256
  RbConfig.expand(val.dup)
257
257
  end
258
258
 
259
- # Good balance between binary size and debugability
260
- def debug_flags
261
- return [] if profile == :dev
262
-
263
- ["-C", "debuginfo=1"]
264
- end
265
-
266
259
  # Copied from ExtConfBuilder
267
260
  def finalize_directory(dest_path, lib_dir, extension_dir)
268
261
  require "fileutils"
@@ -309,7 +302,7 @@ module RbSys
309
302
  end
310
303
 
311
304
  def profile_target_directory
312
- case profile
305
+ case profile.to_sym
313
306
  when :release then "release"
314
307
  when :dev then "debug"
315
308
  else raise "unknown target directory for profile: #{profile}"
data/lib/rb_sys/mkmf.rb CHANGED
@@ -28,7 +28,7 @@ module RbSys
28
28
  # . r.profile = ENV.fetch('RB_SYS_CARGO_PROFILE', :dev).to_sym
29
29
  # . r.features = %w[some_cargo_feature]
30
30
  # . end
31
- def create_rust_makefile(target, srcprefix = nil, &blk)
31
+ def create_rust_makefile(target, &blk)
32
32
  if target.include?("/")
33
33
  target_prefix, target = File.split(target)
34
34
  target_prefix[0, 0] = "/"
@@ -41,7 +41,7 @@ module RbSys
41
41
 
42
42
  yield builder if blk
43
43
 
44
- srcprefix ||= "$(srcdir)/#{srcprefix}".chomp("/")
44
+ srcprefix = "$(srcdir)/#{builder.ext_dir}".chomp("/")
45
45
  RbConfig.expand(srcdir = srcprefix.dup)
46
46
 
47
47
  full_cargo_command = cargo_command(srcdir, builder)
@@ -112,9 +112,11 @@ module RbSys
112
112
  end
113
113
 
114
114
  def cargo_command(cargo_dir, builder)
115
+ builder.ext_dir = cargo_dir
115
116
  dest_path = File.join(Dir.pwd, "target")
116
- args = []
117
- cargo_cmd = builder.cargo_command(cargo_dir, dest_path, args)
117
+ args = ARGV.dup
118
+ args.shift if args.first == "--"
119
+ cargo_cmd = builder.cargo_command(dest_path, args)
118
120
  Shellwords.join(cargo_cmd).gsub("\\=", "=").gsub(/\Acargo/, "$(CARGO)")
119
121
  end
120
122
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RbSys
4
- VERSION = "0.9.4"
4
+ VERSION = "0.9.7"
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.4
4
+ version: 0.9.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ian Ker-Seymer
@@ -30,7 +30,7 @@ cert_chain:
30
30
  Rl+ASkq2/1i07TkBpCf+2hq66+h/hx+/Y/KrUzXfe0jtvil0WESkJT2kqRqHWNhD
31
31
  9GKBxaQlXokNDtWCm1/gl6cD8WRZ0N5S4ZGJT1FLLsA=
32
32
  -----END CERTIFICATE-----
33
- date: 2022-06-07 00:00:00.000000000 Z
33
+ date: 2022-06-22 00:00:00.000000000 Z
34
34
  dependencies: []
35
35
  description:
36
36
  email:
@@ -69,7 +69,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
69
69
  - !ruby/object:Gem::Version
70
70
  version: '0'
71
71
  requirements: []
72
- rubygems_version: 3.3.7
72
+ rubygems_version: 3.4.0.dev
73
73
  signing_key:
74
74
  specification_version: 4
75
75
  summary: Helpers for compiling Rust extensions for ruby
metadata.gz.sig CHANGED
Binary file