rb_sys 0.9.111 → 0.9.113
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 +2 -2
- data/README.md +16 -75
- data/certs/ianks.pem +19 -18
- data/lib/rb_sys/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +21 -20
- 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: d38c8890bcfddab029916ad225ae92fbfd4256d0d964c5ad4f71fa0fd002bcf2
|
4
|
+
data.tar.gz: e52cb382e750b35bdeb6703080c33e1ee3f5c0a26610d8a6e908c4c51baca350
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 846053087feba170e22967fff9a7b4f976b8c7f86f7ac04f8f0f8ebc5f478c594d9da32b62c75813113752d662ed2ee05b893ccdd4ab31e43c796e9bf9ca4008
|
7
|
+
data.tar.gz: 0ca4a3b78ca7e1b2c181f3c28dafc47abc8e5164296e65ef2193fa16a45e316c90ce165330645bd0baaea3ba3a32fbae12f9b2618f91ea8ca81dc5b00efbc091
|
checksums.yaml.gz.sig
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
|
2
|
-
";į���J�б�|��.���h0��v���+���O�]��6�)�;��UY�!���<�IGX�$��Z�����Kc�/�K��ߌ�d�.ū�z](https://www.rubydoc.info/gems/rb_sys/frames)
|
5
5
|
[](https://join.slack.com/t/oxidize-rb/shared_invite/zt-16zv5tqte-Vi7WfzxCesdo2TqF_RYBCw)
|
6
6
|
|
7
|
-
The `rb_sys` gem
|
8
|
-
|
7
|
+
The `rb_sys` gem makes it easy to build native Ruby extensions in Rust. It interoperates with existing Ruby native
|
8
|
+
extension toolchains (i.e. `rake-compiler`) to make testing, building, and cross-compilation of gems easy.
|
9
9
|
|
10
|
-
##
|
10
|
+
## Documentation
|
11
11
|
|
12
|
-
|
13
|
-
|
12
|
+
For comprehensive documentation, please refer to the [Ruby on Rust Book](https://oxidize-rb.github.io/rb-sys/), which
|
13
|
+
includes:
|
14
|
+
|
15
|
+
- [API Reference for rb_sys Gem Configuration](https://oxidize-rb.github.io/rb-sys/api-reference/rb-sys-gem-config.html)
|
16
|
+
- [The Build Process](https://oxidize-rb.github.io/rb-sys/build-process.html)
|
17
|
+
- [Cross-Platform Development](https://oxidize-rb.github.io/rb-sys/cross-platform.html)
|
18
|
+
|
19
|
+
## Basic Usage
|
14
20
|
|
15
21
|
```ruby
|
16
22
|
# Rakefile
|
17
|
-
|
18
23
|
require "rb_sys/extensiontask"
|
19
24
|
|
20
25
|
GEMSPEC = Gem::Specification.load("my_gem.gemspec")
|
21
26
|
|
22
27
|
RbSys::ExtensionTask.new("my-crate-name", GEMSPEC) do |ext|
|
23
28
|
ext.lib_dir = "lib/my_gem"
|
24
|
-
|
25
|
-
# If you want to use `rb-sys-dock` for cross-compilation:
|
26
|
-
ext.cross_compile = true
|
29
|
+
ext.cross_compile = true # For rb-sys-dock cross-compilation
|
27
30
|
end
|
28
31
|
```
|
29
32
|
|
30
|
-
## `create_rust_makefile`
|
31
|
-
|
32
|
-
This gem provides a simple helper to build a Ruby compatible Makefile for you Rust extension. For a full example, see
|
33
|
-
the [examples](./../examples) directory.
|
34
|
-
|
35
33
|
```ruby
|
36
|
-
# ext/
|
37
|
-
|
38
|
-
# We need to require mkmf *first* this since `rake-compiler` injects code here for cross compilation
|
34
|
+
# ext/my_gem/extconf.rb
|
39
35
|
require "mkmf"
|
40
36
|
require "rb_sys/mkmf"
|
41
37
|
|
42
|
-
create_rust_makefile("
|
43
|
-
# Create debug builds in dev. Make sure that release gems are compiled with
|
44
|
-
# `RB_SYS_CARGO_PROFILE=release` (optional)
|
45
|
-
r.profile = ENV.fetch("RB_SYS_CARGO_PROFILE", :dev).to_sym
|
46
|
-
|
47
|
-
# Can be overridden with `RB_SYS_CARGO_FEATURES` env var (optional)
|
48
|
-
r.features = ["test-feature"]
|
49
|
-
|
50
|
-
# You can add whatever env vars you want to the env hash (optional)
|
51
|
-
r.env = {"FOO" => "BAR"}
|
52
|
-
|
53
|
-
# If your Cargo.toml is in a different directory, you can specify it here (optional)
|
54
|
-
r.ext_dir = "."
|
55
|
-
|
56
|
-
# Extra flags to pass to the $RUSTFLAGS environment variable (optional)
|
57
|
-
r.extra_rustflags = ["--cfg=some_nested_config_var_for_crate"]
|
58
|
-
|
59
|
-
# Force a rust toolchain to be installed via rustup (optional)
|
60
|
-
# You can also set the env var `RB_SYS_FORCE_INSTALL_RUST_TOOLCHAIN=true`
|
61
|
-
r.force_install_rust_toolchain = "stable"
|
62
|
-
|
63
|
-
# Clean up the target/ dir after `gem install` to reduce bloat (optional)
|
64
|
-
r.clean_after_install = false # default: true if invoked by rubygems
|
65
|
-
|
66
|
-
# Auto-install Rust toolchain if not present on "gem install" (optional)
|
67
|
-
r.auto_install_rust_toolchain = false # default: true if invoked by rubygems
|
68
|
-
end
|
38
|
+
create_rust_makefile("my_gem")
|
69
39
|
```
|
70
40
|
|
71
|
-
|
72
|
-
|
73
|
-
- When using `rake-compiler` to build your gem, you can use the `RB_SYS_CARGO_PROFILE` environment variable to set the
|
74
|
-
Cargo profile (i.e. `release` or `dev`).
|
75
|
-
|
76
|
-
- You can pass Cargo arguments to `rake-compiler` like so: `rake compile -- --verbose`
|
77
|
-
|
78
|
-
- It's possible to force an installation of a Rust toolchain by setting the `RB_SYS_FORCE_INSTALL_RUST_TOOLCHAIN`
|
79
|
-
environment variable. This will install [rustup](https://rustup.rs/) and [cargo](https://crates.io/) in the build
|
80
|
-
directory, so the end user does not have to have Rust pre-installed. Ideally, this should be a last resort, as it's
|
81
|
-
better to already have the toolchain installed on your system.
|
82
|
-
|
83
|
-
## Troubleshooting
|
84
|
-
|
85
|
-
### Libclang issues
|
86
|
-
|
87
|
-
If you see an error like this:
|
88
|
-
|
89
|
-
```
|
90
|
-
thread 'main' panicked at 'Unable to find libclang: "couldn't find any valid shared libraries matching: \['libclang.so', 'libclang-*.so', 'libclang.so.*', 'libclang-*.so.*'\], set the `LIBCLANG_PATH` environment variable to a path where one of these files can be found (invalid: \[\])"'
|
91
|
-
```
|
92
|
-
|
93
|
-
This means that bindgen is having issues finding a usable version of libclang. An easy way to fix this is to install the
|
94
|
-
[`libclang` gem](https://github.com/oxidize-rb/libclang-rb), which will install a pre-built version of libclang for you.
|
95
|
-
`rb_sys` will automatically detect this gem and use it.
|
96
|
-
|
97
|
-
```ruby
|
98
|
-
# Gemfile
|
99
|
-
|
100
|
-
gem "libclang", "~> 14.0.6"
|
101
|
-
```
|
41
|
+
For full configuration options and more advanced usage, see the
|
42
|
+
[rb_sys Gem Configuration](https://oxidize-rb.github.io/rb-sys/api-reference/rb-sys-gem-config.html) reference.
|
data/certs/ianks.pem
CHANGED
@@ -1,20 +1,21 @@
|
|
1
1
|
-----BEGIN CERTIFICATE-----
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
2
|
+
MIIDZTCCAk2gAwIBAgIUBA3+R8/tEu+w03IWit3NPqhAv5EwDQYJKoZIhvcNAQEL
|
3
|
+
BQAwQjEUMBIGA1UEAwwLaS5rZXJzZXltZXIxFTATBgoJkiaJk/IsZAEZFgVnbWFp
|
4
|
+
bDETMBEGCgmSJomT8ixkARkWA2NvbTAeFw0yNTA1MDcxOTA3NDNaFw0zNTA1MDUx
|
5
|
+
OTA3NDNaMEIxFDASBgNVBAMMC2kua2Vyc2V5bWVyMRUwEwYKCZImiZPyLGQBGRYF
|
6
|
+
Z21haWwxEzARBgoJkiaJk/IsZAEZFgNjb20wggEiMA0GCSqGSIb3DQEBAQUAA4IB
|
7
|
+
DwAwggEKAoIBAQDCdqRvnq+HDz2rMbDCCi/f7Ziy+IIfNBDLhd0gktKmaIfjqPHZ
|
8
|
+
L0WMVvDV3cBCHKd3AjYBPuRviUwjDlRfEteZ9WdT+8cV4l8WvwSKHyim7WrVUZ4J
|
9
|
+
teLkf+qY3ZLy16pa1nUue2zcL+y7ac2FXwx37Jf6kVmhIuI6tNDzQkUlo3L2vLXq
|
10
|
+
rMIwYPCpcBrcsoKXsz21Ulj/GL81mZlRe36kQV1O/AIdPqTTobJQVw07yN8SXTeI
|
11
|
+
UNx+6y46Q/6sSlqv/KPkL8enF3TWd7oB/z69wQLKreCRS14p/QCuzzvRgzB+SVya
|
12
|
+
1G/oQLdlTSGaqc/VZSgOgQNIzXlhnmvsgmZBAgMBAAGjUzBRMB0GA1UdDgQWBBTp
|
13
|
+
KxeobKHGiDDo0fytyQc8lwiyTzAfBgNVHSMEGDAWgBTpKxeobKHGiDDo0fytyQc8
|
14
|
+
lwiyTzAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAhKxsiI5Xz
|
15
|
+
H3isxJy4pD1FZ6rrU0gg/kFkWlsYgrw/Cqt53Nj6ValhpbA/VoftE80xEHfv4qR0
|
16
|
+
eiBkYVyULXZbojF9qRokVTXDY6lWzHdesbSt314IBBJR55aTw4IPHGikhMNeZ3M1
|
17
|
+
ffINONWhsL+ZwMaiLedThkRkPNzCvvRSNZiQXsdl/xV55JWqmmgfONCafx6/L8cI
|
18
|
+
EZEISe0Z9uvVtO6G+mfX6nfGGVjJg6B53wSXaipDGxOh0vn1YiQzPxY+8ouXmfj6
|
19
|
+
C/k2s4tlFwg7XEtz7wjSnVeiNP9EOK50WgVr4muWx1rhvOFhpxypONCCANJUILGk
|
20
|
+
1JUZhXwcbcst
|
20
21
|
-----END CERTIFICATE-----
|
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.113
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ian Ker-Seymer
|
@@ -9,26 +9,27 @@ bindir: exe
|
|
9
9
|
cert_chain:
|
10
10
|
- |
|
11
11
|
-----BEGIN CERTIFICATE-----
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
12
|
+
MIIDZTCCAk2gAwIBAgIUBA3+R8/tEu+w03IWit3NPqhAv5EwDQYJKoZIhvcNAQEL
|
13
|
+
BQAwQjEUMBIGA1UEAwwLaS5rZXJzZXltZXIxFTATBgoJkiaJk/IsZAEZFgVnbWFp
|
14
|
+
bDETMBEGCgmSJomT8ixkARkWA2NvbTAeFw0yNTA1MDcxOTA3NDNaFw0zNTA1MDUx
|
15
|
+
OTA3NDNaMEIxFDASBgNVBAMMC2kua2Vyc2V5bWVyMRUwEwYKCZImiZPyLGQBGRYF
|
16
|
+
Z21haWwxEzARBgoJkiaJk/IsZAEZFgNjb20wggEiMA0GCSqGSIb3DQEBAQUAA4IB
|
17
|
+
DwAwggEKAoIBAQDCdqRvnq+HDz2rMbDCCi/f7Ziy+IIfNBDLhd0gktKmaIfjqPHZ
|
18
|
+
L0WMVvDV3cBCHKd3AjYBPuRviUwjDlRfEteZ9WdT+8cV4l8WvwSKHyim7WrVUZ4J
|
19
|
+
teLkf+qY3ZLy16pa1nUue2zcL+y7ac2FXwx37Jf6kVmhIuI6tNDzQkUlo3L2vLXq
|
20
|
+
rMIwYPCpcBrcsoKXsz21Ulj/GL81mZlRe36kQV1O/AIdPqTTobJQVw07yN8SXTeI
|
21
|
+
UNx+6y46Q/6sSlqv/KPkL8enF3TWd7oB/z69wQLKreCRS14p/QCuzzvRgzB+SVya
|
22
|
+
1G/oQLdlTSGaqc/VZSgOgQNIzXlhnmvsgmZBAgMBAAGjUzBRMB0GA1UdDgQWBBTp
|
23
|
+
KxeobKHGiDDo0fytyQc8lwiyTzAfBgNVHSMEGDAWgBTpKxeobKHGiDDo0fytyQc8
|
24
|
+
lwiyTzAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAhKxsiI5Xz
|
25
|
+
H3isxJy4pD1FZ6rrU0gg/kFkWlsYgrw/Cqt53Nj6ValhpbA/VoftE80xEHfv4qR0
|
26
|
+
eiBkYVyULXZbojF9qRokVTXDY6lWzHdesbSt314IBBJR55aTw4IPHGikhMNeZ3M1
|
27
|
+
ffINONWhsL+ZwMaiLedThkRkPNzCvvRSNZiQXsdl/xV55JWqmmgfONCafx6/L8cI
|
28
|
+
EZEISe0Z9uvVtO6G+mfX6nfGGVjJg6B53wSXaipDGxOh0vn1YiQzPxY+8ouXmfj6
|
29
|
+
C/k2s4tlFwg7XEtz7wjSnVeiNP9EOK50WgVr4muWx1rhvOFhpxypONCCANJUILGk
|
30
|
+
1JUZhXwcbcst
|
30
31
|
-----END CERTIFICATE-----
|
31
|
-
date: 2025-
|
32
|
+
date: 2025-05-07 00:00:00.000000000 Z
|
32
33
|
dependencies:
|
33
34
|
- !ruby/object:Gem::Dependency
|
34
35
|
name: rake-compiler-dock
|
metadata.gz.sig
CHANGED
Binary file
|