diff --git a/extra/libphonenumber/PKGBUILD b/extra/libphonenumber/PKGBUILD new file mode 100644 index 000000000..70caf8a73 --- /dev/null +++ b/extra/libphonenumber/PKGBUILD @@ -0,0 +1,52 @@ +# Maintainer: Jan Alexander Steffens (heftig) + +# ALARM: Kevin Mihelich +# - re-add makedepend on java + +pkgname=libphonenumber +pkgver=8.12.50 +pkgrel=2 +epoch=1 +pkgdesc="Google's common library for parsing, formatting, and validating international phone numbers" +url="https://github.com/googlei18n/libphonenumber" +arch=(x86_64) +license=(Apache) +depends=(icu protobuf boost-libs abseil-cpp) +makedepends=(boost cmake gtest git 'java-environment>=9') +options=(debug) +_commit=e1c6752b358569810fb33bcc9f5c75050e9533fe # tags/v8.12.50^0 +source=("git+$url#commit=$_commit" absl.diff) +sha256sums=('SKIP' + 'f6bceb2409ff7cba1e6947e6fdce3fe82b511b04fefcd1f597eceb13af67a8a4') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/^libphonenumber-\|^v//;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd $pkgname + + # Use our abseil-cpp + git apply -3 ../absl.diff +} + +build() { + CXXFLAGS+=" -Wno-error=deprecated-declarations" # readdir_r deprecation + CXXFLAGS+=" -Wno-error=unused-variable" # this is nuts + cmake -S $pkgname/cpp -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib + cmake --build build +} + +check() { + cmake --build build --target tests +} + +package() { + depends+=(libicu{uc,i18n}.so libprotobuf.so libboost_thread.so) + provides+=(libgeocoding.so libphonenumber.so) + + DESTDIR="$pkgdir" cmake --install build +} diff --git a/extra/libphonenumber/absl.diff b/extra/libphonenumber/absl.diff new file mode 100644 index 000000000..16ac8b9a7 --- /dev/null +++ b/extra/libphonenumber/absl.diff @@ -0,0 +1,56 @@ +diff --git i/cpp/CMakeLists.txt w/cpp/CMakeLists.txt +index 57261a63..83440382 100644 +--- i/cpp/CMakeLists.txt ++++ w/cpp/CMakeLists.txt +@@ -18,7 +18,7 @@ cmake_minimum_required (VERSION 3.11) + + # 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) +@@ -126,6 +126,8 @@ if (${USE_BOOST} STREQUAL "OFF" AND ${USE_STDMUTEX} STREQUAL "OFF") + find_package (Threads) + endif() + ++find_package (absl REQUIRED) ++ + find_or_build_gtest () + + if (${USE_RE2} STREQUAL "ON") +diff --git i/tools/cpp/CMakeLists.txt w/tools/cpp/CMakeLists.txt +index b0941656..58a9b3ba 100644 +--- i/tools/cpp/CMakeLists.txt ++++ w/tools/cpp/CMakeLists.txt +@@ -26,29 +26,6 @@ project (generate_geocoding_data) + # Helper functions dealing with finding libraries and programs this library + # depends on. + 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 +-) +- +-# 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 (