deflate-ruby 1.0.0 → 1.0.2

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.
Files changed (138) hide show
  1. checksums.yaml +4 -4
  2. data/CLAUDE.md +95 -92
  3. data/LICENSE.txt +6 -6
  4. data/README.md +87 -65
  5. data/Rakefile +23 -0
  6. data/ext/deflate_ruby/{libdeflate/lib/x86/adler32_impl.h → adler32_impl.h} +8 -7
  7. data/ext/deflate_ruby/common_defs.h +748 -0
  8. data/ext/deflate_ruby/{libdeflate/lib/x86/cpu_features.c → cpu_features.c} +46 -16
  9. data/ext/deflate_ruby/{libdeflate/lib/x86/cpu_features.h → cpu_features.h} +2 -1
  10. data/ext/deflate_ruby/{libdeflate/lib/x86/crc32_impl.h → crc32_impl.h} +22 -23
  11. data/ext/deflate_ruby/{libdeflate/lib/crc32_multipliers.h → crc32_multipliers.h} +2 -4
  12. data/ext/deflate_ruby/{libdeflate/lib/x86/crc32_pclmul_template.h → crc32_pclmul_template.h} +23 -94
  13. data/ext/deflate_ruby/{libdeflate/lib/crc32_tables.h → crc32_tables.h} +1 -1
  14. data/ext/deflate_ruby/{libdeflate/lib/deflate_compress.c → deflate_compress.c} +59 -60
  15. data/ext/deflate_ruby/deflate_ruby.c +392 -218
  16. data/ext/deflate_ruby/deflate_ruby.h +6 -0
  17. data/ext/deflate_ruby/extconf.rb +35 -25
  18. data/ext/deflate_ruby/libdeflate/adler32.c +162 -0
  19. data/ext/deflate_ruby/libdeflate/{lib/arm → arm}/adler32_impl.h +14 -7
  20. data/ext/deflate_ruby/libdeflate/{lib/arm → arm}/crc32_impl.h +25 -31
  21. data/ext/deflate_ruby/libdeflate/arm/crc32_pmull_helpers.h +156 -0
  22. data/ext/deflate_ruby/libdeflate/arm/crc32_pmull_wide.h +226 -0
  23. data/ext/deflate_ruby/libdeflate/bt_matchfinder.h +342 -0
  24. data/ext/deflate_ruby/libdeflate/common_defs.h +2 -1
  25. data/ext/deflate_ruby/libdeflate/cpu_features_common.h +93 -0
  26. data/ext/deflate_ruby/libdeflate/crc32.c +262 -0
  27. data/ext/deflate_ruby/libdeflate/crc32_multipliers.h +375 -0
  28. data/ext/deflate_ruby/libdeflate/crc32_tables.h +587 -0
  29. data/ext/deflate_ruby/libdeflate/decompress_template.h +777 -0
  30. data/ext/deflate_ruby/libdeflate/deflate_compress.c +4128 -0
  31. data/ext/deflate_ruby/libdeflate/deflate_compress.h +15 -0
  32. data/ext/deflate_ruby/libdeflate/deflate_constants.h +56 -0
  33. data/ext/deflate_ruby/libdeflate/deflate_decompress.c +1208 -0
  34. data/ext/deflate_ruby/libdeflate/gzip_compress.c +90 -0
  35. data/ext/deflate_ruby/libdeflate/gzip_constants.h +45 -0
  36. data/ext/deflate_ruby/libdeflate/gzip_decompress.c +144 -0
  37. data/ext/deflate_ruby/libdeflate/hc_matchfinder.h +401 -0
  38. data/ext/deflate_ruby/libdeflate/ht_matchfinder.h +234 -0
  39. data/ext/deflate_ruby/libdeflate/lib_common.h +106 -0
  40. data/ext/deflate_ruby/libdeflate/libdeflate.h +2 -2
  41. data/ext/deflate_ruby/libdeflate/{lib/matchfinder_common.h → matchfinder_common.h} +3 -3
  42. data/ext/deflate_ruby/libdeflate/x86/adler32_impl.h +135 -0
  43. data/ext/deflate_ruby/libdeflate/x86/adler32_template.h +518 -0
  44. data/ext/deflate_ruby/libdeflate/x86/cpu_features.c +213 -0
  45. data/ext/deflate_ruby/libdeflate/x86/cpu_features.h +170 -0
  46. data/ext/deflate_ruby/libdeflate/x86/crc32_impl.h +159 -0
  47. data/ext/deflate_ruby/libdeflate/x86/crc32_pclmul_template.h +424 -0
  48. data/ext/deflate_ruby/libdeflate/x86/decompress_impl.h +57 -0
  49. data/ext/deflate_ruby/libdeflate.h +411 -0
  50. data/ext/deflate_ruby/matchfinder_common.h +224 -0
  51. data/ext/deflate_ruby/matchfinder_impl.h +122 -0
  52. data/ext/deflate_ruby/utils.c +141 -0
  53. data/ext/deflate_ruby/zlib_compress.c +82 -0
  54. data/ext/deflate_ruby/zlib_constants.h +21 -0
  55. data/ext/deflate_ruby/zlib_decompress.c +104 -0
  56. data/lib/deflate_ruby/version.rb +1 -1
  57. data/lib/deflate_ruby.rb +1 -63
  58. data/sig/deflate_ruby.rbs +4 -0
  59. data/test/test_deflate_ruby.rb +220 -0
  60. data/test/test_helper.rb +6 -0
  61. metadata +89 -144
  62. data/ext/deflate_ruby/libdeflate/CMakeLists.txt +0 -270
  63. data/ext/deflate_ruby/libdeflate/NEWS.md +0 -494
  64. data/ext/deflate_ruby/libdeflate/README.md +0 -228
  65. data/ext/deflate_ruby/libdeflate/libdeflate-config.cmake.in +0 -3
  66. data/ext/deflate_ruby/libdeflate/libdeflate.pc.in +0 -18
  67. data/ext/deflate_ruby/libdeflate/programs/CMakeLists.txt +0 -105
  68. data/ext/deflate_ruby/libdeflate/programs/benchmark.c +0 -696
  69. data/ext/deflate_ruby/libdeflate/programs/checksum.c +0 -218
  70. data/ext/deflate_ruby/libdeflate/programs/config.h.in +0 -19
  71. data/ext/deflate_ruby/libdeflate/programs/gzip.c +0 -688
  72. data/ext/deflate_ruby/libdeflate/programs/prog_util.c +0 -521
  73. data/ext/deflate_ruby/libdeflate/programs/prog_util.h +0 -225
  74. data/ext/deflate_ruby/libdeflate/programs/test_checksums.c +0 -200
  75. data/ext/deflate_ruby/libdeflate/programs/test_custom_malloc.c +0 -155
  76. data/ext/deflate_ruby/libdeflate/programs/test_incomplete_codes.c +0 -385
  77. data/ext/deflate_ruby/libdeflate/programs/test_invalid_streams.c +0 -130
  78. data/ext/deflate_ruby/libdeflate/programs/test_litrunlen_overflow.c +0 -72
  79. data/ext/deflate_ruby/libdeflate/programs/test_overread.c +0 -95
  80. data/ext/deflate_ruby/libdeflate/programs/test_slow_decompression.c +0 -472
  81. data/ext/deflate_ruby/libdeflate/programs/test_trailing_bytes.c +0 -151
  82. data/ext/deflate_ruby/libdeflate/programs/test_util.c +0 -237
  83. data/ext/deflate_ruby/libdeflate/programs/test_util.h +0 -61
  84. data/ext/deflate_ruby/libdeflate/programs/tgetopt.c +0 -118
  85. data/ext/deflate_ruby/libdeflate/scripts/android_build.sh +0 -118
  86. data/ext/deflate_ruby/libdeflate/scripts/android_tests.sh +0 -69
  87. data/ext/deflate_ruby/libdeflate/scripts/benchmark.sh +0 -10
  88. data/ext/deflate_ruby/libdeflate/scripts/checksum.sh +0 -10
  89. data/ext/deflate_ruby/libdeflate/scripts/checksum_benchmarks.sh +0 -253
  90. data/ext/deflate_ruby/libdeflate/scripts/cmake-helper.sh +0 -17
  91. data/ext/deflate_ruby/libdeflate/scripts/deflate_benchmarks.sh +0 -119
  92. data/ext/deflate_ruby/libdeflate/scripts/exec_tests.sh +0 -38
  93. data/ext/deflate_ruby/libdeflate/scripts/gen-release-archives.sh +0 -37
  94. data/ext/deflate_ruby/libdeflate/scripts/gen_bitreverse_tab.py +0 -19
  95. data/ext/deflate_ruby/libdeflate/scripts/gen_crc32_multipliers.c +0 -199
  96. data/ext/deflate_ruby/libdeflate/scripts/gen_crc32_tables.c +0 -105
  97. data/ext/deflate_ruby/libdeflate/scripts/gen_default_litlen_costs.py +0 -44
  98. data/ext/deflate_ruby/libdeflate/scripts/gen_offset_slot_map.py +0 -29
  99. data/ext/deflate_ruby/libdeflate/scripts/gzip_tests.sh +0 -523
  100. data/ext/deflate_ruby/libdeflate/scripts/libFuzzer/deflate_compress/corpus/0 +0 -0
  101. data/ext/deflate_ruby/libdeflate/scripts/libFuzzer/deflate_compress/fuzz.c +0 -95
  102. data/ext/deflate_ruby/libdeflate/scripts/libFuzzer/deflate_decompress/corpus/0 +0 -3
  103. data/ext/deflate_ruby/libdeflate/scripts/libFuzzer/deflate_decompress/fuzz.c +0 -62
  104. data/ext/deflate_ruby/libdeflate/scripts/libFuzzer/fuzz.sh +0 -108
  105. data/ext/deflate_ruby/libdeflate/scripts/libFuzzer/gzip_decompress/corpus/0 +0 -0
  106. data/ext/deflate_ruby/libdeflate/scripts/libFuzzer/gzip_decompress/fuzz.c +0 -19
  107. data/ext/deflate_ruby/libdeflate/scripts/libFuzzer/zlib_decompress/corpus/0 +0 -3
  108. data/ext/deflate_ruby/libdeflate/scripts/libFuzzer/zlib_decompress/fuzz.c +0 -19
  109. data/ext/deflate_ruby/libdeflate/scripts/run_tests.sh +0 -416
  110. data/ext/deflate_ruby/libdeflate/scripts/toolchain-i686-w64-mingw32.cmake +0 -8
  111. data/ext/deflate_ruby/libdeflate/scripts/toolchain-x86_64-w64-mingw32.cmake +0 -8
  112. /data/ext/deflate_ruby/{libdeflate/lib/adler32.c → adler32.c} +0 -0
  113. /data/ext/deflate_ruby/{libdeflate/lib/x86/adler32_template.h → adler32_template.h} +0 -0
  114. /data/ext/deflate_ruby/{libdeflate/lib/bt_matchfinder.h → bt_matchfinder.h} +0 -0
  115. /data/ext/deflate_ruby/{libdeflate/lib/cpu_features_common.h → cpu_features_common.h} +0 -0
  116. /data/ext/deflate_ruby/{libdeflate/lib/crc32.c → crc32.c} +0 -0
  117. /data/ext/deflate_ruby/{libdeflate/lib/arm/crc32_pmull_helpers.h → crc32_pmull_helpers.h} +0 -0
  118. /data/ext/deflate_ruby/{libdeflate/lib/arm/crc32_pmull_wide.h → crc32_pmull_wide.h} +0 -0
  119. /data/ext/deflate_ruby/{libdeflate/lib/x86/decompress_impl.h → decompress_impl.h} +0 -0
  120. /data/ext/deflate_ruby/{libdeflate/lib/decompress_template.h → decompress_template.h} +0 -0
  121. /data/ext/deflate_ruby/{libdeflate/lib/deflate_compress.h → deflate_compress.h} +0 -0
  122. /data/ext/deflate_ruby/{libdeflate/lib/deflate_constants.h → deflate_constants.h} +0 -0
  123. /data/ext/deflate_ruby/{libdeflate/lib/deflate_decompress.c → deflate_decompress.c} +0 -0
  124. /data/ext/deflate_ruby/{libdeflate/lib/gzip_compress.c → gzip_compress.c} +0 -0
  125. /data/ext/deflate_ruby/{libdeflate/lib/gzip_constants.h → gzip_constants.h} +0 -0
  126. /data/ext/deflate_ruby/{libdeflate/lib/gzip_decompress.c → gzip_decompress.c} +0 -0
  127. /data/ext/deflate_ruby/{libdeflate/lib/hc_matchfinder.h → hc_matchfinder.h} +0 -0
  128. /data/ext/deflate_ruby/{libdeflate/lib/ht_matchfinder.h → ht_matchfinder.h} +0 -0
  129. /data/ext/deflate_ruby/{libdeflate/lib/lib_common.h → lib_common.h} +0 -0
  130. /data/ext/deflate_ruby/libdeflate/{lib/arm → arm}/cpu_features.c +0 -0
  131. /data/ext/deflate_ruby/libdeflate/{lib/arm → arm}/cpu_features.h +0 -0
  132. /data/ext/deflate_ruby/libdeflate/{lib/arm → arm}/matchfinder_impl.h +0 -0
  133. /data/ext/deflate_ruby/libdeflate/{lib/riscv → riscv}/matchfinder_impl.h +0 -0
  134. /data/ext/deflate_ruby/libdeflate/{lib/utils.c → utils.c} +0 -0
  135. /data/ext/deflate_ruby/libdeflate/{lib/x86 → x86}/matchfinder_impl.h +0 -0
  136. /data/ext/deflate_ruby/libdeflate/{lib/zlib_compress.c → zlib_compress.c} +0 -0
  137. /data/ext/deflate_ruby/libdeflate/{lib/zlib_constants.h → zlib_constants.h} +0 -0
  138. /data/ext/deflate_ruby/libdeflate/{lib/zlib_decompress.c → zlib_decompress.c} +0 -0
@@ -0,0 +1,220 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "test_helper"
4
+
5
+ class TestDeflateRuby < Minitest::Test
6
+ def test_that_it_has_a_version_number
7
+ refute_nil ::DeflateRuby::VERSION
8
+ end
9
+
10
+ def test_compressor_creation
11
+ compressor = DeflateRuby::Compressor.new
12
+ refute_nil compressor
13
+ compressor.close
14
+ end
15
+
16
+ def test_compressor_with_level
17
+ compressor = DeflateRuby::Compressor.new(level: 6)
18
+ refute_nil compressor
19
+ compressor.close
20
+ end
21
+
22
+ def test_decompressor_creation
23
+ decompressor = DeflateRuby::Decompressor.new
24
+ refute_nil decompressor
25
+ decompressor.close
26
+ end
27
+
28
+ def test_deflate_compress_and_decompress
29
+ data = "Hello, World! " * 100
30
+
31
+ compressor = DeflateRuby::Compressor.new
32
+ compressed = compressor.deflate_compress(data)
33
+ compressor.close
34
+
35
+ assert compressed.bytesize < data.bytesize
36
+
37
+ decompressor = DeflateRuby::Decompressor.new
38
+ decompressed = decompressor.deflate_decompress(compressed, data.bytesize)
39
+ decompressor.close
40
+
41
+ assert_equal data, decompressed
42
+ end
43
+
44
+ def test_zlib_compress_and_decompress
45
+ data = "Testing zlib format" * 50
46
+
47
+ compressor = DeflateRuby::Compressor.new
48
+ compressed = compressor.zlib_compress(data)
49
+ compressor.close
50
+
51
+ assert compressed.bytesize < data.bytesize
52
+
53
+ decompressor = DeflateRuby::Decompressor.new
54
+ decompressed = decompressor.zlib_decompress(compressed, data.bytesize)
55
+ decompressor.close
56
+
57
+ assert_equal data, decompressed
58
+ end
59
+
60
+ def test_gzip_compress_and_decompress
61
+ data = "Testing gzip format" * 50
62
+
63
+ compressor = DeflateRuby::Compressor.new
64
+ compressed = compressor.gzip_compress(data)
65
+ compressor.close
66
+
67
+ assert compressed.bytesize < data.bytesize
68
+
69
+ decompressor = DeflateRuby::Decompressor.new
70
+ decompressed = decompressor.gzip_decompress(compressed, data.bytesize)
71
+ decompressor.close
72
+
73
+ assert_equal data, decompressed
74
+ end
75
+
76
+ def test_deflate_compress_bound
77
+ data = "Test data" * 10
78
+ compressor = DeflateRuby::Compressor.new
79
+ bound = compressor.deflate_compress_bound(data.bytesize)
80
+ compressor.close
81
+
82
+ assert bound > 0
83
+ assert bound >= data.bytesize
84
+ end
85
+
86
+ def test_zlib_compress_bound
87
+ data = "Test data" * 10
88
+ compressor = DeflateRuby::Compressor.new
89
+ bound = compressor.zlib_compress_bound(data.bytesize)
90
+ compressor.close
91
+
92
+ assert bound > 0
93
+ assert bound >= data.bytesize
94
+ end
95
+
96
+ def test_gzip_compress_bound
97
+ data = "Test data" * 10
98
+ compressor = DeflateRuby::Compressor.new
99
+ bound = compressor.gzip_compress_bound(data.bytesize)
100
+ compressor.close
101
+
102
+ assert bound > 0
103
+ assert bound >= data.bytesize
104
+ end
105
+
106
+ def test_crc32
107
+ data = "Hello, World!"
108
+ crc = DeflateRuby.crc32(data)
109
+ assert crc.is_a?(Integer)
110
+ assert crc > 0
111
+ end
112
+
113
+ def test_crc32_with_initial_value
114
+ data = "Hello, World!"
115
+ crc1 = DeflateRuby.crc32("Hello, ")
116
+ crc2 = DeflateRuby.crc32("World!", crc1)
117
+ crc_full = DeflateRuby.crc32(data)
118
+ assert_equal crc_full, crc2
119
+ end
120
+
121
+ def test_adler32
122
+ data = "Hello, World!"
123
+ adler = DeflateRuby.adler32(data)
124
+ assert adler.is_a?(Integer)
125
+ assert adler > 0
126
+ end
127
+
128
+ def test_adler32_with_initial_value
129
+ data = "Hello, World!"
130
+ adler1 = DeflateRuby.adler32("Hello, ")
131
+ adler2 = DeflateRuby.adler32("World!", adler1)
132
+ adler_full = DeflateRuby.adler32(data)
133
+ assert_equal adler_full, adler2
134
+ end
135
+
136
+ def test_compression_levels
137
+ data = "Test compression levels" * 100
138
+
139
+ [0, 1, 6, 9, 12].each do |level|
140
+ compressor = DeflateRuby::Compressor.new(level: level)
141
+ compressed = compressor.deflate_compress(data)
142
+ compressor.close
143
+
144
+ assert compressed.bytesize > 0
145
+
146
+ decompressor = DeflateRuby::Decompressor.new
147
+ decompressed = decompressor.deflate_decompress(compressed, data.bytesize)
148
+ decompressor.close
149
+
150
+ assert_equal data, decompressed
151
+ end
152
+ end
153
+
154
+ def test_empty_data
155
+ data = ""
156
+
157
+ compressor = DeflateRuby::Compressor.new
158
+ compressed = compressor.deflate_compress(data)
159
+ compressor.close
160
+
161
+ decompressor = DeflateRuby::Decompressor.new
162
+ decompressed = decompressor.deflate_decompress(compressed, 0)
163
+ decompressor.close
164
+
165
+ assert_equal data, decompressed
166
+ end
167
+
168
+ def test_large_data
169
+ data = "A" * 1_000_000
170
+
171
+ compressor = DeflateRuby::Compressor.new
172
+ compressed = compressor.deflate_compress(data)
173
+ compressor.close
174
+
175
+ # Should compress very well for repeated data
176
+ assert compressed.bytesize < data.bytesize / 10
177
+
178
+ decompressor = DeflateRuby::Decompressor.new
179
+ decompressed = decompressor.deflate_decompress(compressed, data.bytesize)
180
+ decompressor.close
181
+
182
+ assert_equal data, decompressed
183
+ end
184
+
185
+ def test_binary_data
186
+ # Test with random binary data
187
+ data = Array.new(1000) { rand(256) }.pack("C*")
188
+
189
+ compressor = DeflateRuby::Compressor.new
190
+ compressed = compressor.zlib_compress(data)
191
+ compressor.close
192
+
193
+ decompressor = DeflateRuby::Decompressor.new
194
+ decompressed = decompressor.zlib_decompress(compressed, data.bytesize)
195
+ decompressor.close
196
+
197
+ assert_equal data, decompressed
198
+ end
199
+
200
+ def test_decompress_invalid_data
201
+ decompressor = DeflateRuby::Decompressor.new
202
+
203
+ assert_raises(DeflateRuby::DecompressionError) do
204
+ decompressor.deflate_decompress("not compressed data", 100)
205
+ end
206
+
207
+ decompressor.close
208
+ end
209
+
210
+ def test_auto_close_compressor
211
+ compressor = DeflateRuby::Compressor.new
212
+ compressor.deflate_compress("test")
213
+ # Should auto-close when garbage collected
214
+ end
215
+
216
+ def test_auto_close_decompressor
217
+ decompressor = DeflateRuby::Decompressor.new
218
+ # Should auto-close when garbage collected
219
+ end
220
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.unshift File.expand_path("../lib", __dir__)
4
+ require "deflate_ruby"
5
+
6
+ require "minitest/autorun"
metadata CHANGED
@@ -1,60 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deflate-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Greninger
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-11-02 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: minitest
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '5.0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '5.0'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '13.0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
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
- description: Ruby bindings for libdeflate, providing fast DEFLATE, zlib, and gzip
56
- compression/decompression. Significantly faster than Ruby's built-in Zlib for whole-buffer
57
- operations. Includes libdeflate v1.21 source code with platform-specific optimizations.
11
+ date: 2025-11-03 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: DeflateRuby provides Ruby bindings for libdeflate, a heavily optimized
14
+ library for DEFLATE, gzip, and zlib compression and decompression. Significantly
15
+ faster than Ruby's built-in Zlib module.
58
16
  email:
59
17
  - jgreninger@hotmail.com
60
18
  executables: []
@@ -65,110 +23,97 @@ files:
65
23
  - CLAUDE.md
66
24
  - LICENSE.txt
67
25
  - README.md
26
+ - Rakefile
27
+ - ext/deflate_ruby/adler32.c
28
+ - ext/deflate_ruby/adler32_impl.h
29
+ - ext/deflate_ruby/adler32_template.h
30
+ - ext/deflate_ruby/bt_matchfinder.h
31
+ - ext/deflate_ruby/common_defs.h
32
+ - ext/deflate_ruby/cpu_features.c
33
+ - ext/deflate_ruby/cpu_features.h
34
+ - ext/deflate_ruby/cpu_features_common.h
35
+ - ext/deflate_ruby/crc32.c
36
+ - ext/deflate_ruby/crc32_impl.h
37
+ - ext/deflate_ruby/crc32_multipliers.h
38
+ - ext/deflate_ruby/crc32_pclmul_template.h
39
+ - ext/deflate_ruby/crc32_pmull_helpers.h
40
+ - ext/deflate_ruby/crc32_pmull_wide.h
41
+ - ext/deflate_ruby/crc32_tables.h
42
+ - ext/deflate_ruby/decompress_impl.h
43
+ - ext/deflate_ruby/decompress_template.h
44
+ - ext/deflate_ruby/deflate_compress.c
45
+ - ext/deflate_ruby/deflate_compress.h
46
+ - ext/deflate_ruby/deflate_constants.h
47
+ - ext/deflate_ruby/deflate_decompress.c
68
48
  - ext/deflate_ruby/deflate_ruby.c
49
+ - ext/deflate_ruby/deflate_ruby.h
69
50
  - ext/deflate_ruby/extconf.rb
70
- - ext/deflate_ruby/libdeflate/CMakeLists.txt
51
+ - ext/deflate_ruby/gzip_compress.c
52
+ - ext/deflate_ruby/gzip_constants.h
53
+ - ext/deflate_ruby/gzip_decompress.c
54
+ - ext/deflate_ruby/hc_matchfinder.h
55
+ - ext/deflate_ruby/ht_matchfinder.h
56
+ - ext/deflate_ruby/lib_common.h
57
+ - ext/deflate_ruby/libdeflate.h
71
58
  - ext/deflate_ruby/libdeflate/COPYING
72
- - ext/deflate_ruby/libdeflate/NEWS.md
73
- - ext/deflate_ruby/libdeflate/README.md
59
+ - ext/deflate_ruby/libdeflate/adler32.c
60
+ - ext/deflate_ruby/libdeflate/arm/adler32_impl.h
61
+ - ext/deflate_ruby/libdeflate/arm/cpu_features.c
62
+ - ext/deflate_ruby/libdeflate/arm/cpu_features.h
63
+ - ext/deflate_ruby/libdeflate/arm/crc32_impl.h
64
+ - ext/deflate_ruby/libdeflate/arm/crc32_pmull_helpers.h
65
+ - ext/deflate_ruby/libdeflate/arm/crc32_pmull_wide.h
66
+ - ext/deflate_ruby/libdeflate/arm/matchfinder_impl.h
67
+ - ext/deflate_ruby/libdeflate/bt_matchfinder.h
74
68
  - ext/deflate_ruby/libdeflate/common_defs.h
75
- - ext/deflate_ruby/libdeflate/lib/adler32.c
76
- - ext/deflate_ruby/libdeflate/lib/arm/adler32_impl.h
77
- - ext/deflate_ruby/libdeflate/lib/arm/cpu_features.c
78
- - ext/deflate_ruby/libdeflate/lib/arm/cpu_features.h
79
- - ext/deflate_ruby/libdeflate/lib/arm/crc32_impl.h
80
- - ext/deflate_ruby/libdeflate/lib/arm/crc32_pmull_helpers.h
81
- - ext/deflate_ruby/libdeflate/lib/arm/crc32_pmull_wide.h
82
- - ext/deflate_ruby/libdeflate/lib/arm/matchfinder_impl.h
83
- - ext/deflate_ruby/libdeflate/lib/bt_matchfinder.h
84
- - ext/deflate_ruby/libdeflate/lib/cpu_features_common.h
85
- - ext/deflate_ruby/libdeflate/lib/crc32.c
86
- - ext/deflate_ruby/libdeflate/lib/crc32_multipliers.h
87
- - ext/deflate_ruby/libdeflate/lib/crc32_tables.h
88
- - ext/deflate_ruby/libdeflate/lib/decompress_template.h
89
- - ext/deflate_ruby/libdeflate/lib/deflate_compress.c
90
- - ext/deflate_ruby/libdeflate/lib/deflate_compress.h
91
- - ext/deflate_ruby/libdeflate/lib/deflate_constants.h
92
- - ext/deflate_ruby/libdeflate/lib/deflate_decompress.c
93
- - ext/deflate_ruby/libdeflate/lib/gzip_compress.c
94
- - ext/deflate_ruby/libdeflate/lib/gzip_constants.h
95
- - ext/deflate_ruby/libdeflate/lib/gzip_decompress.c
96
- - ext/deflate_ruby/libdeflate/lib/hc_matchfinder.h
97
- - ext/deflate_ruby/libdeflate/lib/ht_matchfinder.h
98
- - ext/deflate_ruby/libdeflate/lib/lib_common.h
99
- - ext/deflate_ruby/libdeflate/lib/matchfinder_common.h
100
- - ext/deflate_ruby/libdeflate/lib/riscv/matchfinder_impl.h
101
- - ext/deflate_ruby/libdeflate/lib/utils.c
102
- - ext/deflate_ruby/libdeflate/lib/x86/adler32_impl.h
103
- - ext/deflate_ruby/libdeflate/lib/x86/adler32_template.h
104
- - ext/deflate_ruby/libdeflate/lib/x86/cpu_features.c
105
- - ext/deflate_ruby/libdeflate/lib/x86/cpu_features.h
106
- - ext/deflate_ruby/libdeflate/lib/x86/crc32_impl.h
107
- - ext/deflate_ruby/libdeflate/lib/x86/crc32_pclmul_template.h
108
- - ext/deflate_ruby/libdeflate/lib/x86/decompress_impl.h
109
- - ext/deflate_ruby/libdeflate/lib/x86/matchfinder_impl.h
110
- - ext/deflate_ruby/libdeflate/lib/zlib_compress.c
111
- - ext/deflate_ruby/libdeflate/lib/zlib_constants.h
112
- - ext/deflate_ruby/libdeflate/lib/zlib_decompress.c
113
- - ext/deflate_ruby/libdeflate/libdeflate-config.cmake.in
69
+ - ext/deflate_ruby/libdeflate/cpu_features_common.h
70
+ - ext/deflate_ruby/libdeflate/crc32.c
71
+ - ext/deflate_ruby/libdeflate/crc32_multipliers.h
72
+ - ext/deflate_ruby/libdeflate/crc32_tables.h
73
+ - ext/deflate_ruby/libdeflate/decompress_template.h
74
+ - ext/deflate_ruby/libdeflate/deflate_compress.c
75
+ - ext/deflate_ruby/libdeflate/deflate_compress.h
76
+ - ext/deflate_ruby/libdeflate/deflate_constants.h
77
+ - ext/deflate_ruby/libdeflate/deflate_decompress.c
78
+ - ext/deflate_ruby/libdeflate/gzip_compress.c
79
+ - ext/deflate_ruby/libdeflate/gzip_constants.h
80
+ - ext/deflate_ruby/libdeflate/gzip_decompress.c
81
+ - ext/deflate_ruby/libdeflate/hc_matchfinder.h
82
+ - ext/deflate_ruby/libdeflate/ht_matchfinder.h
83
+ - ext/deflate_ruby/libdeflate/lib_common.h
114
84
  - ext/deflate_ruby/libdeflate/libdeflate.h
115
- - ext/deflate_ruby/libdeflate/libdeflate.pc.in
116
- - ext/deflate_ruby/libdeflate/programs/CMakeLists.txt
117
- - ext/deflate_ruby/libdeflate/programs/benchmark.c
118
- - ext/deflate_ruby/libdeflate/programs/checksum.c
119
- - ext/deflate_ruby/libdeflate/programs/config.h.in
120
- - ext/deflate_ruby/libdeflate/programs/gzip.c
121
- - ext/deflate_ruby/libdeflate/programs/prog_util.c
122
- - ext/deflate_ruby/libdeflate/programs/prog_util.h
123
- - ext/deflate_ruby/libdeflate/programs/test_checksums.c
124
- - ext/deflate_ruby/libdeflate/programs/test_custom_malloc.c
125
- - ext/deflate_ruby/libdeflate/programs/test_incomplete_codes.c
126
- - ext/deflate_ruby/libdeflate/programs/test_invalid_streams.c
127
- - ext/deflate_ruby/libdeflate/programs/test_litrunlen_overflow.c
128
- - ext/deflate_ruby/libdeflate/programs/test_overread.c
129
- - ext/deflate_ruby/libdeflate/programs/test_slow_decompression.c
130
- - ext/deflate_ruby/libdeflate/programs/test_trailing_bytes.c
131
- - ext/deflate_ruby/libdeflate/programs/test_util.c
132
- - ext/deflate_ruby/libdeflate/programs/test_util.h
133
- - ext/deflate_ruby/libdeflate/programs/tgetopt.c
134
- - ext/deflate_ruby/libdeflate/scripts/android_build.sh
135
- - ext/deflate_ruby/libdeflate/scripts/android_tests.sh
136
- - ext/deflate_ruby/libdeflate/scripts/benchmark.sh
137
- - ext/deflate_ruby/libdeflate/scripts/checksum.sh
138
- - ext/deflate_ruby/libdeflate/scripts/checksum_benchmarks.sh
139
- - ext/deflate_ruby/libdeflate/scripts/cmake-helper.sh
140
- - ext/deflate_ruby/libdeflate/scripts/deflate_benchmarks.sh
141
- - ext/deflate_ruby/libdeflate/scripts/exec_tests.sh
142
- - ext/deflate_ruby/libdeflate/scripts/gen-release-archives.sh
143
- - ext/deflate_ruby/libdeflate/scripts/gen_bitreverse_tab.py
144
- - ext/deflate_ruby/libdeflate/scripts/gen_crc32_multipliers.c
145
- - ext/deflate_ruby/libdeflate/scripts/gen_crc32_tables.c
146
- - ext/deflate_ruby/libdeflate/scripts/gen_default_litlen_costs.py
147
- - ext/deflate_ruby/libdeflate/scripts/gen_offset_slot_map.py
148
- - ext/deflate_ruby/libdeflate/scripts/gzip_tests.sh
149
- - ext/deflate_ruby/libdeflate/scripts/libFuzzer/deflate_compress/corpus/0
150
- - ext/deflate_ruby/libdeflate/scripts/libFuzzer/deflate_compress/fuzz.c
151
- - ext/deflate_ruby/libdeflate/scripts/libFuzzer/deflate_decompress/corpus/0
152
- - ext/deflate_ruby/libdeflate/scripts/libFuzzer/deflate_decompress/fuzz.c
153
- - ext/deflate_ruby/libdeflate/scripts/libFuzzer/fuzz.sh
154
- - ext/deflate_ruby/libdeflate/scripts/libFuzzer/gzip_decompress/corpus/0
155
- - ext/deflate_ruby/libdeflate/scripts/libFuzzer/gzip_decompress/fuzz.c
156
- - ext/deflate_ruby/libdeflate/scripts/libFuzzer/zlib_decompress/corpus/0
157
- - ext/deflate_ruby/libdeflate/scripts/libFuzzer/zlib_decompress/fuzz.c
158
- - ext/deflate_ruby/libdeflate/scripts/run_tests.sh
159
- - ext/deflate_ruby/libdeflate/scripts/toolchain-i686-w64-mingw32.cmake
160
- - ext/deflate_ruby/libdeflate/scripts/toolchain-x86_64-w64-mingw32.cmake
85
+ - ext/deflate_ruby/libdeflate/matchfinder_common.h
86
+ - ext/deflate_ruby/libdeflate/riscv/matchfinder_impl.h
87
+ - ext/deflate_ruby/libdeflate/utils.c
88
+ - ext/deflate_ruby/libdeflate/x86/adler32_impl.h
89
+ - ext/deflate_ruby/libdeflate/x86/adler32_template.h
90
+ - ext/deflate_ruby/libdeflate/x86/cpu_features.c
91
+ - ext/deflate_ruby/libdeflate/x86/cpu_features.h
92
+ - ext/deflate_ruby/libdeflate/x86/crc32_impl.h
93
+ - ext/deflate_ruby/libdeflate/x86/crc32_pclmul_template.h
94
+ - ext/deflate_ruby/libdeflate/x86/decompress_impl.h
95
+ - ext/deflate_ruby/libdeflate/x86/matchfinder_impl.h
96
+ - ext/deflate_ruby/libdeflate/zlib_compress.c
97
+ - ext/deflate_ruby/libdeflate/zlib_constants.h
98
+ - ext/deflate_ruby/libdeflate/zlib_decompress.c
99
+ - ext/deflate_ruby/matchfinder_common.h
100
+ - ext/deflate_ruby/matchfinder_impl.h
101
+ - ext/deflate_ruby/utils.c
102
+ - ext/deflate_ruby/zlib_compress.c
103
+ - ext/deflate_ruby/zlib_constants.h
104
+ - ext/deflate_ruby/zlib_decompress.c
161
105
  - lib/deflate_ruby.rb
162
106
  - lib/deflate_ruby/version.rb
163
- homepage: https://github.com/deflate-ruby/deflate-ruby
107
+ - sig/deflate_ruby.rbs
108
+ - test/test_deflate_ruby.rb
109
+ - test/test_helper.rb
110
+ homepage: https://github.com/jgreninger/deflate-ruby
164
111
  licenses:
165
112
  - MIT
166
113
  metadata:
167
- homepage_uri: https://github.com/deflate-ruby/deflate-ruby
168
- source_code_uri: https://github.com/deflate-ruby/deflate-ruby
169
- bug_tracker_uri: https://github.com/deflate-ruby/deflate-ruby/issues
170
- changelog_uri: https://github.com/deflate-ruby/deflate-ruby/blob/master/README.md
171
- documentation_uri: https://github.com/deflate-ruby/deflate-ruby
114
+ allowed_push_host: https://rubygems.org
115
+ homepage_uri: https://github.com/jgreninger/deflate-ruby
116
+ source_code_uri: https://github.com/jgreninger/deflate_ruby
172
117
  post_install_message:
173
118
  rdoc_options: []
174
119
  require_paths:
@@ -177,7 +122,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
177
122
  requirements:
178
123
  - - ">="
179
124
  - !ruby/object:Gem::Version
180
- version: 2.6.0
125
+ version: 3.2.0
181
126
  required_rubygems_version: !ruby/object:Gem::Requirement
182
127
  requirements:
183
128
  - - ">="
@@ -187,5 +132,5 @@ requirements: []
187
132
  rubygems_version: 3.4.20
188
133
  signing_key:
189
134
  specification_version: 4
190
- summary: Fast compression and decompression using libdeflate
135
+ summary: Ruby bindings for libdeflate - fast DEFLATE, gzip, and zlib compression
191
136
  test_files: []