pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/textproc/ruby-diff-lcs
Module Name: pkgsrc
Committed By: taca
Date: Tue Feb 3 15:43:31 UTC 2026
Modified Files:
pkgsrc/textproc/ruby-diff-lcs: Makefile PLIST distinfo
Log Message:
textproc/ruby-diff-lcs: update to 2.0.0
2.0.0 (2026-02-01)
This release has significant breaking changes.
* diff-lcs 2 supports Ruby 3.2 or higher. This allowed:
- readability improvements (endless methods, pattern matching);
- support for immutable Data classes (Diff::LCS::Block,
Diff::LCS::Change, and Diff::LCS::ContextChange);
- removal of compatibility shims;
- reduction in conditional tests in loops, especially for String
character extraction (compare string ? seq[i, 1] : seq[i] to
seq[i]); and
- optimizations to string and relying on standard encoding support
present since Ruby 2.1.
The primary API (methods and class methods on Diff::LCS) has not changed,
with one exception noted below. Internal APIs (including
Diff::LCS::Block, Diff::LCS::Change, Diff::LCS::ContextChange, and
Diff::LCS::Hunk) have changed for compatibility.
* The htmldiff binary and supporting code have been removed without
replacement.
* ldiff no longer supports ed-script output (ed and reverse_ed formats). As
Baptiste Courtois says in #108, the "implementation was broken for a while
and no-one reported it."
* The method Diff::LCS.LCS has been removed as an alias for Diff::LCS.lcs.
Most callers are using Diff::LCS.lcs and modern Ruby did-you-mean support
should assist with this update.
* Diff::LCS::Change objects implemented the comparison operator (<=>)
incorrectly. Comparisons are now done so that the position is compared
first, then the action (by index of VALID_ACTIONS), and finally the
element. Diff::LCS::ContextChange works similarly, comparing the old and
new positions prior to comparing the actions by index.
The order of VALID_ACTIONS was changed for the index order to make sense.
* ldiff now implements - as a filename option for standard input. This is
used for integration testing with RSpec like this:
rspec -Ilib -rdiff/lcs integration/failure/array_diff_spec.rb 2>&1 |
ruby -Ilib bin/ldiff -U integration/golden/array_diff.txt -
* diff-lcs no longer uses RSpec as its test suite, but instead uses
Minitest. The conversion to Minitest and the new RSpec integration tests
(rake integration) were written with the assistance of Kiro and verified
manually, with portions changed as required.
To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 pkgsrc/textproc/ruby-diff-lcs/Makefile
cvs rdiff -u -r1.11 -r1.12 pkgsrc/textproc/ruby-diff-lcs/PLIST
cvs rdiff -u -r1.14 -r1.15 pkgsrc/textproc/ruby-diff-lcs/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/textproc/ruby-diff-lcs/Makefile
diff -u pkgsrc/textproc/ruby-diff-lcs/Makefile:1.27 pkgsrc/textproc/ruby-diff-lcs/Makefile:1.28
--- pkgsrc/textproc/ruby-diff-lcs/Makefile:1.27 Sun May 18 03:48:16 2025
+++ pkgsrc/textproc/ruby-diff-lcs/Makefile Tue Feb 3 15:43:31 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.27 2025/05/18 03:48:16 taca Exp $
+# $NetBSD: Makefile,v 1.28 2026/02/03 15:43:31 taca Exp $
-DISTNAME= diff-lcs-1.6.2
+DISTNAME= diff-lcs-2.0.0
CATEGORIES= textproc
MAINTAINER= pkgsrc-users%NetBSD.org@localhost
Index: pkgsrc/textproc/ruby-diff-lcs/PLIST
diff -u pkgsrc/textproc/ruby-diff-lcs/PLIST:1.11 pkgsrc/textproc/ruby-diff-lcs/PLIST:1.12
--- pkgsrc/textproc/ruby-diff-lcs/PLIST:1.11 Sun May 18 03:48:16 2025
+++ pkgsrc/textproc/ruby-diff-lcs/PLIST Tue Feb 3 15:43:31 2026
@@ -1,8 +1,6 @@
-@comment $NetBSD: PLIST,v 1.11 2025/05/18 03:48:16 taca Exp $
-bin/htmldiff${RUBY_SUFFIX}
+@comment $NetBSD: PLIST,v 1.12 2026/02/03 15:43:31 taca Exp $
bin/ldiff${RUBY_SUFFIX}
${GEM_HOME}/cache/${GEM_NAME}.gem
-${GEM_LIBDIR}/.rspec
${GEM_LIBDIR}/CHANGELOG.md
${GEM_LIBDIR}/CODE_OF_CONDUCT.md
${GEM_LIBDIR}/CONTRIBUTING.md
@@ -12,102 +10,29 @@ ${GEM_LIBDIR}/Manifest.txt
${GEM_LIBDIR}/README.md
${GEM_LIBDIR}/Rakefile
${GEM_LIBDIR}/SECURITY.md
-${GEM_LIBDIR}/bin/htmldiff
${GEM_LIBDIR}/bin/ldiff
-${GEM_LIBDIR}/docs/COPYING.txt
-${GEM_LIBDIR}/docs/artistic.txt
+${GEM_LIBDIR}/integration/compare/array_diff_spec.rb
+${GEM_LIBDIR}/integration/compare/hash_diff_spec.rb
+${GEM_LIBDIR}/integration/compare/string_diff_spec.rb
+${GEM_LIBDIR}/integration/rspec_differ_spec.rb
+${GEM_LIBDIR}/integration/rspec_expectations_spec.rb
+${GEM_LIBDIR}/integration/runner
${GEM_LIBDIR}/lib/diff-lcs.rb
${GEM_LIBDIR}/lib/diff/lcs.rb
${GEM_LIBDIR}/lib/diff/lcs/array.rb
-${GEM_LIBDIR}/lib/diff/lcs/backports.rb
${GEM_LIBDIR}/lib/diff/lcs/block.rb
${GEM_LIBDIR}/lib/diff/lcs/callbacks.rb
${GEM_LIBDIR}/lib/diff/lcs/change.rb
-${GEM_LIBDIR}/lib/diff/lcs/htmldiff.rb
${GEM_LIBDIR}/lib/diff/lcs/hunk.rb
${GEM_LIBDIR}/lib/diff/lcs/internals.rb
${GEM_LIBDIR}/lib/diff/lcs/ldiff.rb
${GEM_LIBDIR}/lib/diff/lcs/string.rb
${GEM_LIBDIR}/lib/diff/lcs/version.rb
-${GEM_LIBDIR}/mise.toml
+${GEM_LIBDIR}/licenses/COPYING.txt
+${GEM_LIBDIR}/licenses/artistic.txt
+${GEM_LIBDIR}/licenses/dco.txt
${GEM_LIBDIR}/spec/change_spec.rb
${GEM_LIBDIR}/spec/diff_spec.rb
-${GEM_LIBDIR}/spec/fixtures/123_x
-${GEM_LIBDIR}/spec/fixtures/456_x
-${GEM_LIBDIR}/spec/fixtures/aX
-${GEM_LIBDIR}/spec/fixtures/bXaX
-${GEM_LIBDIR}/spec/fixtures/ds1.csv
-${GEM_LIBDIR}/spec/fixtures/ds2.csv
-${GEM_LIBDIR}/spec/fixtures/empty
-${GEM_LIBDIR}/spec/fixtures/file1.bin
-${GEM_LIBDIR}/spec/fixtures/file2.bin
-${GEM_LIBDIR}/spec/fixtures/four_lines
-${GEM_LIBDIR}/spec/fixtures/four_lines_with_missing_new_line
-${GEM_LIBDIR}/spec/fixtures/ldiff/diff.missing_new_line1-e
-${GEM_LIBDIR}/spec/fixtures/ldiff/diff.missing_new_line1-f
-${GEM_LIBDIR}/spec/fixtures/ldiff/diff.missing_new_line2-e
-${GEM_LIBDIR}/spec/fixtures/ldiff/diff.missing_new_line2-f
-${GEM_LIBDIR}/spec/fixtures/ldiff/error.diff.chef-e
-${GEM_LIBDIR}/spec/fixtures/ldiff/error.diff.chef-f
-${GEM_LIBDIR}/spec/fixtures/ldiff/error.diff.missing_new_line1-e
-${GEM_LIBDIR}/spec/fixtures/ldiff/error.diff.missing_new_line1-f
-${GEM_LIBDIR}/spec/fixtures/ldiff/error.diff.missing_new_line2-e
-${GEM_LIBDIR}/spec/fixtures/ldiff/error.diff.missing_new_line2-f
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff-c
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff-e
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff-f
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff-u
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.bin1
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.bin1-c
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.bin1-e
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.bin1-f
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.bin1-u
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.bin2
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.bin2-c
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.bin2-e
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.bin2-f
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.bin2-u
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.chef
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.chef-c
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.chef-e
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.chef-f
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.chef-u
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.chef2
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.chef2-c
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.chef2-d
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.chef2-e
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.chef2-f
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.chef2-u
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.empty.vs.four_lines
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-c
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-e
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-f
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-u
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.four_lines.vs.empty
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-c
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-e
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-f
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-u
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.issue95_trailing_context
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.issue95_trailing_context-c
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.issue95_trailing_context-e
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.issue95_trailing_context-f
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.issue95_trailing_context-u
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.missing_new_line1
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.missing_new_line1-c
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.missing_new_line1-e
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.missing_new_line1-f
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.missing_new_line1-u
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.missing_new_line2
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.missing_new_line2-c
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.missing_new_line2-e
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.missing_new_line2-f
-${GEM_LIBDIR}/spec/fixtures/ldiff/output.diff.missing_new_line2-u
-${GEM_LIBDIR}/spec/fixtures/new-chef
-${GEM_LIBDIR}/spec/fixtures/new-chef2
-${GEM_LIBDIR}/spec/fixtures/old-chef
-${GEM_LIBDIR}/spec/fixtures/old-chef2
${GEM_LIBDIR}/spec/hunk_spec.rb
${GEM_LIBDIR}/spec/issues_spec.rb
${GEM_LIBDIR}/spec/lcs_spec.rb
@@ -117,4 +42,86 @@ ${GEM_LIBDIR}/spec/sdiff_spec.rb
${GEM_LIBDIR}/spec/spec_helper.rb
${GEM_LIBDIR}/spec/traverse_balanced_spec.rb
${GEM_LIBDIR}/spec/traverse_sequences_spec.rb
+${GEM_LIBDIR}/test/fixtures/123_x
+${GEM_LIBDIR}/test/fixtures/456_x
+${GEM_LIBDIR}/test/fixtures/aX
+${GEM_LIBDIR}/test/fixtures/bXaX
+${GEM_LIBDIR}/test/fixtures/ds1.csv
+${GEM_LIBDIR}/test/fixtures/ds2.csv
+${GEM_LIBDIR}/test/fixtures/empty
+${GEM_LIBDIR}/test/fixtures/file1.bin
+${GEM_LIBDIR}/test/fixtures/file2.bin
+${GEM_LIBDIR}/test/fixtures/four_lines
+${GEM_LIBDIR}/test/fixtures/four_lines_with_missing_new_line
+${GEM_LIBDIR}/test/fixtures/ldiff/diff.missing_new_line1-e
+${GEM_LIBDIR}/test/fixtures/ldiff/diff.missing_new_line1-f
+${GEM_LIBDIR}/test/fixtures/ldiff/diff.missing_new_line2-e
+${GEM_LIBDIR}/test/fixtures/ldiff/diff.missing_new_line2-f
+${GEM_LIBDIR}/test/fixtures/ldiff/error.diff.chef-e
+${GEM_LIBDIR}/test/fixtures/ldiff/error.diff.chef-f
+${GEM_LIBDIR}/test/fixtures/ldiff/error.diff.missing_new_line1-e
+${GEM_LIBDIR}/test/fixtures/ldiff/error.diff.missing_new_line1-f
+${GEM_LIBDIR}/test/fixtures/ldiff/error.diff.missing_new_line2-e
+${GEM_LIBDIR}/test/fixtures/ldiff/error.diff.missing_new_line2-f
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff-c
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff-u
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.bin1
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.bin1-c
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.bin1-e
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.bin1-f
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.bin1-u
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.bin2
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.bin2-c
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.bin2-e
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.bin2-f
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.bin2-u
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.chef
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.chef-c
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.chef-u
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.chef2
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.chef2-c
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.chef2-d
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.chef2-u
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.empty.vs.four_lines
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.empty.vs.four_lines-c
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.empty.vs.four_lines-e
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.empty.vs.four_lines-f
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.empty.vs.four_lines-u
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.four_lines.vs.empty
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.four_lines.vs.empty-c
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.four_lines.vs.empty-e
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.four_lines.vs.empty-f
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.four_lines.vs.empty-u
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.issue95_trailing_context
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.issue95_trailing_context-c
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.issue95_trailing_context-e
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.issue95_trailing_context-f
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.issue95_trailing_context-u
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.missing_new_line1
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.missing_new_line1-c
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.missing_new_line1-e
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.missing_new_line1-f
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.missing_new_line1-u
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.missing_new_line2
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.missing_new_line2-c
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.missing_new_line2-e
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.missing_new_line2-f
+${GEM_LIBDIR}/test/fixtures/ldiff/output.diff.missing_new_line2-u
+${GEM_LIBDIR}/test/fixtures/new-chef
+${GEM_LIBDIR}/test/fixtures/new-chef2
+${GEM_LIBDIR}/test/fixtures/old-chef
+${GEM_LIBDIR}/test/fixtures/old-chef2
+${GEM_LIBDIR}/test/test_block.rb
+${GEM_LIBDIR}/test/test_change.rb
+${GEM_LIBDIR}/test/test_diff.rb
+${GEM_LIBDIR}/test/test_helper.rb
+${GEM_LIBDIR}/test/test_hunk.rb
+${GEM_LIBDIR}/test/test_issues.rb
+${GEM_LIBDIR}/test/test_lcs.rb
+${GEM_LIBDIR}/test/test_ldiff.rb
+${GEM_LIBDIR}/test/test_patch.rb
+${GEM_LIBDIR}/test/test_sdiff.rb
+${GEM_LIBDIR}/test/test_traverse_balanced.rb
+${GEM_LIBDIR}/test/test_traverse_sequences.rb
${GEM_HOME}/specifications/${GEM_NAME}.gemspec
Index: pkgsrc/textproc/ruby-diff-lcs/distinfo
diff -u pkgsrc/textproc/ruby-diff-lcs/distinfo:1.14 pkgsrc/textproc/ruby-diff-lcs/distinfo:1.15
--- pkgsrc/textproc/ruby-diff-lcs/distinfo:1.14 Sun May 18 03:48:16 2025
+++ pkgsrc/textproc/ruby-diff-lcs/distinfo Tue Feb 3 15:43:31 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.14 2025/05/18 03:48:16 taca Exp $
+$NetBSD: distinfo,v 1.15 2026/02/03 15:43:31 taca Exp $
-BLAKE2s (diff-lcs-1.6.2.gem) = 884b6999901205ed5d363fb872f0bc6da6e255330402e3881fb21ac13fe9c820
-SHA512 (diff-lcs-1.6.2.gem) = 0cfaae5b02784dfb17906afe3f044aa58cedb866b4d07229fec8c0859d78c03d24eaba37a951d1a0cc85df63a4132c46a600953ff3a80cd0830ad07e687f8894
-Size (diff-lcs-1.6.2.gem) = 59392 bytes
+BLAKE2s (diff-lcs-2.0.0.gem) = f16da0252138ce63f60d1b1cb3b20232b3ea2ffe6493a930ec04a47bf9a3137c
+SHA512 (diff-lcs-2.0.0.gem) = 228fb7558bbdac3ae6d29a0f72989e9889052b6ecc39570b1f287aa9b6b4224ac80e513491886e25a12c6c60fb1aa0aeb8fba36adeeb659d7b1614b02a648ccd
+Size (diff-lcs-2.0.0.gem) = 70144 bytes
Home |
Main Index |
Thread Index |
Old Index