nokogiri 1.14.5 → 1.16.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +19 -15
  3. data/README.md +4 -1
  4. data/dependencies.yml +9 -8
  5. data/ext/nokogiri/extconf.rb +69 -26
  6. data/ext/nokogiri/html4_document.c +1 -2
  7. data/ext/nokogiri/html4_element_description.c +19 -14
  8. data/ext/nokogiri/html4_sax_parser_context.c +10 -16
  9. data/ext/nokogiri/html4_sax_push_parser.c +3 -3
  10. data/ext/nokogiri/nokogiri.c +46 -24
  11. data/ext/nokogiri/nokogiri.h +23 -5
  12. data/ext/nokogiri/test_global_handlers.c +1 -1
  13. data/ext/nokogiri/xml_attr.c +1 -1
  14. data/ext/nokogiri/xml_cdata.c +30 -17
  15. data/ext/nokogiri/xml_comment.c +1 -1
  16. data/ext/nokogiri/xml_document.c +113 -25
  17. data/ext/nokogiri/xml_document_fragment.c +1 -1
  18. data/ext/nokogiri/xml_dtd.c +1 -1
  19. data/ext/nokogiri/xml_element_content.c +32 -29
  20. data/ext/nokogiri/xml_element_decl.c +5 -5
  21. data/ext/nokogiri/xml_encoding_handler.c +12 -4
  22. data/ext/nokogiri/xml_entity_reference.c +1 -1
  23. data/ext/nokogiri/xml_namespace.c +11 -16
  24. data/ext/nokogiri/xml_node.c +13 -16
  25. data/ext/nokogiri/xml_node_set.c +125 -105
  26. data/ext/nokogiri/xml_processing_instruction.c +1 -1
  27. data/ext/nokogiri/xml_reader.c +61 -74
  28. data/ext/nokogiri/xml_relax_ng.c +66 -79
  29. data/ext/nokogiri/xml_sax_parser.c +24 -5
  30. data/ext/nokogiri/xml_sax_parser_context.c +50 -25
  31. data/ext/nokogiri/xml_sax_push_parser.c +30 -9
  32. data/ext/nokogiri/xml_schema.c +94 -115
  33. data/ext/nokogiri/xml_syntax_error.c +3 -3
  34. data/ext/nokogiri/xml_text.c +26 -13
  35. data/ext/nokogiri/xml_xpath_context.c +153 -83
  36. data/ext/nokogiri/xslt_stylesheet.c +111 -53
  37. data/gumbo-parser/Makefile +18 -0
  38. data/gumbo-parser/src/error.c +8 -4
  39. data/gumbo-parser/src/foreign_attrs.c +13 -14
  40. data/gumbo-parser/src/foreign_attrs.gperf +1 -1
  41. data/gumbo-parser/src/parser.c +21 -5
  42. data/gumbo-parser/src/tokenizer.c +1 -0
  43. data/lib/nokogiri/css/parser_extras.rb +1 -1
  44. data/lib/nokogiri/css/xpath_visitor.rb +3 -23
  45. data/lib/nokogiri/extension.rb +1 -1
  46. data/lib/nokogiri/html4/document.rb +1 -1
  47. data/lib/nokogiri/html4/document_fragment.rb +1 -1
  48. data/lib/nokogiri/html4/element_description_defaults.rb +1821 -353
  49. data/lib/nokogiri/html4/encoding_reader.rb +1 -1
  50. data/lib/nokogiri/html5/document_fragment.rb +1 -1
  51. data/lib/nokogiri/html5/node.rb +5 -0
  52. data/lib/nokogiri/html5.rb +0 -63
  53. data/lib/nokogiri/version/constant.rb +1 -1
  54. data/lib/nokogiri/version/info.rb +6 -5
  55. data/lib/nokogiri/xml/attr.rb +2 -2
  56. data/lib/nokogiri/xml/attribute_decl.rb +4 -2
  57. data/lib/nokogiri/xml/document.rb +4 -5
  58. data/lib/nokogiri/xml/document_fragment.rb +3 -3
  59. data/lib/nokogiri/xml/element_content.rb +10 -2
  60. data/lib/nokogiri/xml/element_decl.rb +4 -2
  61. data/lib/nokogiri/xml/entity_decl.rb +4 -2
  62. data/lib/nokogiri/xml/namespace.rb +1 -2
  63. data/lib/nokogiri/xml/node/save_options.rb +8 -0
  64. data/lib/nokogiri/xml/node.rb +53 -37
  65. data/lib/nokogiri/xml/node_set.rb +3 -3
  66. data/lib/nokogiri/xml/pp/node.rb +23 -12
  67. data/lib/nokogiri/xml/reader.rb +10 -9
  68. data/lib/nokogiri/xml/sax/document.rb +1 -1
  69. data/lib/nokogiri/xml/searchable.rb +21 -13
  70. data/lib/nokogiri/xml/syntax_error.rb +1 -1
  71. data/lib/nokogiri/xml.rb +1 -1
  72. data/lib/nokogiri/xslt/stylesheet.rb +29 -7
  73. data/lib/nokogiri/xslt.rb +74 -4
  74. data/lib/nokogiri.rb +13 -5
  75. data/lib/xsd/xmlparser/nokogiri.rb +1 -1
  76. data/patches/libxml2/0010-update-config.guess-and-config.sub-for-libxml2.patch +224 -0
  77. data/patches/libxml2/0011-rip-out-libxml2-s-libc_single_threaded-support.patch +30 -0
  78. data/patches/libxslt/0001-update-config.guess-and-config.sub-for-libxslt.patch +224 -0
  79. data/ports/archives/libxml2-2.12.7.tar.xz +0 -0
  80. data/ports/archives/libxslt-1.1.39.tar.xz +0 -0
  81. metadata +14 -12
  82. data/patches/libxslt/0001-update-automake-files-for-arm64.patch +0 -3037
  83. data/ports/archives/libxml2-2.10.4.tar.xz +0 -0
  84. data/ports/archives/libxslt-1.1.37.tar.xz +0 -0
@@ -0,0 +1,224 @@
1
+ From 66ee2dcef0e99cd9c2d4f9f1115fb907f1ea6e4d Mon Sep 17 00:00:00 2001
2
+ From: Mike Dalessio <mike.dalessio@gmail.com>
3
+ Date: Mon, 8 May 2023 08:42:47 -0400
4
+ Subject: [PATCH] update config.guess and config.sub for libxslt
5
+
6
+ curl -sL -o config.guess 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD'
7
+ curl -sL -o config.sub 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD'
8
+ ---
9
+ config.guess | 46 +++++++++++++++++++++++++++++++++-------------
10
+ config.sub | 35 ++++++++++++++++++++++++++---------
11
+ 2 files changed, 59 insertions(+), 22 deletions(-)
12
+
13
+ diff --git a/config.guess b/config.guess
14
+ index 7f76b622..69188da7 100755
15
+ --- a/config.guess
16
+ +++ b/config.guess
17
+ @@ -1,10 +1,10 @@
18
+ #! /bin/sh
19
+ # Attempt to guess a canonical system name.
20
+ -# Copyright 1992-2022 Free Software Foundation, Inc.
21
+ +# Copyright 1992-2023 Free Software Foundation, Inc.
22
+
23
+ # shellcheck disable=SC2006,SC2268 # see below for rationale
24
+
25
+ -timestamp='2022-01-09'
26
+ +timestamp='2023-01-01'
27
+
28
+ # This file is free software; you can redistribute it and/or modify it
29
+ # under the terms of the GNU General Public License as published by
30
+ @@ -60,7 +60,7 @@ version="\
31
+ GNU config.guess ($timestamp)
32
+
33
+ Originally written by Per Bothner.
34
+ -Copyright 1992-2022 Free Software Foundation, Inc.
35
+ +Copyright 1992-2023 Free Software Foundation, Inc.
36
+
37
+ This is free software; see the source for copying conditions. There is NO
38
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
39
+ @@ -966,6 +966,12 @@ EOF
40
+ GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
41
+ GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
42
+ ;;
43
+ + x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
44
+ + GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
45
+ + ;;
46
+ + *:[Mm]anagarm:*:*)
47
+ + GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
48
+ + ;;
49
+ *:Minix:*:*)
50
+ GUESS=$UNAME_MACHINE-unknown-minix
51
+ ;;
52
+ @@ -1036,7 +1042,7 @@ EOF
53
+ k1om:Linux:*:*)
54
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
55
+ ;;
56
+ - loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
57
+ + loongarch32:Linux:*:* | loongarch64:Linux:*:*)
58
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
59
+ ;;
60
+ m32r*:Linux:*:*)
61
+ @@ -1151,16 +1157,27 @@ EOF
62
+ ;;
63
+ x86_64:Linux:*:*)
64
+ set_cc_for_build
65
+ + CPU=$UNAME_MACHINE
66
+ LIBCABI=$LIBC
67
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
68
+ - if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \
69
+ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
70
+ - grep IS_X32 >/dev/null
71
+ - then
72
+ - LIBCABI=${LIBC}x32
73
+ - fi
74
+ + ABI=64
75
+ + sed 's/^ //' << EOF > "$dummy.c"
76
+ + #ifdef __i386__
77
+ + ABI=x86
78
+ + #else
79
+ + #ifdef __ILP32__
80
+ + ABI=x32
81
+ + #endif
82
+ + #endif
83
+ +EOF
84
+ + cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
85
+ + eval "$cc_set_abi"
86
+ + case $ABI in
87
+ + x86) CPU=i686 ;;
88
+ + x32) LIBCABI=${LIBC}x32 ;;
89
+ + esac
90
+ fi
91
+ - GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI
92
+ + GUESS=$CPU-pc-linux-$LIBCABI
93
+ ;;
94
+ xtensa*:Linux:*:*)
95
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
96
+ @@ -1367,8 +1384,11 @@ EOF
97
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
98
+ GUESS=i586-pc-haiku
99
+ ;;
100
+ - x86_64:Haiku:*:*)
101
+ - GUESS=x86_64-unknown-haiku
102
+ + ppc:Haiku:*:*) # Haiku running on Apple PowerPC
103
+ + GUESS=powerpc-apple-haiku
104
+ + ;;
105
+ + *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat)
106
+ + GUESS=$UNAME_MACHINE-unknown-haiku
107
+ ;;
108
+ SX-4:SUPER-UX:*:*)
109
+ GUESS=sx4-nec-superux$UNAME_RELEASE
110
+ diff --git a/config.sub b/config.sub
111
+ index dba16e84..de4259e4 100755
112
+ --- a/config.sub
113
+ +++ b/config.sub
114
+ @@ -1,10 +1,10 @@
115
+ #! /bin/sh
116
+ # Configuration validation subroutine script.
117
+ -# Copyright 1992-2022 Free Software Foundation, Inc.
118
+ +# Copyright 1992-2023 Free Software Foundation, Inc.
119
+
120
+ # shellcheck disable=SC2006,SC2268 # see below for rationale
121
+
122
+ -timestamp='2022-01-03'
123
+ +timestamp='2023-01-21'
124
+
125
+ # This file is free software; you can redistribute it and/or modify it
126
+ # under the terms of the GNU General Public License as published by
127
+ @@ -76,7 +76,7 @@ Report bugs and patches to <config-patches@gnu.org>."
128
+ version="\
129
+ GNU config.sub ($timestamp)
130
+
131
+ -Copyright 1992-2022 Free Software Foundation, Inc.
132
+ +Copyright 1992-2023 Free Software Foundation, Inc.
133
+
134
+ This is free software; see the source for copying conditions. There is NO
135
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
136
+ @@ -145,7 +145,7 @@ case $1 in
137
+ nto-qnx* | linux-* | uclinux-uclibc* \
138
+ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
139
+ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
140
+ - | storm-chaos* | os2-emx* | rtmk-nova*)
141
+ + | storm-chaos* | os2-emx* | rtmk-nova* | managarm-*)
142
+ basic_machine=$field1
143
+ basic_os=$maybe_os
144
+ ;;
145
+ @@ -1075,7 +1075,7 @@ case $cpu-$vendor in
146
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
147
+ cpu=i586
148
+ ;;
149
+ - pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
150
+ + pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*)
151
+ cpu=i686
152
+ ;;
153
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
154
+ @@ -1207,7 +1207,7 @@ case $cpu-$vendor in
155
+ | k1om \
156
+ | le32 | le64 \
157
+ | lm32 \
158
+ - | loongarch32 | loongarch64 | loongarchx32 \
159
+ + | loongarch32 | loongarch64 \
160
+ | m32c | m32r | m32rle \
161
+ | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
162
+ | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
163
+ @@ -1341,6 +1341,10 @@ EOF
164
+ kernel=linux
165
+ os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
166
+ ;;
167
+ + managarm*)
168
+ + kernel=managarm
169
+ + os=`echo "$basic_os" | sed -e 's|managarm|mlibc|'`
170
+ + ;;
171
+ *)
172
+ kernel=
173
+ os=$basic_os
174
+ @@ -1754,7 +1758,7 @@ case $os in
175
+ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
176
+ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
177
+ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
178
+ - | fiwix* )
179
+ + | fiwix* | mlibc* )
180
+ ;;
181
+ # This one is extra strict with allowed versions
182
+ sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
183
+ @@ -1762,6 +1766,9 @@ case $os in
184
+ ;;
185
+ none)
186
+ ;;
187
+ + kernel* )
188
+ + # Restricted further below
189
+ + ;;
190
+ *)
191
+ echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
192
+ exit 1
193
+ @@ -1772,16 +1779,26 @@ esac
194
+ # (given a valid OS), if there is a kernel.
195
+ case $kernel-$os in
196
+ linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \
197
+ - | linux-musl* | linux-relibc* | linux-uclibc* )
198
+ + | linux-musl* | linux-relibc* | linux-uclibc* | linux-mlibc* )
199
+ ;;
200
+ uclinux-uclibc* )
201
+ ;;
202
+ - -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* )
203
+ + managarm-mlibc* | managarm-kernel* )
204
+ + ;;
205
+ + -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* | -mlibc* )
206
+ # These are just libc implementations, not actual OSes, and thus
207
+ # require a kernel.
208
+ echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
209
+ exit 1
210
+ ;;
211
+ + -kernel* )
212
+ + echo "Invalid configuration \`$1': \`$os' needs explicit kernel." 1>&2
213
+ + exit 1
214
+ + ;;
215
+ + *-kernel* )
216
+ + echo "Invalid configuration \`$1': \`$kernel' does not support \`$os'." 1>&2
217
+ + exit 1
218
+ + ;;
219
+ kfreebsd*-gnu* | kopensolaris*-gnu*)
220
+ ;;
221
+ vxworks-simlinux | vxworks-simwindows | vxworks-spe)
222
+ --
223
+ 2.40.1
224
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nokogiri
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.5
4
+ version: 1.16.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Dalessio
@@ -17,10 +17,10 @@ authors:
17
17
  - Sergio Arbeo
18
18
  - Timothy Elliott
19
19
  - Nobuyoshi Nakada
20
- autorequire:
20
+ autorequire:
21
21
  bindir: bin
22
22
  cert_chain: []
23
- date: 2023-05-24 00:00:00.000000000 Z
23
+ date: 2024-05-13 00:00:00.000000000 Z
24
24
  dependencies:
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: mini_portile2
@@ -28,14 +28,14 @@ dependencies:
28
28
  requirements:
29
29
  - - "~>"
30
30
  - !ruby/object:Gem::Version
31
- version: 2.8.0
31
+ version: 2.8.2
32
32
  type: :runtime
33
33
  prerelease: false
34
34
  version_requirements: !ruby/object:Gem::Requirement
35
35
  requirements:
36
36
  - - "~>"
37
37
  - !ruby/object:Gem::Version
38
- version: 2.8.0
38
+ version: 2.8.2
39
39
  force_ruby_platform: false
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: racc
@@ -269,9 +269,11 @@ files:
269
269
  - patches/libxml2/0002-Update-entities-to-remove-handling-of-ssi.patch
270
270
  - patches/libxml2/0003-libxml2.la-is-in-top_builddir.patch
271
271
  - patches/libxml2/0009-allow-wildcard-namespaces.patch
272
- - patches/libxslt/0001-update-automake-files-for-arm64.patch
273
- - ports/archives/libxml2-2.10.4.tar.xz
274
- - ports/archives/libxslt-1.1.37.tar.xz
272
+ - patches/libxml2/0010-update-config.guess-and-config.sub-for-libxml2.patch
273
+ - patches/libxml2/0011-rip-out-libxml2-s-libc_single_threaded-support.patch
274
+ - patches/libxslt/0001-update-config.guess-and-config.sub-for-libxslt.patch
275
+ - ports/archives/libxml2-2.12.7.tar.xz
276
+ - ports/archives/libxslt-1.1.39.tar.xz
275
277
  homepage: https://nokogiri.org
276
278
  licenses:
277
279
  - MIT
@@ -282,7 +284,7 @@ metadata:
282
284
  changelog_uri: https://nokogiri.org/CHANGELOG.html
283
285
  source_code_uri: https://github.com/sparklemotion/nokogiri
284
286
  rubygems_mfa_required: 'true'
285
- post_install_message:
287
+ post_install_message:
286
288
  rdoc_options:
287
289
  - "--main"
288
290
  - README.md
@@ -292,15 +294,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
292
294
  requirements:
293
295
  - - ">="
294
296
  - !ruby/object:Gem::Version
295
- version: 2.7.0
297
+ version: 3.0.0
296
298
  required_rubygems_version: !ruby/object:Gem::Requirement
297
299
  requirements:
298
300
  - - ">="
299
301
  - !ruby/object:Gem::Version
300
302
  version: '0'
301
303
  requirements: []
302
- rubygems_version: 3.4.10
303
- signing_key:
304
+ rubygems_version: 3.5.10
305
+ signing_key:
304
306
  specification_version: 4
305
307
  summary: Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby.
306
308
  test_files: []