bytebuffer 0.1.1 → 0.1.3
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
- data/.github/workflows/publish.yml +0 -57
- data/.github/workflows/test.yml +43 -0
- data/{ext/Cargo.lock → Cargo.lock} +7 -7
- data/Cargo.toml +3 -0
- data/Gemfile.lock +6 -1
- data/README.md +2 -0
- data/Rakefile +65 -26
- data/bytebuffer.gemspec +12 -4
- data/ext/{Cargo.toml → bytebuffer/Cargo.toml} +3 -1
- data/ext/bytebuffer/extconf.rb +9 -0
- data/lib/bytebuffer/patch/linux/bytebuffer-read_i8-read_i16-1721497558.patch +31 -0
- data/lib/bytebuffer/version.rb +1 -1
- data/lib/bytebuffer.rb +14 -4
- metadata +42 -10
- data/ext/Makefile +0 -57
- data/ext/extconf.rb +0 -1
- /data/ext/{src → bytebuffer/src}/lib.rs +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 84a49dc9a366a0926ea0677547554188adae538ddfba8ba42f74e68e621af3f0
|
4
|
+
data.tar.gz: 161a564f57ecb7da7ca3ef9eb8e169b92a1bd81b0ddc9abf7f0ac7e47e7c77f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 330bf79aaf86a4637321a581ff8574033094980575a8223876f9209c922ff049a82aea5e4ba983d32a454d8ab263f9a5db1273da244e0ae0cde3eaff239bc241
|
7
|
+
data.tar.gz: d2f423bc467494d1193ae7796ac3b40297ed1a880e7c0940539e034c02e1aec48cf9dc34aa1ae134185a3eb4c4283b9d829d5e5e8ef21c1465658e63ddf167bb
|
@@ -7,47 +7,8 @@ on:
|
|
7
7
|
types: [released]
|
8
8
|
|
9
9
|
jobs:
|
10
|
-
Build:
|
11
|
-
runs-on: ${{ matrix.os }}
|
12
|
-
strategy:
|
13
|
-
matrix:
|
14
|
-
os: [ubuntu-latest, windows-latest, macos-latest]
|
15
|
-
include:
|
16
|
-
- os: windows-latest
|
17
|
-
name: windows
|
18
|
-
path: "ext/libext.dll"
|
19
|
-
- os: ubuntu-latest
|
20
|
-
name: linux
|
21
|
-
path: "ext/libext.so"
|
22
|
-
- os: macos-latest
|
23
|
-
name: macos
|
24
|
-
path: "ext/libext.dylib"
|
25
|
-
steps:
|
26
|
-
- uses: actions/checkout@v4
|
27
|
-
|
28
|
-
- name: Setup Ruby
|
29
|
-
uses: ruby/setup-ruby@v1
|
30
|
-
with:
|
31
|
-
ruby-version: '3.3'
|
32
|
-
- run: bundle install
|
33
|
-
|
34
|
-
- name: Setup Rust
|
35
|
-
uses: hecrj/setup-rust-action@v2
|
36
|
-
with:
|
37
|
-
rust-version: stable
|
38
|
-
|
39
|
-
- name: Build extension
|
40
|
-
run: bundle exec rake gem:build
|
41
|
-
|
42
|
-
- name: Upload artifact
|
43
|
-
uses: actions/upload-artifact@v4
|
44
|
-
with:
|
45
|
-
name: extension-${{ matrix.name }}
|
46
|
-
path: ${{ matrix.path }}
|
47
|
-
|
48
10
|
Publish:
|
49
11
|
runs-on: ubuntu-latest
|
50
|
-
needs: [Build]
|
51
12
|
permissions:
|
52
13
|
id-token: write
|
53
14
|
contents: write
|
@@ -66,24 +27,6 @@ jobs:
|
|
66
27
|
with:
|
67
28
|
rust-version: stable
|
68
29
|
|
69
|
-
- name: Download build linux artifacts
|
70
|
-
uses: actions/download-artifact@v4
|
71
|
-
with:
|
72
|
-
name: extension-linux
|
73
|
-
path: ext/libext.so
|
74
|
-
|
75
|
-
- name: Download build windows artifacts
|
76
|
-
uses: actions/download-artifact@v4
|
77
|
-
with:
|
78
|
-
name: extension-windows
|
79
|
-
path: ext/libext.dll
|
80
|
-
|
81
|
-
- name: Download build macos artifacts
|
82
|
-
uses: actions/download-artifact@v4
|
83
|
-
with:
|
84
|
-
name: extension-macos
|
85
|
-
path: ext/libext.dylib
|
86
|
-
|
87
30
|
- name: Build package gem
|
88
31
|
run: bundle exec rake gem:package
|
89
32
|
|
@@ -0,0 +1,43 @@
|
|
1
|
+
---
|
2
|
+
name: Rspec and Cargo Test
|
3
|
+
|
4
|
+
on:
|
5
|
+
pull_request:
|
6
|
+
types: [opened, synchronize]
|
7
|
+
branches: [main]
|
8
|
+
push:
|
9
|
+
branches: [main]
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
BuildAndTest:
|
13
|
+
runs-on: ${{ matrix.os }}
|
14
|
+
strategy:
|
15
|
+
max-parallel: 3
|
16
|
+
matrix:
|
17
|
+
os: [ ubuntu-latest, macos-latest ]
|
18
|
+
steps:
|
19
|
+
- uses: actions/checkout@v4
|
20
|
+
with:
|
21
|
+
ref: ${{ github.ref }}
|
22
|
+
|
23
|
+
- name: Setup Ruby
|
24
|
+
uses: ruby/setup-ruby@v1
|
25
|
+
with:
|
26
|
+
ruby-version: '3.3'
|
27
|
+
- run: bundle install
|
28
|
+
|
29
|
+
- name: Setup Rust
|
30
|
+
uses: hecrj/setup-rust-action@v2
|
31
|
+
with:
|
32
|
+
rust-version: stable
|
33
|
+
|
34
|
+
- name: Build extension
|
35
|
+
run: |
|
36
|
+
bundle exec rake gem:compile
|
37
|
+
bundle exec rake gem:patch
|
38
|
+
|
39
|
+
- name: Run Rspec
|
40
|
+
run: bundle exec rake test:rspec
|
41
|
+
|
42
|
+
- name: Run Cargo test
|
43
|
+
run: bundle exec rake test:ext
|
@@ -2,6 +2,13 @@
|
|
2
2
|
# It is not intended for manual editing.
|
3
3
|
version = 3
|
4
4
|
|
5
|
+
[[package]]
|
6
|
+
name = "bytebuffer"
|
7
|
+
version = "0.1.0"
|
8
|
+
dependencies = [
|
9
|
+
"bytebuffer 2.2.0",
|
10
|
+
]
|
11
|
+
|
5
12
|
[[package]]
|
6
13
|
name = "bytebuffer"
|
7
14
|
version = "2.2.0"
|
@@ -16,10 +23,3 @@ name = "byteorder"
|
|
16
23
|
version = "1.5.0"
|
17
24
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
18
25
|
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
|
19
|
-
|
20
|
-
[[package]]
|
21
|
-
name = "ext"
|
22
|
-
version = "0.1.0"
|
23
|
-
dependencies = [
|
24
|
-
"bytebuffer",
|
25
|
-
]
|
data/Cargo.toml
ADDED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bytebuffer (0.1.
|
4
|
+
bytebuffer (0.1.3)
|
5
5
|
ffi (~> 1.17)
|
6
6
|
|
7
7
|
GEM
|
@@ -21,6 +21,9 @@ GEM
|
|
21
21
|
ffi (1.17.0-x86_64-linux-gnu)
|
22
22
|
ffi (1.17.0-x86_64-linux-musl)
|
23
23
|
rake (13.2.1)
|
24
|
+
rake-compiler (1.2.7)
|
25
|
+
rake
|
26
|
+
rb_sys (0.9.98)
|
24
27
|
rspec (3.13.0)
|
25
28
|
rspec-core (~> 3.13.0)
|
26
29
|
rspec-expectations (~> 3.13.0)
|
@@ -59,6 +62,8 @@ PLATFORMS
|
|
59
62
|
DEPENDENCIES
|
60
63
|
bytebuffer!
|
61
64
|
rake (~> 13.0)
|
65
|
+
rake-compiler (~> 1.2)
|
66
|
+
rb_sys (~> 0.9)
|
62
67
|
rspec (~> 3.12)
|
63
68
|
simplecov
|
64
69
|
webrick (~> 1.7)
|
data/README.md
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
[](https://badge.fury.io/rb/bytebuffer)
|
2
|
+
|
1
3
|
# ByteBuffer
|
2
4
|
The `ByteBuffer` Ruby gem provides a powerful and flexible interface for buffered IO data, wrapping the [bytebuffer](https://crates.io/crates/bytebuffer) crate using FFI.
|
3
5
|
|
data/Rakefile
CHANGED
@@ -3,43 +3,84 @@ require 'bundler/gem_tasks'
|
|
3
3
|
require 'ffi'
|
4
4
|
require 'rake'
|
5
5
|
require 'rake/testtask'
|
6
|
+
require 'rb_sys/extensiontask'
|
6
7
|
require 'rspec/core/rake_task'
|
7
8
|
require 'rubygems'
|
8
9
|
require 'rubygems/package_task'
|
9
10
|
|
11
|
+
GEM_SPEC = Gem::Specification.load('bytebuffer.gemspec')
|
12
|
+
|
10
13
|
namespace :gem do
|
11
|
-
desc 'Build the Gem extensions'
|
12
|
-
task :build do
|
13
|
-
raise "Install rustc along with Cargo before running this rake task." if !system('cargo --version') || !system('rustc --version')
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
when /linux/ then 'x86_64-unknown-linux-gnu'
|
19
|
-
when /mswin|mingw/ then 'x86_64-pc-windows-msvc'
|
20
|
-
else 'x86_64-unknown-linux-gnu'
|
21
|
-
end
|
15
|
+
desc 'Clean up the Gem build environment. Note: This command indiscriminately removes all .so, and .bundle files in subdirectories.'
|
16
|
+
task :clean do
|
17
|
+
FileUtils.rm_rf(%w(./tmp ./pkg ./target))
|
22
18
|
|
23
|
-
|
19
|
+
case FFI::Platform::OS
|
20
|
+
when 'linux' then FileUtils.rm_r(Dir['./**/*.so'])
|
21
|
+
when 'darwin' then FileUtils.rm_r(Dir['./**/*.bundle'])
|
22
|
+
else system("rm -r ./**/*.so")
|
23
|
+
end
|
24
|
+
end
|
24
25
|
|
25
|
-
|
26
|
+
desc 'Compile and install the native extension'
|
27
|
+
task compile: %i(clean) do
|
28
|
+
RbSys::ExtensionTask.new('bytebuffer', GEM_SPEC) do |ext|
|
29
|
+
ext.source_pattern = "*.{rs,toml,lock,rb}"
|
30
|
+
ext.ext_dir = "#{File.dirname(__FILE__)}/ext/bytebuffer"
|
31
|
+
ext.cross_platform = %w[
|
32
|
+
aarch64-linux
|
33
|
+
arm64-darwin
|
34
|
+
x86_64-darwin
|
35
|
+
x86_64-linux
|
36
|
+
x86_64-linux-musl
|
37
|
+
]
|
38
|
+
|
39
|
+
ext.cross_compile = true
|
40
|
+
ext.lib_dir = "lib"
|
41
|
+
end
|
26
42
|
|
27
|
-
|
43
|
+
Rake::Task["compile"].invoke
|
44
|
+
end
|
28
45
|
|
29
|
-
|
46
|
+
desc 'Apply platform patches'
|
47
|
+
task :patch do
|
48
|
+
working_dir = File.dirname(__FILE__)
|
49
|
+
target = case RUBY_PLATFORM
|
50
|
+
when /darwin/ then 'darwin'
|
51
|
+
when /linux/ then 'linux'
|
52
|
+
end
|
53
|
+
patch_dir = "#{working_dir}/lib/bytebuffer/patch/#{target}"
|
54
|
+
unless !File.directory?(patch_dir) || Dir.empty?(patch_dir)
|
55
|
+
puts "Applying platform patches for #{target}"
|
56
|
+
|
57
|
+
FileUtils.chdir(patch_dir) do |dir|
|
58
|
+
Dir["#{dir}/*.patch"].sort.each do |patch|
|
59
|
+
puts "Applying patch: #{patch}"
|
60
|
+
system("patch #{working_dir}/lib/bytebuffer.rb #{patch}")
|
61
|
+
end
|
62
|
+
end
|
30
63
|
end
|
31
64
|
end
|
32
65
|
|
33
|
-
desc '
|
34
|
-
task :
|
35
|
-
|
36
|
-
|
66
|
+
desc 'Revert platform patches'
|
67
|
+
task :revert do
|
68
|
+
working_dir = File.dirname(__FILE__)
|
69
|
+
target = case RUBY_PLATFORM
|
70
|
+
when /darwin/ then 'darwin'
|
71
|
+
when /linux/ then 'linux'
|
72
|
+
end
|
73
|
+
|
74
|
+
FileUtils.chdir("#{working_dir}/lib/bytebuffer/patch/#{target}") do |dir|
|
75
|
+
Dir["#{dir}/*.patch"].sort.each do |patch|
|
76
|
+
puts "Applying patch: #{patch}"
|
77
|
+
system("patch -R #{working_dir}/lib/bytebuffer.rb #{patch}")
|
78
|
+
end
|
79
|
+
end
|
37
80
|
end
|
38
81
|
|
39
82
|
desc 'Package the Gem package'
|
40
|
-
task :
|
41
|
-
load('bytebuffer.gemspec')
|
42
|
-
|
83
|
+
task package: %i(compile gem:patch) do
|
43
84
|
Gem::PackageTask.new(GEM_SPEC) do |pkg|
|
44
85
|
pkg.need_tar_bz2 = true
|
45
86
|
end
|
@@ -53,7 +94,7 @@ namespace :docs do
|
|
53
94
|
|
54
95
|
YARD::Rake::YardocTask.new do |t|
|
55
96
|
t.name = 'generate'
|
56
|
-
t.files =
|
97
|
+
t.files = %w(lib/**/*.rb)
|
57
98
|
end
|
58
99
|
|
59
100
|
task serve: %i[docs:generate] do
|
@@ -83,8 +124,6 @@ namespace :test do
|
|
83
124
|
task :ext do
|
84
125
|
raise "Install rustc along with Cargo before running this rake task." if !system('cargo --version') || !system('rustc --version')
|
85
126
|
|
86
|
-
|
87
|
-
system("cargo test")
|
88
|
-
end
|
127
|
+
system("cargo test")
|
89
128
|
end
|
90
|
-
end
|
129
|
+
end
|
data/bytebuffer.gemspec
CHANGED
@@ -1,23 +1,31 @@
|
|
1
1
|
require_relative 'lib/bytebuffer/version'
|
2
2
|
|
3
|
-
|
3
|
+
Gem::Specification.new do |spec|
|
4
4
|
spec.name = 'bytebuffer'
|
5
5
|
spec.version = ByteBuffer::VERSION
|
6
6
|
spec.summary = 'A gem wrapping the bytebuffer crate using FFI.'
|
7
7
|
spec.description = 'A gem that provides a ByteBuffer class based on the bytebuffer rust crate.'
|
8
|
+
spec.homepage = 'https://github.com/sickday/bytebuffer-rb'
|
8
9
|
spec.license = 'BSD-3-Clause'
|
9
10
|
spec.author = 'Patrick W.'
|
10
11
|
spec.email = 'Sickday@pm.me'
|
11
12
|
|
13
|
+
spec.metadata = {
|
14
|
+
"homepage_uri" => 'https://github.com/sickday/bytebuffer-rb',
|
15
|
+
"documentation_uri" => 'https://sickday.github.io/bytebuffer-rb/'
|
16
|
+
}
|
17
|
+
|
12
18
|
spec.required_ruby_version = '>= 3.1.0'
|
13
19
|
|
14
20
|
spec.add_runtime_dependency 'ffi', '~> 1.17'
|
15
21
|
|
16
22
|
spec.add_development_dependency 'rake', '~> 13.0'
|
23
|
+
spec.add_development_dependency 'rake-compiler', '~> 1.2'
|
24
|
+
spec.add_development_dependency 'rb_sys', '~> 0.9'
|
17
25
|
spec.add_development_dependency 'rspec', '~> 3.12'
|
18
26
|
|
19
|
-
spec.extensions =
|
20
|
-
spec.require_paths =
|
27
|
+
spec.extensions = %w(ext/bytebuffer/extconf.rb)
|
28
|
+
spec.require_paths = %w(lib)
|
21
29
|
|
22
|
-
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|
|
30
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|git)/}) }
|
23
31
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
--- lib/bytebuffer.rb.orig 2024-07-20 14:25:37
|
2
|
+
+++ lib/bytebuffer.rb 2024-07-20 14:26:17
|
3
|
+
@@ -178,11 +178,14 @@
|
4
|
+
|
5
|
+
# Read a single 8-bit unsigned integer from the {ByteBuffer}.
|
6
|
+
# @return [Integer] the read value.
|
7
|
+
- def read_u8; ByteBufferExtension.read_u8(@ptr); end
|
8
|
+
+ def read_u8; ByteBufferExtension.read_u8(@ptr) & 0xff; end
|
9
|
+
|
10
|
+
# Read a single 8-bit signed integer from the {ByteBuffer}.
|
11
|
+
# @return [Integer] the read value.
|
12
|
+
- def read_i8; ByteBufferExtension.read_i8(@ptr); end
|
13
|
+
+ def read_i8
|
14
|
+
+ v=ByteBufferExtension.read_i8(@ptr)
|
15
|
+
+ (v&(0xff/2))-(v&(0xff/2+1))
|
16
|
+
+ end
|
17
|
+
|
18
|
+
# Read a single 16-bit unsigned integer from the {ByteBuffer}.
|
19
|
+
# @return [Integer] the read value.
|
20
|
+
@@ -190,7 +193,10 @@
|
21
|
+
|
22
|
+
# Read a single 16-bit signed integer from the {ByteBuffer}.
|
23
|
+
# @return [Integer] the read value.
|
24
|
+
- def read_i16; ByteBufferExtension.read_i16(@ptr); end
|
25
|
+
+ def read_i16
|
26
|
+
+ v=ByteBufferExtension.read_i16(@ptr)
|
27
|
+
+ (v&(0xffff/2))-(v&(0xffff/2+1))
|
28
|
+
+ end
|
29
|
+
|
30
|
+
# Read a single 32-bit unsigned integer from the {ByteBuffer}.
|
31
|
+
# @return [Integer] the read value.
|
data/lib/bytebuffer/version.rb
CHANGED
data/lib/bytebuffer.rb
CHANGED
@@ -5,7 +5,11 @@ require_relative 'bytebuffer/version'
|
|
5
5
|
module ByteBufferExtension
|
6
6
|
extend FFI::Library
|
7
7
|
|
8
|
-
|
8
|
+
case FFI::Platform::OS
|
9
|
+
when 'linux' then ffi_lib ["#{File.dirname(__FILE__)}/bytebuffer.so"]
|
10
|
+
when 'darwin' then ffi_lib ["#{File.dirname(__FILE__)}/bytebuffer.bundle"]
|
11
|
+
else ffi_lib ["#{File.dirname(__FILE__)}/bytebuffer.so"]
|
12
|
+
end
|
9
13
|
|
10
14
|
attach_function(:new, :new, [], :pointer)
|
11
15
|
attach_function(:from_bytes, :from_bytes, [:pointer, :int], :pointer)
|
@@ -173,11 +177,14 @@ class ByteBuffer
|
|
173
177
|
|
174
178
|
# Read a single 8-bit unsigned integer from the {ByteBuffer}.
|
175
179
|
# @return [Integer] the read value.
|
176
|
-
def read_u8; ByteBufferExtension.read_u8(@ptr); end
|
180
|
+
def read_u8; ByteBufferExtension.read_u8(@ptr) & 0xff; end
|
177
181
|
|
178
182
|
# Read a single 8-bit signed integer from the {ByteBuffer}.
|
179
183
|
# @return [Integer] the read value.
|
180
|
-
def read_i8
|
184
|
+
def read_i8
|
185
|
+
v=ByteBufferExtension.read_i8(@ptr)
|
186
|
+
(v&(0xff/2))-(v&(0xff/2+1))
|
187
|
+
end
|
181
188
|
|
182
189
|
# Read a single 16-bit unsigned integer from the {ByteBuffer}.
|
183
190
|
# @return [Integer] the read value.
|
@@ -185,7 +192,10 @@ class ByteBuffer
|
|
185
192
|
|
186
193
|
# Read a single 16-bit signed integer from the {ByteBuffer}.
|
187
194
|
# @return [Integer] the read value.
|
188
|
-
def read_i16
|
195
|
+
def read_i16
|
196
|
+
v=ByteBufferExtension.read_i16(@ptr)
|
197
|
+
(v&(0xffff/2))-(v&(0xffff/2+1))
|
198
|
+
end
|
189
199
|
|
190
200
|
# Read a single 32-bit unsigned integer from the {ByteBuffer}.
|
191
201
|
# @return [Integer] the read value.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bytebuffer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Patrick W.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-07-
|
11
|
+
date: 2024-07-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|
@@ -38,6 +38,34 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '13.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake-compiler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.2'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.2'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rb_sys
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.9'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.9'
|
41
69
|
- !ruby/object:Gem::Dependency
|
42
70
|
name: rspec
|
43
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -56,28 +84,32 @@ description: A gem that provides a ByteBuffer class based on the bytebuffer rust
|
|
56
84
|
email: Sickday@pm.me
|
57
85
|
executables: []
|
58
86
|
extensions:
|
59
|
-
- ext/extconf.rb
|
87
|
+
- ext/bytebuffer/extconf.rb
|
60
88
|
extra_rdoc_files: []
|
61
89
|
files:
|
62
90
|
- ".github/workflows/pages.yml"
|
63
91
|
- ".github/workflows/publish.yml"
|
92
|
+
- ".github/workflows/test.yml"
|
93
|
+
- Cargo.lock
|
94
|
+
- Cargo.toml
|
64
95
|
- Gemfile
|
65
96
|
- Gemfile.lock
|
66
97
|
- LICENSE
|
67
98
|
- README.md
|
68
99
|
- Rakefile
|
69
100
|
- bytebuffer.gemspec
|
70
|
-
- ext/Cargo.
|
71
|
-
- ext/
|
72
|
-
- ext/
|
73
|
-
- ext/extconf.rb
|
74
|
-
- ext/src/lib.rs
|
101
|
+
- ext/bytebuffer/Cargo.toml
|
102
|
+
- ext/bytebuffer/extconf.rb
|
103
|
+
- ext/bytebuffer/src/lib.rs
|
75
104
|
- lib/bytebuffer.rb
|
105
|
+
- lib/bytebuffer/patch/linux/bytebuffer-read_i8-read_i16-1721497558.patch
|
76
106
|
- lib/bytebuffer/version.rb
|
77
|
-
homepage:
|
107
|
+
homepage: https://github.com/sickday/bytebuffer-rb
|
78
108
|
licenses:
|
79
109
|
- BSD-3-Clause
|
80
|
-
metadata:
|
110
|
+
metadata:
|
111
|
+
homepage_uri: https://github.com/sickday/bytebuffer-rb
|
112
|
+
documentation_uri: https://sickday.github.io/bytebuffer-rb/
|
81
113
|
post_install_message:
|
82
114
|
rdoc_options: []
|
83
115
|
require_paths:
|
data/ext/Makefile
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
ifeq '$(findstring ;,$(PATH))' ';'
|
2
|
-
OS := Windows
|
3
|
-
else
|
4
|
-
OS := $(shell uname 2>/dev/null || echo Unknown)
|
5
|
-
OS := $(patsubst CYGWIN%,Cygwin,$(OS))
|
6
|
-
OS := $(patsubst MSYS%,MSYS,$(OS))
|
7
|
-
OS := $(patsubst MINGW%,MSYS,$(OS))
|
8
|
-
endif
|
9
|
-
|
10
|
-
|
11
|
-
ifeq ($(OS),Windows)
|
12
|
-
SUFFIX := dll
|
13
|
-
TARGET := x86_64-pc-windows-msvc
|
14
|
-
endif
|
15
|
-
ifeq ($(OS),Darwin)
|
16
|
-
SUFFIX := dylib
|
17
|
-
TARGET := aarch64-apple-darwin
|
18
|
-
endif
|
19
|
-
ifeq ($(OS),Linux)
|
20
|
-
SUFFIX := so
|
21
|
-
TARGET := x86_64-unknown-linux-gnu
|
22
|
-
endif
|
23
|
-
ifeq ($(OS),GNU)
|
24
|
-
SUFFIX := so
|
25
|
-
TARGET := x86_64-unknown-linux-gnu
|
26
|
-
endif
|
27
|
-
|
28
|
-
|
29
|
-
all:
|
30
|
-
mkdir build
|
31
|
-
echo "Outputting to $PWD /build/$(TARGET)"
|
32
|
-
cargo build --release --target=$(TARGET) --target-dir=./build
|
33
|
-
|
34
|
-
clean:
|
35
|
-
rm -rf target
|
36
|
-
|
37
|
-
install:
|
38
|
-
cp target/$(TARGET)/release/libext.$(SUFFIX) ./
|
39
|
-
|
40
|
-
test:
|
41
|
-
cargo test
|
42
|
-
|
43
|
-
build-macos-amd64:
|
44
|
-
cargo build --release --target=x86_64-apple-darwin
|
45
|
-
cp target/x86_64-apple-darwin/release/libext.dylib ./
|
46
|
-
|
47
|
-
build-macos-aarch:
|
48
|
-
cargo build --release --target=aarch64-apple-darwin
|
49
|
-
cp target/aarch64-apple-darwin/release/libext.dylib ./
|
50
|
-
|
51
|
-
build-linux:
|
52
|
-
cargo build --release --target=x86_64-unknown-linux-gnu
|
53
|
-
cp target/x86_64-unknown-linux-gnu/release/libext.so ./
|
54
|
-
|
55
|
-
build-windows:
|
56
|
-
cargo build --release --target=x86_64-pc-windows-msvc
|
57
|
-
cp target/x86_64-pc-windows-msvc/release/libext.dll ./
|
data/ext/extconf.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
raise 'Install Rust with Cargo from https://www.rust-lang.org/ before installing this gem.' if !system('cargo --version') || !system('rustc --version')
|
File without changes
|