re2c/re2c.spec

72 lines
2.1 KiB
RPMSpec
Raw Normal View History

#
# spec file for package re2c
#
# Copyright (c) 2021 SUSE LLC
#
# 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.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: re2c
Accepting request 930180 from home:danidoni:branches:devel:tools:compiler - update 2.2: - Added named blocks and block lists in directives. - Added local blocks ``/*!local:re2c ... */``. - Added in-block ``!include`` directive. - Added in-block ``!use`` directive. - Allowed reusable blocks without ``-r --reusable`` option. - Allowed customizing the generated code with configurations for directives ``max:re2c``, ``maxnmatch:re2c``, ``stags:re2c``, ``mtags:re2c`` and ``types:re2c`` (see directive descriptions for details). - Forbid arbitrary text at the end of ``max:re2c`` directive. This may break backwards compatibility, although it is unlikely that this was used by anyone. The change was necessary in order to allow customization of the generated code with configurations. - Deprecated configurations ``flags:i``, ``flags:no-debug-info`` in favour of the global options ``-i``, ``--no-debug-info``. - Reimplemented re2c test runner in Python (thanks to `Serghei Iakovlev <https://github.com/sergeyklay>`_). Improved integration with GitHub Actions. - Changes in the experimental libre2c library: added new algorithms that construct t-string or extract submatch on all repetitions; added TDFA benchmark written in Java by Angelo Borsotti. - Updated documentation. - Add python >= 3.7 dependency required by new tests. - Upstream added some tests written in python. The tests failed locally because the module dataclasses from python >= 3.7 were missing. On OBS the builds failed due to a timeout when trying to run those python tests. OBS-URL: https://build.opensuse.org/request/show/930180 OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/re2c?expand=0&rev=43
2021-11-10 21:34:06 +01:00
Version: 2.2
Release: 0
Summary: Tool for generating C-based recognizers from regular expressions
License: SUSE-Public-Domain
Group: Development/Libraries/C and C++
URL: https://re2c.org/
Source: https://github.com/skvadrik/re2c/releases/download/%{version}/%{name}-%{version}.tar.xz
BuildRequires: bison
BuildRequires: gcc-c++
BuildRequires: python3-base >= 3.7
%description
re2c is a tool for writing fast and flexible lexers. Unlike other such
tools, it concentrates solely on generating efficient code for matching
regular expressions. This makes it suitable for a wide variety of
applications. The generated scanners approach hand-crafted ones in
terms of size and speed.
%prep
%autosetup
%build
%configure
%if 0%{?do_profiling}
%make_build CFLAGS="%{optflags} %{cflags_profile_generate}"
# do not run profiling in parallel for reproducible builds (boo#1040589 boo#1102408)
%make_build CFLAGS="%{optflags} %{cflags_profile_generate}" check
%make_build clean
%make_build CFLAGS="%{optflags} %{cflags_profile_feedback}"
%else
%make_build CFLAGS="%{optflags}"
%endif
%install
%make_install
%check
make check %{?_smp_mflags}
%files
%license README.md
%doc CHANGELOG
%doc examples/
%{_bindir}/re2c
%{_bindir}/re2go
%{_mandir}/man1/re2c.1%{?ext_man}
%{_mandir}/man1/re2go.1.gz
%dir %{_datadir}/re2c
%dir %{_datadir}/re2c/stdlib
%{_datadir}/re2c/stdlib/unicode_categories.re
%changelog