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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8036fa98fd3454f15d3a043974360f56bfd055aa2b94698414e8a7e6dc85e51c
4
- data.tar.gz: 8c4382d2ae0b8bbf204d6b086fb1995fd0ec8e1e34596b147321663b09cec368
3
+ metadata.gz: d38c8890bcfddab029916ad225ae92fbfd4256d0d964c5ad4f71fa0fd002bcf2
4
+ data.tar.gz: e52cb382e750b35bdeb6703080c33e1ee3f5c0a26610d8a6e908c4c51baca350
5
5
  SHA512:
6
- metadata.gz: c8dfaa75585b1adce9425bc5fa9455575ca99e233fc76345988fefb081c878fea411be031cce5459ba4756b492113e403385597e87add499bfc64bce75e43bcb
7
- data.tar.gz: 7eda34ad782ef81834c1ad0f0c62125759f63d42562f33994a91bb401ba7e0a9f62ed7b64a894092d88da3e4812d5daa195547299a21a55dfe317a335caec03c
6
+ metadata.gz: 846053087feba170e22967fff9a7b4f976b8c7f86f7ac04f8f0f8ebc5f478c594d9da32b62c75813113752d662ed2ee05b893ccdd4ab31e43c796e9bf9ca4008
7
+ data.tar.gz: 0ca4a3b78ca7e1b2c181f3c28dafc47abc8e5164296e65ef2193fa16a45e316c90ce165330645bd0baaea3ba3a32fbae12f9b2618f91ea8ca81dc5b00efbc091
checksums.yaml.gz.sig CHANGED
@@ -1,2 +1,2 @@
1
- XZ�$xk��q��`z"|e{���(�
2
- ";į���J�б�|��.���h0��v���+���O�]��6�)�;��UY�!���<�IGX�$��Z�����Kc�/�K��ߌ�d�.ū�z![;7��㨡<H�w ..FAz|���J�� �滁zG�|��,K}Zj��(o<��fd���[!�Sl�d|o��� �c��ع~��a�o�[z8r�05Ϻ G��쭁���NY0�X�Z8���}XA
1
+ ��.�=�;�<z2����a��Th}�/�������wCU�v ��9��[-�k�hlps&�*�E^�ŭ��Q��@��&<�
3
2
  ������ Hغ�o$���מ��S�b�>G�?m���IѺ��sِÂqA&�������E�"�8p*�I��̋|,��X ��[{Dk��D�Cl.���Y�}h�vyH<Cf�$sj��#�쩯b���s��qU�V2�sz���=���(��ucd�b1
3
+ E�w0op��\�ks
data/README.md CHANGED
@@ -4,98 +4,39 @@
4
4
  [![Documentation](https://img.shields.io/badge/docs-rdoc.info-blue.svg)](https://www.rubydoc.info/gems/rb_sys/frames)
5
5
  [![Join the discussion](https://img.shields.io/badge/slack-chat-blue.svg)](https://join.slack.com/t/oxidize-rb/shared_invite/zt-16zv5tqte-Vi7WfzxCesdo2TqF_RYBCw)
6
6
 
7
- The `rb_sys` gem is a Ruby gem makes it easy to build native Ruby extensions in Rust. It interops with the existing Ruby
8
- native extension toolchains (i.e. `rake-compiler`) to make testing, building, and cross compilation of gems easy.
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
- ## `RbSys::ExtensionTask`
10
+ ## Documentation
11
11
 
12
- This gem provides a `RbSys::ExtensionTask` class that can be used to build a Ruby extension in Rust. It's a thin wrapper
13
- around `Rake::ExtensionTask` that provides sane defaults for building Rust extensions.
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/rust_reverse/extconf.rb
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("rust_reverse") do |r|
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
- ## Tips and Tricks
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
- MIIDODCCAiCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBCMRQwEgYDVQQDDAtpLmtl
3
- cnNleW1lcjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYD
4
- Y29tMB4XDTI0MDQxODA1MzY0N1oXDTI1MDQxODA1MzY0N1owQjEUMBIGA1UEAwwL
5
- aS5rZXJzZXltZXIxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixk
6
- ARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMJ2pG+er4cP
7
- PasxsMIKL9/tmLL4gh80EMuF3SCS0qZoh+Oo8dkvRYxW8NXdwEIcp3cCNgE+5G+J
8
- TCMOVF8S15n1Z1P7xxXiXxa/BIofKKbtatVRngm14uR/6pjdkvLXqlrWdS57bNwv
9
- 7LtpzYVfDHfsl/qRWaEi4jq00PNCRSWjcva8teqswjBg8KlwGtyygpezPbVSWP8Y
10
- vzWZmVF7fqRBXU78Ah0+pNOhslBXDTvI3xJdN4hQ3H7rLjpD/qxKWq/8o+Qvx6cX
11
- dNZ3ugH/Pr3BAsqt4JFLXin9AK7PO9GDMH5JXJrUb+hAt2VNIZqpz9VlKA6BA0jN
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
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-----
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RbSys
4
- VERSION = "0.9.111"
4
+ VERSION = "0.9.113"
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.111
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
- MIIDODCCAiCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBCMRQwEgYDVQQDDAtpLmtl
13
- cnNleW1lcjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYD
14
- Y29tMB4XDTI0MDQxODA1MzY0N1oXDTI1MDQxODA1MzY0N1owQjEUMBIGA1UEAwwL
15
- aS5rZXJzZXltZXIxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixk
16
- ARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMJ2pG+er4cP
17
- PasxsMIKL9/tmLL4gh80EMuF3SCS0qZoh+Oo8dkvRYxW8NXdwEIcp3cCNgE+5G+J
18
- TCMOVF8S15n1Z1P7xxXiXxa/BIofKKbtatVRngm14uR/6pjdkvLXqlrWdS57bNwv
19
- 7LtpzYVfDHfsl/qRWaEi4jq00PNCRSWjcva8teqswjBg8KlwGtyygpezPbVSWP8Y
20
- vzWZmVF7fqRBXU78Ah0+pNOhslBXDTvI3xJdN4hQ3H7rLjpD/qxKWq/8o+Qvx6cX
21
- dNZ3ugH/Pr3BAsqt4JFLXin9AK7PO9GDMH5JXJrUb+hAt2VNIZqpz9VlKA6BA0jN
22
- eWGea+yCZkECAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0O
23
- BBYEFOkrF6hsocaIMOjR/K3JBzyXCLJPMA0GCSqGSIb3DQEBCwUAA4IBAQARHgco
24
- yCxWUqN+HBGewmSB7T4oq6YS2FtU62K+GuWWCTqjl5byLKMXQW8HPDja9TC1My1m
25
- 2r0uDshtUvUjuB/Vfe9jVMTjnPBspHZYo0MRuMPc7owJaahjkqD3l7w9aa8Ci5aC
26
- YU4Aj71Sc8s7YIxgHn/yIUdCe1yu6cC0+h+Ss9r/Yjr53NNXwjGQlDmH1eHcVQGZ
27
- mEoVcZO1uWNtRPPsn1gfvKLPjRe5pclXQnGviS5DiH0Du+8QMxQGBJnYz2zSMW7G
28
- Lvd35BNvZkhFzs9xfykhurpkT2TiP2F3ZFn9dwLXMFe41pwrtEYLIWhYi8mUG4Ek
29
- 6aR8M/tqIpChVV39
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-02-28 00:00:00.000000000 Z
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