Update to the latest version of the nokogiri gem. Changelog at
https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md
Regen patches while here. Drop unneeded extension source code from
the package, which was reintroduced during a WANTLIB change in March
2025.
Tested on amd64. Dependencies still build with it. I plan to commit
in a couple days unless there are objections.
Best,
Jeremy
Index: Makefile
===================================================================
RCS file: /cvs/ports/textproc/ruby-nokogiri/Makefile,v
diff -u -p -u -p -r1.46 Makefile
--- Makefile 2 Jul 2025 05:19:32 -0000 1.46
+++ Makefile 7 Sep 2026 16:31:28 -0000
@@ -1,6 +1,6 @@
COMMENT= HTML, XML, SAX and Reader parser
-DISTNAME= nokogiri-1.18.8
+DISTNAME= nokogiri-1.19.4
CATEGORIES= textproc
Index: distinfo
===================================================================
RCS file: /cvs/ports/textproc/ruby-nokogiri/distinfo,v
diff -u -p -u -p -r1.22 distinfo
--- distinfo 2 Jul 2025 05:19:32 -0000 1.22
+++ distinfo 7 Sep 2026 16:31:45 -0000
@@ -1,2 +1,2 @@
-SHA256 (nokogiri-1.18.8.gem) = jHRkh12cp/cQgMJMDbe8qjlA6L48b8S868z4uaABY2U=
-SIZE (nokogiri-1.18.8.gem) = 4363264
+SHA256 (nokogiri-1.19.4.gem) = UMlRYRySvKBcUUEa70Xxy8UPKCHEgCdYxcbTRpZTOrU=
+SIZE (nokogiri-1.19.4.gem) = 4369408
Index: patches/patch-_metadata
===================================================================
RCS file: /cvs/ports/textproc/ruby-nokogiri/patches/patch-_metadata,v
diff -u -p -u -p -r1.8 patch-_metadata
--- patches/patch-_metadata 1 Sep 2023 21:05:28 -0000 1.8
+++ patches/patch-_metadata 7 Sep 2026 16:32:02 -0000
@@ -4,7 +4,7 @@ the extension.
Index: .metadata
--- .metadata.orig
+++ .metadata
-@@ -29,7 +29,7 @@ dependencies:
+@@ -28,7 +28,7 @@ dependencies:
- - "~>"
- !ruby/object:Gem::Version
version: 2.8.2
Index: patches/patch-lib_nokogiri_version_info_rb
===================================================================
RCS file:
/cvs/ports/textproc/ruby-nokogiri/patches/patch-lib_nokogiri_version_info_rb,v
diff -u -p -u -p -r1.1 patch-lib_nokogiri_version_info_rb
--- patches/patch-lib_nokogiri_version_info_rb 4 Jun 2024 17:45:18 -0000
1.1
+++ patches/patch-lib_nokogiri_version_info_rb 7 Sep 2026 16:32:06 -0000
@@ -6,7 +6,7 @@ when there are security patches to libxm
Index: lib/nokogiri/version/info.rb
--- lib/nokogiri/version/info.rb.orig
+++ lib/nokogiri/version/info.rb
-@@ -72,6 +72,7 @@ module Nokogiri
+@@ -80,6 +80,7 @@ module Nokogiri
def warnings
warnings = []
@@ -14,7 +14,7 @@ Index: lib/nokogiri/version/info.rb
if libxml2?
if compiled_libxml_version != loaded_libxml_version
warnings << "Nokogiri was built against libxml version
#{compiled_libxml_version}, but has dynamically loaded #{loaded_libxml_version}"
-@@ -81,6 +82,7 @@ module Nokogiri
+@@ -89,6 +90,7 @@ module Nokogiri
warnings << "Nokogiri was built against libxslt version
#{compiled_libxslt_version}, but has dynamically loaded
#{loaded_libxslt_version}"
end
end
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/textproc/ruby-nokogiri/pkg/PLIST,v
diff -u -p -u -p -r1.23 PLIST
--- pkg/PLIST 2 Jul 2025 05:19:32 -0000 1.23
+++ pkg/PLIST 7 Sep 2026 16:33:08 -0000
@@ -1,10 +1,4 @@
${GEM_BIN}/nokogiri${GEM_BIN_SUFFIX}
-${GEM_LIB}/build_info/${DISTNAME}.info
-${GEM_LIB}/cache/${DISTNAME}.gem
-${GEM_EXTENSIONS_DIR}/gem_make.out
-${GEM_EXTENSIONS_DIR}/mkmf.log
-${GEM_EXTENSIONS_DIR}/nokogiri/
-@so ${GEM_EXTENSIONS_DIR}/nokogiri/nokogiri.so
${GEM_LIB}/gems/${DISTNAME}/
${GEM_LIB}/gems/${DISTNAME}/Gemfile
${GEM_LIB}/gems/${DISTNAME}/LICENSE-DEPENDENCIES.md
@@ -13,161 +7,6 @@ ${GEM_LIB}/gems/${DISTNAME}/README.md
${GEM_LIB}/gems/${DISTNAME}/bin/
${GEM_LIB}/gems/${DISTNAME}/bin/nokogiri
${GEM_LIB}/gems/${DISTNAME}/dependencies.yml
-${GEM_LIB}/gems/${DISTNAME}/ext/
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/.sitearchdir.-.nokogiri.time
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/Makefile
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/depend
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/extconf.rb
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/gumbo.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/gumbo.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/html4_document.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/html4_document.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/html4_element_description.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/html4_element_description.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/html4_entity_lookup.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/html4_entity_lookup.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/html4_sax_parser.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/html4_sax_parser.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/html4_sax_parser_context.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/html4_sax_parser_context.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/html4_sax_push_parser.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/html4_sax_push_parser.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/libxml2_polyfill.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/libxml2_polyfill.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/nokogiri.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/nokogiri.h
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/nokogiri.o
-@so ${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/nokogiri.so
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/libgumbo-1.0.0-nokogiri-${MODRUBY_ARCH}.installed
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/include/
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/include/ascii.h
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/include/attribute.h
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/include/char_ref.h
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/include/error.h
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/include/insertion_mode.h
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/include/macros.h
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/include/nokogiri_gumbo.h
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/include/parser.h
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/include/replacement.h
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/include/string_buffer.h
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/include/tag_lookup.h
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/include/token_buffer.h
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/include/token_type.h
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/include/tokenizer.h
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/include/tokenizer_states.h
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/include/utf8.h
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/include/util.h
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/include/vector.h
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/lib/
-@static-lib
${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/ports/${MODRUBY_ARCH}/libgumbo/1.0.0-nokogiri/lib/libgumbo.a
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/test_global_handlers.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/test_global_handlers.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/tmp/
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/tmp/x86_64-unknown-openbsd7.7/
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_attr.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_attr.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_attribute_decl.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_attribute_decl.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_cdata.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_cdata.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_comment.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_comment.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_document.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_document.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_document_fragment.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_document_fragment.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_dtd.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_dtd.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_element_content.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_element_content.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_element_decl.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_element_decl.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_encoding_handler.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_encoding_handler.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_entity_decl.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_entity_decl.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_entity_reference.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_entity_reference.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_namespace.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_namespace.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_node.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_node.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_node_set.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_node_set.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_processing_instruction.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_processing_instruction.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_reader.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_reader.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_relax_ng.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_relax_ng.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_sax_parser.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_sax_parser.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_sax_parser_context.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_sax_parser_context.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_sax_push_parser.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_sax_push_parser.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_schema.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_schema.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_syntax_error.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_syntax_error.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_text.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_text.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_xpath_context.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xml_xpath_context.o
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xslt_stylesheet.c
-${GEM_LIB}/gems/${DISTNAME}/ext/nokogiri/xslt_stylesheet.o
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/CHANGES.md
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/Makefile
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/THANKS
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/Makefile
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/README.md
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/ascii.c
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/ascii.h
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/attribute.c
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/attribute.h
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/char_ref.c
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/char_ref.h
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/char_ref.rl
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/error.c
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/error.h
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/foreign_attrs.c
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/foreign_attrs.gperf
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/insertion_mode.h
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/macros.h
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/nokogiri_gumbo.h
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/parser.c
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/parser.h
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/replacement.h
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/string_buffer.c
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/string_buffer.h
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/string_piece.c
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/svg_attrs.c
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/svg_attrs.gperf
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/svg_tags.c
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/svg_tags.gperf
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/tag.c
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/tag_lookup.c
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/tag_lookup.gperf
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/tag_lookup.h
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/token_buffer.c
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/token_buffer.h
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/token_type.h
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/tokenizer.c
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/tokenizer.h
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/tokenizer_states.h
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/utf8.c
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/utf8.h
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/util.c
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/util.h
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/vector.c
-${GEM_LIB}/gems/${DISTNAME}/gumbo-parser/src/vector.h
${GEM_LIB}/gems/${DISTNAME}/lib/
${GEM_LIB}/gems/${DISTNAME}/lib/nokogiri/
${GEM_LIB}/gems/${DISTNAME}/lib/nokogiri.rb