diff --git a/libphonenumber-8.13.27-new-protobuf-cmake-logic.patch b/libphonenumber-8.13.27-new-protobuf-cmake-logic.patch new file mode 100644 index 0000000..628e001 --- /dev/null +++ b/libphonenumber-8.13.27-new-protobuf-cmake-logic.patch @@ -0,0 +1,176 @@ +diff -up libphonenumber-8.13.27/cpp/cmake/config.cmake.in.3213 libphonenumber-8.13.27/cpp/cmake/config.cmake.in +--- libphonenumber-8.13.27/cpp/cmake/config.cmake.in.3213 2023-12-07 01:58:20.000000000 -0500 ++++ libphonenumber-8.13.27/cpp/cmake/config.cmake.in 2024-01-16 09:52:09.617694098 -0500 +@@ -2,8 +2,8 @@ + + include(CMakeFindDependencyMacro) + +-find_dependency(absl) +-find_dependency(Protobuf) ++find_dependency(absl CONFIG) ++find_dependency(Protobuf CONFIG) + + include("${CMAKE_CURRENT_LIST_DIR}/@targets_export_name@.cmake") + check_required_components("@PROJECT_NAME@") +diff -up libphonenumber-8.13.27/cpp/CMakeLists.txt.3213 libphonenumber-8.13.27/cpp/CMakeLists.txt +--- libphonenumber-8.13.27/cpp/CMakeLists.txt.3213 2024-01-16 09:51:54.097535141 -0500 ++++ libphonenumber-8.13.27/cpp/CMakeLists.txt 2024-01-16 10:04:50.017558082 -0500 +@@ -100,7 +100,8 @@ if (USE_ALTERNATE_FORMATS) + endif () + + # Find all the required libraries and programs. +-find_package(absl) ++# Use "CONFIG" as there is no built-in cmake module for absl. ++find_package(absl CONFIG REQUIRED) + + if(NOT absl_FOUND) + # Overide abseil install rules for subprojects +@@ -169,14 +170,24 @@ if (USE_RE2) + find_required_library (RE2 re2/re2.h re2 "Google RE2") + endif () + +-if (USE_PROTOBUF_LITE) +- find_required_library (PROTOBUF google/protobuf/message_lite.h protobuf-lite +- "Google Protocol Buffers") +- check_library_version (PC_PROTOBUF protobuf-lite>=2.4) ++find_package(Protobuf CONFIG) ++if(NOT Protobuf_FOUND) ++ find_package(Protobuf REQUIRED) ++endif() ++ ++if (${Protobuf_VERSION} VERSION_LESS "3.21.0.0") ++ if (USE_PROTOBUF_LITE) ++ set (PROTOBUF_LIB ${Protobuf_LITE_LIBRARIES}) ++ else () ++ set (PROTOBUF_LIB ${Protobuf_LIBRARIES}) ++ endif () ++# find_required_program (PROTOC protoc "Google Protocol Buffers compiler (protoc)") + else () +- find_required_library (PROTOBUF google/protobuf/message_lite.h protobuf +- "Google Protocol Buffers") +- check_library_version (PC_PROTOBUF protobuf>=2.4) ++ if (USE_PROTOBUF_LITE) ++ set (PROTOBUF_LIB protobuf::libprotobuf-lite) ++ else () ++ set (PROTOBUF_LIB protobuf::libprotobuf) ++ endif () + endif () + + find_required_library (ICU_UC unicode/uchar.h icuuc "ICU") +@@ -192,9 +203,6 @@ if (USE_ICU_REGEXP OR BUILD_GEOCODER) + list (APPEND ICU_LIB ${ICU_I18N_LIB}) + endif () + +-find_required_program (PROTOC protoc +- "Google Protocol Buffers compiler (protoc)") +- + if (REGENERATE_METADATA) + find_required_program (JAVA java + "Java Runtime Environment") +@@ -220,24 +228,39 @@ endif () + set (RESOURCES_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../resources") + + set ( +- PROTOBUF_SOURCES "${RESOURCES_DIR}/phonemetadata.proto" +- "${RESOURCES_DIR}/phonenumber.proto" ++ PROTO_FILES "${RESOURCES_DIR}/phonemetadata.proto" ++ "${RESOURCES_DIR}/phonenumber.proto" + ) + +-set ( +- PROTOBUF_OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/src/phonenumbers/phonemetadata.pb.cc" +- "${CMAKE_CURRENT_SOURCE_DIR}/src/phonenumbers/phonemetadata.pb.h" +- "${CMAKE_CURRENT_SOURCE_DIR}/src/phonenumbers/phonenumber.pb.cc" +- "${CMAKE_CURRENT_SOURCE_DIR}/src/phonenumbers/phonenumber.pb.h" +-) ++if (${Protobuf_VERSION} VERSION_LESS "3.21.0.0") ++ set ( ++ PROTOBUF_OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/src/phonenumbers/phonemetadata.pb.cc" ++ "${CMAKE_CURRENT_SOURCE_DIR}/src/phonenumbers/phonemetadata.pb.h" ++ "${CMAKE_CURRENT_SOURCE_DIR}/src/phonenumbers/phonenumber.pb.cc" ++ "${CMAKE_CURRENT_SOURCE_DIR}/src/phonenumbers/phonenumber.pb.h" ++ ) + +-add_custom_command ( +- COMMAND ${PROTOC_BIN} --cpp_out=${CMAKE_CURRENT_SOURCE_DIR}/src/phonenumbers/ +- --proto_path=${RESOURCES_DIR} ${PROTOBUF_SOURCES} ++# COMMAND ${PROTOC_BIN} ++ add_custom_command ( ++ COMMAND ${Protobuf_PROTOC_EXECUTABLE} ++ ARGS --cpp_out=${CMAKE_CURRENT_SOURCE_DIR}/src/phonenumbers/ --proto_path=${RESOURCES_DIR} ${PROTO_FILES} ++ VERBATIM + +- OUTPUT ${PROTOBUF_OUTPUT} +- DEPENDS ${PROTOBUF_SOURCES} +-) ++ OUTPUT ${PROTOBUF_OUTPUT} ++ DEPENDS ${PROTO_FILES} ++ ) ++else () ++ set (PROTOBUF_OUTPUT "") ++ add_library (proto-objects OBJECT ${PROTO_FILES}) ++ target_link_libraries (proto-objects PUBLIC protobuf::libprotobuf) ++ set (PROTO_BINARY_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src") ++ target_include_directories (proto-objects PUBLIC "$") ++ protobuf_generate ( ++ TARGET proto-objects ++ IMPORT_DIRS "${RESOURCES_DIR}" ++ PROTOC_OUT_DIR "${PROTO_BINARY_DIR}/phonenumbers" ++ ) ++endif () + + if (BUILD_GEOCODER) + # Geocoding data cpp file generation +@@ -267,9 +290,7 @@ set ( + "src/phonenumbers/base/strings/string_piece.cc" + "src/phonenumbers/default_logger.cc" + "src/phonenumbers/logger.cc" +- "src/phonenumbers/phonemetadata.pb.cc" # Generated by Protocol Buffers. + "src/phonenumbers/phonenumber.cc" +- "src/phonenumbers/phonenumber.pb.cc" # Generated by Protocol Buffers. + "src/phonenumbers/phonenumberutil.cc" + "src/phonenumbers/regex_based_matcher.cc" + "src/phonenumbers/regexp_cache.cc" +@@ -282,6 +303,10 @@ set ( + "src/phonenumbers/utf/unilib.cc" + ) + ++if (${Protobuf_VERSION} VERSION_LESS "3.21.0.0") ++ list (APPEND SOURCES ${PROTOBUF_OUTPUT}) ++endif () ++ + if (BUILD_GEOCODER) + set ( + GEOCODING_SOURCES +@@ -290,7 +315,6 @@ if (BUILD_GEOCODER) + "src/phonenumbers/geocoding/geocoding_data.cc" + "src/phonenumbers/geocoding/mapping_file_provider.cc" + "src/phonenumbers/geocoding/phonenumber_offline_geocoder.cc" +- "src/phonenumbers/phonenumber.pb.h" # Forces proto buffer generation. + ) + endif () + +@@ -450,6 +474,10 @@ if (APPLE) + list (APPEND LIBRARY_DEPS ${COREFOUNDATION_LIB} ${FOUNDATION_LIB}) + endif () + ++if (${Protobuf_VERSION} VERSION_GREATER_EQUAL "3.21.0.0") ++ list (APPEND LIBRARY_DEPS proto-objects) ++endif () ++ + #---------------------------------------------------------------- + # Build libraries + #---------------------------------------------------------------- +@@ -601,7 +629,11 @@ endif() + # Install built libraries + #---------------------------------------------------------------- + +-set (BUILT_LIBS) ++if (${Protobuf_VERSION} VERSION_GREATER_EQUAL "3.21.0.0") ++ set (BUILT_LIBS proto-objects) ++else () ++ set (BUILT_LIBS) ++endif () + set(targets_export_name "${PROJECT_NAME}-targets") + + if (BUILD_STATIC_LIB) diff --git a/libphonenumber.spec b/libphonenumber.spec index 661038c..f0e75b4 100644 --- a/libphonenumber.spec +++ b/libphonenumber.spec @@ -1,11 +1,12 @@ Name: libphonenumber Version: 8.13.28 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Library to handle international phone numbers # The project itself is ASL 2.0 but contains files from Chromium which are BSD and MIT. License: ASL 2.0 and BSD and MIT URL: https://github.com/google/libphonenumber/ Source0: https://github.com/google/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz +Patch1: libphonenumber-8.13.27-new-protobuf-cmake-logic.patch BuildRequires: abseil-cpp-devel BuildRequires: boost-devel @@ -78,6 +79,9 @@ popd %changelog +* Thu Jan 18 2024 Sérgio Basto - 8.13.28-2 +- add support to protobuf 3.25.1 + * Thu Jan 18 2024 Packit - 8.13.28-1 - [maven-release-plugin] prepare release v8.13.28 (Mandali Reddy) - Metadata updates for release 8.13.28 (#3383) (mandlil)