Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ghc-vty for openSUSE:Factory checked in at 2025-07-31 17:45:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-vty (Old) and /work/SRC/openSUSE:Factory/.ghc-vty.new.1944 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-vty" Thu Jul 31 17:45:41 2025 rev:17 rq:1296454 version:6.4 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-vty/ghc-vty.changes 2025-03-03 16:05:14.283523120 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-vty.new.1944/ghc-vty.changes 2025-07-31 17:46:45.285536096 +0200 @@ -1,0 +2,9 @@ +Sun Mar 9 02:34:20 UTC 2025 - Peter Simons <psim...@suse.com> + +- Update vty to version 6.4. + Upstream has edited the change log file since the last release in + a non-trivial way, i.e. they did more than just add a new entry + at the top. You can review the file at: + http://hackage.haskell.org/package/vty-6.4/src/CHANGELOG.md + +------------------------------------------------------------------- Old: ---- vty-6.2.tar.gz New: ---- vty-6.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-vty.spec ++++++ --- /var/tmp/diff_new_pack.Hyqe9B/_old 2025-07-31 17:46:46.865601767 +0200 +++ /var/tmp/diff_new_pack.Hyqe9B/_new 2025-07-31 17:46:46.869601934 +0200 @@ -19,7 +19,7 @@ %global pkg_name vty %global pkgver %{pkg_name}-%{version} Name: ghc-%{pkg_name} -Version: 6.2 +Version: 6.4 Release: 0 Summary: A simple terminal UI library License: BSD-3-Clause @@ -63,12 +63,8 @@ Vty is terminal GUI library in the niche of ncurses. It is intended to be easy to use and to provide good support for common terminal types. -See the 'vty-examples' package as well as the program -'examples/interactive_terminal_test.hs' included in the 'vty' repository for -examples on how to use the library. - -Import the 'Graphics.Vty' convenience module to get access to the core parts of -the library. +See the example programs in the 'vty-crossplatform' package examples on how to +use the library. © 2006-2007 Stefan O'Rear; BSD3 license. @@ -104,7 +100,6 @@ %prep %autosetup -n %{pkg_name}-%{version} -cabal-tweak-dep-ver microlens '< 0.4.14' '< 5' %build %ghc_lib_build ++++++ vty-6.2.tar.gz -> vty-6.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vty-6.2/CHANGELOG.md new/vty-6.4/CHANGELOG.md --- old/vty-6.2/CHANGELOG.md 2001-09-09 03:46:40.000000000 +0200 +++ new/vty-6.4/CHANGELOG.md 2001-09-09 03:46:40.000000000 +0200 @@ -1,4 +1,23 @@ +6.4 +--- + +* Updated the behavior of character width computations when a custom + character width table has been installed. Now when a custom character + width table doesn't provide a width for a character, rather than + defaulting to 1 column, the built-in table is consulted. This change + shouldn't affect users using width tables generated by `vty-unix`'s + table-building tool since that tool generates tables that will provide + widths for all supported characters. + +6.3 +--- + +* Raise microlens upper bound to build with 0.4.14 (#278) +* Updated other bounds to permit building with GHC 9.12 (thanks Erik de + Catro Lopo) +* Removed defunct examples from project + 6.2 --- @@ -126,8 +145,14 @@ IO ()`, for logging to the Vty log. * `Graphics.Vty.Config` now exposes `VtyUserConfig` instead of `Config`. Many of its fields were Unix-specific and were - consequently moved to the `UnixSettings` type in `vty-unix`. + consequently moved to the `UnixSettings` type in `vty-unix` and + given a `settings` prefix. This includes `outputFd`, `inputFd`, + `vmin`, `vtime`, and `termName`. * The `VtyUserConfig` type's fields got a `config` field name prefix. + * `inputForConfig` was moved to `vty-unix` as `buildInput` but + generally should not be needed and is exposed only for testing. + * `outputForConfig` was moved to `vty-unix` as `buildOutput` but + generally should not be needed and is exposed only for testing. * Behavior changes: * Since `vty` no longer implements `mkVty`, the Vty user configuration is no longer implicitly loaded by Vty-based applications. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vty-6.2/cbits/mk_wcwidth.c new/vty-6.4/cbits/mk_wcwidth.c --- old/vty-6.2/cbits/mk_wcwidth.c 2001-09-09 03:46:40.000000000 +0200 +++ new/vty-6.4/cbits/mk_wcwidth.c 2001-09-09 03:46:40.000000000 +0200 @@ -72,6 +72,9 @@ // built-in tree search logic is used. static uint8_t* custom_table = NULL; +// Unused table cell value. +static uint8_t UNUSED_CELL = 0xff; + // The size of the custom table, in entries. This should only be set // if custom_table is not NULL. Its value should be the size of the // custom_table array. @@ -228,14 +231,24 @@ // Return the width, in terminal cells, of the specified character. // // If the global custom width table is present, that table will be -// consulted for the character's width. If the character is not in -// the table, zero will be returned. If the custom width table is not -// present, the built-in width table will be used. +// consulted for the character's width. If the character is not in the +// table, this will fall back to the built-in table. If the character is +// in neither table, zero will be returned. If the custom width table is +// not present, the built-in width table will be used. HsInt vty_mk_wcwidth(HsChar ch) { if (custom_table_ready) { if ((ch >= 0) && (ch < custom_table_size)) { - return custom_table[ch]; + uint8_t result = custom_table[ch]; + + // The table is filled with UNUSED_CELL values for + // uninitialized ranges so we can defer to the built-in + // table in those cases. + if (result == UNUSED_CELL) { + return builtin_wcwidth(ch); + } else { + return result; + } } else { return -1; } @@ -249,7 +262,7 @@ // This allocates a new character width table of the specified size // (in characters). If a custom table has already been allocated, this // returns 1. Otherwise it allocates a new table, initializes all of its -// entries to 1, and returns zero. +// entries to UNUSED_CELL, and returns zero. // // Note that this does *not* mark the table as ready for use. Until the // table is marked ready, it will not be used by vty_mk_wcwidth. To mark @@ -261,7 +274,7 @@ if (size > 0 && size <= MAX_CUSTOM_TABLE_SIZE) { custom_table_ready = 0; custom_table = malloc(size); - memset(custom_table, 1, size); + memset(custom_table, UNUSED_CELL, size); custom_table_size = size; return 0; } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vty-6.2/vty.cabal new/vty-6.4/vty.cabal --- old/vty-6.2/vty.cabal 2001-09-09 03:46:40.000000000 +0200 +++ new/vty-6.4/vty.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -1,5 +1,5 @@ name: vty -version: 6.2 +version: 6.4 license: BSD3 license-file: LICENSE author: AUTHORS @@ -11,12 +11,8 @@ vty is terminal GUI library in the niche of ncurses. It is intended to be easy to use and to provide good support for common terminal types. . - See the @vty-examples@ package as well as the program - @examples/interactive_terminal_test.hs@ included in the @vty@ - repository for examples on how to use the library. - . - Import the @Graphics.Vty@ convenience module to get access to the core - parts of the library. + See the example programs in the @vty-crossplatform@ package examples + on how to use the library. . © 2006-2007 Stefan O'Rear; BSD3 license. . @@ -29,7 +25,9 @@ AUTHORS, CHANGELOG.md, LICENSE -tested-with: GHC==8.0.2, GHC==8.2.2, GHC==8.4.3, GHC==8.6.5, GHC==8.8.4, GHC==8.10.7, GHC==9.0.2, GHC==9.2.8, GHC==9.4.5, GHC==9.6.2 +tested-with: GHC==8.0.2, GHC==8.2.2, GHC==8.4.3, GHC==8.6.5, GHC==8.8.4, GHC==8.10.7, + GHC==9.0.2, GHC==9.2.8, GHC==9.4.8, GHC==9.6.6, GHC==9.8.4, GHC==9.10.1, + GHC==9.12.1 source-repository head type: git @@ -45,7 +43,7 @@ blaze-builder >= 0.3.3.2 && < 0.5, bytestring, deepseq >= 1.1 && < 1.6, - microlens < 0.4.14, + microlens < 0.4.15, microlens-mtl, mtl >= 1.1.1.0 && < 2.4, stm,