commit chafa for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package chafa for openSUSE:Factory checked in at 2024-07-26 16:16:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/chafa (Old) and /work/SRC/openSUSE:Factory/.chafa.new.1882 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "chafa" Fri Jul 26 16:16:00 2024 rev:22 rq:1189703 version:1.14.2 Changes: -------- --- /work/SRC/openSUSE:Factory/chafa/chafa.changes 2024-06-18 22:52:22.863671610 +0200 +++ /work/SRC/openSUSE:Factory/.chafa.new.1882/chafa.changes 2024-07-26 16:16:26.875994613 +0200 @@ -1,0 +2,9 @@ +Fri Jul 26 05:54:17 UTC 2024 - Michael Vetter <mvetter@suse.com> + +- Update to 1.14.2: + * #203 Chafa 1.14.1 fails to build on i686 + * #205 Symbols mode not working since 1.14.1 + * #206 Crash when importing more than 32767 glyphs + * Fix erroneous base64 encoding of final byte in some circumstances + +------------------------------------------------------------------- Old: ---- chafa-1.14.1.tar.xz New: ---- chafa-1.14.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ chafa.spec ++++++ --- /var/tmp/diff_new_pack.BOke2T/_old 2024-07-26 16:16:27.556021979 +0200 +++ /var/tmp/diff_new_pack.BOke2T/_new 2024-07-26 16:16:27.560022140 +0200 @@ -17,7 +17,7 @@ Name: chafa -Version: 1.14.1 +Version: 1.14.2 Release: 0 Summary: Image-to-text converter for terminal License: LGPL-3.0-or-later ++++++ chafa-1.14.1.tar.xz -> chafa-1.14.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.14.1/Makefile.in new/chafa-1.14.2/Makefile.in --- old/chafa-1.14.1/Makefile.in 2024-06-17 21:52:54.000000000 +0200 +++ new/chafa-1.14.2/Makefile.in 2024-07-26 01:12:03.000000000 +0200 @@ -190,8 +190,8 @@ DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/chafa.pc.in \ $(srcdir)/config.h.in AUTHORS COPYING COPYING.LESSER NEWS \ - README TODO ar-lib compile config.guess config.sub install-sh \ - ltmain.sh missing + README TODO ar-lib compile config.guess config.sub depcomp \ + install-sh ltmain.sh missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.14.1/NEWS new/chafa-1.14.2/NEWS --- old/chafa-1.14.1/NEWS 2024-06-17 06:12:02.000000000 +0200 +++ new/chafa-1.14.2/NEWS 2024-07-26 01:11:51.000000000 +0200 @@ -1,6 +1,19 @@ Chafa releases ============== +1.14.2 (2024-07-26) +------------------- + +This is a bugfix release. github#205 is particularly serious, since it affects +many users on distributions that build with LTO enabled. + +* Bug fixes: + github#203 Chafa 1.14.1 fails to build on i686 (reported by @tranzystorekk). + github#205 Symbols mode not working since 1.14.1 (reported by Folke + Lemaitre). + github#206 Crash when importing more than 32767 glyphs (reported by @stgiga). + [unfiled] Fix erroneous base64 encoding of final byte in some circumstances. + 1.14.1 (2024-06-17) ------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.14.1/chafa/Makefile.am new/chafa-1.14.2/chafa/Makefile.am --- old/chafa-1.14.1/chafa/Makefile.am 2024-06-17 06:12:02.000000000 +0200 +++ new/chafa-1.14.2/chafa/Makefile.am 2024-07-26 01:11:51.000000000 +0200 @@ -9,7 +9,7 @@ noinst_HEADERS = libchafa_la_CFLAGS = $(LIBCHAFA_CFLAGS) $(GLIB_CFLAGS) -DCHAFA_COMPILATION -libchafa_la_LDFLAGS = $(LIBCHAFA_LDFLAGS) -no-undefined -version-info 9:1:9 +libchafa_la_LDFLAGS = $(LIBCHAFA_LDFLAGS) -no-undefined -version-info 9:2:9 libchafa_la_LIBADD = $(GLIB_LIBS) internal/libchafa-internal.la -lm libchafa_la_SOURCES = \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.14.1/chafa/Makefile.in new/chafa-1.14.2/chafa/Makefile.in --- old/chafa-1.14.1/chafa/Makefile.in 2024-06-17 21:52:54.000000000 +0200 +++ new/chafa-1.14.2/chafa/Makefile.in 2024-07-26 01:12:03.000000000 +0200 @@ -449,7 +449,7 @@ # produce documentation. noinst_HEADERS = chafa-term-seq-doc.h chafa-term-seq-doc-in.h libchafa_la_CFLAGS = $(LIBCHAFA_CFLAGS) $(GLIB_CFLAGS) -DCHAFA_COMPILATION -libchafa_la_LDFLAGS = $(LIBCHAFA_LDFLAGS) -no-undefined -version-info 9:1:9 +libchafa_la_LDFLAGS = $(LIBCHAFA_LDFLAGS) -no-undefined -version-info 9:2:9 libchafa_la_LIBADD = $(GLIB_LIBS) internal/libchafa-internal.la -lm libchafa_la_SOURCES = \ chafa-canvas.c \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.14.1/chafa/chafa-symbol-map.c new/chafa-1.14.2/chafa/chafa-symbol-map.c --- old/chafa-1.14.1/chafa/chafa-symbol-map.c 2024-04-10 09:44:02.000000000 +0200 +++ new/chafa-1.14.2/chafa/chafa-symbol-map.c 2024-07-26 01:11:51.000000000 +0200 @@ -1802,6 +1802,9 @@ { Glyph2 *glyph2; + if (g_hash_table_size (symbol_map->glyphs2) >= G_MAXINT - 1) + return; + glyph2 = g_new (Glyph2, 1); glyph2->c = code_point; glyph_to_bitmap_wide (width, height, rowstride, pixel_format, pixels, @@ -1812,6 +1815,9 @@ { Glyph *glyph; + if (g_hash_table_size (symbol_map->glyphs) >= G_MAXINT - 1) + return; + glyph = g_new (Glyph, 1); glyph->c = code_point; glyph->bitmap = glyph_to_bitmap (width, height, rowstride, pixel_format, pixels); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.14.1/chafa/internal/chafa-avx2.c new/chafa-1.14.2/chafa/internal/chafa-avx2.c --- old/chafa-1.14.1/chafa/internal/chafa-avx2.c 2024-06-17 21:49:04.000000000 +0200 +++ new/chafa-1.14.2/chafa/internal/chafa-avx2.c 2024-07-10 22:27:44.000000000 +0200 @@ -21,9 +21,21 @@ #include <emmintrin.h> #include <immintrin.h> +#include <smmintrin.h> #include "chafa.h" #include "internal/chafa-private.h" +/* _mm_extract_epi64() (pextrq) is not available in 32-bit mode. Work around + * it. This needs to be a macro, as the compiler expects an integer constant + * for n. */ +#if defined __x86_64__ && !defined __ILP32__ +# define extract_128_epi64(i, n) _mm_extract_epi64 ((i), (n)) +#else +# define extract_128_epi64(i, n) \ + ((((guint64) _mm_extract_epi32 ((i), (n) * 2 + 1)) << 32) \ + | _mm_extract_epi32 ((i), (n) * 2)) +#endif + gint calc_error_avx2 (const ChafaPixel *pixels, const ChafaColorPair *color_pair, const guint32 *sym_mask_u32) @@ -78,6 +90,7 @@ __m256i accum_bg = { 0 }; __m128i accum_fg_128; __m128i accum_bg_128; + guint64 accums_u64 [2]; gint i; for (i = 0; i < CHAFA_SYMBOL_N_PIXELS / 4; i++) @@ -95,15 +108,17 @@ accum_bg_128 = _mm_add_epi16 (_mm256_extracti128_si256 (accum_bg, 0), _mm256_extracti128_si256 (accum_bg, 1)); - ((guint64 *) accums_out) [0] = - (guint64) _mm_extract_epi64 (accum_bg_128, 0) - + (guint64) _mm_extract_epi64 (accum_bg_128, 1); + accums_u64 [0] = + extract_128_epi64 (accum_bg_128, 0) + + extract_128_epi64 (accum_bg_128, 1); accum_fg_128 = _mm_add_epi16 (_mm256_extracti128_si256 (accum_fg, 0), _mm256_extracti128_si256 (accum_fg, 1)); - ((guint64 *) accums_out) [1] = - (guint64) _mm_extract_epi64 (accum_fg_128, 0) - + (guint64) _mm_extract_epi64 (accum_fg_128, 1); + accums_u64 [1] = + extract_128_epi64 (accum_fg_128, 0) + + extract_128_epi64 (accum_fg_128, 1); + + memcpy (accums_out, accums_u64, 2 * sizeof (guint64)); } /* 32768 divided by index. Divide by zero is defined as zero. */ @@ -137,11 +152,14 @@ chafa_color_accum_div_scalar_avx2 (ChafaColorAccum *accum, guint16 divisor) { __m128i accum_128, divisor_128; + guint64 accum_u64; /* Not using _mm_loadu_si64() here because it's not available on * older versions of GCC. The opcode is the same. */ accum_128 = _mm_loadl_epi64 ((const __m128i *) accum); divisor_128 = _mm_set1_epi16 (invdiv16 [divisor]); accum_128 = _mm_mulhrs_epi16 (accum_128, divisor_128); - *((guint64 *) accum) = _mm_extract_epi64 (accum_128, 0); + + accum_u64 = extract_128_epi64 (accum_128, 0); + memcpy (accum, &accum_u64, sizeof (guint64)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.14.1/chafa/internal/chafa-base64.c new/chafa-1.14.2/chafa/internal/chafa-base64.c --- old/chafa-1.14.1/chafa/internal/chafa-base64.c 2023-09-30 17:17:16.000000000 +0200 +++ new/chafa-1.14.2/chafa/internal/chafa-base64.c 2024-07-07 18:50:59.000000000 +0200 @@ -107,7 +107,9 @@ { g_string_append_c (gs_out, base64_dict [base64->buf [0] >> 2]); g_string_append_c (gs_out, base64_dict [((base64->buf [0] << 4) | (base64->buf [1] >> 4)) & 0x3f]); - g_string_append_c (gs_out, base64_dict [base64->buf [1] & 0x0f]); + g_string_append_c (gs_out, base64_dict [(base64->buf [1] << 2) & 0x3c]); g_string_append_c (gs_out, '='); } + + base64->buf_len = 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.14.1/chafa/internal/chafa-private.h new/chafa-1.14.2/chafa/internal/chafa-private.h --- old/chafa-1.14.1/chafa/internal/chafa-private.h 2024-06-17 06:11:44.000000000 +0200 +++ new/chafa-1.14.2/chafa/internal/chafa-private.h 2024-07-26 01:11:51.000000000 +0200 @@ -84,7 +84,7 @@ typedef struct { - gint16 symbol_index; + gint symbol_index; guint8 hamming_distance; guint8 is_inverted; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.14.1/configure new/chafa-1.14.2/configure --- old/chafa-1.14.1/configure 2024-06-17 21:52:55.000000000 +0200 +++ new/chafa-1.14.2/configure 2024-07-26 01:12:04.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.72 for chafa 1.14.1. +# Generated by GNU Autoconf 2.72 for chafa 1.14.2. # # Report bugs to <hpj@hpjansson.org>. # @@ -614,8 +614,8 @@ # Identity of this package. PACKAGE_NAME='chafa' PACKAGE_TARNAME='chafa' -PACKAGE_VERSION='1.14.1' -PACKAGE_STRING='chafa 1.14.1' +PACKAGE_VERSION='1.14.2' +PACKAGE_STRING='chafa 1.14.2' PACKAGE_BUGREPORT='hpj@hpjansson.org' PACKAGE_URL='' @@ -1470,7 +1470,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -'configure' configures chafa 1.14.1 to adapt to many kinds of systems. +'configure' configures chafa 1.14.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1541,7 +1541,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of chafa 1.14.1:";; + short | recursive ) echo "Configuration of chafa 1.14.2:";; esac cat <<\_ACEOF @@ -1698,7 +1698,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -chafa configure 1.14.1 +chafa configure 1.14.2 generated by GNU Autoconf 2.72 Copyright (C) 2023 Free Software Foundation, Inc. @@ -1961,7 +1961,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by chafa $as_me 1.14.1, which was +It was created by chafa $as_me 1.14.2, which was generated by GNU Autoconf 2.72. Invocation command line was $ $0$ac_configure_args_raw @@ -3255,7 +3255,7 @@ # Define the identity of the package. PACKAGE='chafa' - VERSION='1.14.1' + VERSION='1.14.2' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -3367,8 +3367,8 @@ CHAFA_MAJOR_VERSION=1 CHAFA_MINOR_VERSION=14 -CHAFA_MICRO_VERSION=1 -CHAFA_VERSION=1.14.1 +CHAFA_MICRO_VERSION=2 +CHAFA_VERSION=1.14.2 @@ -3382,7 +3382,7 @@ printf "%s\n" "#define CHAFA_MINOR_VERSION 14" >>confdefs.h -printf "%s\n" "#define CHAFA_MICRO_VERSION 1" >>confdefs.h +printf "%s\n" "#define CHAFA_MICRO_VERSION 2" >>confdefs.h printf "%s\n" "#define CHAFA_VERSION \"$CHAFA_VERSION\"" >>confdefs.h @@ -17921,7 +17921,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by chafa $as_me 1.14.1, which was +This file was extended by chafa $as_me 1.14.2, which was generated by GNU Autoconf 2.72. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -17989,7 +17989,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -chafa config.status 1.14.1 +chafa config.status 1.14.2 configured by $0, generated by GNU Autoconf 2.72, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.14.1/configure.ac new/chafa-1.14.2/configure.ac --- old/chafa-1.14.1/configure.ac 2024-06-17 06:12:02.000000000 +0200 +++ new/chafa-1.14.2/configure.ac 2024-07-26 01:11:51.000000000 +0200 @@ -6,7 +6,7 @@ m4_define([chafa_major_version], [1]) m4_define([chafa_minor_version], [14]) -m4_define([chafa_micro_version], [1]) +m4_define([chafa_micro_version], [2]) m4_define([chafa_version], [chafa_major_version.chafa_minor_version.chafa_micro_version]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.14.1/docs/chafa.1 new/chafa-1.14.2/docs/chafa.1 --- old/chafa-1.14.1/docs/chafa.1 2024-06-17 21:53:09.000000000 +0200 +++ new/chafa-1.14.2/docs/chafa.1 2024-07-13 22:41:42.000000000 +0200 @@ -2,7 +2,7 @@ .\" Title: chafa .\" Author: Hans Petter Jansson .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 06/17/2024 +.\" Date: 07/13/2024 .\" Manual: User Commands .\" Source: chafa .\" Language: English diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.14.1/docs/html/index.html new/chafa-1.14.2/docs/html/index.html --- old/chafa-1.14.1/docs/html/index.html 2024-06-17 21:53:15.000000000 +0200 +++ new/chafa-1.14.2/docs/html/index.html 2024-07-26 01:12:16.000000000 +0200 @@ -15,7 +15,7 @@ <div> <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">Chafa Reference Manual</p></th></tr></table></div> <div><p class="releaseinfo"> - For Chafa version 1.14.1 + For Chafa version 1.14.2 . The latest version of this documentation can be found online at <a class="ulink" href="https://hpjansson.org/chafa/ref/index.html" target="_top">https://hpjansson.org/chafa/ref/</a>.
participants (1)
-
Source-Sync