Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package maim for openSUSE:Factory checked in 
at 2026-09-17 15:24:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/maim (Old)
 and      /work/SRC/openSUSE:Factory/.maim.new.383539 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "maim"

Thu Sep 17 15:24:06 2026 rev:10 rq:1378452 version:5.8.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/maim/maim.changes        2025-06-11 
18:35:05.504525131 +0200
+++ /work/SRC/openSUSE:Factory/.maim.new.383539/maim.changes    2026-09-17 
15:24:15.344149785 +0200
@@ -1,0 +2,11 @@
+Wed Sep 16 20:25:10 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 5.8.2:
+  * Let libjpeg manage screenshot memory
+  * Write to stdout when the output path is "-"
+  * Require C++17 (needed for ICU >= 76) and CMake 3.10
+  * Stop linking slop against GLX and X11
+- Drop use_cxx17_standard.patch: C++17 is now upstream
+- Drop unused gengetopt and pkgconfig(gl) BuildRequires
+
+-------------------------------------------------------------------

Old:
----
  maim-5.8.0.tar.gz
  use_cxx17_standard.patch

New:
----
  maim-5.8.2.tar.gz

----------(Old B)----------
  Old:  * Stop linking slop against GLX and X11
- Drop use_cxx17_standard.patch: C++17 is now upstream
- Drop unused gengetopt and pkgconfig(gl) BuildRequires
----------(Old E)----------

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

Other differences:
------------------
++++++ maim.spec ++++++
--- /var/tmp/diff_new_pack.kHwznI/_old  2026-09-17 15:24:16.400194113 +0200
+++ /var/tmp/diff_new_pack.kHwznI/_new  2026-09-17 15:24:16.401194155 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package maim
 #
-# 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
@@ -16,22 +16,18 @@
 #
 
 
-# See also http://en.opensuse.org/openSUSE:Specfile_guidelines
 Name:           maim
-Version:        5.8.0
+Version:        5.8.2
 Release:        0
 Summary:        Flexible screenshotting utility
 License:        GPL-3.0-or-later
-Group:          Productivity/Graphics/Other
 URL:            https://github.com/naelstrof/maim
 Source0:        %{url}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
-BuildRequires:  cmake >= 3.7
+BuildRequires:  cmake >= 3.10
 BuildRequires:  gcc-c++
-BuildRequires:  gengetopt
-BuildRequires:  glm-devel
 BuildRequires:  pkgconfig
 BuildRequires:  slop-devel >= 7
-BuildRequires:  pkgconfig(gl)
+BuildRequires:  pkgconfig(glm)
 BuildRequires:  pkgconfig(icu-uc)
 BuildRequires:  pkgconfig(libjpeg)
 BuildRequires:  pkgconfig(libpng)
@@ -40,10 +36,6 @@
 BuildRequires:  pkgconfig(xfixes)
 BuildRequires:  pkgconfig(xrandr)
 BuildRequires:  pkgconfig(zlib)
-%if 0%{?suse_version} >= 1600
-# We must use the C++17 standard if we're using ICU >= 75
-Patch0:         use_cxx17_standard.patch
-%endif
 
 %description
 maim (Make Image) is a utility that takes screenshots of the desktop
@@ -51,7 +43,7 @@
 utility and performs better in several ways.
 
 %prep
-%autosetup
+%autosetup -p1
 
 %build
 %cmake

++++++ maim-5.8.0.tar.gz -> maim-5.8.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maim-5.8.0/CMakeLists.txt 
new/maim-5.8.2/CMakeLists.txt
--- old/maim-5.8.0/CMakeLists.txt       2024-04-10 02:30:19.000000000 +0200
+++ new/maim-5.8.2/CMakeLists.txt       2026-05-28 20:58:56.000000000 +0200
@@ -1,6 +1,6 @@
-cmake_minimum_required( VERSION 3.1.3 )
+cmake_minimum_required( VERSION 3.10 )
 
-project(maim VERSION 5.8.0 LANGUAGES CXX)
+project(maim VERSION 5.8.2 LANGUAGES CXX)
 
 if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
     set(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "..." FORCE)
@@ -38,7 +38,7 @@
 find_package( GLM        REQUIRED )
 
 set_property(TARGET ${BIN_TARGET} PROPERTY CXX_STANDARD_REQUIRED ON)
-set_property(TARGET ${BIN_TARGET} PROPERTY CXX_STANDARD 11)
+set_property(TARGET ${BIN_TARGET} PROPERTY CXX_STANDARD 17)
 set_property(TARGET ${BIN_TARGET} PROPERTY CXX_EXTENSIONS OFF)
 
 # Includes
@@ -64,20 +64,16 @@
                        ${XRANDR_LIBRARY}
                        ${JPEG_LIBRARIES}
                        ${XRENDER_LIBRARY}
-                       ${SLOP_LIBRARIES}
+                       ${SLOP_LIBRARY}
                        ${WEBP_LIBRARY} )
 
-if( ${CMAKE_VERSION} VERSION_LESS 3.7 )
-  message( WARNING "CMake version is below 3.7, CMake version >= 3.7 is 
required for unicode support." )
-else()
-  find_package(ICU COMPONENTS uc)
-  set( MAIM_UNICODE TRUE CACHE BOOL "To enable or disable unicode support." )
-  if ( MAIM_UNICODE AND ICU_FOUND )
-      # ICU is required for old nvidia drivers to work for whatever reason.
-      add_definitions(-DCXXOPTS_USE_UNICODE)
-      include_directories( ${ICU_INCLUDE_DIR} )
-      target_link_libraries( ${BIN_TARGET} ${ICU_UC_LIBRARIES} )
-  endif()
+find_package(ICU COMPONENTS uc)
+set( MAIM_UNICODE TRUE CACHE BOOL "To enable or disable unicode support." )
+if ( MAIM_UNICODE AND ICU_FOUND )
+# ICU is required for old nvidia drivers to work for whatever reason.
+  add_definitions(-DCXXOPTS_USE_UNICODE)
+  include_directories( ${ICU_INCLUDE_DIR} )
+  target_link_libraries( ${BIN_TARGET} ${ICU_UC_LIBRARIES} )
 endif()
 
 install( TARGETS ${BIN_TARGET} DESTINATION "${CMAKE_INSTALL_BINDIR}" )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maim-5.8.0/README.md new/maim-5.8.2/README.md
--- old/maim-5.8.0/README.md    2024-04-10 02:30:19.000000000 +0200
+++ new/maim-5.8.2/README.md    2026-05-28 20:58:56.000000000 +0200
@@ -31,7 +31,7 @@
 * [OpenBSD: graphics/maim](http://openports.se/graphics/maim)
 * [CRUX: maim](https://crux.nu/portdb/?a=search&q=maim)
 * [Gentoo: media-gfx/maim](https://packages.gentoo.org/packages/media-gfx/maim)
-* [NixOS: 
maim](https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/graphics/maim/default.nix)
+* [NixOS: 
maim](https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/ma/maim/package.nix)
 * [GNU Guix: maim](https://packages.guix.gnu.org/packages/maim/)
 * [Ravenports: 
maim](http://www.ravenports.com/catalog/bucket_B4/maim/standard/)
 * [Fedora: maim](https://src.fedoraproject.org/rpms/maim)
@@ -39,7 +39,12 @@
 * [Alpine Linux: 
maim](https://pkgs.alpinelinux.org/packages?name=maim&branch=edge&repo=&arch=&maintainer=)
 * Please make a package for maim on your favorite system, and make a pull 
request to add it to this list.
 
-### Install using CMake (Requires CMake, git, libXrender, libXfixes, libGLM, 
libxcomposite, libxrandr, libxext, GLEW)
+### Install using CMake
+#### Requires these at build-time:
+CMake, glm, x11proto
+
+#### Requires these at build- and runtime:
+libjpeg-turbo, libpng, libwebp, libX11, libXcomposite, libXext, libXfixes, 
libXrandr, libXrender
 ```bash
 git clone https://github.com/naelstrof/slop.git
 cd slop
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maim-5.8.0/modules/FindGLX.cmake 
new/maim-5.8.2/modules/FindGLX.cmake
--- old/maim-5.8.0/modules/FindGLX.cmake        2024-04-10 02:30:19.000000000 
+0200
+++ new/maim-5.8.2/modules/FindGLX.cmake        1970-01-01 01:00:00.000000000 
+0100
@@ -1,44 +0,0 @@
-# Try to find GLX. Once done, this will define:
-#
-#   GLX_FOUND - variable which returns the result of the search
-#   GLX_INCLUDE_DIRS - list of include directories
-#   GLX_LIBRARIES - options for the linker
-
-#=============================================================================
-# Copyright 2012 Benjamin Eikel
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_package(PkgConfig)
-pkg_check_modules(PC_GLX QUIET glx)
-
-find_path(GLX_INCLUDE_DIR
-    GL/glx.h
-    HINTS ${PC_GLX_INCLUDEDIR} ${PC_GLX_INCLUDE_DIRS}
-)
-find_library(GLX_LIBRARY
-    GL
-    HINTS ${PC_GLX_LIBDIR} ${PC_GLX_LIBRARY_DIRS}
-)
-
-set(GLX_INCLUDE_DIRS ${GLX_INCLUDE_DIR})
-set(GLX_LIBRARIES ${GLX_LIBRARY})
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(GLX DEFAULT_MSG
-    GLX_INCLUDE_DIR
-    GLX_LIBRARY
-)
-
-mark_as_advanced(
-    GLX_INCLUDE_DIR
-    GLX_LIBRARY
-)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maim-5.8.0/modules/FindSLOP.cmake 
new/maim-5.8.2/modules/FindSLOP.cmake
--- old/maim-5.8.0/modules/FindSLOP.cmake       2024-04-10 02:30:19.000000000 
+0200
+++ new/maim-5.8.2/modules/FindSLOP.cmake       2026-05-28 20:58:56.000000000 
+0200
@@ -13,18 +13,11 @@
            PATH_SUFFIXES /usr/include /include
            DOC "The SLOP include directory" )
 
-find_library( SLOP_LIBRARIES
+find_library( SLOP_LIBRARY
               NAMES slopy slopy.so slop slop.so
               PATHS /usr/lib /lib
               DOC "The SLOP library" )
 
-FIND_PACKAGE(X11 REQUIRED)
-FIND_PACKAGE(GLX REQUIRED)
-list(APPEND SLOP_LIBRARIES
-    ${X11_LIBRARIES}
-    ${GLX_LIBRARY}
-)
-
 if( SLOP_INCLUDE_DIR AND SLOP_LIBRARY )
     set( SLOP_FOUND 1 )
 else()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maim-5.8.0/src/image.cpp new/maim-5.8.2/src/image.cpp
--- old/maim-5.8.0/src/image.cpp        2024-04-10 02:30:19.000000000 +0200
+++ new/maim-5.8.2/src/image.cpp        2026-05-28 20:58:56.000000000 +0200
@@ -144,41 +144,19 @@
     png_destroy_write_struct(&png, &info);
 }
 
-void init_buffer(jpeg_compress_struct* cinfo) {}
- 
-/* what to do when the buffer is full; this should almost never
- * happen since we allocated our buffer to be big to start with
- */
-boolean empty_buffer(jpeg_compress_struct* cinfo) {
-    return TRUE;
-}
- 
-/* finalize the buffer and do any cleanup stuff */
-void term_buffer(jpeg_compress_struct* cinfo) {}
-
 void ARGBImage::writeJPEG( std::ostream& streamout, int quality ) {
     if ( channels != 3 ) {
         throw new std::runtime_error( "JPEG tried to save image with more than 
3 channels." );
     }
     struct jpeg_compress_struct cinfo;
     struct jpeg_error_mgr       jerr;
-    struct jpeg_destination_mgr dmgr;
- 
-    /* create our in-memory output buffer to hold the jpeg */
-    JOCTET * out_buffer   = new JOCTET[width * height *3];
- 
-    /* here is the magic */
-    dmgr.init_destination    = init_buffer;
-    dmgr.empty_output_buffer = empty_buffer;
-    dmgr.term_destination    = term_buffer;
-    dmgr.next_output_byte    = out_buffer;
-    dmgr.free_in_buffer      = width * height *3;
  
     cinfo.err = jpeg_std_error(&jerr);
     jpeg_create_compress(&cinfo);
  
-    /* make sure we tell it about our manager */
-    cinfo.dest = &dmgr;
+    unsigned char* out_buffer = NULL;
+    unsigned long  out_size   = 0;
+    jpeg_mem_dest(&cinfo, &out_buffer, &out_size);
  
     cinfo.image_width      = width;
     cinfo.image_height     = height;
@@ -200,8 +178,9 @@
     }
     jpeg_finish_compress(&cinfo);
  
-    streamout.write( (const char*)out_buffer, cinfo.dest->next_output_byte - 
out_buffer );
-    delete[] out_buffer;
+    streamout.write( (const char*)out_buffer, out_size );
+    free( out_buffer );
+    jpeg_destroy_compress( &cinfo );
 }
 
 void ARGBImage::writeBMP( std::ostream& streamout ) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maim-5.8.0/src/main.cpp new/maim-5.8.2/src/main.cpp
--- old/maim-5.8.0/src/main.cpp 2024-04-10 02:30:19.000000000 +0200
+++ new/maim-5.8.2/src/main.cpp 2026-05-28 20:58:56.000000000 +0200
@@ -522,7 +522,7 @@
     }
 
     std::ostream* out;
-    if ( maimOptions->savepathGiven ) {
+    if ( maimOptions->savepathGiven && maimOptions->savepath != "-" ) {
         std::ofstream* file = new std::ofstream();
         file->open(maimOptions->savepath.c_str());
         if ( !file->is_open() ) {
@@ -593,7 +593,7 @@
 
     XDestroyImage( image );
 
-    if ( maimOptions->savepathGiven ) {
+    if ( maimOptions->savepathGiven && maimOptions->savepath != "-" ) {
         std::ofstream* file = (std::ofstream*)out;
         file->close();
         delete (std::ofstream*)out;

Reply via email to