Accepting request 1149395 from home:alarrosa:branches:devel:libraries:c_c++

- Update to version 8.13.30:
  * Update alternate formatting data, phone metadata, geocoding
    data, carrier data
  * Updated / refreshed time zone meta data.
  * New geocoding data
- Add patch submitted to upstream at gh#google/libphonenumber#3394
  to fix building with protobuf 3.25.1:
  * 0001-Add-support-to-protobuf-3.25.1.patch
- Add patch submitted in gh#sergiomb2/libphonenumber#1 by
  Fabian Vogt:
  * 0002-Avoid-intermediate-proto-object-library.patch

- Update to version 8.13.23:

OBS-URL: https://build.opensuse.org/request/show/1149395
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libphonenumber?expand=0&rev=22
This commit is contained in:
Fabian Vogt 2024-02-22 13:38:15 +00:00 committed by Git OBS Bridge
parent e5ddb9d14f
commit d6a858b3ed
9 changed files with 282 additions and 13 deletions

View File

@ -0,0 +1,189 @@
From 9137f6d04e3b988dcea0cea7dd6da06509c11533 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= <sergio@serjux.com>
Date: Sat, 20 Jan 2024 22:43:58 +0000
Subject: [PATCH] Add support to protobuf 3.25.1
new-protobuf-cmake-logic.patch
---
cpp/CMakeLists.txt | 90 ++++++++++++++++++++++++++-------------
cpp/cmake/config.cmake.in | 4 +-
2 files changed, 63 insertions(+), 31 deletions(-)
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 96def5c8f9..e076796365 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -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 "$<BUILD_INTERFACE:${PROTO_BINARY_DIR}>")
+ 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/cpp/cmake/config.cmake.in b/cpp/cmake/config.cmake.in
index 05f915659e..b91ce98369 100644
--- a/cpp/cmake/config.cmake.in
+++ b/cpp/cmake/config.cmake.in
@@ -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@")

View File

@ -0,0 +1,66 @@
From 2f5789eeff639f0a533a898b729221076fe32334 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt@suse.de>
Date: Thu, 22 Feb 2024 13:51:45 +0100
Subject: [PATCH] Avoid intermediate proto-object library
The use of proto-object breaks building shared libs and it doesn't make
sense to install it. Instead of TARGET, use generate_protobuf with OUT_VAR.
---
cpp/CMakeLists.txt | 21 ++++-----------------
1 file changed, 4 insertions(+), 17 deletions(-)
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index e07679636..f37b29242 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -250,13 +250,10 @@ if (${Protobuf_VERSION} VERSION_LESS "3.21.0.0")
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 "$<BUILD_INTERFACE:${PROTO_BINARY_DIR}>")
protobuf_generate (
- TARGET proto-objects
+ PROTOS ${PROTO_FILES}
+ OUT_VAR PROTOBUF_OUTPUT
IMPORT_DIRS "${RESOURCES_DIR}"
PROTOC_OUT_DIR "${PROTO_BINARY_DIR}/phonenumbers"
)
@@ -303,9 +300,7 @@ set (
"src/phonenumbers/utf/unilib.cc"
)
-if (${Protobuf_VERSION} VERSION_LESS "3.21.0.0")
- list (APPEND SOURCES ${PROTOBUF_OUTPUT})
-endif ()
+list (APPEND SOURCES ${PROTOBUF_OUTPUT})
if (BUILD_GEOCODER)
set (
@@ -474,10 +469,6 @@ 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
#----------------------------------------------------------------
@@ -629,11 +620,7 @@ endif()
# Install built libraries
#----------------------------------------------------------------
-if (${Protobuf_VERSION} VERSION_GREATER_EQUAL "3.21.0.0")
- set (BUILT_LIBS proto-objects)
-else ()
- set (BUILT_LIBS)
-endif ()
+set (BUILT_LIBS)
set(targets_export_name "${PROJECT_NAME}-targets")
if (BUILD_STATIC_LIB)

View File

@ -2,7 +2,7 @@
<service name="obs_scm" mode="disabled">
<param name="url">https://github.com/google/libphonenumber.git</param>
<param name="scm">git</param>
<param name="revision">v8.13.23</param>
<param name="revision">v8.13.30</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<!-- Contains binary .jars with legally questionable content -->

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a824f88ff261794259034da77669fd08fb91d1650811e13fe671afa8f304830c
size 88558606

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cb35a2aca1cc9a60e3c5a89552dbc601b197c63a9ed2888015e2d48359885d39
size 7629496

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3aff8ad9022cb70e1d6d413003d6478ca60f604f038d5c32863444f7694dcce7
size 100088846

View File

@ -1,7 +1,22 @@
-------------------------------------------------------------------
Thu Feb 22 11:07:23 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
- Update to version 8.13.30:
* Update alternate formatting data, phone metadata, geocoding
data, carrier data
* Updated / refreshed time zone meta data.
* New geocoding data
- Add patch submitted to upstream at gh#google/libphonenumber#3394
to fix building with protobuf 3.25.1:
* 0001-Add-support-to-protobuf-3.25.1.patch
- Add patch submitted in gh#sergiomb2/libphonenumber#1 by
Fabian Vogt:
* 0002-Avoid-intermediate-proto-object-library.patch
-------------------------------------------------------------------
Sun Oct 22 13:41:15 UTC 2023 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to version 8.13.28:
- Update to version 8.13.23:
* Updated phone metadata, carrier data, geocoding data, short
number metadata for a number of region and calling codes
- drop 0001-Build-with-C-17.patch now upstream

View File

@ -1,4 +1,4 @@
name: libphonenumber
version: 8.13.23
mtime: 1697005952
commit: 052011a699cb9492bfc03f4f52620f4ea1b17acf
version: 8.13.30
mtime: 1707368019
commit: 9f8d93638ca36763ea7629d256e3f130d67c2577

View File

@ -1,7 +1,7 @@
#
# spec file for package libphonenumber
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -19,7 +19,7 @@
%define lib_ver 8
%define lib_ver2 8.13
Name: libphonenumber
Version: 8.13.23
Version: 8.13.30
Release: 0
Summary: Library for parsing, formatting, and validating international phone numbers
License: Apache-2.0
@ -28,6 +28,8 @@ URL: https://github.com/google/libphonenumber
Source: %{name}-%{version}.tar.xz
# PATCH-FIX-DOWNSTREAM (see https://github.com/google/libphonenumber/pull/2874)
Patch2: 0001-Revert-Fix-typo-in-arguments-to-add_metadata_gen_tar.patch
Patch3: 0001-Add-support-to-protobuf-3.25.1.patch
Patch4: 0002-Avoid-intermediate-proto-object-library.patch
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: libboost_date_time-devel >= 1.40.0