Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libcaca for openSUSE:Factory checked 
in at 2026-05-21 18:25:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libcaca (Old)
 and      /work/SRC/openSUSE:Factory/.libcaca.new.2084 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libcaca"

Thu May 21 18:25:19 2026 rev:53 rq:1354090 
version:0.99.beta20+git.1776622070.7c8e333

Changes:
--------
--- /work/SRC/openSUSE:Factory/libcaca/libcaca.changes  2025-02-28 
17:38:27.698413774 +0100
+++ /work/SRC/openSUSE:Factory/.libcaca.new.2084/libcaca.changes        
2026-05-21 18:25:28.869982206 +0200
@@ -1,0 +2,17 @@
+Fri May 15 22:18:02 UTC 2026 - [email protected]
+
+- Updated to version 0.99.beta20+git.1776622070.7c8e333:
+  * Switched to typed Ruby wrapping.
+  * Simplified caca_create_display call.
+  * Do not used _caca_alloc2d in the Ruby extension.
+  * Prevented Init_caca from being hidden.
+  * Reverted 156781dd67d024dc067010ef8640d0b91c5c3356.
+  * Switched from MiniTest to Minitest.
+  * Prevented undefined behaviour in overflow check (CVE-2026-42046 
bsc1264984).
+  * Fixed a crash on 0 sized font in img2txt.
+  * Fixed an error message in img2txt.
+  * Fixed handling of zero sized image in img2txt.
+- Rewrited the SPEC file to correctly generate Python packages in
+  all available versions.
+
+-------------------------------------------------------------------

Old:
----
  libcaca-0.99.beta20.tar.gz

New:
----
  _service
  _servicedata
  libcaca-0.99.beta20+git.1776622070.7c8e333.tar.xz
  pyproject.toml

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

Other differences:
------------------
++++++ libcaca.spec ++++++
--- /var/tmp/diff_new_pack.tZG0qK/_old  2026-05-21 18:25:29.878023608 +0200
+++ /var/tmp/diff_new_pack.tZG0qK/_new  2026-05-21 18:25:29.878023608 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package libcaca
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,14 +17,17 @@
 
 
 Name:           libcaca
-Version:        0.99.beta20
+Version:        0.99.beta20+git.1776622070.7c8e333
 Release:        0
 Summary:        Library for Colour ASCII Art, text mode graphics
 License:        WTFPL
 Group:          Development/Languages/C and C++
 URL:            http://caca.zoy.org
-Source0:        
https://github.com/cacalabs/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.gz
+# Source0:        
https://github.com/cacalabs/%%{name}/releases/download/v%%{version}/%%{name}-%%{version}.tar.gz
+Source0:        %{name}-%{version}.tar.xz
 Source1:        baselibs.conf
+# bugno [email protected]
+Source2:        pyproject.toml
 Patch0:         %{name}-X11_test.patch
 Patch1:         %{name}-ruby_am_cflags.patch
 Patch2:         %{name}-ruby_vendor_install.patch
@@ -37,6 +40,9 @@
 Patch9:         bsc1197028-correctly-handle-zero-width-or-height-images.patch
 Patch10:        %{name}-autoconf-2.69.patch
 Patch11:        %{name}-0.99.beta20-gcc14.patch
+BuildRequires:  %{python_module pip}
+BuildRequires:  %{python_module setuptools}
+BuildRequires:  %{python_module wheel}
 BuildRequires:  doxygen
 BuildRequires:  fdupes
 BuildRequires:  freeglut-devel
@@ -45,7 +51,6 @@
 BuildRequires:  ncurses-devel
 BuildRequires:  pkgconfig
 BuildRequires:  python-rpm-macros
-BuildRequires:  python3-setuptools
 BuildRequires:  ruby-devel
 BuildRequires:  pkgconfig(gl)
 BuildRequires:  pkgconfig(glu)
@@ -53,6 +58,8 @@
 BuildRequires:  pkgconfig(slang)
 BuildRequires:  pkgconfig(x11)
 BuildRequires:  pkgconfig(zlib)
+%define python_subpackage_only 1
+%python_subpackages
 
 %description
 libcaca is the Colour AsCii Art library. It provides high level
@@ -82,13 +89,13 @@
 This package contains the header files and static libraries needed to
 compile applications or shared objects that use libcaca.
 
-%package -n python3-caca
+%package -n python-caca
 Summary:        Python3 support for %{name}
 Group:          Development/Languages/Python
 Requires:       %{name} = %{version}
 BuildArch:      noarch
 
-%description -n python3-caca
+%description -n python-caca
 This package contains all that is needed to use libcaca from python3.
 
 %package -n libcaca0-plugins
@@ -131,11 +138,16 @@
 
 %prep
 %autosetup -p1
+
+cp %{SOURCE2} python/
+
 RUBY="ruby-`echo %{rb_ver} | sed 's|\.[^\.]*$||'`"
 find . -type f -exec sed -i "s|ruby-1.9|$RUBY|" \{\} \;
 pushd python
 #Change python script headers to python3
 for i in `grep -rl "/usr/bin/env python"`;do sed -i 
'1s/^#!.*/#!\/usr\/bin\/python3/' ${i} ;done
+# Remove setup.py as we use pyproject.toml
+rm -f setup.py
 popd
 
 %build
@@ -155,15 +167,23 @@
     --enable-conio=no \
     --enable-plugins \
     --enable-java=no \
-    --enable-python
+    --enable-python=no
 %make_build
 
+pushd python
+%pyproject_wheel
+popd
+
 %install
 %make_install
 find %{buildroot} -type f -name "*.la" -delete -print
 
+pushd python
+%pyproject_install
+popd
+
 %fdupes -s %{buildroot}%{_mandir}/
-%fdupes -s %{buildroot}%{python3_sitelib}
+%fdupes -s %{buildroot}%{_prefix}/lib/python*
 
 %post -n libcaca0 -p /sbin/ldconfig
 %postun -n libcaca0 -p /sbin/ldconfig
@@ -191,8 +211,9 @@
 %{rb_vendorarch}/*
 %{rb_vendorlib}/caca.rb
 
-%files -n python3-caca
-%{python3_sitelib}/*
+%files %{python_files caca}
+%{python_sitelib}/caca
+%{python_sitelib}/caca-*.dist-info
 
 %files -n libcaca0-plugins
 %dir %{_libdir}/caca

++++++ _service ++++++
<?xml version="1.0"?>
<services>
  <service name="tar_scm" mode="manual">
    <param name="url">https://github.com/cacalabs/libcaca.git</param>
    <param name="versionprefix">0.99.beta20+git</param>
    <param name="revision">main</param>
    <param name="scm">git</param>
    <param name="changesgenerate">enable</param>
    <param name="changesauthor">[email protected]</param>
  </service>
  <service name="recompress" mode="manual">
    <param name="compression">xz</param>
    <param name="file">*.tar</param>
  </service>
  <service mode="manual" name="set_version"/>
</services>

++++++ _servicedata ++++++
<servicedata>
<service name="tar_scm">
                <param 
name="url">https://github.com/cacalabs/libcaca.git</param>
              <param 
name="changesrevision">7c8e3338a1bda8a34297d16ac546c43548e4864d</param></service></servicedata>
(No newline at EOF)

++++++ bsc1197028-correctly-handle-zero-width-or-height-images.patch ++++++
--- /var/tmp/diff_new_pack.tZG0qK/_old  2026-05-21 18:25:29.966027221 +0200
+++ /var/tmp/diff_new_pack.tZG0qK/_new  2026-05-21 18:25:29.978027714 +0200
@@ -1,8 +1,12 @@
-Index: libcaca-da28e9684ef445ac8d42745644336b8a75c01855/src/img2txt.c
+---
+ src/img2txt.c |   10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+Index: libcaca-0.99.beta20+git.1776622070.7c8e333/src/img2txt.c
 ===================================================================
---- libcaca-da28e9684ef445ac8d42745644336b8a75c01855.orig/src/img2txt.c
-+++ libcaca-da28e9684ef445ac8d42745644336b8a75c01855/src/img2txt.c
-@@ -177,7 +177,13 @@ int main(int argc, char **argv)
+--- libcaca-0.99.beta20+git.1776622070.7c8e333.orig/src/img2txt.c      
2026-05-16 00:21:08.412048470 +0200
++++ libcaca-0.99.beta20+git.1776622070.7c8e333/src/img2txt.c   2026-05-16 
00:21:13.547761159 +0200
+@@ -189,7 +189,13 @@
      }
  
      /* Assume a 6×10 font */
@@ -17,8 +21,8 @@
      {
          cols = 60;
          lines = cols * i->h * font_width / i->w / font_height;
-@@ -214,7 +220,7 @@ int main(int argc, char **argv)
-     export = caca_export_canvas_to_memory(cv, format?format:"ansi", &len);
+@@ -226,7 +232,7 @@
+     export = caca_export_canvas_to_memory(cv, format, &len);
      if(!export)
      {
 -        fprintf(stderr, "%s: Can't export to format '%s'\n", argv[0], format);

++++++ libcaca-0.99.beta20-gcc14.patch ++++++
--- /var/tmp/diff_new_pack.tZG0qK/_old  2026-05-21 18:25:30.002028700 +0200
+++ /var/tmp/diff_new_pack.tZG0qK/_new  2026-05-21 18:25:30.006028865 +0200
@@ -1,60 +1,153 @@
 index 5dc66ab..826d4d8 100644
---- a/ruby/caca-canvas.c
-+++ b/ruby/caca-canvas.c
-@@ -16,6 +16,7 @@
+---
+ configure.ac        |    4 ++--
+ ruby/Makefile.am    |    2 +-
+ ruby/caca-canvas.c  |    1 +
+ ruby/caca-display.c |    3 ++-
+ ruby/caca-dither.c  |    3 ++-
+ ruby/caca-event.c   |    1 +
+ ruby/caca-event.h   |    1 -
+ ruby/caca-font.c    |    3 ++-
+ ruby/caca.c         |    2 ++
+ ruby/common.h       |    2 +-
+ 10 files changed, 14 insertions(+), 8 deletions(-)
+
+Index: libcaca-0.99.beta20+git.1776622070.7c8e333/configure.ac
+===================================================================
+--- libcaca-0.99.beta20+git.1776622070.7c8e333.orig/configure.ac       
2026-05-16 01:08:49.212054665 +0200
++++ libcaca-0.99.beta20+git.1776622070.7c8e333/configure.ac    2026-05-16 
01:08:49.224645534 +0200
+@@ -391,8 +391,8 @@
+ # Optimizations
+ CFLAGS="${CFLAGS} -g -O2 -fno-strength-reduce -fomit-frame-pointer"
+ # Code qui fait des warnings == code de porc == deux baffes dans ta gueule
+-CFLAGS="${CFLAGS} -Wall -Wpointer-arith -Wcast-align -Wcast-qual 
-Wstrict-prototypes -Wshadow -Waggregate-return -Wmissing-prototypes 
-Wnested-externs -Wsign-compare"
+-CXXFLAGS="${CXXFLAGS} -Wall -Wpointer-arith -Wcast-align -Wcast-qual -Wshadow 
-Wsign-compare"
++CFLAGS="${CFLAGS} -Wall -Wpointer-arith -Wcast-align -Wstrict-prototypes 
-Wshadow -Waggregate-return -Wmissing-prototypes -Wnested-externs 
-Wsign-compare"
++CXXFLAGS="${CXXFLAGS} -Wall -Wpointer-arith -Wcast-align -Wshadow 
-Wsign-compare"
+ 
+ dnl Visibility annotations...
+ saved_CFLAGS="$CFLAGS"
+Index: libcaca-0.99.beta20+git.1776622070.7c8e333/ruby/Makefile.am
+===================================================================
+--- libcaca-0.99.beta20+git.1776622070.7c8e333.orig/ruby/Makefile.am   
2026-05-16 01:08:49.108576641 +0200
++++ libcaca-0.99.beta20+git.1776622070.7c8e333/ruby/Makefile.am        
2026-05-16 01:08:49.225012435 +0200
+@@ -12,7 +12,7 @@
+ endif
+ endif
+ 
+-AM_CFLAGS = -Wno-strict-prototypes -Wno-missing-prototypes
++AM_CFLAGS = -Wno-strict-prototypes -Wno-missing-prototypes -Wno-cast-qual
+ 
+ caca_la_CPPFLAGS = -I$(top_srcdir)/caca -I../caca $(RUBY_CFLAGS)
+ caca_la_SOURCES = caca.c \
+Index: libcaca-0.99.beta20+git.1776622070.7c8e333/ruby/caca-canvas.c
+===================================================================
+--- libcaca-0.99.beta20+git.1776622070.7c8e333.orig/ruby/caca-canvas.c 
2026-05-16 01:08:45.314658272 +0200
++++ libcaca-0.99.beta20+git.1776622070.7c8e333/ruby/caca-canvas.c      
2026-05-16 01:08:49.225294257 +0200
+@@ -14,6 +14,7 @@
+ #include <ruby.h>
+ #include <caca.h>
  #include <errno.h>
++#include "caca-canvas.h"
  #include "caca-dither.h"
  #include "caca-font.h"
-+#include "caca_internals.h"
+ #include "caca_internals.h"
+Index: libcaca-0.99.beta20+git.1776622070.7c8e333/ruby/caca-display.c
+===================================================================
+--- libcaca-0.99.beta20+git.1776622070.7c8e333.orig/ruby/caca-display.c        
2026-05-16 01:08:45.318982906 +0200
++++ libcaca-0.99.beta20+git.1776622070.7c8e333/ruby/caca-display.c     
2026-05-16 01:08:49.225491418 +0200
+@@ -13,12 +13,13 @@
+ #include <caca.h>
+ #include <errno.h>
+ #include "caca-event.h"
++#include "caca-display.h"
+ #include "caca-canvas.h"
  #include "common.h"
  
- VALUE cCanvas;
-@@ -143,7 +143,7 @@ static VALUE put_str(VALUE self, VALUE x
-     return self;
- }
+ VALUE cDisplay;
  
--static VALUE get_attr(VALUE self, VALUE x, VALUE y)
-+static VALUE get_attr(VALUE self, VALUE x, VALUE y, VALUE)
+-void display_free(void *display)
++static void display_free(void *display)
  {
-     unsigned long int ch;
-     ch = caca_get_attr(_SELF, NUM2INT(x), NUM2INT(y));
-@@ -454,7 +454,7 @@ static VALUE fill_triangle(VALUE self, V
-     return self;
+     caca_free_display((caca_display_t *)display);
  }
+Index: libcaca-0.99.beta20+git.1776622070.7c8e333/ruby/caca-dither.c
+===================================================================
+--- libcaca-0.99.beta20+git.1776622070.7c8e333.orig/ruby/caca-dither.c 
2026-05-16 01:08:45.323013194 +0200
++++ libcaca-0.99.beta20+git.1776622070.7c8e333/ruby/caca-dither.c      
2026-05-16 01:08:49.225670125 +0200
+@@ -12,11 +12,12 @@
+ #include <ruby.h>
+ #include <caca.h>
+ #include <errno.h>
++#include "caca-dither.h"
+ #include "common.h"
  
--static VALUE fill_triangle_textured(VALUE self, VALUE coords, VALUE texture, 
VALUE uv)
-+static VALUE fill_triangle_textured(VALUE self, VALUE coords, VALUE texture, 
VALUE uv, VALUE)
+ VALUE cDither;
+ 
+-void dither_free(void *dither)
++static void dither_free(void *dither)
  {
-     caca_canvas_t *ctexture;
-     int i, l;
-index ac29daf..36020a9 100644
---- a/ruby/caca-display.c
-+++ b/ruby/caca-display.c
-@@ -226,7 +226,7 @@ static VALUE get_event(VALUE self, VALUE event_mask, VALUE 
timeout)
-     return e;
+     caca_free_dither((caca_dither_t *)dither);
  }
+Index: libcaca-0.99.beta20+git.1776622070.7c8e333/ruby/caca-event.c
+===================================================================
+--- libcaca-0.99.beta20+git.1776622070.7c8e333.orig/ruby/caca-event.c  
2026-05-16 01:08:45.327343468 +0200
++++ libcaca-0.99.beta20+git.1776622070.7c8e333/ruby/caca-event.c       
2026-05-16 01:08:49.225823434 +0200
+@@ -13,6 +13,7 @@
+ #include <ruby.h>
+ #include <caca.h>
+ #include <errno.h>
++#include "caca-event.h"
+ #include "common.h"
  
--static VALUE driver_list(void)
-+static VALUE driver_list(VALUE)
+ VALUE cEvent;
+Index: libcaca-0.99.beta20+git.1776622070.7c8e333/ruby/caca-event.h
+===================================================================
+--- libcaca-0.99.beta20+git.1776622070.7c8e333.orig/ruby/caca-event.h  
2026-05-16 01:08:45.329576428 +0200
++++ libcaca-0.99.beta20+git.1776622070.7c8e333/ruby/caca-event.h       
2026-05-16 01:09:32.532902321 +0200
+@@ -18,7 +18,6 @@
+ extern VALUE cEvent;
+ extern VALUE cEventKeyPress;
+ extern VALUE cEventKeyRelease;
+-extern VALUE cEventMouse;
+ extern VALUE cEventMousePress;
+ extern VALUE cEventMouseRelease;
+ extern VALUE cEventMouseMotion;
+Index: libcaca-0.99.beta20+git.1776622070.7c8e333/ruby/caca-font.c
+===================================================================
+--- libcaca-0.99.beta20+git.1776622070.7c8e333.orig/ruby/caca-font.c   
2026-05-16 01:08:45.331684853 +0200
++++ libcaca-0.99.beta20+git.1776622070.7c8e333/ruby/caca-font.c        
2026-05-16 01:08:49.225967386 +0200
+@@ -12,11 +12,12 @@
+ #include <ruby.h>
+ #include <caca.h>
+ #include <errno.h>
++#include "caca-font.h"
+ #include "common.h"
+ 
+ VALUE cFont;
+ 
+-void font_free(void *font)
++static void font_free(void *font)
  {
-     VALUE ary;
-     char const* const* list;
-index 705f928..c5f5d27 100644
---- a/ruby/caca-font.c
-+++ b/ruby/caca-font.c
-@@ -41,7 +41,7 @@ static VALUE font_initialize(VALUE self, VALUE name)
-     return self;
+     caca_free_font((caca_font_t *)font);
+ }
+Index: libcaca-0.99.beta20+git.1776622070.7c8e333/ruby/caca.c
+===================================================================
+--- libcaca-0.99.beta20+git.1776622070.7c8e333.orig/ruby/caca.c        
2026-05-16 01:08:45.335244024 +0200
++++ libcaca-0.99.beta20+git.1776622070.7c8e333/ruby/caca.c     2026-05-16 
01:08:49.226118891 +0200
+@@ -24,6 +24,8 @@
+     return rb_str_new2(caca_get_version());
  }
  
--static VALUE font_list(void)
-+static VALUE font_list(VALUE)
- {
-     VALUE ary;
-     char const* const* list;
-Index: libcaca-0.99.beta20/ruby/common.h
++void Init_caca(void);
++
+ #if defined CACA_ENABLE_VISIBILITY
+ extern __attribute__((visibility("default")))
+ #endif
+Index: libcaca-0.99.beta20+git.1776622070.7c8e333/ruby/common.h
 ===================================================================
---- libcaca-0.99.beta20.orig/ruby/common.h
-+++ libcaca-0.99.beta20/ruby/common.h
+--- libcaca-0.99.beta20+git.1776622070.7c8e333.orig/ruby/common.h      
2026-05-16 01:08:45.337209640 +0200
++++ libcaca-0.99.beta20+git.1776622070.7c8e333/ruby/common.h   2026-05-16 
01:08:49.226267502 +0200
 @@ -16,7 +16,7 @@
  #define _SELF  (DATA_PTR(self))
  

++++++ pyproject.toml ++++++
[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "caca"
version = "0.99.beta20"
authors = [
    {name = "Alex Foulon", email = "[email protected]"}
]
description = "Python bindings for libcaca - Colour ASCII-Art library"
readme = "README"
requires-python = ">=3.6"
license = "WTFPL"
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "Operating System :: OS Independent",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.6",
    "Programming Language :: Python :: 3.7",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Topic :: Multimedia :: Graphics",
    "Topic :: Software Development :: Libraries :: Python Modules",
]

[project.urls]
Homepage = "https://libcaca.zoy.org/";

[tool.setuptools]
packages = ["caca"]
package-dir = {caca = "caca"}

Reply via email to