rb_sys 0.9.5 → 0.9.6

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: 0661731403f4cf0e7c97271ae048ea8ab1f8144275e490550de84db7c6c25d7e
4
- data.tar.gz: 43034d54e78f49dbe8d2e6a7ebd51daa1443e104f556ccb53439293ba6afb324
3
+ metadata.gz: a832bee97ea5d680aa3ce6f48b1a09d32014a977c2b4645986ebb6ba429b1037
4
+ data.tar.gz: df5a2605db7395caf6110efdfb034aac1fec1d0bf40924f967905bb33b789061
5
5
  SHA512:
6
- metadata.gz: ec9ee045e04fa541caf8e50b0b3bc0afb0c0b032136d81f94a61c88997aae43757447cdb0d13ee3727466435d975a4f829024c2a414d98a16bba2065b7c8cb7f
7
- data.tar.gz: 1f1bbf51d682b3852373b54d957b8cee2466e7db032151493dac72e62bc9f5c6c939507216bdd2b1ee16e916fb90e786c97c9922bdfb88988cd038d9b02e53a2
6
+ metadata.gz: 47f4c252dec7a7cc6c625ad6688b85fc93b07df508b5141211b6a82cbaa02a4a11669c5888b44fa80e0f2cfab3a99d71c2ac34ea543479c30b22271fc50a668a
7
+ data.tar.gz: 2941a00f603431fca4d954c63c0a05bb7b0cd354cb49ea938b92183062f38ac52cbe945dbe414117f33852285709324d9f28f91823d198e7d1f81e81c663d749
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.5"
4
+ VERSION = "0.9.6"
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.5
4
+ version: 0.9.6
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-21 00:00:00.000000000 Z
33
+ date: 2022-06-22 00:00:00.000000000 Z
34
34
  dependencies: []
35
35
  description:
36
36
  email:
metadata.gz.sig CHANGED
Binary file