## START: Set by rpmautospec
## (rpmautospec version 0.2.5)
%define autorelease(e:s:pb:) %{?-p:0.}%{lua:
    release_number = 1;
    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
    print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{?dist}
## END: Set by rpmautospec

%global source_name lexertl14
%global source_summary C++14 version of lexertl
%global source_version 0.1.0
%global source_release %autorelease -b 5 -s %{date}git%{shortcommit0}
%global source_license Boost
%global source_description %{expand:
lexertl is a header-only library for writing lexical analysers. With lexertl
you can:

  • Build lexical analysers at runtime
  • Scan Unicode and ASCII input
  • Scan from files or memory
  • Generate C++ code or even write your own code generator
}
%global forge_url0 https://github.com/BenHanson/lexertl14
%global forge_commit0 2ea71b87d482be7172fd064d27e80ace69b3bee0
%global shortcommit0 %(c=%{forge_commit0}; echo ${c:0:7})
%global date 20211222

%global source_tags %{expand:
BuildRequires:  gcc-c++
BuildRequires:  cmake
BuildRequires:  dos2unix
}

# No compiled binaries are installed, so this would be empty.
%global debug_package %{nil}

%forgeauto_init
%forgeauto_pkg

%package devel
Summary:        %{summary}

# Header-only library:
Provides:       lexertl14-static = %{version}-%{release}

%description devel %{source_description}

%package examples
Summary:        Examples for lexertl14
BuildArch:      noarch

%description examples
%{summary}.

%sourcelist
%forgeauto_sources

%prep
%forgeauto_prep
# Adapt to multilib:
sed -r -i 's@(DESTINATION )lib\b@\1%{_libdir}@' CMakeLists.txt
# Fix line terminations (particularly for files that may be installed)
find . -type f -exec file '{}' '+' |
  grep -E '\bCRLF\b' |
  cut -d ':' -f 1 |
  xargs -r dos2unix


%build
%cmake -DBUILD_TESTING=on
%cmake_build


%install
%cmake_install


%check
%ctest


%files devel
%license include/lexertl/licence_1_0.txt
%doc README.md

%{_includedir}/lexertl

%{_libdir}/cmake/lexertl


%files examples
%license include/lexertl/licence_1_0.txt
%doc examples/*


%changelog
* jeu. déc. 30 2021 Robert-André Mauchin <zebob.m@gmail.com> %doc_init-1
- Convert to new forge macros

* mer. déc. 22 2021 Benjamin A. Beasley <code@musicinmybrain.net> 0.1.0-4
- Update to 2ea71b8

* mar. déc. 14 2021 Benjamin A. Beasley <code@musicinmybrain.net> 0.1.0-3
- Dep. on cmake-filesystem is now auto-generated

* ven. nov. 19 2021 Benjamin A. Beasley <code@musicinmybrain.net> 0.1.0-2
- Update to commit 488602f

* mer. août 25 2021 Benjamin A. Beasley <code@musicinmybrain.net> 0.1.0-1
- Initial package