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-06-18 19:40:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/re-flex (Old)
 and      /work/SRC/openSUSE:Factory/.re-flex.new.1981 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "re-flex"

Thu Jun 18 19:40:39 2026 rev:7 rq:1360275 version:6.3.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/re-flex/re-flex.changes  2025-07-08 
15:29:46.984109338 +0200
+++ /work/SRC/openSUSE:Factory/.re-flex.new.1981/re-flex.changes        
2026-06-18 19:40:55.527935259 +0200
@@ -1,0 +2,28 @@
+Thu Jun 18 15:14:54 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to version 6.3.0:
+  * new AbstractMatcher methods chr_last() and wchr_last() to
+    extract the last character of a matching pattern
+  * new AbstractMatcher methods chr_next() and wchr_next() to
+    inspect the next character in the input without consuming it
+  * new AbstractMatcher method empty() to check if a match is
+    empty (same as size() == 0)
+  * add new example words.l with %option find to search input
+- Rebase reflex-shared-soversion.patch (bump library VERSION to
+  6.3.0; SOVERSION stays 6, ABI unchanged)
+
+-------------------------------------------------------------------
+Thu Jun 18 07:38:23 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Build with CMake instead of autotools to produce a proper shared
+  library (libreflex.so.6):
+  * add reflex-shared-soversion.patch: build only the shared ReflexLib
+    (drop the static library), give it a soversion, and link the reflex
+    tool against it
+  * package the shared library in a new libreflex6 subpackage and ship
+    the CMake package config in -devel
+  * install the manpage manually (the CMake build does not)
+  * -devel requires the main package: the exported CMake config
+    references the reflex tool target, so find_package(Reflex) needs it
+
+-------------------------------------------------------------------

Old:
----
  re-flex-6.0.0.obscpio

New:
----
  re-flex-6.3.0.obscpio
  reflex-shared-soversion.patch

----------(New B)----------
  New:  * add new example words.l with %option find to search input
- Rebase reflex-shared-soversion.patch (bump library VERSION to
  6.3.0; SOVERSION stays 6, ABI unchanged)
----------(New E)----------

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

Other differences:
------------------
++++++ re-flex.spec ++++++
--- /var/tmp/diff_new_pack.zhx6Q6/_old  2026-06-18 19:40:57.100000818 +0200
+++ /var/tmp/diff_new_pack.zhx6Q6/_new  2026-06-18 19:40:57.104000984 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package re-flex
 #
-# Copyright (c) 2025 Andreas Stieger <[email protected]>
+# 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
@@ -14,16 +14,31 @@
 
 # Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
+# Copyright (c) 2025 Andreas Stieger <[email protected]>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
 
 
+%define sover 6
 Name:           re-flex
-Version:        6.0.0
+Version:        6.3.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
+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
@@ -36,38 +51,51 @@
 lazy quantifiers, functions for lex and syntax error reporting and more.
 Seamlessly integrates with Bison and other parsers.
 
+%package -n libreflex%{sover}
+Summary:        C++ regex library of RE-flex
+
+%description -n libreflex%{sover}
+The RE-flex regex matching/lexing runtime library (shared object).
+
 %package devel
 Summary:        Development files for %{name}
+Requires:       %{name} = %{version}
+Requires:       libreflex%{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.
 
-This package contains files requires for building with re-flex.
+This package contains files required for building with re-flex (headers, the
+shared-library symlink and the CMake package config).
 
 %prep
 %autosetup -p1
 
 %build
-%configure
-%make_build
+%cmake
+%cmake_build
 
 %install
-%make_install
-find %{buildroot}%{_libdir}/ -type f -name "*.a" -print -delete
+%cmake_install
+# 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
-%make_build check
+%ldconfig_scriptlets -n libreflex%{sover}
 
 %files
 %license LICENSE.txt
 %{_bindir}/reflex
 %{_mandir}/man1/reflex.1%{?ext_man}
 
+%files -n libreflex%{sover}
+%license LICENSE.txt
+%{_libdir}/libreflex.so.%{sover}*
+
 %files devel
 %license LICENSE.txt
 %{_includedir}/reflex
-%{_libdir}/pkgconfig/reflex.pc
-%{_libdir}/pkgconfig/reflexmin.pc
+%{_libdir}/libreflex.so
+%{_libdir}/cmake/reflex/
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.zhx6Q6/_old  2026-06-18 19:40:57.164003487 +0200
+++ /var/tmp/diff_new_pack.zhx6Q6/_new  2026-06-18 19:40:57.168003654 +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">v6.0.0</param>
+    <param name="revision">refs/tags/v6.3.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.zhx6Q6/_old  2026-06-18 19:40:57.200004988 +0200
+++ /var/tmp/diff_new_pack.zhx6Q6/_new  2026-06-18 19:40:57.204005155 +0200
@@ -1,7 +1,7 @@
 <servicedata>
   <service name="tar_scm">
     <param name="url">https://github.com/Genivia/RE-flex.git</param>
-    <param 
name="changesrevision">7125b9b7dcb2ff3a185c073b3a1cdfcdc7fc9b24</param>
+    <param 
name="changesrevision">eb6d382593753e4f0ab4e557d2d8c6f193a47878</param>
   </service>
 </servicedata>
 (No newline at EOF)

++++++ re-flex-6.0.0.obscpio -> re-flex-6.3.0.obscpio ++++++
++++ 25172 lines of diff (skipped)

++++++ re-flex.obsinfo ++++++
--- /var/tmp/diff_new_pack.zhx6Q6/_old  2026-06-18 19:40:59.452098906 +0200
+++ /var/tmp/diff_new_pack.zhx6Q6/_new  2026-06-18 19:40:59.460099239 +0200
@@ -1,5 +1,5 @@
 name: re-flex
-version: 6.0.0
-mtime: 1750360062
-commit: 7125b9b7dcb2ff3a185c073b3a1cdfcdc7fc9b24
+version: 6.3.0
+mtime: 1779024732
+commit: eb6d382593753e4f0ab4e557d2d8c6f193a47878
 

++++++ reflex-shared-soversion.patch ++++++
--- 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})
 
-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})
 
 # 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)
 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}

Reply via email to