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