extzstd 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +28 -14
  3. data/contrib/zstd/CHANGELOG +114 -56
  4. data/contrib/zstd/CONTRIBUTING.md +14 -0
  5. data/contrib/zstd/Makefile +37 -31
  6. data/contrib/zstd/README.md +6 -0
  7. data/contrib/zstd/appveyor.yml +4 -1
  8. data/contrib/zstd/lib/Makefile +231 -134
  9. data/contrib/zstd/lib/README.md +28 -0
  10. data/contrib/zstd/lib/common/bitstream.h +24 -15
  11. data/contrib/zstd/lib/common/compiler.h +116 -3
  12. data/contrib/zstd/lib/common/cpu.h +0 -2
  13. data/contrib/zstd/lib/common/debug.h +11 -18
  14. data/contrib/zstd/lib/common/entropy_common.c +188 -42
  15. data/contrib/zstd/lib/common/error_private.c +1 -0
  16. data/contrib/zstd/lib/common/error_private.h +1 -1
  17. data/contrib/zstd/lib/common/fse.h +38 -11
  18. data/contrib/zstd/lib/common/fse_decompress.c +123 -16
  19. data/contrib/zstd/lib/common/huf.h +26 -5
  20. data/contrib/zstd/lib/common/mem.h +66 -93
  21. data/contrib/zstd/lib/common/pool.c +22 -16
  22. data/contrib/zstd/lib/common/pool.h +1 -1
  23. data/contrib/zstd/lib/common/threading.c +6 -5
  24. data/contrib/zstd/lib/common/xxhash.c +18 -56
  25. data/contrib/zstd/lib/common/xxhash.h +1 -1
  26. data/contrib/zstd/lib/common/zstd_common.c +9 -9
  27. data/contrib/zstd/lib/common/zstd_deps.h +111 -0
  28. data/contrib/zstd/lib/common/zstd_errors.h +1 -0
  29. data/contrib/zstd/lib/common/zstd_internal.h +89 -58
  30. data/contrib/zstd/lib/compress/fse_compress.c +30 -23
  31. data/contrib/zstd/lib/compress/hist.c +26 -28
  32. data/contrib/zstd/lib/compress/hist.h +1 -1
  33. data/contrib/zstd/lib/compress/huf_compress.c +210 -95
  34. data/contrib/zstd/lib/compress/zstd_compress.c +1339 -409
  35. data/contrib/zstd/lib/compress/zstd_compress_internal.h +119 -41
  36. data/contrib/zstd/lib/compress/zstd_compress_literals.c +4 -4
  37. data/contrib/zstd/lib/compress/zstd_compress_sequences.c +17 -3
  38. data/contrib/zstd/lib/compress/zstd_compress_superblock.c +23 -19
  39. data/contrib/zstd/lib/compress/zstd_cwksp.h +60 -24
  40. data/contrib/zstd/lib/compress/zstd_double_fast.c +22 -22
  41. data/contrib/zstd/lib/compress/zstd_fast.c +19 -19
  42. data/contrib/zstd/lib/compress/zstd_lazy.c +351 -77
  43. data/contrib/zstd/lib/compress/zstd_lazy.h +20 -0
  44. data/contrib/zstd/lib/compress/zstd_ldm.c +59 -18
  45. data/contrib/zstd/lib/compress/zstd_ldm.h +6 -0
  46. data/contrib/zstd/lib/compress/zstd_opt.c +190 -45
  47. data/contrib/zstd/lib/compress/zstdmt_compress.c +74 -406
  48. data/contrib/zstd/lib/compress/zstdmt_compress.h +26 -108
  49. data/contrib/zstd/lib/decompress/huf_decompress.c +302 -200
  50. data/contrib/zstd/lib/decompress/zstd_ddict.c +8 -8
  51. data/contrib/zstd/lib/decompress/zstd_ddict.h +1 -1
  52. data/contrib/zstd/lib/decompress/zstd_decompress.c +125 -80
  53. data/contrib/zstd/lib/decompress/zstd_decompress_block.c +145 -37
  54. data/contrib/zstd/lib/decompress/zstd_decompress_block.h +5 -2
  55. data/contrib/zstd/lib/decompress/zstd_decompress_internal.h +11 -10
  56. data/contrib/zstd/lib/dictBuilder/cover.c +29 -20
  57. data/contrib/zstd/lib/dictBuilder/cover.h +1 -1
  58. data/contrib/zstd/lib/dictBuilder/fastcover.c +20 -19
  59. data/contrib/zstd/lib/dictBuilder/zdict.c +15 -16
  60. data/contrib/zstd/lib/dictBuilder/zdict.h +1 -1
  61. data/contrib/zstd/lib/legacy/zstd_v01.c +5 -1
  62. data/contrib/zstd/lib/legacy/zstd_v02.c +5 -1
  63. data/contrib/zstd/lib/legacy/zstd_v03.c +5 -1
  64. data/contrib/zstd/lib/legacy/zstd_v04.c +6 -2
  65. data/contrib/zstd/lib/legacy/zstd_v05.c +5 -1
  66. data/contrib/zstd/lib/legacy/zstd_v06.c +5 -1
  67. data/contrib/zstd/lib/legacy/zstd_v07.c +5 -1
  68. data/contrib/zstd/lib/libzstd.pc.in +3 -3
  69. data/contrib/zstd/lib/zstd.h +348 -47
  70. data/ext/extzstd.c +6 -0
  71. data/ext/extzstd.h +6 -0
  72. data/gemstub.rb +3 -21
  73. data/lib/extzstd.rb +0 -2
  74. data/lib/extzstd/version.rb +6 -1
  75. data/test/test_basic.rb +0 -5
  76. metadata +5 -4
data/ext/extzstd.c CHANGED
@@ -3,6 +3,10 @@
3
3
  #include <zstd_errors.h>
4
4
  #include <zdict.h>
5
5
 
6
+ #ifndef RB_EXT_RACTOR_SAFE
7
+ # define RB_EXT_RACTOR_SAFE(FEATURE) ((void)(FEATURE))
8
+ #endif
9
+
6
10
  VALUE extzstd_mZstd;
7
11
 
8
12
  static ID id_initialize;
@@ -613,6 +617,8 @@ init_contextless(void)
613
617
  RBEXT_API void
614
618
  Init_extzstd(void)
615
619
  {
620
+ RB_EXT_RACTOR_SAFE(true);
621
+
616
622
  id_initialize = rb_intern("initialize");
617
623
  id_error_code = rb_intern("error_code");
618
624
 
data/ext/extzstd.h CHANGED
@@ -7,8 +7,10 @@
7
7
  #include <common/zstd_internal.h> /* for MIN() */
8
8
  #include <zstd.h>
9
9
  #include <stdarg.h>
10
+ #include <stdbool.h>
10
11
  #include <ruby.h>
11
12
  #include <ruby/thread.h>
13
+ #include <ruby/version.h>
12
14
 
13
15
  #define ELEMENTOF(ARRAY) (sizeof(ARRAY) / sizeof(ARRAY[0]))
14
16
  #define ENDOF(ARRAY) (ARRAY + ELEMENTOF(ARRAY))
@@ -226,4 +228,8 @@ aux_string_expand_pointer(VALUE str, char **ptr, size_t size)
226
228
  *ptr = RSTRING_PTR(str);
227
229
  }
228
230
 
231
+ #if RUBY_API_VERSION_CODE >= 30000
232
+ # define rb_obj_infect(dest, src) ((void)(dest), (void)(src))
233
+ #endif
234
+
229
235
  #endif /* EXTZSTD_H */
data/gemstub.rb CHANGED
@@ -1,13 +1,8 @@
1
- verreg = /^\s*\*\s+version:\s*(\d+(?:\.\w+)+)\s*$/i
2
- unless File.read("README.md", mode: "rt") =~ verreg
3
- raise "``version'' is not defined or bad syntax in ``README.md''"
4
- end
5
-
6
- version = String($1)
1
+ require_relative "lib/extzstd/version"
7
2
 
8
3
  GEMSTUB = Gem::Specification.new do |s|
9
4
  s.name = "extzstd"
10
- s.version = version
5
+ s.version = Zstd::VERSION
11
6
  s.summary = "ruby bindings for Zstandard (zstd)"
12
7
  s.description = <<EOS
13
8
  unoficial ruby bindings for Zstandard (zstd) <https://github.com/facebook/zstd>.
@@ -15,25 +10,12 @@ EOS
15
10
  s.homepage = "https://github.com/dearblue/ruby-extzstd/"
16
11
  s.license = "BSD-2-Clause"
17
12
  s.author = "dearblue"
18
- s.email = "dearblue@users.noreply.github.com"
13
+ s.email = "dearblue@users.osdn.me"
19
14
 
20
15
  s.required_ruby_version = ">= 2.0"
21
16
  s.add_development_dependency "rake", ">= 12.0"
22
17
  end
23
18
 
24
- LIB << "lib/extzstd/version.rb"
25
-
26
- file "lib/extzstd/version.rb" => %w(README.md) do
27
- GEMSTUB.version = version
28
-
29
- mkpath "lib/extzstd"
30
- File.write "lib/extzstd/version.rb", <<-"EOS", mode: "wb"
31
- module Zstd
32
- VERSION = #{version.inspect}
33
- end
34
- EOS
35
- end
36
-
37
19
  EXTRA.concat(FileList["contrib/**/*"])
38
20
 
39
21
  filter = %r(contrib/zstd/(?:build|contrib|doc|examples|lib/dll|programs|tests|zlibWrapper))
data/lib/extzstd.rb CHANGED
@@ -4,8 +4,6 @@ ver = RUBY_VERSION.slice(/\d+\.\d+/)
4
4
  soname = File.basename(__FILE__, ".rb") << ".so"
5
5
  require File.join(ver, soname)
6
6
 
7
- require_relative "extzstd/version"
8
-
9
7
  require "stringio"
10
8
 
11
9
  #
@@ -1,3 +1,8 @@
1
1
  module Zstd
2
- VERSION = "0.3.1"
2
+ verreg = /^\s*[\-\*]\s+version:\s*(\d+(?:\.\w+)+)\s*$/i
3
+ unless File.read("#{__dir__}/../../README.md", mode: "rt") =~ verreg
4
+ raise "``version'' is not defined or bad syntax in ``README.md''"
5
+ end
6
+
7
+ VERSION = String($1)
3
8
  end
data/test/test_basic.rb CHANGED
@@ -9,11 +9,6 @@ class TestZstd < Test::Unit::TestCase
9
9
  src = "ABCDEFGabcdefg" * 50
10
10
  assert_equal(src, Zstd.decode(Zstd.encode(src), src.bytesize))
11
11
  #assert_raise(Zstd::Error) { Zstd.decode("", 1111) }
12
- d1 = Zstd.encode(src)
13
- assert_same(src.tainted?, Zstd.encode(src).tainted?)
14
- src1 = src.dup
15
- src1.taint
16
- assert_same(src1.tainted?, Zstd.encode(src1).tainted?)
17
12
  end
18
13
 
19
14
  def test_huge
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: extzstd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - dearblue
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-03 00:00:00.000000000 Z
11
+ date: 2021-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -27,7 +27,7 @@ dependencies:
27
27
  description: 'unoficial ruby bindings for Zstandard (zstd) <https://github.com/facebook/zstd>.
28
28
 
29
29
  '
30
- email: dearblue@users.noreply.github.com
30
+ email: dearblue@users.osdn.me
31
31
  executables: []
32
32
  extensions:
33
33
  - ext/extconf.rb
@@ -94,6 +94,7 @@ files:
94
94
  - contrib/zstd/lib/common/xxhash.c
95
95
  - contrib/zstd/lib/common/xxhash.h
96
96
  - contrib/zstd/lib/common/zstd_common.c
97
+ - contrib/zstd/lib/common/zstd_deps.h
97
98
  - contrib/zstd/lib/common/zstd_errors.h
98
99
  - contrib/zstd/lib/common/zstd_internal.h
99
100
  - contrib/zstd/lib/compress/fse_compress.c
@@ -202,7 +203,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
202
203
  - !ruby/object:Gem::Version
203
204
  version: '0'
204
205
  requirements: []
205
- rubygems_version: 3.0.6
206
+ rubygems_version: 3.2.14
206
207
  signing_key:
207
208
  specification_version: 4
208
209
  summary: ruby bindings for Zstandard (zstd)