rb_sys 0.9.4 → 0.9.7
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/cargo_builder.rb +8 -15
- data/lib/rb_sys/mkmf.rb +6 -4
- data/lib/rb_sys/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +3 -3
- 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: 77fe2eb244ee95aef39a0d6541d2813fd22c00a3e677b127d0558750f0673ebd
         | 
| 4 | 
            +
              data.tar.gz: 3892fbaf3193dd6248335eab7416ff63b29cd9beb1927cbbcad121165f5a8e4b
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 6c3505e4db3cbdfbfc6bd5ed1cdf38098a890ff4e926b31b82f72c67d341f2b838fa306d540816ef5ffe6247e470b9c07660dc550871f65755c8725f4f20dd64
         | 
| 7 | 
            +
              data.tar.gz: 44d284cae0fd02324891eb08062941f3588dec9ce23e96c02d6f4953c353dfc571e096b8ef7e2cfb167931320a68cc2223d06a304a28abf623782fad59d9e48c
         | 
    
        checksums.yaml.gz.sig
    CHANGED
    
    | Binary file | 
    
        data/lib/rb_sys/cargo_builder.rb
    CHANGED
    
    | @@ -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(" | 
| 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( | 
| 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( | 
| 45 | 
            -
                  manifest = File.join( | 
| 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,  | 
| 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  | 
| 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 | 
            -
                   | 
| 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 |  | 
    
        data/lib/rb_sys/version.rb
    CHANGED
    
    
    
        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 | 
            +
              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- | 
| 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. | 
| 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 |