ffi-yajl 2.3.4 → 2.6.0

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: 76fe64b23846be3b66388c5f02e112bc0eb251aafb6d156a3a0a8f3713e5f767
4
- data.tar.gz: a21516e45320e4c4c9709b88861870b20f1fd1a0c35635ba829fb80941f78cca
3
+ metadata.gz: c5ec16c37b0bf0e83072db4ac2a59946d3bbe33dd0ff14f24a9a6bd36d9f27a6
4
+ data.tar.gz: ceea10faee75d0359bb7baa2a9e092450a14daa167d99e27bc14af55271288a0
5
5
  SHA512:
6
- metadata.gz: 5080637e354171751c1637b6588bbb539a49fe865abdc8dcc19a01090e1d79bc1d60de9ed67f4fa9ffc10d4d3e3c1d653e27f748a0f3b9fc9c72e32d0a74808e
7
- data.tar.gz: a40f1457c1b702250af8d6cea3db608e6113d790a383a557d0af55ef12e0d90bdf23ccc6a4445b5a6a74cf3e973cb3da29a90bf96296a5720907f291ab01fb94
6
+ metadata.gz: ec8f2c1ee081cd51a5b663e8ac556e3fa25b815f7529b66b7c54024f5fe1dc90b6af1dd1c7542c1be9725d76924aeaefec9f77ff79fa2194a007b8c05c3c42a6
7
+ data.tar.gz: f6ea602a13b858e0d9cd40b0cbf8bb01de7cdf95730ca6ad30d05aeb89412fda6468183daee8c4c20ec4f3fe641cc5b072425225edc32e1d0af2b89310469383
data/README.md CHANGED
@@ -15,7 +15,14 @@ ffi-yajl is a Ruby adapter for the [yajl](http://lloyd.github.io/yajl/) JSON par
15
15
 
16
16
  ## How to Install
17
17
 
18
- Install from the command-line:
18
+ **Warning** if building through Omnibus, a preinstalled ffi-yajl and libyajl2-gem version not matching the bundled version of the project you're attempting to build (e.g., Chef) may cause:
19
+
20
+ `cannot find -lyajldll: No such file or directory`
21
+
22
+ If your build script ends up up in this state, a short term fix is `gem uninstall -I libyajl2` before the failing `bundle install`
23
+
24
+
25
+ ### Install from the command-line:
19
26
 
20
27
  ```
21
28
  gem install ffi-yajl
@@ -0,0 +1,18 @@
1
+ _yajl_gen_alloc
2
+ _yajl_gen_array_close
3
+ _yajl_gen_array_open
4
+ _yajl_gen_bool
5
+ _yajl_gen_config
6
+ _yajl_gen_free
7
+ _yajl_gen_get_buf
8
+ _yajl_gen_map_close
9
+ _yajl_gen_map_open
10
+ _yajl_gen_null
11
+ _yajl_gen_number
12
+ _yajl_gen_string
13
+ _yajl_alloc
14
+ _yajl_complete_parse
15
+ _yajl_config
16
+ _yajl_free
17
+ _yajl_get_error
18
+ _yajl_parse
@@ -27,6 +27,27 @@ def windows?
27
27
  !!(RUBY_PLATFORM =~ /mswin|mingw|cygwin|windows/)
28
28
  end
29
29
 
30
+ def macos?
31
+ !!(RUBY_PLATFORM =~ /darwin/)
32
+ end
33
+
34
+ def clang?
35
+ cc_version = `#{RbConfig.expand("$(CC) --version")}`
36
+ cc_version.match?(/clang/i)
37
+ end
38
+
39
+ # XCode 14 warns if `-Wl,-undefined dynamic_lookup` is specified, and as
40
+ # a result Ruby interpreters compiled under XCode 14 no longer specify
41
+ # this flag by default in DLDFLAGS. Let's specify the list of dynamic symbols
42
+ # here to avoid compilation failures.
43
+ if clang? && macos?
44
+ symfile = File.join(__dir__, '../dlopen/yajl.sym')
45
+ dynamic_symbols = File.readlines(symfile)
46
+ dynamic_symbols.each do |sym|
47
+ $DLDFLAGS << " -Wl,-U,#{sym.strip}"
48
+ end
49
+ end
50
+
30
51
  if windows?
31
52
  # include our libyajldll.a definitions on windows in the libyajl2 gem
32
53
  $libs = "#{$libs} -lyajldll"
@@ -27,6 +27,27 @@ def windows?
27
27
  !!(RUBY_PLATFORM =~ /mswin|mingw|cygwin|windows/)
28
28
  end
29
29
 
30
+ def macos?
31
+ !!(RUBY_PLATFORM =~ /darwin/)
32
+ end
33
+
34
+ def clang?
35
+ cc_version = `#{RbConfig.expand("$(CC) --version")}`
36
+ cc_version.match?(/clang/i)
37
+ end
38
+
39
+ # XCode 14 warns if `-Wl,-undefined dynamic_lookup` is specified, and as
40
+ # a result Ruby interpreters compiled under XCode 14 no longer specify
41
+ # this flag by default in DLDFLAGS. Let's specify the list of dynamic symbols
42
+ # here to avoid compilation failures.
43
+ if clang? && macos?
44
+ symfile = File.join(__dir__, '../dlopen/yajl.sym')
45
+ dynamic_symbols = File.readlines(symfile)
46
+ dynamic_symbols.each do |sym|
47
+ $DLDFLAGS << " -Wl,-U,#{sym.strip}"
48
+ end
49
+ end
50
+
30
51
  if windows?
31
52
  # include our libyajldll.a definitions on windows in the libyajl2 gem
32
53
  $libs = "#{$libs} -lyajldll"
@@ -1,5 +1,5 @@
1
1
  # Copyright (c) 2015 Lamont Granquist
2
- # Copyright (c) 2015-2017, Chef Software Inc.
2
+ # Copyright:: Copyright (c) Chef Software Inc.
3
3
  #
4
4
  # Permission is hereby granted, free of charge, to any person obtaining
5
5
  # a copy of this software and associated documentation files (the
@@ -21,5 +21,5 @@
21
21
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
22
 
23
23
  module FFI_Yajl
24
- VERSION = "2.3.4".freeze
24
+ VERSION = "2.6.0".freeze
25
25
  end
metadata CHANGED
@@ -1,113 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi-yajl
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.4
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lamont Granquist
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-17 00:00:00.000000000 Z
11
+ date: 2023-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rake
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '10.1'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '10.1'
27
- - !ruby/object:Gem::Dependency
28
- name: rspec
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '3.0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '3.0'
41
- - !ruby/object:Gem::Dependency
42
- name: pry
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '0.9'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '0.9'
55
- - !ruby/object:Gem::Dependency
56
- name: rake-compiler
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '1.0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '1.0'
69
- - !ruby/object:Gem::Dependency
70
- name: rack
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '2.0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '2.0'
83
13
  - !ruby/object:Gem::Dependency
84
14
  name: libyajl2
85
15
  requirement: !ruby/object:Gem::Requirement
86
16
  requirements:
87
- - - "~>"
17
+ - - ">="
88
18
  - !ruby/object:Gem::Version
89
19
  version: '1.2'
90
20
  type: :runtime
91
21
  prerelease: false
92
22
  version_requirements: !ruby/object:Gem::Requirement
93
23
  requirements:
94
- - - "~>"
24
+ - - ">="
95
25
  - !ruby/object:Gem::Version
96
26
  version: '1.2'
97
- - !ruby/object:Gem::Dependency
98
- name: ffi
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '1.5'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '1.5'
111
27
  description: Ruby FFI wrapper around YAJL 2.x
112
28
  email: lamont@chef.io
113
29
  executables:
@@ -125,6 +41,7 @@ files:
125
41
  - bin/ffi-yajl-bench
126
42
  - ext/ffi_yajl/ext/dlopen/dlopen.c
127
43
  - ext/ffi_yajl/ext/dlopen/extconf.rb
44
+ - ext/ffi_yajl/ext/dlopen/yajl.sym
128
45
  - ext/ffi_yajl/ext/encoder/encoder.c
129
46
  - ext/ffi_yajl/ext/encoder/extconf.rb
130
47
  - ext/ffi_yajl/ext/parser/extconf.rb
@@ -164,7 +81,7 @@ homepage: http://github.com/chef/ffi-yajl
164
81
  licenses:
165
82
  - MIT
166
83
  metadata: {}
167
- post_install_message:
84
+ post_install_message:
168
85
  rdoc_options: []
169
86
  require_paths:
170
87
  - lib
@@ -179,8 +96,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
179
96
  - !ruby/object:Gem::Version
180
97
  version: '0'
181
98
  requirements: []
182
- rubygems_version: 3.0.3
183
- signing_key:
99
+ rubygems_version: 3.3.7
100
+ signing_key:
184
101
  specification_version: 4
185
102
  summary: Ruby FFI wrapper around YAJL 2.x
186
103
  test_files: []