ffi-yajl 2.4.0-universal-java → 2.6.0-universal-java
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/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: 9bcf9f4d6aff166c5d24261d6b0ffe5410f17204122359c5e8d3db27a99f628b
|
4
|
+
data.tar.gz: ceea10faee75d0359bb7baa2a9e092450a14daa167d99e27bc14af55271288a0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 662729946dc1823ad460a18a512de1730fc3c8555e78a974f7536e9ef10c4e1c3384a578d009e626e9f2992973863bcef45a01b2ee6990fc6af90ab44bf70cc8
|
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: universal-java
|
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
|
@@ -52,6 +52,7 @@ files:
|
|
52
52
|
- bin/ffi-yajl-bench
|
53
53
|
- ext/ffi_yajl/ext/dlopen/dlopen.c
|
54
54
|
- ext/ffi_yajl/ext/dlopen/extconf.rb
|
55
|
+
- ext/ffi_yajl/ext/dlopen/yajl.sym
|
55
56
|
- ext/ffi_yajl/ext/encoder/encoder.c
|
56
57
|
- ext/ffi_yajl/ext/encoder/extconf.rb
|
57
58
|
- ext/ffi_yajl/ext/parser/extconf.rb
|
@@ -106,7 +107,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
106
107
|
- !ruby/object:Gem::Version
|
107
108
|
version: '0'
|
108
109
|
requirements: []
|
109
|
-
rubygems_version: 3.
|
110
|
+
rubygems_version: 3.3.7
|
110
111
|
signing_key:
|
111
112
|
specification_version: 4
|
112
113
|
summary: Ruby FFI wrapper around YAJL 2.x
|