From ba951f4a520637d712226e1eac90db4f2dbe8f3b Mon Sep 17 00:00:00 2001 From: basebuilder_pel7x64builder0 Date: Tue, 19 May 2020 02:34:31 +0200 Subject: [PATCH] re2 package creation Signed-off-by: basebuilder_pel7x64builder0 --- SOURCES/re2-soname.patch | 12 +++ SPECS/re2.spec | 163 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 175 insertions(+) create mode 100644 SOURCES/re2-soname.patch create mode 100644 SPECS/re2.spec diff --git a/SOURCES/re2-soname.patch b/SOURCES/re2-soname.patch new file mode 100644 index 00000000..5fce1630 --- /dev/null +++ b/SOURCES/re2-soname.patch @@ -0,0 +1,12 @@ +diff -up re2-2019-08-01/Makefile.soname re2-2019-08-01/Makefile +--- re2-2019-08-01/Makefile.soname 2019-08-09 16:17:57.364309804 -0500 ++++ re2-2019-08-01/Makefile 2019-08-09 16:07:04.674225074 -0500 +@@ -44,7 +44,7 @@ endif + + # ABI version + # http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html +-SONAME=0 ++SONAME=0a + + # To rebuild the Tables generated by Perl and Python scripts (requires Internet + # access for Unicode data), uncomment the following line: diff --git a/SPECS/re2.spec b/SPECS/re2.spec new file mode 100644 index 00000000..e3db9c8a --- /dev/null +++ b/SPECS/re2.spec @@ -0,0 +1,163 @@ +%global longver 2019-08-01 +%global shortver %(echo %{longver}|sed 's|-||g') + +Name: re2 +Version: %{shortver} +Epoch: 1 +Release: 4%{?dist} +Summary: C++ fast alternative to backtracking RE engines +License: BSD +URL: http://github.com/google/%{name}/ +Source0: https://github.com/google/re2/archive/%{longver}.tar.gz + +# downstream patch to change soname .0 => .0a +# This is in response to symbol changes in recent release per +# https://bugzilla.redhat.com/show_bug.cgi?id=1672014#c10 +# TODO: poke upstream on their policy/intentions regarding maintaining +# stable ABI, or at least get them to bump soname appropriately so we +# won't have to handle it ourselves downsream via this patch indefinitely. +Patch1: re2-soname.patch + +BuildRequires: gcc-c++ +%description +RE2 is a C++ library providing a fast, safe, thread-friendly alternative to +backtracking regular expression engines like those used in PCRE, Perl, and +Python. + +Backtracking engines are typically full of features and convenient syntactic +sugar but can be forced into taking exponential amounts of time on even small +inputs. + +In contrast, RE2 uses automata theory to guarantee that regular expression +searches run in time linear in the size of the input, at the expense of some +missing features (e.g back references and generalized assertions). + +%package devel +Summary: C++ header files and library symbolic links for %{name} +Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} + +%description devel +This package contains the C++ header files and symbolic links to the shared +libraries for %{name}. If you would like to develop programs using %{name}, +you will need to install %{name}-devel. + +%prep +%setup -q -n %{name}-%{longver} + +%patch1 -p1 -b .soname + +%build +# The -pthread flag issue has been submitted upstream: +# http://groups.google.com/forum/?fromgroups=#!topic/re2-dev/bkUDtO5l6Lo +# The RPM macro for the linker flags does not exist on EPEL +%{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro} +CXXFLAGS="${CXXFLAGS:-%optflags} -pthread -std=c++11" +LDFLAGS="${LDFLAGS:-%__global_ldflags} -pthread" + +%make_build \ + CXXFLAGS="$CXXFLAGS"\ + LDFLAGS="$LDFLAGS" \ + includedir=%{_includedir}\ + libdir=%{_libdir} + +%install +%make_install \ + INSTALL="install -p"\ + includedir=%{_includedir}\ + libdir=%{_libdir} + +# Suppress the static library +rm -fv %{buildroot}%{_libdir}/libre2.a + +%check +%make_build shared-test + +%ldconfig_scriptlets + +%files +%license LICENSE +%doc AUTHORS CONTRIBUTORS README +%{_libdir}/libre2.so.0a* + +%files devel +%{_includedir}/re2/ +%{_libdir}/libre2.so +%{_libdir}/pkgconfig/re2.pc + +%changelog +* Thu Jan 30 2020 Fedora Release Engineering - 1:20190801-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Aug 14 2019 Rex Dieter - 1:20190801-3 +- -devel: use epoch in versioned dep + +* Wed Aug 14 2019 Rex Dieter - 1:20190801-2 +- bump soname +- tighten %%files, track soname explicitly +- use %%make_build %%make_install macros +- Epoch:1 for upgrade path (from f29) + +* Sat Aug 03 2019 Lukas Vrabec - 20190801-1 +- update to 20190801 + +* Fri Jul 26 2019 Fedora Release Engineering - 20160401-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering - 20160401-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 20160401-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 20160401-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 20160401-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 20160401-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 20160401-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Apr 29 2016 Tom Callaway - 20160401-2 +- hardcode -std=c++11 for older compilers + +* Fri Apr 29 2016 Tom Callaway - 20160401-1 +- update to 20160401 + +* Thu Feb 04 2016 Fedora Release Engineering - 20131024-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Jun 18 2015 Fedora Release Engineering - 20131024-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Apr 15 2015 Petr Pisar - 20131024-4 +- Rebuild owing to C++ ABI change in GCC-5 (bug #1195351) + +* Sun Aug 17 2014 Fedora Release Engineering - 20131024-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 20131024-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon Nov 11 2013 Tom Callaway - 20131024-1 +- update to 20131024 +- fix symbols export to stop test from failing + +* Sun Aug 04 2013 Fedora Release Engineering - 20130115-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Sun Feb 17 2013 Denis Arnaud 20130115-2 +- Took into account the feedback from review request (#868578). + +* Sun Feb 10 2013 Denis Arnaud 20130115-1 +- The download source comes now directly from the project. + +* Thu Oct 25 2012 Denis Arnaud 0.0.0-2 +- Took into account review request (#868578) feedback. + +* Sat Oct 20 2012 Denis Arnaud 0.0.0-1 +- RPM release for Fedora 18 +