Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package re-flex for openSUSE:Factory checked 
in at 2026-08-28 19:47:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/re-flex (Old)
 and      /work/SRC/openSUSE:Factory/.re-flex.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "re-flex"

Fri Aug 28 19:47:23 2026 rev:8 rq:1374117 version:6.4.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/re-flex/re-flex.changes  2026-06-18 
19:40:55.527935259 +0200
+++ /work/SRC/openSUSE:Factory/.re-flex.new.1265/re-flex.changes        
2026-08-28 19:48:04.646434250 +0200
@@ -1,0 +2,28 @@
+Thu Aug 27 18:26:39 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to version 6.4.0:
+  * improve DFA growth control: the edge count and the accumulated
+    positions are now capped alongside the state count, and the state
+    cap itself is tightened to a third of the previous limit, so
+    pathological patterns fail with exceeds_limits instead of growing
+    unbounded
+  * AbstractMatcher::set_end() defaults its argument to true
+  * CMake build overhaul: install reflex.pc and reflexmin.pc plus a
+    package version file, make the installed CMake and pkg-config
+    files relocatable, and register the rtest regression test
+- Rename libreflex6 to libreflex6_4: reflex::Pattern grew by 16 bytes,
+  which breaks every generated scanner that embeds one by value, and
+  upstream promises no ABI stability between releases, so the
+  soversion now tracks major.minor
+- Package the minimal runtime library as libreflexmin6_4 with its
+  pkgconfig file; upstream's CMake build now builds it alongside
+  libreflex
+- Run the upstream rtest regression suite in %check
+- Drop the x86-64-v3 build constraint (boo#1246164): 6.4.0 probes SIMD
+  support by compiling instead of running and applies the AVX2 and
+  AVX512BW flags only to the sources that need them, so the build no
+  longer depends on the builder's CPU and the baseline stays SSE2
+- Rebase reflex-shared-soversion.patch: derive the soversion from the
+  project version, drop the added static ReflexMinLibStatic target
+
+-------------------------------------------------------------------

Old:
----
  re-flex-6.3.0.obscpio

New:
----
  re-flex-6.4.0.obscpio

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

Other differences:
------------------
++++++ re-flex.spec ++++++
--- /var/tmp/diff_new_pack.9Cr85L/_old  2026-08-28 19:48:06.247490213 +0200
+++ /var/tmp/diff_new_pack.9Cr85L/_new  2026-08-28 19:48:06.251490353 +0200
@@ -26,24 +26,23 @@
 # published by the Open Source Initiative.
 
 
-%define sover 6
+# upstream promises no ABI stability between releases (its CMake package
+# version file is ExactVersion), so the soversion tracks major.minor
+%define soversion 6.4
+%define sover     6_4
 Name:           re-flex
-Version:        6.3.0
+Version:        6.4.0
 Release:        0
 Summary:        C++ regex library and lexical analyzer generator with Unicode 
support
 License:        BSD-3-Clause
 URL:            https://www.genivia.com/doc/reflex/html/
 Source:         %{name}-%{version}.tar.xz
-# build the shared library (libreflex.so) the upstream CMake build supports and
-# give it a soversion; the autotools build only produced static archives
+# ship only the shared libreflex/libreflexmin and give them a soversion;
+# upstream's CMake build sets none and also installs the static archives
 Patch0:         reflex-shared-soversion.patch
 BuildRequires:  c++_compiler
 BuildRequires:  cmake
 BuildRequires:  pkgconfig
-# make sure SIMD optimizations are used and package build reprodicbly
-%ifarch x86_64
-#!BuildConstraint: hardware:cpu:flag x86-64-v3
-%endif
 
 %description
 A high-performance C++ regex library and lexical analyzer generator with
@@ -57,18 +56,26 @@
 %description -n libreflex%{sover}
 The RE-flex regex matching/lexing runtime library (shared object).
 
+%package -n libreflexmin%{sover}
+Summary:        Minimal C++ regex library of RE-flex
+
+%description -n libreflexmin%{sover}
+The minimal RE-flex runtime library (shared object): the matcher engine
+without the pattern converter, POSIX support and Unicode tables, for linking
+generated scanners that do not need them.
+
 %package devel
 Summary:        Development files for %{name}
 Requires:       %{name} = %{version}
 Requires:       libreflex%{sover} = %{version}
+Requires:       libreflexmin%{sover} = %{version}
 
 %description devel
-Unicode support. Extends Flex++ with Unicode support, indent/dedent anchors,
-lazy quantifiers, functions for lex and syntax error reporting and more.
-Seamlessly integrates with Bison and other parsers.
+RE-flex is a high-performance C++ regex library and lexical analyzer generator
+with Unicode support.
 
 This package contains files required for building with re-flex (headers, the
-shared-library symlink and the CMake package config).
+shared-library symlinks, the pkg-config files and the CMake package config).
 
 %prep
 %autosetup -p1
@@ -82,8 +89,13 @@
 # the CMake build does not install the manpage; ship it like the autotools 
build did
 install -D -m 0644 doc/man/reflex.1 %{buildroot}%{_mandir}/man1/reflex.1
 
+%check
+%ctest
+
 %ldconfig_scriptlets -n libreflex%{sover}
 
+%ldconfig_scriptlets -n libreflexmin%{sover}
+
 %files
 %license LICENSE.txt
 %{_bindir}/reflex
@@ -91,11 +103,18 @@
 
 %files -n libreflex%{sover}
 %license LICENSE.txt
-%{_libdir}/libreflex.so.%{sover}*
+%{_libdir}/libreflex.so.%{soversion}*
+
+%files -n libreflexmin%{sover}
+%license LICENSE.txt
+%{_libdir}/libreflexmin.so.%{soversion}*
 
 %files devel
 %license LICENSE.txt
 %{_includedir}/reflex
 %{_libdir}/libreflex.so
+%{_libdir}/libreflexmin.so
 %{_libdir}/cmake/reflex/
+%{_libdir}/pkgconfig/reflex.pc
+%{_libdir}/pkgconfig/reflexmin.pc
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.9Cr85L/_old  2026-08-28 19:48:06.335493289 +0200
+++ /var/tmp/diff_new_pack.9Cr85L/_new  2026-08-28 19:48:06.343493568 +0200
@@ -2,7 +2,7 @@
   <service mode="manual" name="obs_scm">
     <param name="url">https://github.com/Genivia/RE-flex.git</param>
     <param name="versionformat">@PARENT_TAG@</param>
-    <param name="revision">refs/tags/v6.3.0</param>
+    <param name="revision">refs/tags/v6.4.0</param>
     <param name="scm">git</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="versionrewrite-replacement">\1</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.9Cr85L/_old  2026-08-28 19:48:06.404495701 +0200
+++ /var/tmp/diff_new_pack.9Cr85L/_new  2026-08-28 19:48:06.411495945 +0200
@@ -1,7 +1,7 @@
 <servicedata>
   <service name="tar_scm">
     <param name="url">https://github.com/Genivia/RE-flex.git</param>
-    <param 
name="changesrevision">eb6d382593753e4f0ab4e557d2d8c6f193a47878</param>
+    <param 
name="changesrevision">eb876d17f1518ef434aae4088ef2640887e70163</param>
   </service>
 </servicedata>
 (No newline at EOF)

++++++ re-flex-6.3.0.obscpio -> re-flex-6.4.0.obscpio ++++++
++++ 7338 lines of diff (skipped)

++++++ re-flex.obsinfo ++++++
--- /var/tmp/diff_new_pack.9Cr85L/_old  2026-08-28 19:48:08.241559913 +0200
+++ /var/tmp/diff_new_pack.9Cr85L/_new  2026-08-28 19:48:08.251560263 +0200
@@ -1,5 +1,5 @@
 name: re-flex
-version: 6.3.0
-mtime: 1779024732
-commit: eb6d382593753e4f0ab4e557d2d8c6f193a47878
+version: 6.4.0
+mtime: 1787811856
+commit: eb876d17f1518ef434aae4088ef2640887e70163
 

++++++ reflex-shared-soversion.patch ++++++
--- /var/tmp/diff_new_pack.9Cr85L/_old  2026-08-28 19:48:08.290561626 +0200
+++ /var/tmp/diff_new_pack.9Cr85L/_new  2026-08-28 19:48:08.302562045 +0200
@@ -1,39 +1,46 @@
---- a/CMakeLists.txt   2026-06-18 09:31:51.045948139 +0200
-+++ b/CMakeLists.txt   2026-06-18 09:34:13.737942345 +0200
-@@ -56,24 +56,14 @@
- target_compile_definitions(ReflexLib PRIVATE ${simd_definitions})
- target_compile_options(ReflexLib PRIVATE ${simd_flags})
+Build only the shared libreflex/libreflexmin (distributions do not ship the
+static archives) and give them a SONAME -- upstream's CMake build sets none, so
+the .so has no versioned name at all.  Upstream declares no ABI stability
+between releases (its CMake package version file is ExactVersion, and e.g.
+reflex::Pattern changed size in 6.4.0), so the SONAME tracks major.minor.
+
+Index: CMakeLists.txt
+===================================================================
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -75,11 +75,9 @@
+   set(reflexmin_library_targets ReflexMinLib)
+ else()
+   add_library(ReflexLib SHARED)
+-  add_library(ReflexLibStatic STATIC)
+   add_library(ReflexMinLib SHARED)
+-  add_library(ReflexMinLibStatic STATIC)
+-  set(reflex_library_targets ReflexLib ReflexLibStatic)
+-  set(reflexmin_library_targets ReflexMinLib ReflexMinLibStatic)
++  set(reflex_library_targets ReflexLib)
++  set(reflexmin_library_targets ReflexMinLib)
+ endif()
  
--add_library(ReflexLibStatic STATIC "")
--target_sources(ReflexLibStatic PRIVATE ${lib_sources})
--target_include_directories(ReflexLibStatic PUBLIC
--  $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
--  $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
--)
--target_compile_definitions(ReflexLibStatic PRIVATE ${simd_definitions})
--target_compile_options(ReflexLibStatic PRIVATE ${simd_flags})
--
- add_executable(Reflex "")
- target_sources(Reflex PRIVATE ${bin_sources})
--target_link_libraries(Reflex PRIVATE ReflexLibStatic)
-+target_link_libraries(Reflex PRIVATE ReflexLib)
- target_compile_definitions(Reflex PRIVATE ${simd_definitions})
- target_compile_options(Reflex PRIVATE ${simd_flags})
+ # Set the source files contained in each full-library target.
+@@ -142,6 +140,20 @@
+   set_target_properties(${target} PROPERTIES OUTPUT_NAME reflexmin)
+ endforeach()
  
- # Don't user target name as filename instead use lowercase name for backwards 
compatibility
--set_target_properties(ReflexLibStatic PROPERTIES OUTPUT_NAME 
reflex_static_lib)
--set_target_properties(ReflexLib PROPERTIES OUTPUT_NAME reflex_shared_lib)
-+set_target_properties(ReflexLib PROPERTIES OUTPUT_NAME reflex VERSION 6.3.0 
SOVERSION 6)
++# Shared libraries need a SONAME so that consumers link against a stable ABI
++# name and distributions can package the runtime separately from the headers.
++# This project promises no ABI stability between releases (see the 
ExactVersion
++# package version file below), so the SONAME tracks major.minor.
++foreach(target IN LISTS reflex_all_library_targets)
++  get_target_property(reflex_target_type ${target} TYPE)
++  if(reflex_target_type STREQUAL "SHARED_LIBRARY")
++    set_target_properties(${target} PROPERTIES
++      VERSION ${PROJECT_VERSION}
++      SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
++    )
++  endif()
++endforeach()
++
  set_target_properties(Reflex PROPERTIES OUTPUT_NAME reflex)
  
- #
-@@ -82,7 +72,7 @@
- 
- include(GNUInstallDirs)
- 
--install(TARGETS Reflex ReflexLib ReflexLibStatic
-+install(TARGETS Reflex ReflexLib
-   EXPORT ReflexTargets
-   RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-   LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ # Install the generator and public libraries, and record the library targets 
for
 

Reply via email to