Compare commits

1 Commits
main ... 1.1

9 changed files with 20 additions and 383 deletions

View File

@@ -1,189 +0,0 @@
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

@@ -1,27 +0,0 @@
From f5684c3a2c220fde377c277dbe7784afbc0013cb Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt@suse.de>
Date: Wed, 14 Jun 2023 09:35:29 +0200
Subject: [PATCH] Revert "Fix typo in arguments to add_metadata_gen_target()
(#2874)"
This reverts commit 0ecc3d9af734d96d5b01cdf52f0ecdf848a33d68.
---
cpp/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index bc331aa..5b7d2b2 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -394,7 +394,7 @@ add_metadata_gen_target (
${TEST_METADATA_TARGET}
"${RESOURCES_DIR}/PhoneNumberMetadataForTesting.xml"
"test_metadata"
- "test_metadata"
+ "metadata"
)
list (APPEND TESTING_LIBRARY_SOURCES "src/phonenumbers/test_metadata.cc")
--
2.41.0

View File

@@ -1,66 +0,0 @@
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

@@ -1,14 +1,14 @@
<services>
<service name="obs_scm" mode="manual">
<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.53</param>
<param name="revision">v8.12.23</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<!-- Contains binary .jars with legally questionable content -->
<param name="exclude">*/java/*</param>
</service>
<service name="set_version" mode="manual" />
<service name="set_version" mode="disabled" />
<service name="tar" mode="buildtime" />
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>

BIN
libphonenumber-8.12.23.obscpio (Stored with Git LFS) Normal file

Binary file not shown.

BIN
libphonenumber-8.13.53.obscpio (Stored with Git LFS)

Binary file not shown.

View File

@@ -1,77 +1,3 @@
-------------------------------------------------------------------
Mon Jan 27 15:44:31 UTC 2025 - Fabian Vogt <fvogt@suse.com>
- Update to version 8.13.53:
* Fixed a bug where the extension was appended twice in
formatOutOfCountryKeepingAlphaChars in the Java version and
updated FormatOutOfCountryKeepingAlphaChars in the C++ version
to format the extension.
* Updated metadata
-------------------------------------------------------------------
Fri Jul 5 06:17:16 UTC 2024 - Fabian Vogt <fvogt@suse.com>
- Update to version 8.13.40:
* Updated metadata
- Use mode="manual" in _service
-------------------------------------------------------------------
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.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
-------------------------------------------------------------------
Mon Jun 26 09:00:14 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- absl is also needed for using the -devel package
-------------------------------------------------------------------
Fri Jun 23 06:14:07 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Update to version 8.13.15:
* Updated phone metadata for region code(s): BE, BF, IL, MN, NE, OM, SO, SV
* Updated carrier data for country calling code(s):
226 (en), 227 (en), 252 (en), 351 (en), 968 (en), 972 (en)
-------------------------------------------------------------------
Wed Jun 14 06:51:08 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Update to version 8.13.14:
* Many data changes
* Removal of unused leading_zero_possible proto field in
phonemetadata.proto and all generated code
* https://github.com/google/libphonenumber/blob/v8.13.14/release_notes.txt
- Depends on abseil now
- Turn metadata regeneration off explicitly, wasn't done previously
either. This allows dropping the java dependency.
- Add patches to fix building:
* 0001-Build-with-C-17.patch
* 0001-Revert-Fix-typo-in-arguments-to-add_metadata_gen_tar.patch
- protobuf got fixed, builds fine with 22 now
-------------------------------------------------------------------
Tue Jun 13 16:03:57 UTC 2023 - Dirk Müller <dmueller@suse.com>
- prefer protobuf 21 as it is not compatible with v22
-------------------------------------------------------------------
Thu May 20 16:16:04 UTC 2021 - Andreas Stieger <andreas.stieger@gmx.de>

View File

@@ -1,4 +1,5 @@
name: libphonenumber
version: 8.13.53
mtime: 1736855323
commit: 9ce5d183b3389a5f5fb2ce072efd01ce83757ef8
version: 8.12.23
mtime: 1620724866
commit: 8767b3e904f2864c1874f3b8e39eeb8bca7d7238

View File

@@ -1,7 +1,7 @@
#
# spec file for package libphonenumber
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,28 +16,22 @@
#
%define lib_ver 8
%define lib_ver2 8.13
Name: libphonenumber
Version: 8.13.53
Version: 8.12.23
Release: 0
%define lib_ver 8
%define lib_ver2 8.12
Summary: Library for parsing, formatting, and validating international phone numbers
License: Apache-2.0
Group: Development/Libraries/C and C++
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
BuildRequires: libboost_system-devel >= 1.40.0
BuildRequires: libboost_thread-devel >= 1.40.0
BuildRequires: pkgconfig
# Actual version requirement unknown
BuildRequires: cmake(absl)
BuildRequires: java
BuildRequires: libboost_date_time-devel
BuildRequires: libboost_system-devel
BuildRequires: libboost_thread-devel
BuildRequires: pkgconfig(gtest)
BuildRequires: pkgconfig(icu-i18n) >= 4.4
BuildRequires: pkgconfig(icu-uc) >= 4.4
@@ -61,7 +55,6 @@ for running on smartphones, and is used by the Android framework since 4.0
Summary: Library for parsing, formatting, and validating international phone numbers
Group: Development/Libraries/C and C++
Requires: %{name}%{lib_ver} = %{version}
Requires: cmake(absl)
Requires: pkgconfig(protobuf) >= 2.4
%description devel
@@ -70,6 +63,7 @@ and validating international phone numbers. The Java version is optimized
for running on smartphones, and is used by the Android framework since 4.0
(Ice Cream Sandwich).
This package provides libraries and header files for developing applications
that use libphonenumber.
@@ -80,7 +74,7 @@ that use libphonenumber.
cd cpp
# Enabling the geocoder breaks quite a lot due to broken cmakelists
# (https://github.com/google/libphonenumber/pull/2556)
%cmake -DBUILD_STATIC_LIB=OFF -DBUILD_SHARED_LIB=ON -DBUILD_TESTING=ON -DBUILD_GEOCODER=OFF -DREGENERATE_METADATA=OFF
%cmake -DBUILD_STATIC_LIB=OFF -DBUILD_SHARED_LIB=ON -DBUILD_TESTING=ON -DBUILD_GEOCODER=OFF
%make_jobs
%install
@@ -102,7 +96,5 @@ cd cpp/build
%files devel
%{_libdir}/libphonenumber.so
%{_includedir}/phonenumbers/
%dir %{_libdir}/cmake/
%{_libdir}/cmake/libphonenumber/
%changelog