ffi-yajl 2.4.0 → 2.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +8 -1
- data/ext/ffi_yajl/ext/dlopen/yajl.sym +18 -0
- data/ext/ffi_yajl/ext/encoder/extconf.rb +21 -0
- data/ext/ffi_yajl/ext/parser/extconf.rb +21 -0
- data/lib/ffi_yajl/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c5ec16c37b0bf0e83072db4ac2a59946d3bbe33dd0ff14f24a9a6bd36d9f27a6
|
4
|
+
data.tar.gz: ceea10faee75d0359bb7baa2a9e092450a14daa167d99e27bc14af55271288a0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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"
|
data/lib/ffi_yajl/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ffi-yajl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lamont Granquist
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-07-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: libyajl2
|
@@ -41,6 +41,7 @@ files:
|
|
41
41
|
- bin/ffi-yajl-bench
|
42
42
|
- ext/ffi_yajl/ext/dlopen/dlopen.c
|
43
43
|
- ext/ffi_yajl/ext/dlopen/extconf.rb
|
44
|
+
- ext/ffi_yajl/ext/dlopen/yajl.sym
|
44
45
|
- ext/ffi_yajl/ext/encoder/encoder.c
|
45
46
|
- ext/ffi_yajl/ext/encoder/extconf.rb
|
46
47
|
- ext/ffi_yajl/ext/parser/extconf.rb
|
@@ -95,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
95
96
|
- !ruby/object:Gem::Version
|
96
97
|
version: '0'
|
97
98
|
requirements: []
|
98
|
-
rubygems_version: 3.
|
99
|
+
rubygems_version: 3.3.7
|
99
100
|
signing_key:
|
100
101
|
specification_version: 4
|
101
102
|
summary: Ruby FFI wrapper around YAJL 2.x
|