mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
net-libs/google-cloud-cpp: new package
ebuild by me Package-Manager: Portage-2.3.40, Repoman-2.3.9
This commit is contained in:
3
net-libs/google-cloud-cpp/Manifest
Normal file
3
net-libs/google-cloud-cpp/Manifest
Normal file
@@ -0,0 +1,3 @@
|
||||
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
|
||||
@@ -0,0 +1,33 @@
|
||||
From eb0155e90498a5d7341490b9ed123f7638bffe44 Mon Sep 17 00:00:00 2001
|
||||
From: Jason Zaman <jason@perfinion.com>
|
||||
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 <jason@perfinion.com>
|
||||
---
|
||||
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
|
||||
|
||||
@@ -0,0 +1,180 @@
|
||||
From 9978d05d4418bf813b8a457a2e49d0fc8fc8b26b Mon Sep 17 00:00:00 2001
|
||||
From: Jason Zaman <jason@perfinion.com>
|
||||
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 <jason@perfinion.com>
|
||||
---
|
||||
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
|
||||
$<INSTALL_INTERFACE:include>)
|
||||
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
|
||||
$<INSTALL_INTERFACE:include>)
|
||||
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
|
||||
$<INSTALL_INTERFACE:include>)
|
||||
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
|
||||
$<INSTALL_INTERFACE:include>)
|
||||
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
|
||||
$<INSTALL_INTERFACE:include>)
|
||||
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
|
||||
|
||||
60
net-libs/google-cloud-cpp/google-cloud-cpp-0.2.0.ebuild
Normal file
60
net-libs/google-cloud-cpp/google-cloud-cpp-0.2.0.ebuild
Normal file
@@ -0,0 +1,60 @@
|
||||
# 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"
|
||||
|
||||
DEPEND="dev-libs/protobuf
|
||||
net-misc/curl
|
||||
net-libs/grpc"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
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
|
||||
}
|
||||
11
net-libs/google-cloud-cpp/metadata.xml
Normal file
11
net-libs/google-cloud-cpp/metadata.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>perfinion@gentoo.org</email>
|
||||
<name>Jason Zaman</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
Google Cloud Client Library for C++
|
||||
</longdescription>
|
||||
</pkgmetadata>
|
||||
Reference in New Issue
Block a user