From 3f71901f8c228f4de570abed1831ce3ee425343e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 8 Sep 2018 10:50:14 +0100 Subject: gentoo resync 08.09.2018 --- net-libs/google-cloud-cpp/Manifest | 7 + ...GOOGLE_CLOUD_CPP_GRPC_PROVIDER-pkg-config.patch | 33 ++++ .../files/0002-cmake-fix-library-issues.patch | 180 +++++++++++++++++++++ .../google-cloud-cpp/google-cloud-cpp-0.2.0.ebuild | 61 +++++++ net-libs/google-cloud-cpp/metadata.xml | 11 ++ 5 files changed, 292 insertions(+) create mode 100644 net-libs/google-cloud-cpp/Manifest create mode 100644 net-libs/google-cloud-cpp/files/0001-cmake-Fix-GOOGLE_CLOUD_CPP_GRPC_PROVIDER-pkg-config.patch create mode 100644 net-libs/google-cloud-cpp/files/0002-cmake-fix-library-issues.patch create mode 100644 net-libs/google-cloud-cpp/google-cloud-cpp-0.2.0.ebuild create mode 100644 net-libs/google-cloud-cpp/metadata.xml (limited to 'net-libs/google-cloud-cpp') diff --git a/net-libs/google-cloud-cpp/Manifest b/net-libs/google-cloud-cpp/Manifest new file mode 100644 index 000000000000..5cd74808bc8e --- /dev/null +++ b/net-libs/google-cloud-cpp/Manifest @@ -0,0 +1,7 @@ +AUX 0001-cmake-Fix-GOOGLE_CLOUD_CPP_GRPC_PROVIDER-pkg-config.patch 1321 BLAKE2B 93d7a80d64f16e4dec71623b71fc88e648d08423130f57d698989bfd6c9e67ceaab1f2e07f5e5619c60f701148d09d1f71c6e76ab5fb1ddc27ac8735b40b950f SHA512 a947f313aa34d9e6f4023cdaab69fd140cf1ba54947566ba964c3ff63269528035d2896c62b994374ae84a1a55437fdd707fe7e9de0206bb65728b4388b25778 +AUX 0002-cmake-fix-library-issues.patch 9143 BLAKE2B 588609dfca0da2e49823764bdf382bcd3c154d8ec66be2a0625640f0ee26d32de08f120755f416a8e9c5c945008a928549ef3725e2f1654e56a7c10e7cef6b44 SHA512 e33bca9842728799fc632cfd0acefcface9bc9a160bb20e3566c2a397fc6861702050d4bb62088be3f8751f9d1fc728395eedb012e65b5c1818218ef4dee0608 +DIST google-cloud-cpp-0.2.0.tar.gz 687020 BLAKE2B 45c09c7cb5b9cc93c87e6d1faedf04f29ae81196dda95660abeadeaaf522376b4e50fd42489476c081e8de7336202d3883ab276c0e2334f1ad1b0e4e1f90fdb8 SHA512 ded3b564ef264a8bff4d81b08f2a97462e063127bf75a006bc7b18d18cfaee2f3cbe5957fe2c56cec06da5a7765854444fad8cd5045579c416c5f3de8462382e +DIST googleapis-79ab27f3b70ebc221e265d2e8ab30a8cc2d21fa2.tar.gz 874997 BLAKE2B c837323124d26364c83dba72d4f73f3147ad117468b271e8d9502991c1f9a7b20d4f5405351147b65e99c57d207a2b8c1471228d2060ad238ade5159be1b009e SHA512 774e56fc30a4daf2e88d8d3b6747c1ac369d016e9d52527565b88d93252a22597339c17e612304f8823867da4b6df4b58a42dc9d4d480fc59962ee5314a85ab8 +DIST nlohmann-json-3.1.2-json.hpp 595822 BLAKE2B 510278344a510a516606f84aea53c682a64a7d1f4703e41503a1688e7c62ab1df8f197a697bd1149e958d21ab986d1b42cb78db6261b07239d9587756813acf5 SHA512 05df0ad3338f0bca885c0aa9da523922b99016986a9b01426b13888c0febd83bf1f6f063886f6c75f8a656ef79abac6292fe442dc05b1897d546ba5b70be48a5 +EBUILD google-cloud-cpp-0.2.0.ebuild 1607 BLAKE2B 04001060e9e5c60f71c1aa27cd5d5eba0cf2523c4de3724cc16ce2af16468613bf11ca6bf2cdf5f28a862f9bfd4db2ae5754a1be1e27456475a9f9226c3af2f1 SHA512 b0e4b4a786450727fe1284a243a399566c8037b4611c963d708d5e3997ed0f9d479e98d40a6b9cf2fd45de53c3b95d0ed31377b1221d86d0dfc4114eaeb77ec0 +MISC metadata.xml 334 BLAKE2B f6f86d6b9621c1f6bb8a540835936ba0eb3ebc9ebee743cf3fdd0f236477378acff8af6528ba194cf1ba74273d3df99eeb012add242471af810afbfbe587321b SHA512 3ddab1ddecbb3f976ed02c450094873ec200d3a42faa601a10a3089d76faadaffa3fa59e48013b471e735a919502988da149f4d19e7d1d7054947462c71581a9 diff --git a/net-libs/google-cloud-cpp/files/0001-cmake-Fix-GOOGLE_CLOUD_CPP_GRPC_PROVIDER-pkg-config.patch b/net-libs/google-cloud-cpp/files/0001-cmake-Fix-GOOGLE_CLOUD_CPP_GRPC_PROVIDER-pkg-config.patch new file mode 100644 index 000000000000..d479a82b1e30 --- /dev/null +++ b/net-libs/google-cloud-cpp/files/0001-cmake-Fix-GOOGLE_CLOUD_CPP_GRPC_PROVIDER-pkg-config.patch @@ -0,0 +1,33 @@ +From eb0155e90498a5d7341490b9ed123f7638bffe44 Mon Sep 17 00:00:00 2001 +From: Jason Zaman +Date: Fri, 7 Sep 2018 21:19:11 +0800 +Subject: [PATCH 1/2] cmake: Fix GOOGLE_CLOUD_CPP_GRPC_PROVIDER=pkg-config + +The grpc_cpp_plugin executable needs to be marked imported otherwise +cmake will try (and fail) to build it. +Also the location variable was typo'd. + +Signed-off-by: Jason Zaman +--- + cmake/IncludeGrpc.cmake | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/cmake/IncludeGrpc.cmake b/cmake/IncludeGrpc.cmake +index 14273cbb..929f984d 100644 +--- a/cmake/IncludeGrpc.cmake ++++ b/cmake/IncludeGrpc.cmake +@@ -231,9 +231,9 @@ elseif("${GOOGLE_CLOUD_CPP_GRPC_PROVIDER}" STREQUAL "pkg-config") + ${PROTOBUF_SRC_ROOT_FOLDER}/vsprojects/${_PROTOBUF_ARCH_DIR}Release + ${PROTOBUF_SRC_ROOT_FOLDER}/vsprojects/${_PROTOBUF_ARCH_DIR}Debug) + mark_as_advanced(PROTOC_GRPCPP_PLUGIN_EXECUTABLE) +- add_executable(grpc_cpp_plugin ${PROTOC_GRPC_PLUGIN_EXECUTABLE}) ++ add_executable(grpc_cpp_plugin IMPORTED) + set_property(TARGET grpc_cpp_plugin + PROPERTY IMPORTED_LOCATION +- ${PROTOC_GRPCPP_CPP_PLUGIN_EXECUTABLE}) ++ ${PROTOC_GRPCPP_PLUGIN_EXECUTABLE}) + + endif () +-- +2.16.4 + diff --git a/net-libs/google-cloud-cpp/files/0002-cmake-fix-library-issues.patch b/net-libs/google-cloud-cpp/files/0002-cmake-fix-library-issues.patch new file mode 100644 index 000000000000..23a6d24d54da --- /dev/null +++ b/net-libs/google-cloud-cpp/files/0002-cmake-fix-library-issues.patch @@ -0,0 +1,180 @@ +From 9978d05d4418bf813b8a457a2e49d0fc8fc8b26b Mon Sep 17 00:00:00 2001 +From: Jason Zaman +Date: Fri, 7 Sep 2018 22:35:24 +0800 +Subject: [PATCH 2/2] cmake: fix library issues + +Set library soversions so CMake sets the symlinks and soversions +properly. +Install the cmake files in the correct dir. + +Signed-off-by: Jason Zaman +--- + google/cloud/CMakeLists.txt | 14 +++++++------- + google/cloud/bigtable/CMakeLists.txt | 11 ++++++++--- + google/cloud/firestore/CMakeLists.txt | 14 ++++++++------ + google/cloud/storage/CMakeLists.txt | 12 +++++++----- + 4 files changed, 30 insertions(+), 21 deletions(-) + +diff --git a/google/cloud/CMakeLists.txt b/google/cloud/CMakeLists.txt +index 4d777261..4e26290c 100644 +--- a/google/cloud/CMakeLists.txt ++++ b/google/cloud/CMakeLists.txt +@@ -99,6 +99,9 @@ target_include_directories(google_cloud_cpp_common + $) + target_compile_options(google_cloud_cpp_common + PUBLIC ${GOOGLE_CLOUD_CPP_EXCEPTIONS_FLAG}) ++set_target_properties(google_cloud_cpp_common PROPERTIES ++ VERSION ${GOOGLE_CLOUD_CPP_VERSION_MAJOR}.${GOOGLE_CLOUD_CPP_VERSION_MINOR}.${GOOGLE_CLOUD_CPP_VERSION_PATCH} ++ SOVERSION ${GOOGLE_CLOUD_CPP_VERSION_MAJOR}) + + include(CreateBazelConfig) + create_bazel_config(google_cloud_cpp_common) +@@ -150,7 +153,7 @@ endforeach () + + # Export the CMake targets to make it easy to create configuration files. + install(EXPORT google_cloud_cpp_common-targets +- DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/google_cloud_cpp_common") ++ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/cmake/Modules") + + # Install the libraries and headers in the locations determined by + # GNUInstallDirs +@@ -186,12 +189,9 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/google_cloud_cpp_common.pc" + configure_file("config.cmake.in" "google_cloud_cpp_common-config.cmake" @ONLY) + configure_file("${PROJECT_SOURCE_DIR}/google/cloud/config-version.cmake.in" + "google_cloud_cpp_common-config-version.cmake" @ONLY) +-install( +- FILES +- "${CMAKE_CURRENT_BINARY_DIR}/google_cloud_cpp_common-config.cmake" +- "${CMAKE_CURRENT_BINARY_DIR}/google_cloud_cpp_common-config-version.cmake" +- DESTINATION +- "${CMAKE_INSTALL_LIBDIR}/cmake/google_cloud_cpp_common") ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/google_cloud_cpp_common-config.cmake" ++ "${CMAKE_CURRENT_BINARY_DIR}/google_cloud_cpp_common-config-version.cmake" ++ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/cmake/Modules") + + add_subdirectory(bigtable) + add_subdirectory(firestore) +diff --git a/google/cloud/bigtable/CMakeLists.txt b/google/cloud/bigtable/CMakeLists.txt +index 8aaff05c..9bd3effd 100644 +--- a/google/cloud/bigtable/CMakeLists.txt ++++ b/google/cloud/bigtable/CMakeLists.txt +@@ -102,6 +102,9 @@ target_include_directories(bigtable_protos + $) + target_compile_options(bigtable_protos + PUBLIC ${GOOGLE_CLOUD_CPP_EXCEPTIONS_FLAG}) ++set_target_properties(bigtable_protos PROPERTIES ++ VERSION ${BIGTABLE_CLIENT_VERSION_MAJOR}.${BIGTABLE_CLIENT_VERSION_MINOR}.${BIGTABLE_CLIENT_VERSION_PATCH} ++ SOVERSION ${BIGTABLE_CLIENT_VERSION_MAJOR}) + add_library(bigtable::protos ALIAS bigtable_protos) + + # Enable unit tests +@@ -212,6 +215,9 @@ target_include_directories(bigtable_client + $) + target_compile_options(bigtable_client + PUBLIC ${GOOGLE_CLOUD_CPP_EXCEPTIONS_FLAG}) ++set_target_properties(bigtable_client PROPERTIES ++ VERSION ${BIGTABLE_CLIENT_VERSION_MAJOR}.${BIGTABLE_CLIENT_VERSION_MINOR}.${BIGTABLE_CLIENT_VERSION_PATCH} ++ SOVERSION ${BIGTABLE_CLIENT_VERSION_MAJOR}) + add_library(bigtable::client ALIAS bigtable_client) + + include(CreateBazelConfig) +@@ -369,7 +375,7 @@ if (NOT ${GOOGLE_CLOUD_CPP_GRPC_PROVIDER} STREQUAL "module") + + # Export the CMake targets to make it easy to create configuration files. + install(EXPORT bigtable-targets +- DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/bigtable_client") ++ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/cmake/Modules") + endif () + + install(TARGETS bigtable_client +@@ -407,5 +413,4 @@ configure_file("${PROJECT_SOURCE_DIR}/google/cloud/config-version.cmake.in" + "bigtable_client-config-version.cmake" @ONLY) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/bigtable_client-config.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/bigtable_client-config-version.cmake" +- DESTINATION +- "${CMAKE_INSTALL_LIBDIR}/cmake/bigtable_client") ++ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/cmake/Modules") +diff --git a/google/cloud/firestore/CMakeLists.txt b/google/cloud/firestore/CMakeLists.txt +index 88c5ad6d..63d8add1 100644 +--- a/google/cloud/firestore/CMakeLists.txt ++++ b/google/cloud/firestore/CMakeLists.txt +@@ -62,6 +62,9 @@ target_include_directories(firestore_client + $) + target_compile_options(firestore_client + PUBLIC ${GOOGLE_CLOUD_CPP_EXCEPTIONS_FLAG}) ++set_target_properties(firestore_client PROPERTIES ++ VERSION ${FIRESTORE_CLIENT_VERSION_MAJOR}.${FIRESTORE_CLIENT_VERSION_MINOR}.${FIRESTORE_CLIENT_VERSION_PATCH} ++ SOVERSION ${FIRESTORE_CLIENT_VERSION_MAJOR}) + add_library(firestore::client ALIAS firestore_client) + + include(CreateBazelConfig) +@@ -104,7 +107,8 @@ install(TARGETS + + # The exports can only be installed if all the dependencies are installed. CMake + # needs to know where the submodules will be installed from, +-install(EXPORT firestore-targets DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake) ++install(EXPORT firestore-targets ++ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/cmake/Modules") + + install(TARGETS firestore_client + EXPORT firestore-targets +@@ -138,8 +142,6 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/firestore_client.pc" DESTINATION + configure_file("config.cmake.in" "firestore_client-config.cmake" @ONLY) + configure_file("${PROJECT_SOURCE_DIR}/google/cloud/config-version.cmake.in" + "firestore_client-config-version.cmake" @ONLY) +-install( +- FILES "${CMAKE_CURRENT_BINARY_DIR}/firestore_client-config.cmake" +- "${CMAKE_CURRENT_BINARY_DIR}/firestore_client-config-version.cmake" +- DESTINATION +- ${CMAKE_INSTALL_DATAROOTDIR}/cmake) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/firestore_client-config.cmake" ++ "${CMAKE_CURRENT_BINARY_DIR}/firestore_client-config-version.cmake" ++ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/cmake/Modules") +diff --git a/google/cloud/storage/CMakeLists.txt b/google/cloud/storage/CMakeLists.txt +index c8b641a0..c91bb17c 100644 +--- a/google/cloud/storage/CMakeLists.txt ++++ b/google/cloud/storage/CMakeLists.txt +@@ -216,6 +216,9 @@ target_include_directories(storage_client + $) + target_compile_options(storage_client + PUBLIC ${GOOGLE_CLOUD_CPP_EXCEPTIONS_FLAG}) ++set_target_properties(storage_client PROPERTIES ++ VERSION ${STORAGE_CLIENT_VERSION_MAJOR}.${STORAGE_CLIENT_VERSION_MINOR}.${STORAGE_CLIENT_VERSION_PATCH} ++ SOVERSION ${STORAGE_CLIENT_VERSION_MAJOR}) + + add_library(storage_client_testing + testing/canonical_errors.h +@@ -326,20 +329,20 @@ install(TARGETS storage_common_options nlohmann_json + + # Export the CMake targets to make it easy to create configuration files. + install(EXPORT storage-targets +- DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/storage_client") ++ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/cmake/Modules") + + install(TARGETS storage_client + EXPORT storage-targets + RUNTIME DESTINATION bin + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +-install(DIRECTORY . DESTINATION include/storage/client ++install(DIRECTORY . DESTINATION include/google/cloud/storage/client + FILES_MATCHING + PATTERN "*.h" + PATTERN "testing/*" + EXCLUDE) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/version_info.h DESTINATION +- include/storage/client) ++ include/google/cloud/storage/client) + + # Setup global variables used in the following *.in files. + set(GOOGLE_CLOUD_CPP_CONFIG_VERSION_MAJOR ${STORAGE_CLIENT_VERSION_MAJOR}) +@@ -362,5 +365,4 @@ configure_file("${PROJECT_SOURCE_DIR}/google/cloud/config-version.cmake.in" + "storage_client-config-version.cmake" @ONLY) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/storage_client-config.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/storage_client-config-version.cmake" +- DESTINATION +- "${CMAKE_INSTALL_LIBDIR}/cmake/storage_client") ++ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/cmake/Modules") +-- +2.16.4 + diff --git a/net-libs/google-cloud-cpp/google-cloud-cpp-0.2.0.ebuild b/net-libs/google-cloud-cpp/google-cloud-cpp-0.2.0.ebuild new file mode 100644 index 000000000000..0cc60cd4db47 --- /dev/null +++ b/net-libs/google-cloud-cpp/google-cloud-cpp-0.2.0.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils + +JSON_VER="3.1.2" +GOOGLEAPIS_COMMIT="79ab27f3b70ebc221e265d2e8ab30a8cc2d21fa2" + +DESCRIPTION="Google Cloud Client Library for C++" +HOMEPAGE="https://cloud.google.com/" +SRC_URI="https://github.com/GoogleCloudPlatform/google-cloud-cpp/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/nlohmann/json/releases/download/v${JSON_VER}/json.hpp -> nlohmann-json-${JSON_VER}-json.hpp + https://github.com/googleapis/googleapis/archive/${GOOGLEAPIS_COMMIT}.tar.gz -> googleapis-${GOOGLEAPIS_COMMIT}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" + +RDEPEND="dev-libs/protobuf + net-misc/curl + net-libs/grpc" +DEPEND="${RDEPEND} + dev-cpp/gtest" + +DOCS=( README.md ) +PATCHES=( + "${FILESDIR}/0001-cmake-Fix-GOOGLE_CLOUD_CPP_GRPC_PROVIDER-pkg-config.patch" + "${FILESDIR}/0002-cmake-fix-library-issues.patch" +) + +src_prepare() { + rm -rf "${S}/third_party/googleapis/" || die + mv "${WORKDIR}/googleapis-${GOOGLEAPIS_COMMIT}/" "${S}/third_party/googleapis/" || die + + cmake-utils_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DGOOGLE_CLOUD_CPP_GMOCK_PROVIDER=package + -DGOOGLE_CLOUD_CPP_GRPC_PROVIDER=pkg-config + -DBUILD_SHARED_LIBS=ON + ) + + cmake-utils_src_configure + + mkdir -p "${BUILD_DIR}/external/nlohmann_json/src/" || die + cp "${DISTDIR}/nlohmann-json-${JSON_VER}-json.hpp" "${BUILD_DIR}/external/nlohmann_json/src/json.hpp" || die +} + +src_test() { + # test fails + local myctestargs=( + -E internal_parse_rfc3339_test + ) + + cmake-utils_src_test +} diff --git a/net-libs/google-cloud-cpp/metadata.xml b/net-libs/google-cloud-cpp/metadata.xml new file mode 100644 index 000000000000..19a918bcc964 --- /dev/null +++ b/net-libs/google-cloud-cpp/metadata.xml @@ -0,0 +1,11 @@ + + + + + perfinion@gentoo.org + Jason Zaman + + + Google Cloud Client Library for C++ + + -- cgit v1.2.3