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}
