git: 652e44748290 - main - devel/libphonenumber: update to 8.12.41, latest upstream
Date: Sat, 22 Jan 2022 21:42:07 UTC
The branch main has been updated by adridg: URL: https://cgit.FreeBSD.org/ports/commit/?id=652e44748290eb15a703091838db7f05ff63e445 commit 652e44748290eb15a703091838db7f05ff63e445 Author: Adriaan de Groot <adridg@FreeBSD.org> AuthorDate: 2022-01-22 21:29:09 +0000 Commit: Adriaan de Groot <adridg@FreeBSD.org> CommitDate: 2022-01-22 21:42:05 +0000 devel/libphonenumber: update to 8.12.41, latest upstream This update introduces new tools, which use abseil. The build system tries to git-clone the abseil repo and build that. Instead, use devel/abseil. However, devel/abseil is built as C++17, so we need to patch the build to force C++17 on libphonenumber as well (otherwise, abseil introduces pre-C++17 versions of string_view and link failures follow). We set WRKSRC_SUBDIR, but the build system now *also* goes off to ../tools/cpp (from that SUBDIR), so .. I suppose we could drop the SUBDIR setting and instead try some other way of invoking CMake for only the C++ parts. Rather than doing that, keep SUBDIR, but that gives us a patch with path ../tools/ which deservers mention. Consider it mentioned. --- devel/libphonenumber/Makefile | 7 ++-- devel/libphonenumber/distinfo | 6 +-- devel/libphonenumber/files/patch-CMakeLists.txt | 19 +++++++++ .../files/patch-tools_CMakeLists.txt | 47 ++++++++++++++++++++++ 4 files changed, 73 insertions(+), 6 deletions(-) diff --git a/devel/libphonenumber/Makefile b/devel/libphonenumber/Makefile index c992db756030..03b90566dcf6 100644 --- a/devel/libphonenumber/Makefile +++ b/devel/libphonenumber/Makefile @@ -1,6 +1,6 @@ PORTNAME= libphonenumber DISTVERSIONPREFIX= v -DISTVERSION= 8.12.39 +DISTVERSION= 8.12.41 CATEGORIES= devel MAINTAINER= kde@FreeBSD.org @@ -8,12 +8,13 @@ COMMENT= Library for parsing, formatting, and validating phone numbers LICENSE= APACHE20 -BUILD_DEPENDS= googletest>0:devel/googletest +BUILD_DEPENDS= googletest>0:devel/googletest \ + abseil>0:devel/abseil LIB_DEPENDS= libboost_atomic.so:devel/boost-libs \ libicui18n.so:devel/icu \ libprotobuf.so:devel/protobuf -USES= cmake:noninja compiler:c++11-lang +USES= cmake:noninja compiler:c++17-lang pkgconfig USE_GITHUB= yes GH_ACCOUNT= google diff --git a/devel/libphonenumber/distinfo b/devel/libphonenumber/distinfo index acf7257d15d0..11bd22691df8 100644 --- a/devel/libphonenumber/distinfo +++ b/devel/libphonenumber/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1639245846 -SHA256 (google-libphonenumber-v8.12.39_GH0.tar.gz) = ff16330f130917e42bc0b1a7efe5e4fba46633bfa62e35268acec855e17e385c -SIZE (google-libphonenumber-v8.12.39_GH0.tar.gz) = 11007180 +TIMESTAMP = 1642801609 +SHA256 (google-libphonenumber-v8.12.41_GH0.tar.gz) = 5960f19594f4cbca4a5ff172e12d2bc6e8a7e7399522ba82cd4f58cb0d7270c4 +SIZE (google-libphonenumber-v8.12.41_GH0.tar.gz) = 11010227 diff --git a/devel/libphonenumber/files/patch-CMakeLists.txt b/devel/libphonenumber/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..041833fa47c9 --- /dev/null +++ b/devel/libphonenumber/files/patch-CMakeLists.txt @@ -0,0 +1,19 @@ +--- CMakeLists.txt.orig 2022-01-21 23:54:09.004204000 +0100 ++++ CMakeLists.txt 2022-01-22 17:06:23.060147000 +0100 +@@ -18,7 +18,7 @@ + + # Pick the C++ standard to compile with. + # Abseil currently supports C++11, C++14, and C++17. +-set(CMAKE_CXX_STANDARD 11) ++set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + + project (libphonenumber) +@@ -101,6 +101,7 @@ + endif () + + # Find all the required libraries and programs. ++find_package(absl REQUIRED) + if (${USE_BOOST} STREQUAL "ON") + add_definitions ("-DI18N_PHONENUMBERS_USE_BOOST") + if (WIN32) diff --git a/devel/libphonenumber/files/patch-tools_CMakeLists.txt b/devel/libphonenumber/files/patch-tools_CMakeLists.txt new file mode 100644 index 000000000000..0cf95c7abdb3 --- /dev/null +++ b/devel/libphonenumber/files/patch-tools_CMakeLists.txt @@ -0,0 +1,47 @@ +This patch applies from WRKSRC_SUBDIR, ie. from cpp/ , but even +when building in that subdir, the tools/ directory is built +as well. That is why the patch applies to .. + +- use system abseil instead of fetching it on our own. +- force C++17 because abseil has it, too. + +--- ../tools/cpp/CMakeLists.txt.orig 2022-01-11 10:41:37.000000000 +0100 ++++ ../tools/cpp/CMakeLists.txt 2022-01-22 17:06:39.284013000 +0100 +@@ -18,7 +18,7 @@ + + # Pick the C++ standard to compile with. + # Abseil currently supports C++11, C++14, and C++17. +-set(CMAKE_CXX_STANDARD 11) ++set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + + project (generate_geocoding_data) +@@ -28,27 +28,11 @@ + include (gtest.cmake) + include (FetchContent) + +-# Downloading the abseil sources. +-FetchContent_Declare( +- abseil-cpp +- GIT_REPOSITORY https://github.com/abseil/abseil-cpp.git +- GIT_TAG origin/master +-) ++find_package(absl REQUIRED) + +-# Building the abseil binaries +-FetchContent_GetProperties(abseil-cpp) +-if (NOT abseil-cpp_POPULATED) +- FetchContent_Populate(abseil-cpp) +-endif () +- +-if (NOT abseil-cpp_POPULATED) +- message (FATAL_ERROR "Could not build abseil-cpp binaries.") +-endif () +- + # Safeguarding against any potential link errors as mentioned in + # https://github.com/abseil/abseil-cpp/issues/225 + set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) +-add_subdirectory(${abseil-cpp_SOURCE_DIR} ${abseil-cpp_BINARY_DIR}) + + find_or_build_gtest () + set (