[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