[packages/re2] - updated to 2022-06-01 (new soname); switched to cmake, but install .pc file manually
qboosh
qboosh at pld-linux.org
Sat Jun 25 19:31:36 CEST 2022
commit aa1a67f1d43f970ec984a52f5b1cfc18bf8a83dd
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sat Jun 25 19:33:04 2022 +0200
- updated to 2022-06-01 (new soname); switched to cmake, but install .pc file manually
re2.spec | 52 ++++++++++++++---------------
re2Config-pld.cmake.in | 19 -----------
re2Config.cmake | 88 --------------------------------------------------
3 files changed, 26 insertions(+), 133 deletions(-)
---
diff --git a/re2.spec b/re2.spec
index df8a3bf..b8841c8 100644
--- a/re2.spec
+++ b/re2.spec
@@ -3,7 +3,7 @@
%bcond_without tests # build without tests
%bcond_without static_libs # don't build static libraries
-%define tagver 2020-08-01
+%define tagver 2022-06-01
%define ver %(echo %{tagver} | tr -d -)
Summary: C++ fast alternative to backtracking RE engines
Summary(pl.UTF-8): Szybka alternatywna dla silników RE w C++
@@ -14,11 +14,10 @@ License: BSD
Group: Libraries
#Source0Download: https://github.com/google/re2/releases
Source0: https://github.com/google/re2/archive/%{tagver}/%{name}-%{tagver}.tar.gz
-# Source0-md5: 6dbd1d52b21d2d0307495bf075e45d42
-Source1: re2Config.cmake
-Source2: re2Config-pld.cmake.in
+# Source0-md5: cb629f38da6b7234a9e9eba271ded5d6
Patch0: test-compile.patch
URL: https://github.com/google/re2
+BuildRequires: cmake >= 3.10.2
BuildRequires: libstdc++-devel >= 6:4.7
BuildRequires: rpmbuild(macros) >= 1.734
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -83,36 +82,37 @@ Statyczna biblioteka RE2.
%patch0 -p1
%build
-# cmake doesn't set soname, doesn't install .pc file - still use plain makefiles
+%if %{with static_libs}
+%cmake -B build-static \
+ -DBUILD_SHARED_LIBS=OFF
+
+%{__make} -C build-static
+%endif
+
+%cmake -B build
-# The -pthread flag issue has been submitted upstream:
-# http://groups.google.com/forum/?fromgroups=#!topic/re2-dev/bkUDtO5l6Lo
-%{__make} all %{?with_tests:compile-test} \
- CXX="%{__cxx}" \
- CXXFLAGS="%{rpmcxxflags}" \
- LDFLAGS="%{rpmldflags} -pthread" \
- includedir=%{_includedir} \
- libdir=%{_libdir}
+%{__make} -C build
%if %{with tests}
-%{__make} test \
- CXX="%{__cxx}" \
- CXXFLAGS="%{rpmcxxflags}"
+%{__make} -C build test
%endif
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install \
- INSTALL="install -p" \
- includedir=%{_includedir} \
- libdir=%{_libdir} \
+%if %{with static_libs}
+%{__make} -C build-static install \
+ DESTDIR=$RPM_BUILD_ROOT
+%endif
+
+%{__make} -C build install \
DESTDIR=$RPM_BUILD_ROOT
-# ...but some users require cmake config files, so fake them
-install -d $RPM_BUILD_ROOT%{_libdir}/cmake/re2
-cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/cmake/re2
-sed -e 's, at libdir@,%{_libdir},' %{SOURCE2} >$RPM_BUILD_ROOT%{_libdir}/cmake/re2/re2Config-pld.cmake
+# cmake doesn't install .pc file, do it manually
+[ ! -f $RPM_BUILD_ROOT%{_pkgconfigdir}/re2.pc ] || exit 1
+install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
+%{__sed} -e 's, at includedir@,%{_includedir},' \
+ -e 's, at libdir@,%{_libdir},' re2.pc >$RPM_BUILD_ROOT%{_pkgconfigdir}/re2.pc
%clean
rm -rf $RPM_BUILD_ROOT
@@ -122,9 +122,9 @@ rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc AUTHORS CONTRIBUTORS LICENSE README
+%doc AUTHORS CONTRIBUTORS LICENSE README SECURITY.md
%attr(755,root,root) %{_libdir}/libre2.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libre2.so.8
+%attr(755,root,root) %ghost %{_libdir}/libre2.so.9
%files devel
%defattr(644,root,root,755)
diff --git a/re2Config-pld.cmake.in b/re2Config-pld.cmake.in
deleted file mode 100644
index 6e8fb37..0000000
--- a/re2Config-pld.cmake.in
+++ /dev/null
@@ -1,19 +0,0 @@
-#----------------------------------------------------------------
-# Generated CMake target import file for configuration "PLD".
-#----------------------------------------------------------------
-
-# Commands may need to know the format version.
-set(CMAKE_IMPORT_FILE_VERSION 1)
-
-# Import target "re2::re2" for configuration "PLD"
-set_property(TARGET re2::re2 APPEND PROPERTY IMPORTED_CONFIGURATIONS PLD)
-set_target_properties(re2::re2 PROPERTIES
- IMPORTED_LOCATION_PLD "@libdir@/libre2.so"
- IMPORTED_SONAME_PLD "libre2.so"
- )
-
-list(APPEND _IMPORT_CHECK_TARGETS re2::re2 )
-list(APPEND _IMPORT_CHECK_FILES_FOR_re2::re2 "@libdir@/libre2.so" )
-
-# Commands beyond this point should not need to know the version.
-set(CMAKE_IMPORT_FILE_VERSION)
diff --git a/re2Config.cmake b/re2Config.cmake
deleted file mode 100644
index 838f403..0000000
--- a/re2Config.cmake
+++ /dev/null
@@ -1,88 +0,0 @@
-# Generated by CMake
-
-if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
- message(FATAL_ERROR "CMake >= 2.6.0 required")
-endif()
-cmake_policy(PUSH)
-cmake_policy(VERSION 2.6)
-#----------------------------------------------------------------
-# Generated CMake target import file.
-#----------------------------------------------------------------
-
-# Commands may need to know the format version.
-set(CMAKE_IMPORT_FILE_VERSION 1)
-
-# Protect against multiple inclusion, which would fail when already imported targets are added once more.
-set(_targetsDefined)
-set(_targetsNotDefined)
-set(_expectedTargets)
-foreach(_expectedTarget re2::re2)
- list(APPEND _expectedTargets ${_expectedTarget})
- if(NOT TARGET ${_expectedTarget})
- list(APPEND _targetsNotDefined ${_expectedTarget})
- endif()
- if(TARGET ${_expectedTarget})
- list(APPEND _targetsDefined ${_expectedTarget})
- endif()
-endforeach()
-if("${_targetsDefined}" STREQUAL "${_expectedTargets}")
- unset(_targetsDefined)
- unset(_targetsNotDefined)
- unset(_expectedTargets)
- set(CMAKE_IMPORT_FILE_VERSION)
- cmake_policy(POP)
- return()
-endif()
-if(NOT "${_targetsDefined}" STREQUAL "")
- message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n")
-endif()
-unset(_targetsDefined)
-unset(_targetsNotDefined)
-unset(_expectedTargets)
-
-
-# The installation prefix configured by this project.
-set(_IMPORT_PREFIX "/usr")
-
-# Create imported target re2::re2
-add_library(re2::re2 SHARED IMPORTED)
-
-set_target_properties(re2::re2 PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "/usr/include"
-)
-
-# Load information for each installed configuration.
-get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
-file(GLOB CONFIG_FILES "${_DIR}/re2Config-*.cmake")
-foreach(f ${CONFIG_FILES})
- include(${f})
-endforeach()
-
-# Cleanup temporary variables.
-set(_IMPORT_PREFIX)
-
-# Loop over all imported files and verify that they actually exist
-foreach(target ${_IMPORT_CHECK_TARGETS} )
- foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
- if(NOT EXISTS "${file}" )
- message(FATAL_ERROR "The imported target \"${target}\" references the file
- \"${file}\"
-but this file does not exist. Possible reasons include:
-* The file was deleted, renamed, or moved to another location.
-* An install or uninstall procedure did not complete successfully.
-* The installation package was faulty and contained
- \"${CMAKE_CURRENT_LIST_FILE}\"
-but not all the files it references.
-")
- endif()
- endforeach()
- unset(_IMPORT_CHECK_FILES_FOR_${target})
-endforeach()
-unset(_IMPORT_CHECK_TARGETS)
-
-# This file does not depend on other imported targets which have
-# been exported from the same project but in a separate export set.
-
-# Commands beyond this point should not need to know the version.
-set(CMAKE_IMPORT_FILE_VERSION)
-cmake_policy(POP)
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/re2.git/commitdiff/aa1a67f1d43f970ec984a52f5b1cfc18bf8a83dd
More information about the pld-cvs-commit
mailing list