rb_sys 0.9.91 → 0.9.97
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/certs/ianks.pem +10 -11
- data/exe/rb-sys-dock +11 -5
- data/lib/rb_sys/cargo/metadata.rb +30 -0
- data/lib/rb_sys/cargo_builder.rb +8 -0
- data/lib/rb_sys/extensiontask.rb +1 -1
- data/lib/rb_sys/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +13 -14
- 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: ab6cc75cd0019c1ef5776fce1f1356f89402d1121ecf249d7be13611bd48f2c1
|
|
4
|
+
data.tar.gz: fdb898fe8c841369fe4d028fb560c528c21c340aff5acaf174d9900b2f22f187
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 98635ea2f6c932672ada8830c5cfebda6c4ee8c401b7caa2479bc958f3aed2b329c75c063937eebdc23e1478828a4bdcc5f5f98aae7a7dec5ac151b034d53f5d
|
|
7
|
+
data.tar.gz: eccaf0a36185ba534a16500a1e75149ff77ee2819381c3754e0c816caeb4c02f41f6c0d073a6a3da7e2a0c4c70e400e08c6452a66a4944938e0204793b5a48a2
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/certs/ianks.pem
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
-----BEGIN CERTIFICATE-----
|
|
2
|
-
|
|
2
|
+
MIIDODCCAiCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBCMRQwEgYDVQQDDAtpLmtl
|
|
3
3
|
cnNleW1lcjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYD
|
|
4
|
-
|
|
4
|
+
Y29tMB4XDTI0MDQxODA1MzY0N1oXDTI1MDQxODA1MzY0N1owQjEUMBIGA1UEAwwL
|
|
5
5
|
aS5rZXJzZXltZXIxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixk
|
|
6
6
|
ARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMJ2pG+er4cP
|
|
7
7
|
PasxsMIKL9/tmLL4gh80EMuF3SCS0qZoh+Oo8dkvRYxW8NXdwEIcp3cCNgE+5G+J
|
|
@@ -9,13 +9,12 @@ TCMOVF8S15n1Z1P7xxXiXxa/BIofKKbtatVRngm14uR/6pjdkvLXqlrWdS57bNwv
|
|
|
9
9
|
7LtpzYVfDHfsl/qRWaEi4jq00PNCRSWjcva8teqswjBg8KlwGtyygpezPbVSWP8Y
|
|
10
10
|
vzWZmVF7fqRBXU78Ah0+pNOhslBXDTvI3xJdN4hQ3H7rLjpD/qxKWq/8o+Qvx6cX
|
|
11
11
|
dNZ3ugH/Pr3BAsqt4JFLXin9AK7PO9GDMH5JXJrUb+hAt2VNIZqpz9VlKA6BA0jN
|
|
12
|
-
eWGea+
|
|
13
|
-
BBYEFOkrF6hsocaIMOjR/
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
I5rgRPbDr2rAFGXKoQ0+u6CLkRxqrVsITl/OPfZhBQI=
|
|
12
|
+
eWGea+yCZkECAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0O
|
|
13
|
+
BBYEFOkrF6hsocaIMOjR/K3JBzyXCLJPMA0GCSqGSIb3DQEBCwUAA4IBAQARHgco
|
|
14
|
+
yCxWUqN+HBGewmSB7T4oq6YS2FtU62K+GuWWCTqjl5byLKMXQW8HPDja9TC1My1m
|
|
15
|
+
2r0uDshtUvUjuB/Vfe9jVMTjnPBspHZYo0MRuMPc7owJaahjkqD3l7w9aa8Ci5aC
|
|
16
|
+
YU4Aj71Sc8s7YIxgHn/yIUdCe1yu6cC0+h+Ss9r/Yjr53NNXwjGQlDmH1eHcVQGZ
|
|
17
|
+
mEoVcZO1uWNtRPPsn1gfvKLPjRe5pclXQnGviS5DiH0Du+8QMxQGBJnYz2zSMW7G
|
|
18
|
+
Lvd35BNvZkhFzs9xfykhurpkT2TiP2F3ZFn9dwLXMFe41pwrtEYLIWhYi8mUG4Ek
|
|
19
|
+
6aR8M/tqIpChVV39
|
|
21
20
|
-----END CERTIFICATE-----
|
data/exe/rb-sys-dock
CHANGED
|
@@ -18,7 +18,13 @@ OPTIONS = {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
def cargo_metadata
|
|
21
|
-
@cargo_metadata
|
|
21
|
+
return @cargo_metadata if defined?(@cargo_metadata)
|
|
22
|
+
|
|
23
|
+
@cargo_metadata = begin
|
|
24
|
+
RbSys::Cargo::Metadata.inferred(deps: true)
|
|
25
|
+
rescue
|
|
26
|
+
nil
|
|
27
|
+
end
|
|
22
28
|
end
|
|
23
29
|
|
|
24
30
|
def logger
|
|
@@ -172,9 +178,9 @@ end
|
|
|
172
178
|
|
|
173
179
|
def determine_cache_dir
|
|
174
180
|
return ENV["RB_SYS_DOCK_CACHE_DIR"] if ENV["RB_SYS_DOCK_CACHE_DIR"]
|
|
175
|
-
return File.join(ENV["XDG_CACHE_HOME"], "rb-sys
|
|
181
|
+
return File.join(ENV["XDG_CACHE_HOME"], "rb-sys") if ENV["XDG_CACHE_HOME"]
|
|
176
182
|
|
|
177
|
-
File.join(ENV["HOME"], ".cache", "rb-sys
|
|
183
|
+
File.join(ENV["HOME"], ".cache", "rb-sys")
|
|
178
184
|
end
|
|
179
185
|
|
|
180
186
|
def docker_tmp
|
|
@@ -359,7 +365,7 @@ def rcd(input_args)
|
|
|
359
365
|
cmd = <<~SH
|
|
360
366
|
#{default_docker_command} run \
|
|
361
367
|
--platform #{OPTIONS.fetch(:docker_platform)} \
|
|
362
|
-
-v
|
|
368
|
+
-v $(pwd):$(pwd) \
|
|
363
369
|
#{mount_tmp_dir} \
|
|
364
370
|
#{mount_target_dir} \
|
|
365
371
|
#{mount_cargo_registry} \
|
|
@@ -421,7 +427,7 @@ def set_env
|
|
|
421
427
|
end
|
|
422
428
|
|
|
423
429
|
def lint_rb_sys
|
|
424
|
-
cargo_version = cargo_metadata
|
|
430
|
+
cargo_version = cargo_metadata&.rb_sys_version || RbSys::VERSION
|
|
425
431
|
return if cargo_version == RbSys::VERSION
|
|
426
432
|
logger.warn("Cargo rb-sys version (#{cargo_version}) does not match Ruby gem version (#{RbSys::VERSION})")
|
|
427
433
|
rescue => e
|
|
@@ -9,6 +9,26 @@ module RbSys
|
|
|
9
9
|
class Metadata
|
|
10
10
|
attr_reader :name
|
|
11
11
|
|
|
12
|
+
class << self
|
|
13
|
+
# Infers the Cargo project's name from the Cargo.toml file.
|
|
14
|
+
#
|
|
15
|
+
# @return [RbSys::Cargo::Metadata]
|
|
16
|
+
def inferred(deps: false)
|
|
17
|
+
new(File.read("Cargo.toml").match(/^name = "(.*)"/)[1], deps: deps)
|
|
18
|
+
rescue
|
|
19
|
+
new(File.basename(Dir.pwd), deps: deps)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# Initializes a new Cargo::Metadata instance or infers the Cargo project's name.
|
|
23
|
+
#
|
|
24
|
+
# @param name [String] the name of the Cargo project
|
|
25
|
+
def new_or_inferred(name, deps: false)
|
|
26
|
+
new(name, deps: deps).load!
|
|
27
|
+
rescue CargoMetadataError
|
|
28
|
+
inferred
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
12
32
|
# Initializes a new Cargo::Metadata instance.
|
|
13
33
|
#
|
|
14
34
|
# @param name [String] the name of the Cargo project
|
|
@@ -92,12 +112,22 @@ module RbSys
|
|
|
92
112
|
end
|
|
93
113
|
|
|
94
114
|
# Returns the rb-sys version, if any.
|
|
115
|
+
#
|
|
116
|
+
# @return [String]
|
|
95
117
|
def rb_sys_version
|
|
96
118
|
pkg = packages.find { |p| p.fetch("name") == "rb-sys" }
|
|
97
119
|
return unless pkg
|
|
98
120
|
pkg["version"]
|
|
99
121
|
end
|
|
100
122
|
|
|
123
|
+
# Eagerly run `cargo metadata`, raising a RbSys::CargoCargoMetadataError` if it fails.
|
|
124
|
+
#
|
|
125
|
+
# @return [RbSys::Cargo::Metadata]
|
|
126
|
+
def load!
|
|
127
|
+
cargo_metadata
|
|
128
|
+
self
|
|
129
|
+
end
|
|
130
|
+
|
|
101
131
|
private
|
|
102
132
|
|
|
103
133
|
def package_metadata
|
data/lib/rb_sys/cargo_builder.rb
CHANGED
|
@@ -148,6 +148,10 @@ module RbSys
|
|
|
148
148
|
flags += ["-C", "link-arg=#{dl_flag}"] unless makefile_config("DLDFLAGS")&.include?(dl_flag)
|
|
149
149
|
end
|
|
150
150
|
|
|
151
|
+
if musl?
|
|
152
|
+
flags += ["-C", "target-feature=-crt-static"]
|
|
153
|
+
end
|
|
154
|
+
|
|
151
155
|
flags
|
|
152
156
|
end
|
|
153
157
|
|
|
@@ -337,6 +341,10 @@ module RbSys
|
|
|
337
341
|
ENV.key?("SOURCE_DATE_EPOCH") && ENV["RB_SYS_TEST"] != "1"
|
|
338
342
|
end
|
|
339
343
|
|
|
344
|
+
def musl?
|
|
345
|
+
RbConfig::CONFIG["target_os"] == "linux-musl" || RbConfig::CONFIG["CC"]&.include?("musl-gcc")
|
|
346
|
+
end
|
|
347
|
+
|
|
340
348
|
# Error raised when no cdylib artifact was created
|
|
341
349
|
class DylibNotFoundError < StandardError
|
|
342
350
|
def initialize(dir)
|
data/lib/rb_sys/extensiontask.rb
CHANGED
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.97
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ian Ker-Seymer
|
|
@@ -10,9 +10,9 @@ bindir: exe
|
|
|
10
10
|
cert_chain:
|
|
11
11
|
- |
|
|
12
12
|
-----BEGIN CERTIFICATE-----
|
|
13
|
-
|
|
13
|
+
MIIDODCCAiCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBCMRQwEgYDVQQDDAtpLmtl
|
|
14
14
|
cnNleW1lcjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYD
|
|
15
|
-
|
|
15
|
+
Y29tMB4XDTI0MDQxODA1MzY0N1oXDTI1MDQxODA1MzY0N1owQjEUMBIGA1UEAwwL
|
|
16
16
|
aS5rZXJzZXltZXIxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixk
|
|
17
17
|
ARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMJ2pG+er4cP
|
|
18
18
|
PasxsMIKL9/tmLL4gh80EMuF3SCS0qZoh+Oo8dkvRYxW8NXdwEIcp3cCNgE+5G+J
|
|
@@ -20,17 +20,16 @@ cert_chain:
|
|
|
20
20
|
7LtpzYVfDHfsl/qRWaEi4jq00PNCRSWjcva8teqswjBg8KlwGtyygpezPbVSWP8Y
|
|
21
21
|
vzWZmVF7fqRBXU78Ah0+pNOhslBXDTvI3xJdN4hQ3H7rLjpD/qxKWq/8o+Qvx6cX
|
|
22
22
|
dNZ3ugH/Pr3BAsqt4JFLXin9AK7PO9GDMH5JXJrUb+hAt2VNIZqpz9VlKA6BA0jN
|
|
23
|
-
eWGea+
|
|
24
|
-
BBYEFOkrF6hsocaIMOjR/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
I5rgRPbDr2rAFGXKoQ0+u6CLkRxqrVsITl/OPfZhBQI=
|
|
23
|
+
eWGea+yCZkECAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0O
|
|
24
|
+
BBYEFOkrF6hsocaIMOjR/K3JBzyXCLJPMA0GCSqGSIb3DQEBCwUAA4IBAQARHgco
|
|
25
|
+
yCxWUqN+HBGewmSB7T4oq6YS2FtU62K+GuWWCTqjl5byLKMXQW8HPDja9TC1My1m
|
|
26
|
+
2r0uDshtUvUjuB/Vfe9jVMTjnPBspHZYo0MRuMPc7owJaahjkqD3l7w9aa8Ci5aC
|
|
27
|
+
YU4Aj71Sc8s7YIxgHn/yIUdCe1yu6cC0+h+Ss9r/Yjr53NNXwjGQlDmH1eHcVQGZ
|
|
28
|
+
mEoVcZO1uWNtRPPsn1gfvKLPjRe5pclXQnGviS5DiH0Du+8QMxQGBJnYz2zSMW7G
|
|
29
|
+
Lvd35BNvZkhFzs9xfykhurpkT2TiP2F3ZFn9dwLXMFe41pwrtEYLIWhYi8mUG4Ek
|
|
30
|
+
6aR8M/tqIpChVV39
|
|
32
31
|
-----END CERTIFICATE-----
|
|
33
|
-
date: 2024-04-
|
|
32
|
+
date: 2024-04-20 00:00:00.000000000 Z
|
|
34
33
|
dependencies: []
|
|
35
34
|
description:
|
|
36
35
|
email:
|
|
@@ -75,7 +74,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
75
74
|
requirements:
|
|
76
75
|
- - ">="
|
|
77
76
|
- !ruby/object:Gem::Version
|
|
78
|
-
version: 2.
|
|
77
|
+
version: 2.5.0
|
|
79
78
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
80
79
|
requirements:
|
|
81
80
|
- - ">="
|
metadata.gz.sig
CHANGED
|
Binary file
|