SHA256
1
0
forked from pool/re2c
re2c/re2c.spec
Peter Simons 7539ec3aa4 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 20:34:06 +00:00

72 lines
2.1 KiB
RPMSpec

#
# 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
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 >= 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