rb_sys 0.9.5 → 0.9.6

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 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