Blame SPECS/re2.spec

rdobuilder 9f7a79
%global longver 2019-08-01
rdobuilder 9f7a79
%global shortver %(echo %{longver}|sed 's|-||g')
rdobuilder 9f7a79
rdobuilder 9f7a79
Name:           re2
rdobuilder 9f7a79
Version:        %{shortver}
rdobuilder 9f7a79
Epoch:          1
rdobuilder 9f7a79
Release:        9%{?dist}
rdobuilder 9f7a79
Summary:        C++ fast alternative to backtracking RE engines
rdobuilder 9f7a79
License:        BSD
rdobuilder 9f7a79
URL:            http://github.com/google/%{name}/
rdobuilder 9f7a79
Source0:        https://github.com/google/re2/archive/%{longver}.tar.gz
rdobuilder 9f7a79
rdobuilder 9f7a79
# downstream patch to change soname .0 => .0a
rdobuilder 9f7a79
# This is in response to symbol changes in recent release per
rdobuilder 9f7a79
# https://bugzilla.redhat.com/show_bug.cgi?id=1672014#c10
rdobuilder 9f7a79
# TODO: poke upstream on their policy/intentions regarding maintaining
rdobuilder 9f7a79
# stable ABI, or at least get them to bump soname appropriately so we
rdobuilder 9f7a79
# won't have to handle it ourselves downsream via this patch indefinitely.
rdobuilder 9f7a79
Patch1: re2-soname.patch
rdobuilder 9f7a79
rdobuilder 9f7a79
BuildRequires: make
rdobuilder 9f7a79
BuildRequires:  gcc-c++
rdobuilder 9f7a79
%description
rdobuilder 9f7a79
RE2 is a C++ library providing a fast, safe, thread-friendly alternative to
rdobuilder 9f7a79
backtracking regular expression engines like those used in PCRE, Perl, and
rdobuilder 9f7a79
Python.
rdobuilder 9f7a79
rdobuilder 9f7a79
Backtracking engines are typically full of features and convenient syntactic
rdobuilder 9f7a79
sugar but can be forced into taking exponential amounts of time on even small
rdobuilder 9f7a79
inputs.
rdobuilder 9f7a79
rdobuilder 9f7a79
In contrast, RE2 uses automata theory to guarantee that regular expression
rdobuilder 9f7a79
searches run in time linear in the size of the input, at the expense of some
rdobuilder 9f7a79
missing features (e.g back references and generalized assertions).
rdobuilder 9f7a79
rdobuilder 9f7a79
%package        devel
rdobuilder 9f7a79
Summary:        C++ header files and library symbolic links for %{name}
rdobuilder 9f7a79
Requires:       %{name}%{?_isa} = %{epoch}:%{version}-%{release}
rdobuilder 9f7a79
rdobuilder 9f7a79
%description    devel
rdobuilder 9f7a79
This package contains the C++ header files and symbolic links to the shared
rdobuilder 9f7a79
libraries for %{name}. If you would like to develop programs using %{name},
rdobuilder 9f7a79
you will need to install %{name}-devel.
rdobuilder 9f7a79
rdobuilder 9f7a79
%prep
rdobuilder 9f7a79
%setup -q -n %{name}-%{longver}
rdobuilder 9f7a79
rdobuilder 9f7a79
%patch1 -p1 -b .soname
rdobuilder 9f7a79
rdobuilder 9f7a79
%build
rdobuilder 9f7a79
# The -pthread flag issue has been submitted upstream:
rdobuilder 9f7a79
# http://groups.google.com/forum/?fromgroups=#!topic/re2-dev/bkUDtO5l6Lo
rdobuilder 9f7a79
# The RPM macro for the linker flags does not exist on EPEL
rdobuilder 9f7a79
%{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro}
rdobuilder 9f7a79
CXXFLAGS="${CXXFLAGS:-%optflags} -pthread"
rdobuilder 9f7a79
LDFLAGS="${LDFLAGS:-%__global_ldflags} -pthread"
rdobuilder 9f7a79
rdobuilder 9f7a79
%make_build \
rdobuilder 9f7a79
  CXXFLAGS="$CXXFLAGS"\
rdobuilder 9f7a79
  LDFLAGS="$LDFLAGS" \
rdobuilder 9f7a79
  includedir=%{_includedir}\
rdobuilder 9f7a79
  libdir=%{_libdir}
rdobuilder 9f7a79
rdobuilder 9f7a79
%install
rdobuilder 9f7a79
%make_install \
rdobuilder 9f7a79
  INSTALL="install -p"\
rdobuilder 9f7a79
  includedir=%{_includedir}\
rdobuilder 9f7a79
  libdir=%{_libdir}
rdobuilder 9f7a79
rdobuilder 9f7a79
# Suppress the static library
rdobuilder 9f7a79
rm -fv %{buildroot}%{_libdir}/libre2.a
rdobuilder 9f7a79
rdobuilder 9f7a79
%check
rdobuilder 9f7a79
%make_build shared-test
rdobuilder 9f7a79
rdobuilder 9f7a79
%ldconfig_scriptlets
rdobuilder 9f7a79
rdobuilder 9f7a79
%files
rdobuilder 9f7a79
%license LICENSE
rdobuilder 9f7a79
%doc AUTHORS CONTRIBUTORS README
rdobuilder 9f7a79
%{_libdir}/libre2.so.0a*
rdobuilder 9f7a79
rdobuilder 9f7a79
%files devel
rdobuilder 9f7a79
%{_includedir}/re2/
rdobuilder 9f7a79
%{_libdir}/libre2.so
rdobuilder 9f7a79
%{_libdir}/pkgconfig/re2.pc
rdobuilder 9f7a79
rdobuilder 9f7a79
%changelog
rdobuilder 9f7a79
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:20190801-9
rdobuilder 9f7a79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
rdobuilder 9f7a79
rdobuilder 9f7a79
* Tue Mar 30 2021 Jonathan Wakely <jwakely@redhat.com> - 1:20190801-8
rdobuilder 9f7a79
- Rebuilt for removed libstdc++ symbol (#1937698)
rdobuilder 9f7a79
rdobuilder 9f7a79
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:20190801-7
rdobuilder 9f7a79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
rdobuilder 9f7a79
rdobuilder 9f7a79
* Wed Aug 26 2020 Jeff Law <law@redhat.com> - 1:20190801-6
rdobuilder 9f7a79
- No longer force C++11
rdobuilder 9f7a79
rdobuilder 9f7a79
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:20190801-5
rdobuilder 9f7a79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
rdobuilder 9f7a79
rdobuilder 9f7a79
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:20190801-4
rdobuilder 9f7a79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
rdobuilder 9f7a79
rdobuilder 9f7a79
* Wed Aug 14 2019 Rex Dieter <rdieter@fedoraproject.org> - 1:20190801-3
rdobuilder 9f7a79
- -devel: use epoch in versioned dep
rdobuilder 9f7a79
rdobuilder 9f7a79
* Wed Aug 14 2019 Rex Dieter <rdieter@fedoraproject.org> - 1:20190801-2
rdobuilder 9f7a79
- bump soname
rdobuilder 9f7a79
- tighten %%files, track soname explicitly
rdobuilder 9f7a79
- use %%make_build %%make_install macros
rdobuilder 9f7a79
- Epoch:1 for upgrade path (from f29)
rdobuilder 9f7a79
rdobuilder 9f7a79
* Sat Aug 03 2019 Lukas Vrabec <lvrabec@redhat.com> - 20190801-1
rdobuilder 9f7a79
- update to 20190801
rdobuilder 9f7a79
rdobuilder 9f7a79
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 20160401-9
rdobuilder 9f7a79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
rdobuilder 9f7a79
rdobuilder 9f7a79
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 20160401-8
rdobuilder 9f7a79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
rdobuilder 9f7a79
rdobuilder 9f7a79
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 20160401-7
rdobuilder 9f7a79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
rdobuilder 9f7a79
rdobuilder 9f7a79
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 20160401-6
rdobuilder 9f7a79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
rdobuilder 9f7a79
rdobuilder 9f7a79
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 20160401-5
rdobuilder 9f7a79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
rdobuilder 9f7a79
rdobuilder 9f7a79
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 20160401-4
rdobuilder 9f7a79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
rdobuilder 9f7a79
rdobuilder 9f7a79
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 20160401-3
rdobuilder 9f7a79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
rdobuilder 9f7a79
rdobuilder 9f7a79
* Fri Apr 29 2016 Tom Callaway <spot@fedoraproject.org> - 20160401-2
rdobuilder 9f7a79
- hardcode -std=c++11 for older compilers
rdobuilder 9f7a79
rdobuilder 9f7a79
* Fri Apr 29 2016 Tom Callaway <spot@fedoraproject.org> - 20160401-1
rdobuilder 9f7a79
- update to 20160401
rdobuilder 9f7a79
rdobuilder 9f7a79
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 20131024-6
rdobuilder 9f7a79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
rdobuilder 9f7a79
rdobuilder 9f7a79
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20131024-5
rdobuilder 9f7a79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
rdobuilder 9f7a79
rdobuilder 9f7a79
* Wed Apr 15 2015 Petr Pisar <ppisar@redhat.com> - 20131024-4
rdobuilder 9f7a79
- Rebuild owing to C++ ABI change in GCC-5 (bug #1195351)
rdobuilder 9f7a79
rdobuilder 9f7a79
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20131024-3
rdobuilder 9f7a79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
rdobuilder 9f7a79
rdobuilder 9f7a79
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20131024-2
rdobuilder 9f7a79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
rdobuilder 9f7a79
rdobuilder 9f7a79
* Mon Nov 11 2013 Tom Callaway <spot@fedoraproject.org> - 20131024-1
rdobuilder 9f7a79
- update to 20131024
rdobuilder 9f7a79
- fix symbols export to stop test from failing
rdobuilder 9f7a79
rdobuilder 9f7a79
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20130115-3
rdobuilder 9f7a79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
rdobuilder 9f7a79
rdobuilder 9f7a79
* Sun Feb 17 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> 20130115-2
rdobuilder 9f7a79
- Took into account the feedback from review request (#868578).
rdobuilder 9f7a79
rdobuilder 9f7a79
* Sun Feb 10 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> 20130115-1
rdobuilder 9f7a79
- The download source comes now directly from the project.
rdobuilder 9f7a79
rdobuilder 9f7a79
* Thu Oct 25 2012 Denis Arnaud <denis.arnaud_fedora@m4x.org> 0.0.0-2
rdobuilder 9f7a79
- Took into account review request (#868578) feedback.
rdobuilder 9f7a79
rdobuilder 9f7a79
* Sat Oct 20 2012 Denis Arnaud <denis.arnaud_fedora@m4x.org> 0.0.0-1
rdobuilder 9f7a79
- RPM release for Fedora 18
rdobuilder 9f7a79