Hello community,

here is the log from the commit of package chafa for openSUSE:Factory checked 
in at 2019-08-20 11:00:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/chafa (Old)
 and      /work/SRC/openSUSE:Factory/.chafa.new.22127 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "chafa"

Tue Aug 20 11:00:04 2019 rev:2 rq:724705 version:1.2.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/chafa/chafa.changes      2019-08-19 
21:27:11.724648649 +0200
+++ /work/SRC/openSUSE:Factory/.chafa.new.22127/chafa.changes   2019-08-20 
11:00:09.604646666 +0200
@@ -1,0 +2,10 @@
+Tue Aug 20 07:23:02 UTC 2019 - [email protected]
+
+- Update to 1.2.1:
+  * Detect kitty and mlterm virtual terminals and apply optimal
+    defaults accordingly
+  * Make Automake build more strict and fix a few compatibility nits
+  * Fix #30 - Failed to build on hurd-i386
+  * Fix crash on certain broken GIFs
+
+-------------------------------------------------------------------

Old:
----
  chafa-1.2.0.tar.xz

New:
----
  chafa-1.2.1.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ chafa.spec ++++++
--- /var/tmp/diff_new_pack.vkHBRG/_old  2019-08-20 11:00:11.096646355 +0200
+++ /var/tmp/diff_new_pack.vkHBRG/_new  2019-08-20 11:00:11.096646355 +0200
@@ -12,12 +12,12 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via https://bugs.opensuse.org/
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
 
 Name:           chafa
-Version:        1.2.0
+Version:        1.2.1
 Release:        0
 Summary:        Image-to-text converter for terminal
 License:        LGPL-3.0-or-later

++++++ chafa-1.2.0.tar.xz -> chafa-1.2.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chafa-1.2.0/AUTHORS new/chafa-1.2.1/AUTHORS
--- old/chafa-1.2.0/AUTHORS     2018-12-16 16:57:49.000000000 +0100
+++ new/chafa-1.2.1/AUTHORS     2019-08-15 03:46:51.000000000 +0200
@@ -7,11 +7,12 @@
 
 git log --pretty="format:%an <%ae>" | sort -f | uniq
 
-Per 2018-12-13, this yields the following (sans duplicates):
+Per 2019-08-08, this yields the following (sans duplicates):
 
 alkahest <[email protected]>
 Felix Yan <[email protected]>
 Hans Petter Jansson <[email protected]>
+Michael Vetter <[email protected]>
 Mo Zhou <[email protected]>
 Ricardo Arguello <[email protected]>
 Robert-AndrĂ© Mauchin <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chafa-1.2.0/Makefile.am new/chafa-1.2.1/Makefile.am
--- old/chafa-1.2.0/Makefile.am 2019-08-02 17:51:25.000000000 +0200
+++ new/chafa-1.2.1/Makefile.am 2019-08-15 03:44:50.000000000 +0200
@@ -9,9 +9,9 @@
 pkgconfig_DATA = chafa.pc
 
 all-local:
-       $(info )
-       $(info ---)
-       $(info --- Success! You can now run tools/chafa/chafa, or install 
everything)
-       $(info --- using "make install" or "sudo make install".)
-       $(info ---)
-       $(info )
+       @echo
+       @echo ---
+       @echo --- Success! You can now run tools/chafa/chafa, or install 
everything
+       @echo --- using "make install" or "sudo make install".
+       @echo ---
+       @echo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chafa-1.2.0/Makefile.in new/chafa-1.2.1/Makefile.in
--- old/chafa-1.2.0/Makefile.in 2019-08-04 20:16:30.000000000 +0200
+++ new/chafa-1.2.1/Makefile.in 2019-08-15 03:47:36.000000000 +0200
@@ -192,8 +192,8 @@
 DIST_SUBDIRS = $(SUBDIRS)
 am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/chafa.pc.in \
        $(srcdir)/config.h.in AUTHORS COPYING COPYING.LESSER INSTALL \
-       NEWS README TODO compile config.guess config.sub install-sh \
-       ltmain.sh missing
+       NEWS README TODO ar-lib compile config.guess config.sub \
+       install-sh ltmain.sh missing
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -229,9 +229,9 @@
     dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
   done; \
   reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
 GZIP_ENV = --best
-DIST_TARGETS = dist-gzip
+DIST_ARCHIVES = $(distdir).tar.xz
+DIST_TARGETS = dist-xz
 distuninstallcheck_listfiles = find . -type f -print
 am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
   | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
@@ -655,7 +655,6 @@
 dist-lzip: distdir
        tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} 
>$(distdir).tar.lz
        $(am__post_remove_distdir)
-
 dist-xz: distdir
        tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c 
>$(distdir).tar.xz
        $(am__post_remove_distdir)
@@ -899,12 +898,12 @@
 
 
 all-local:
-       $(info )
-       $(info ---)
-       $(info --- Success! You can now run tools/chafa/chafa, or install 
everything)
-       $(info --- using "make install" or "sudo make install".)
-       $(info ---)
-       $(info )
+       @echo
+       @echo ---
+       @echo --- Success! You can now run tools/chafa/chafa, or install 
everything
+       @echo --- using "make install" or "sudo make install".
+       @echo ---
+       @echo
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chafa-1.2.0/NEWS new/chafa-1.2.1/NEWS
--- old/chafa-1.2.0/NEWS        2019-08-04 20:15:39.000000000 +0200
+++ new/chafa-1.2.1/NEWS        2019-08-15 03:45:28.000000000 +0200
@@ -1,6 +1,20 @@
 Chafa releases
 ==============
 
+1.2.1 (2019-08-15)
+------------------
+
+This minor release fixes a few bugs and improves terminal detection.
+
+* Detect kitty and mlterm virtual terminals and apply optimal defaults
+  accordingly.
+
+* Make Automake build more strict and fix a few compatibility nits.
+
+* Bug fixes:
+  github#30  Failed to build on hurd-i386 (found by Mo Zhou).
+  [unfiled]  Crash on certain broken GIFs.
+
 1.2.0 (2019-08-04)
 ------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chafa-1.2.0/README.md new/chafa-1.2.1/README.md
--- old/chafa-1.2.0/README.md   2019-08-04 02:35:24.000000000 +0200
+++ new/chafa-1.2.1/README.md   2019-08-15 03:44:08.000000000 +0200
@@ -11,7 +11,7 @@
 <a href="https://travis-ci.com/hpjansson/chafa/branches"; rel="nofollow">
 <img 
src="https://img.shields.io/travis/com/hpjansson/chafa/master.svg?label=master&style=for-the-badge";
 alt="Master Build Status" />
 &emsp;
-<img 
src="https://img.shields.io/travis/com/hpjansson/chafa/1.0.svg?label=1.0&style=for-the-badge";
 alt="1.0 Build Status" />
+<img 
src="https://img.shields.io/travis/com/hpjansson/chafa/1.2.svg?label=1.2&style=for-the-badge";
 alt="1.2 Build Status" />
 </a>
 &emsp;
 <a href="https://hpjansson.org/chafa/download/";>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chafa-1.2.0/aclocal.m4 new/chafa-1.2.1/aclocal.m4
--- old/chafa-1.2.0/aclocal.m4  2019-08-04 20:16:30.000000000 +0200
+++ new/chafa-1.2.1/aclocal.m4  2019-08-15 03:47:36.000000000 +0200
@@ -446,6 +446,66 @@
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
+# Copyright (C) 2011-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_AR([ACT-IF-FAIL])
+# -------------------------
+# Try to determine the archiver interface, and trigger the ar-lib wrapper
+# if it is needed.  If the detection of archiver interface fails, run
+# ACT-IF-FAIL (default is to abort configure with a proper error message).
+AC_DEFUN([AM_PROG_AR],
+[AC_BEFORE([$0], [LT_INIT])dnl
+AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl
+AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([ar-lib])dnl
+AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false])
+: ${AR=ar}
+
+AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface],
+  [AC_LANG_PUSH([C])
+   am_cv_ar_interface=ar
+   AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])],
+     [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
+      AC_TRY_EVAL([am_ar_try])
+      if test "$ac_status" -eq 0; then
+        am_cv_ar_interface=ar
+      else
+        am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext 
>&AS_MESSAGE_LOG_FD'
+        AC_TRY_EVAL([am_ar_try])
+        if test "$ac_status" -eq 0; then
+          am_cv_ar_interface=lib
+        else
+          am_cv_ar_interface=unknown
+        fi
+      fi
+      rm -f conftest.lib libconftest.a
+     ])
+   AC_LANG_POP([C])])
+
+case $am_cv_ar_interface in
+ar)
+  ;;
+lib)
+  # Microsoft lib, so override with the ar-lib wrapper script.
+  # FIXME: It is wrong to rewrite AR.
+  # But if we don't then we get into trouble of one sort or another.
+  # A longer-term fix would be to have automake use am__AR in this case,
+  # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
+  # similar.
+  AR="$am_aux_dir/ar-lib $AR"
+  ;;
+unknown)
+  m4_default([$1],
+             [AC_MSG_ERROR([could not determine $AR interface])])
+  ;;
+esac
+AC_SUBST([AR])dnl
+])
+
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
 # Copyright (C) 2001-2018 Free Software Foundation, Inc.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chafa-1.2.0/ar-lib new/chafa-1.2.1/ar-lib
--- old/chafa-1.2.0/ar-lib      1970-01-01 01:00:00.000000000 +0100
+++ new/chafa-1.2.1/ar-lib      2019-03-12 09:46:30.000000000 +0100
@@ -0,0 +1,270 @@
+#! /bin/sh
+# Wrapper for Microsoft lib.exe
+
+me=ar-lib
+scriptversion=2012-03-01.08; # UTC
+
+# Copyright (C) 2010-2018 Free Software Foundation, Inc.
+# Written by Peter Rosin <[email protected]>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <[email protected]> or send patches to
+# <[email protected]>.
+
+
+# func_error message
+func_error ()
+{
+  echo "$me: $1" 1>&2
+  exit 1
+}
+
+file_conv=
+
+# func_file_conv build_file
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts.
+func_file_conv ()
+{
+  file=$1
+  case $file in
+    / | /[!/]*) # absolute file, and not a UNC file
+      if test -z "$file_conv"; then
+       # lazily determine how to convert abs files
+       case `uname -s` in
+         MINGW*)
+           file_conv=mingw
+           ;;
+         CYGWIN*)
+           file_conv=cygwin
+           ;;
+         *)
+           file_conv=wine
+           ;;
+       esac
+      fi
+      case $file_conv in
+       mingw)
+         file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+         ;;
+       cygwin)
+         file=`cygpath -m "$file" || echo "$file"`
+         ;;
+       wine)
+         file=`winepath -w "$file" || echo "$file"`
+         ;;
+      esac
+      ;;
+  esac
+}
+
+# func_at_file at_file operation archive
+# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE
+# for each of them.
+# When interpreting the content of the @FILE, do NOT use func_file_conv,
+# since the user would need to supply preconverted file names to
+# binutils ar, at least for MinGW.
+func_at_file ()
+{
+  operation=$2
+  archive=$3
+  at_file_contents=`cat "$1"`
+  eval set x "$at_file_contents"
+  shift
+
+  for member
+  do
+    $AR -NOLOGO $operation:"$member" "$archive" || exit $?
+  done
+}
+
+case $1 in
+  '')
+     func_error "no command.  Try '$0 --help' for more information."
+     ;;
+  -h | --h*)
+    cat <<EOF
+Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...]
+
+Members may be specified in a file named with @FILE.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "$me, version $scriptversion"
+    exit $?
+    ;;
+esac
+
+if test $# -lt 3; then
+  func_error "you must specify a program, an action and an archive"
+fi
+
+AR=$1
+shift
+while :
+do
+  if test $# -lt 2; then
+    func_error "you must specify a program, an action and an archive"
+  fi
+  case $1 in
+    -lib | -LIB \
+    | -ltcg | -LTCG \
+    | -machine* | -MACHINE* \
+    | -subsystem* | -SUBSYSTEM* \
+    | -verbose | -VERBOSE \
+    | -wx* | -WX* )
+      AR="$AR $1"
+      shift
+      ;;
+    *)
+      action=$1
+      shift
+      break
+      ;;
+  esac
+done
+orig_archive=$1
+shift
+func_file_conv "$orig_archive"
+archive=$file
+
+# strip leading dash in $action
+action=${action#-}
+
+delete=
+extract=
+list=
+quick=
+replace=
+index=
+create=
+
+while test -n "$action"
+do
+  case $action in
+    d*) delete=yes  ;;
+    x*) extract=yes ;;
+    t*) list=yes    ;;
+    q*) quick=yes   ;;
+    r*) replace=yes ;;
+    s*) index=yes   ;;
+    S*)             ;; # the index is always updated implicitly
+    c*) create=yes  ;;
+    u*)             ;; # TODO: don't ignore the update modifier
+    v*)             ;; # TODO: don't ignore the verbose modifier
+    *)
+      func_error "unknown action specified"
+      ;;
+  esac
+  action=${action#?}
+done
+
+case $delete$extract$list$quick$replace,$index in
+  yes,* | ,yes)
+    ;;
+  yesyes*)
+    func_error "more than one action specified"
+    ;;
+  *)
+    func_error "no action specified"
+    ;;
+esac
+
+if test -n "$delete"; then
+  if test ! -f "$orig_archive"; then
+    func_error "archive not found"
+  fi
+  for member
+  do
+    case $1 in
+      @*)
+        func_at_file "${1#@}" -REMOVE "$archive"
+        ;;
+      *)
+        func_file_conv "$1"
+        $AR -NOLOGO -REMOVE:"$file" "$archive" || exit $?
+        ;;
+    esac
+  done
+
+elif test -n "$extract"; then
+  if test ! -f "$orig_archive"; then
+    func_error "archive not found"
+  fi
+  if test $# -gt 0; then
+    for member
+    do
+      case $1 in
+        @*)
+          func_at_file "${1#@}" -EXTRACT "$archive"
+          ;;
+        *)
+          func_file_conv "$1"
+          $AR -NOLOGO -EXTRACT:"$file" "$archive" || exit $?
+          ;;
+      esac
+    done
+  else
+    $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member
+    do
+      $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
+    done
+  fi
+
+elif test -n "$quick$replace"; then
+  if test ! -f "$orig_archive"; then
+    if test -z "$create"; then
+      echo "$me: creating $orig_archive"
+    fi
+    orig_archive=
+  else
+    orig_archive=$archive
+  fi
+
+  for member
+  do
+    case $1 in
+    @*)
+      func_file_conv "${1#@}"
+      set x "$@" "@$file"
+      ;;
+    *)
+      func_file_conv "$1"
+      set x "$@" "$file"
+      ;;
+    esac
+    shift
+    shift
+  done
+
+  if test -n "$orig_archive"; then
+    $AR -NOLOGO -OUT:"$archive" "$orig_archive" "$@" || exit $?
+  else
+    $AR -NOLOGO -OUT:"$archive" "$@" || exit $?
+  fi
+
+elif test -n "$list"; then
+  if test ! -f "$orig_archive"; then
+    func_error "archive not found"
+  fi
+  $AR -NOLOGO -LIST "$archive" || exit $?
+fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chafa-1.2.0/configure new/chafa-1.2.1/configure
--- old/chafa-1.2.0/configure   2019-08-04 20:16:31.000000000 +0200
+++ new/chafa-1.2.1/configure   2019-08-15 03:47:37.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for chafa 1.2.0.
+# Generated by GNU Autoconf 2.69 for chafa 1.2.1.
 #
 # Report bugs to <[email protected]>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='chafa'
 PACKAGE_TARNAME='chafa'
-PACKAGE_VERSION='1.2.0'
-PACKAGE_STRING='chafa 1.2.0'
+PACKAGE_VERSION='1.2.1'
+PACKAGE_STRING='chafa 1.2.1'
 PACKAGE_BUGREPORT='[email protected]'
 PACKAGE_URL=''
 
@@ -690,8 +690,6 @@
 DSYMUTIL
 MANIFEST_TOOL
 RANLIB
-ac_ct_AR
-AR
 DLLTOOL
 OBJDUMP
 LN_S
@@ -712,6 +710,8 @@
 build_cpu
 build
 LIBTOOL
+ac_ct_AR
+AR
 CPP
 am__fastdepCC_FALSE
 am__fastdepCC_TRUE
@@ -1384,7 +1384,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.2.0 to adapt to many kinds of systems.
+\`configure' configures chafa 1.2.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1454,7 +1454,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of chafa 1.2.0:";;
+     short | recursive ) echo "Configuration of chafa 1.2.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1591,7 +1591,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-chafa configure 1.2.0
+chafa configure 1.2.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1960,7 +1960,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.2.0, which was
+It was created by chafa $as_me 1.2.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2823,7 +2823,7 @@
 
 # Define the identity of the package.
  PACKAGE='chafa'
- VERSION='1.2.0'
+ VERSION='1.2.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2925,8 +2925,8 @@
 
 CHAFA_MAJOR_VERSION=1
 CHAFA_MINOR_VERSION=2
-CHAFA_MICRO_VERSION=0
-CHAFA_VERSION=1.2.0
+CHAFA_MICRO_VERSION=1
+CHAFA_VERSION=1.2.1
 
 
 
@@ -2940,7 +2940,7 @@
 $as_echo "#define CHAFA_MINOR_VERSION 2" >>confdefs.h
 
 
-$as_echo "#define CHAFA_MICRO_VERSION 0" >>confdefs.h
+$as_echo "#define CHAFA_MICRO_VERSION 1" >>confdefs.h
 
 
 cat >>confdefs.h <<_ACEOF
@@ -5202,6 +5202,177 @@
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
+if test -n "$ac_tool_prefix"; then
+  for ac_prog in ar lib "link -lib"
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a 
program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" 
>&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$AR" && break
+  done
+fi
+if test -z "$AR"; then
+  ac_ct_AR=$AR
+  for ac_prog in ar lib "link -lib"
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with 
args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AR="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" 
>&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_AR" && break
+done
+
+  if test "x$ac_ct_AR" = x; then
+    AR="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not 
prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" 
>&2;}
+ac_tool_warned=yes ;;
+esac
+    AR=$ac_ct_AR
+  fi
+fi
+
+: ${AR=ar}
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) 
interface" >&5
+$as_echo_n "checking the archiver ($AR) interface... " >&6; }
+if ${am_cv_ar_interface+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext 
$LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+   am_cv_ar_interface=ar
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+int some_variable = 0;
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5'
+      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
+  (eval $am_ar_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      if test "$ac_status" -eq 0; then
+        am_cv_ar_interface=ar
+      else
+        am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5'
+        { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
+  (eval $am_ar_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+        if test "$ac_status" -eq 0; then
+          am_cv_ar_interface=lib
+        else
+          am_cv_ar_interface=unknown
+        fi
+      fi
+      rm -f conftest.lib libconftest.a
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext 
$LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5
+$as_echo "$am_cv_ar_interface" >&6; }
+
+case $am_cv_ar_interface in
+ar)
+  ;;
+lib)
+  # Microsoft lib, so override with the ar-lib wrapper script.
+  # FIXME: It is wrong to rewrite AR.
+  # But if we don't then we get into trouble of one sort or another.
+  # A longer-term fix would be to have automake use am__AR in this case,
+  # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
+  # similar.
+  AR="$am_aux_dir/ar-lib $AR"
+  ;;
+unknown)
+  as_fn_error $? "could not determine $AR interface" "$LINENO" 5
+  ;;
+esac
+
 case `pwd` in
   *\ * | *\    *)
     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope 
well with whitespace in \`pwd\`" >&5
@@ -15159,7 +15330,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.2.0, which was
+This file was extended by chafa $as_me 1.2.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -15225,7 +15396,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-chafa config.status 1.2.0
+chafa config.status 1.2.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chafa-1.2.0/configure.ac new/chafa-1.2.1/configure.ac
--- old/chafa-1.2.0/configure.ac        2019-08-04 20:15:18.000000000 +0200
+++ new/chafa-1.2.1/configure.ac        2019-08-15 03:47:28.000000000 +0200
@@ -6,13 +6,13 @@
 
 m4_define([chafa_major_version], [1])
 m4_define([chafa_minor_version], [2])
-m4_define([chafa_micro_version], [0])
+m4_define([chafa_micro_version], [1])
 
 m4_define([chafa_version], 
[chafa_major_version.chafa_minor_version.chafa_micro_version])
 
 AC_PREREQ(2.59)
-AC_INIT([chafa], [chafa_version], [[email protected]])
-AM_INIT_AUTOMAKE([1.9 foreign])
+AC_INIT([chafa], chafa_version, [[email protected]])
+AM_INIT_AUTOMAKE([1.9 foreign dist-xz no-dist-gzip -Wall])
 
 AC_CONFIG_SRCDIR([chafa.pc.in])
 
@@ -44,6 +44,7 @@
 AC_PROG_CC_C99
 AC_PROG_CPP
 AC_PROG_INSTALL
+AM_PROG_AR
 LT_INIT
 
 dnl --- Required standards ---
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chafa-1.2.0/docs/chafa.1 new/chafa-1.2.1/docs/chafa.1
--- old/chafa-1.2.0/docs/chafa.1        2019-08-04 20:11:33.000000000 +0200
+++ new/chafa-1.2.1/docs/chafa.1        2019-08-15 03:47:50.000000000 +0200
@@ -2,7 +2,7 @@
 .\"     Title: chafa
 .\"    Author: Hans Petter Jansson
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 08/04/2019
+.\"      Date: 08/15/2019
 .\"    Manual: User Commands
 .\"    Source: chafa
 .\"  Language: English
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chafa-1.2.0/docs/html/index.html 
new/chafa-1.2.1/docs/html/index.html
--- old/chafa-1.2.0/docs/html/index.html        2019-08-04 20:16:50.000000000 
+0200
+++ new/chafa-1.2.1/docs/html/index.html        2019-08-15 03:47:55.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.1.0
+      For Chafa version 1.2.1
 .
       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>.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chafa-1.2.0/libnsgif/libnsgif.c 
new/chafa-1.2.1/libnsgif/libnsgif.c
--- old/chafa-1.2.0/libnsgif/libnsgif.c 2019-07-24 22:42:08.000000000 +0200
+++ new/chafa-1.2.1/libnsgif/libnsgif.c 2019-08-15 03:44:08.000000000 +0200
@@ -122,13 +122,13 @@
 static gif_result
 gif_initialise_frame_extensions(gif_animation *gif, const int frame)
 {
-        unsigned char *gif_data, *gif_end;
+        const unsigned char *gif_data, *gif_end;
         int gif_bytes;
         unsigned int block_size;
 
         /* Get our buffer position etc.        */
-        gif_data = (unsigned char *)(gif->gif_data + gif->buffer_position);
-        gif_end = (unsigned char *)(gif->gif_data + gif->buffer_size);
+        gif_data = (const unsigned char *)(gif->gif_data + 
gif->buffer_position);
+        gif_end = (const unsigned char *)(gif->gif_data + gif->buffer_size);
 
         /* Initialise the extensions */
         while (gif_data < gif_end && gif_data[0] == GIF_EXTENSION_INTRODUCER) {
@@ -254,20 +254,21 @@
         int frame;
         gif_frame *temp_buf;
 
-        unsigned char *gif_data, *gif_end;
+        const unsigned char *gif_data, *gif_end;
         int gif_bytes;
         unsigned int flags = 0;
         unsigned int width, height, offset_x, offset_y;
         unsigned int block_size, colour_table_size;
         bool first_image = true;
         gif_result return_value;
+        bool premature_eof = false;
 
         /* Get the frame to decode and our data position */
         frame = gif->frame_count;
 
         /* Get our buffer position etc. */
-        gif_data = (unsigned char *)(gif->gif_data + gif->buffer_position);
-        gif_end = (unsigned char *)(gif->gif_data + gif->buffer_size);
+        gif_data = (const unsigned char *)(gif->gif_data + 
gif->buffer_position);
+        gif_end = (const unsigned char *)(gif->gif_data + gif->buffer_size);
         gif_bytes = (gif_end - gif_data);
 
         /* Check if we've finished */
@@ -441,10 +442,9 @@
                          * better to partially load the gif than not at all.
                          */
                         if (gif_bytes >= 2) {
-                                gif_data[0] = 0;
-                                gif_data[1] = GIF_TRAILER;
                                 gif_bytes = 1;
                                 ++gif_data;
+                                premature_eof = true;
                                 break;
                         } else {
                                 return GIF_INSUFFICIENT_FRAME_DATA;
@@ -464,7 +464,7 @@
         if (gif_bytes < 1) {
                 return GIF_INSUFFICIENT_FRAME_DATA;
         } else {
-                if (gif_data[0] == GIF_TRAILER) {
+                if (premature_eof || gif_data[0] == GIF_TRAILER) {
                         return GIF_OK;
                 }
         }
@@ -483,13 +483,13 @@
  */
 static gif_result gif_skip_frame_extensions(gif_animation *gif)
 {
-        unsigned char *gif_data, *gif_end;
+        const unsigned char *gif_data, *gif_end;
         int gif_bytes;
         unsigned int block_size;
 
         /* Get our buffer position etc.        */
-        gif_data = (unsigned char *)(gif->gif_data + gif->buffer_position);
-        gif_end = (unsigned char *)(gif->gif_data + gif->buffer_size);
+        gif_data = (const unsigned char *)(gif->gif_data + 
gif->buffer_position);
+        gif_end = (const unsigned char *)(gif->gif_data + gif->buffer_size);
         gif_bytes = (gif_end - gif_data);
 
         /* Skip the extensions */
@@ -584,7 +584,7 @@
                           bool clear_image)
 {
         unsigned int index = 0;
-        unsigned char *gif_data, *gif_end;
+        const unsigned char *gif_data, *gif_end;
         int gif_bytes;
         unsigned int width, height, offset_x, offset_y;
         unsigned int flags, colour_table_size, interlace;
@@ -929,7 +929,7 @@
 /* exported function documented in libnsgif.h */
 gif_result gif_initialise(gif_animation *gif, size_t size, unsigned char *data)
 {
-        unsigned char *gif_data;
+        const unsigned char *gif_data;
         unsigned int index;
         gif_result return_value;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chafa-1.2.0/tools/chafa/chafa.c 
new/chafa-1.2.1/tools/chafa/chafa.c
--- old/chafa-1.2.0/tools/chafa/chafa.c 2019-08-04 20:11:13.000000000 +0200
+++ new/chafa-1.2.1/tools/chafa/chafa.c 2019-08-15 03:45:06.000000000 +0200
@@ -639,9 +639,15 @@
     /* Terminals that advertise 256 colors usually support truecolor too,
      * (VTE, xterm) although some (xterm) may quantize to an indexed palette
      * regardless. */
-    if (!strcmp (term, "xterm-256color"))
+    if (!strcmp (term, "xterm-256color")
+        || !strcmp (term, "xterm-kitty"))
         mode = CHAFA_CANVAS_MODE_TRUECOLOR;
 
+    /* mlterm's truecolor support seems to be broken; it looks like a color
+     * allocation issue. */
+    if (!strcmp (term, "mlterm"))
+        mode = CHAFA_CANVAS_MODE_INDEXED_240;
+
     /* rxvt 256-color really is 256 colors only */
     if (!strcmp (term, "rxvt-unicode-256color"))
         mode = CHAFA_CANVAS_MODE_INDEXED_240;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chafa-1.2.0/tools/chafa/file-mapping.c 
new/chafa-1.2.1/tools/chafa/file-mapping.c
--- old/chafa-1.2.0/tools/chafa/file-mapping.c  2019-07-21 21:37:44.000000000 
+0200
+++ new/chafa-1.2.1/tools/chafa/file-mapping.c  2019-08-15 03:44:08.000000000 
+0200
@@ -31,6 +31,13 @@
 
 #include "file-mapping.h"
 
+#ifdef HAVE_MMAP
+/* Workaround for non-Linux platforms */
+# ifndef MAP_NORESERVE
+#  define MAP_NORESERVE 0
+# endif
+#endif
+
 struct FileMapping
 {
     gchar *path;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chafa-1.2.0/tools/chafa/gif-loader.c 
new/chafa-1.2.1/tools/chafa/gif-loader.c
--- old/chafa-1.2.0/tools/chafa/gif-loader.c    2019-07-19 20:23:41.000000000 
+0200
+++ new/chafa-1.2.1/tools/chafa/gif-loader.c    2019-08-15 03:44:08.000000000 
+0200
@@ -111,23 +111,21 @@
         bitmap_test_opaque,
         bitmap_modified
     };
-    GifLoader *loader;
     gif_result code;
+    GifLoader *loader = NULL;
+    gboolean success = FALSE;
 
     g_return_val_if_fail (mapping != NULL, NULL);
 
     if (!file_mapping_has_magic (mapping, 0, "GIF89a", 6))
-        return NULL;
+        goto out;
 
     loader = gif_loader_new ();
     loader->mapping = mapping;
 
     loader->file_data = file_mapping_get_data (loader->mapping, 
&loader->file_data_len);
     if (!loader->file_data)
-    {
-        gif_loader_destroy (loader);
-        loader = NULL;
-    }
+        goto out;
 
     gif_create (&loader->gif, &bitmap_callbacks);
     loader->gif_is_initialized = TRUE;
@@ -137,13 +135,24 @@
         code = gif_initialise (&loader->gif, loader->file_data_len, (gpointer) 
loader->file_data);
 
         if (code != GIF_OK && code != GIF_WORKING)
+            goto out;
+    }
+    while (code != GIF_OK);
+
+    success = TRUE;
+
+out:
+    if (!success)
+    {
+        if (loader)
         {
-            gif_loader_destroy (loader);
+            if (loader->gif_is_initialized)
+                gif_finalise (&loader->gif);
+
+            g_free (loader);
             loader = NULL;
-            break;
         }
     }
-    while (code != GIF_OK);
 
     return loader;
 }


Reply via email to