rb_sys 0.9.49 → 0.9.51

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: d65319f94ce1b79cc27ed5b42a61246d7183cb7f9616fafc6f60ce023fe3b687
4
- data.tar.gz: 0e3fe62efd6b9f0f8246f182b91d6918b0161b89691f1df8ded5628fa26ad105
3
+ metadata.gz: 1ddfeaef1982ecc7adb1ffe2875637d009553c46a283d01db8bf55decc5c8a09
4
+ data.tar.gz: 682b1a33bb6eb4e3ecc6b98514ff165ab562eae52903183c00654604d2f568ac
5
5
  SHA512:
6
- metadata.gz: 307b71b55f1602546201f8380b101824f2b241eb219041f36938c6316d315b0094d1fc5e1fd41412c37be90afdcc42dffa308042e6038f05f187109d80128b0e
7
- data.tar.gz: 0c7162a722fdfbdfd483f342f7d737284539b5d5b3c8b303a0f55d107c2b32fd5346617a224ed15475326ae2fb474603dfcfbbf6f6840d993b8a093b40a13838
6
+ metadata.gz: cedf35c9746e0f41baf8c518ef314689e4d3c579558a026bdcff03edff072c0b77f0d8b907649308792af170f7d838f7588d72c04c6f3e4f1f5c8d4a89c22186
7
+ data.tar.gz: b5c80c63eae32b9a97d33d5800270b54323257f596041dcebc169f760fae253250fe09edc4b51057c27f72e8bd08f79a1345f8422754a968f3df96d01ab695b7
checksums.yaml.gz.sig CHANGED
Binary file
data/exe/rb-sys-dock CHANGED
@@ -96,6 +96,10 @@ def determine_cache_dir
96
96
  File.join(ENV["HOME"], ".cache", "rb-sys-dock")
97
97
  end
98
98
 
99
+ def docker_tmp
100
+ @docker_tmp ||= "/tmp/rb-sys-dock"
101
+ end
102
+
99
103
  def cache_dir
100
104
  return @cache_dir if defined?(@cache_dir)
101
105
 
@@ -113,24 +117,18 @@ def mount_cargo_registry
113
117
  File.join(cache_dir, "cargo")
114
118
  end
115
119
 
116
- dirs = []
117
- dirs << File.join(local_registry_dir, "registry", "index")
118
- dirs << File.join(local_registry_dir, "registry", "cache")
119
- dirs << File.join(local_registry_dir, "registry", "git", "db")
120
+ dir = File.join("registry")
121
+ log(:trace, "Mounting cargo registry dir: #{dir}")
122
+ FileUtils.mkdir_p(dir)
120
123
 
121
- dirs.each do |dir|
122
- log(:trace, "Mounting cargo registry dir: #{dir}")
123
- FileUtils.mkdir_p(dir)
124
- end
125
- dirs.map { |dir| "-v #{dir}:#{dir}" }.join(" ")
124
+ "--mount type=bind,source=#{File.join(local_registry_dir, dir)},target=#{File.join("/usr/local/cargo", dir)},readonly=false"
126
125
  end
127
126
 
128
127
  def mount_bundle_cache(options, extra_env)
129
128
  dir = File.join(cache_dir, options.fetch(:platform), "bundle")
130
129
  FileUtils.mkdir_p(dir)
131
130
  log(:trace, "Mounting bundle cache: #{dir}")
132
- extra_env << "BUNDLE_PATH=\"/tmp/bundle\""
133
- "-v #{dir}:/tmp/bundle"
131
+ "-v #{dir}:#{File.join(docker_tmp, "bundle")}"
134
132
  end
135
133
 
136
134
  def mount_target_dir(options, _extra_env)
@@ -143,7 +141,7 @@ def mount_command_history(options)
143
141
  return unless $stdin.tty?
144
142
 
145
143
  history_dir = File.join(cache_dir, options.fetch(:platform), "commandhistory")
146
- "-v #{history_dir}:/tmp/commandhistory"
144
+ "-v #{history_dir}:#{File.join(docker_tmp, "commandhistory")}"
147
145
  end
148
146
 
149
147
  def rcd(input_args, options)
@@ -215,7 +213,7 @@ def log_some_useful_info(_options)
215
213
  end
216
214
 
217
215
  def set_env(options)
218
- ENV["RCD_IMAGE"] = "rbsys/#{options[:toolchain_info]}:#{options[:version]}"
216
+ ENV["RCD_IMAGE"] ||= "rbsys/#{options[:toolchain_info].platform}:#{options[:version]}"
219
217
  end
220
218
 
221
219
  set_env(options)
@@ -1,10 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "shellwords"
4
+
3
5
  module RbSys
4
- class CargoBuilder
6
+ class CargoBuilder < Gem::Ext::Builder
5
7
  # Converts Ruby link flags into something cargo understands
6
8
  class LinkFlagConverter
7
- def self.convert(arg)
9
+ FILTERED_PATTERNS = [
10
+ /compress-debug-sections/ # Not supported by all linkers, and not required for Rust
11
+ ]
12
+
13
+ def self.convert(args)
14
+ Shellwords.split(args).flat_map { |arg| convert_arg(arg) }
15
+ end
16
+
17
+ def self.convert_arg(arg)
18
+ return [] if FILTERED_PATTERNS.any? { |p| p.match?(arg) }
19
+
8
20
  case arg.chomp
9
21
  when /^-L\s*(.+)$/
10
22
  ["-L", "native=#{$1}"]
@@ -1,3 +1,5 @@
1
+ require_relative "cargo_builder/link_flag_converter"
2
+
1
3
  module RbSys
2
4
  # A class to build a Ruby gem Cargo. Extracted from `rubygems` gem, with some modifications.
3
5
  class CargoBuilder < Gem::Ext::Builder
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RbSys
4
- VERSION = "0.9.49"
4
+ VERSION = "0.9.51"
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.49
4
+ version: 0.9.51
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-12-12 00:00:00.000000000 Z
33
+ date: 2022-12-15 00:00:00.000000000 Z
34
34
  dependencies: []
35
35
  description:
36
36
  email:
metadata.gz.sig CHANGED
Binary file