From: Jeremy Evans Subject: Update: textproc/ruby-nokogiri 1.19.4 To: OpenBSD ports Date: Mon, 7 Sep 2026 23:15:49 -0700 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