diff options
Diffstat (limited to 'dev-db/mysql-connector-c++')
-rw-r--r-- | dev-db/mysql-connector-c++/Manifest | 5 | ||||
-rw-r--r-- | dev-db/mysql-connector-c++/files/8.0.11-fix-build.patch | 276 | ||||
-rw-r--r-- | dev-db/mysql-connector-c++/metadata.xml | 1 | ||||
-rw-r--r-- | dev-db/mysql-connector-c++/mysql-connector-c++-8.0.11.ebuild | 38 |
4 files changed, 319 insertions, 1 deletions
diff --git a/dev-db/mysql-connector-c++/Manifest b/dev-db/mysql-connector-c++/Manifest index ee3700c3faee..1eee0d7c4b45 100644 --- a/dev-db/mysql-connector-c++/Manifest +++ b/dev-db/mysql-connector-c++/Manifest @@ -1,3 +1,4 @@ +AUX 8.0.11-fix-build.patch 9453 BLAKE2B 72c42d2f0aac7de63151b4b12a5de6f1597f70be3a8a42d1a137c1a57329acf1adf196377e90c838e1d4995223fb58615814d8c14d3c8d86472ad795e1b456e7 SHA512 321444184d459f7e650b3f72589db4b2537f67c2d413f9d3d5a995c937497b6310bc2b58200fc61b5c0d8e8fe2030d65035ddbab672338d9df1b6cf3ce605ea9 AUX mysql-connector-c++-1.1.3-fix-cmake.patch 4949 BLAKE2B a3eaa6f656d7f587aca06b02847c335028a1595e61232d3c4579e10678234aec2c6e2d5e12997e9e9d268bd5dc6eef952852a91d64800cbc949d61663b25b03b SHA512 985e5dd9f9f4aaae3b34ff05e32cb0d9ddb108aa20be32e14786b5b2664263149907b46828cb01d491ef07934b73b18ee715185c59bce940370955a544325f3f AUX mysql-connector-c++-1.1.5-fix-mariadb.patch 1793 BLAKE2B f65ad472bbdced9920ae8f3fef868282608ec8bd361037e503f3879db223337e84f447157ec7b30f33cf6461abb327422d31fdd677914e672845c358e19ba883 SHA512 a2b23164d9632b84df233dfb0ae52c809256a9ec163deaa663eb3512ffb622a6885c21c67998e51e848772170966bb74322d4ab8d6816dda686c5d6ab9fa300a AUX mysql-connector-c++-1.1.6-fix-cmake.patch 762 BLAKE2B 4cecebd2cb075c6e1af7ab74a84132f41beeeb202d4d286038b05cbbb202cef709e7114563bdbee12aab4e6a738a9e23bbb9455fc1ce0f906d952af4e0042f05 SHA512 c4c89b398aa88a9e7b4ed4cf42b055b79670dc70685775afd1ef2d683e5b3754575c831a6083ef0d097431e796513597e1daf7737e3ade710abad917f63ed32f @@ -6,8 +7,10 @@ DIST mysql-connector-c++-1.1.3.tar.gz 496226 BLAKE2B 51537d8728d4afdd98474107a02 DIST mysql-connector-c++-1.1.6.tar.gz 522236 BLAKE2B 5f728b418fa7d395a83679fbda5c8757e1d06078e27865c7e02a6666ccb1a32c5c8cd77d481b0bc4d4354cea518bd2db2e06076db88ee285365583e27a5f0c23 SHA512 e940b6ee090f792bad8acbbfa3dacd46310ac40c7993c4097eeebb6be4b792d3f1856574e603a71e2795773db97169f47c9ed76a127654472370c726bcb291c7 DIST mysql-connector-c++-1.1.8.tar.gz 528954 BLAKE2B fc2a606364426834335142375b99546e2ff1251e97add8ee4ecc370feccd7b9dd09f0abc3e1e9084b824141bde2a44d55ff9baddc093f8ec17b2b91060057148 SHA512 c3ab5c1e805598d557a449c44f77ce44cc110e5b529075e38b4f775d3726ebd16a2155f61e47a378a375a9d9362d1520334ea25376636151ddd087291aafd85d DIST mysql-connector-c++-1.1.9.tar.gz 508255 BLAKE2B e2cd300946a873a94beab13d9d1cb64ecb5bd9a9a56ef2217b1f7aff1643adc9afc0aa22c2ff1e0f6b8318cd34d12a7fe95f0584c96c212307fa9bd0cb54a2a1 SHA512 ec4d6cb7f21d52e786de3bff951e65ea5ad7391ba097b599d0094d3e8356cf17f700dee618e38e79d7a9e562684a6c51cca95fb8e2e225942766d33f8d0a5646 +DIST mysql-connector-c++-8.0.11-src.tar.gz 2322951 BLAKE2B a1ea47c0440beae1892144186ad6b99a4519369845e1f37f5ce42088df6c29a458bd41840a1f9401dbd29827bc3a7c96ba34563a3a4cf3176e29e377cc254b9f SHA512 5113efb473b7cc63f680c04dacf5bee78d0a58ee20b41c8203edb92f8720c31c52c24de838996f25476eaa3d734c845531440317e82cb5e5f635bc03b057a148 EBUILD mysql-connector-c++-1.1.3.ebuild 1411 BLAKE2B 5d053c8611a0af0de62850c86e4cc34114984f1a0551d8c4486e03003df316b2ad4a970a527324b6c4f2138a66c334fcd342c418a13a984ab336b2f421bb7817 SHA512 ecffb736efeadcce8c93290821f1323c7e37a8f45ad606d0e8f1a6440af75ee6b9b1863affdd0c91a56255e566d534ed9175400cc56c5071b8af2430b2b0af5e EBUILD mysql-connector-c++-1.1.6.ebuild 1541 BLAKE2B d4f72d78703a32b04f043efa58a694760c6654733e6f65623325146b77ea37a846652dd58ea165f88a2f6223430782d81421fe84f3f1d4736a076ca77eaf07f3 SHA512 b8f5eb48edb0c8baade552ef9126badaa72abba78f1b7e9cd875b4f71bbd58c2619ed2cb2c37edb47ef90699ba942b0e02e310e7ed908f90b891a1807ea05a5f EBUILD mysql-connector-c++-1.1.8.ebuild 1569 BLAKE2B 5fa39e2dd02ccd14bd986fb23c8df342b2e9740cdd17d3010b3ab99abe77ff1169ce7f9d1be6f87d70e48440c55dac6554633ffd33f65db1ee772bf68ed66ccd SHA512 ab305ddc37dae3d8d32b894c1a100e2eab029362eb9a14806279df6426098a53764cdaa40b82f9f17b54b2f087ff29b29e479a775ff9a1a0cb4e1438032e8621 EBUILD mysql-connector-c++-1.1.9.ebuild 1576 BLAKE2B 8719ab48a01b83979ad89d6ec777373c6d0eab5c1ef0c6d51d46afc35a01beb5317f55622e1156c4d37fe229abec3b4ae24925c76dc0a05977702d3e5ca76888 SHA512 ed01ef8f9b63c63e4ef148cb9945d75df4da111e2689a0d04b20eed62af0395868b9fb2429d6f4b692811c7358830f0ca224c16837ba18d4e0091f14d269171e -MISC metadata.xml 301 BLAKE2B 5ea801f6ac10b3984b74034cfa7948f2bf18e0cb76480e001639fbc33c7aa39199cb635724396c64a0be10a61eaa69aab4cec2a97239d55199924814010f1af9 SHA512 b3ec0dd4a13953bdc58d50e51c35160bc4645f52cc20dd171eaee67c076e217245ef95308484bb9f0d46746041f39b2f556f14f820b2a771ab546ae37e4004a4 +EBUILD mysql-connector-c++-8.0.11.ebuild 830 BLAKE2B 8b98298ff1de8b207eec94e3462a24a644bec7620798ddc332c4c3ce30447f067f73d6a4bc8e4bd7277fbe42a6f9375a88b83c1a40cf1503c18788c67aa0c217 SHA512 f0ed218ec6aa66767314966837dc9d15233c90e4a113ed797c3e5bf421fde1f5734a073f4c90f8bdbc82b765a49499a9942796cbaddeaf6b4e647ee745b0e6d5 +MISC metadata.xml 378 BLAKE2B 43fdbbc8d3b6ef99e51da96ddfefbdeaa70ef5fcb2fc6067305f75f75b7ee2fd21b79ca76704d8752bf59ae057b28efb187b063770964246f93fea629b58b467 SHA512 c6e545fb60d306792421ea26a937aaa6aea53d2a4100c9cafe78cf695c9dd0620cf3e770d43ff42749ae42bbe3a35212407ea84edee9af2dcb0255c2b763ddfc diff --git a/dev-db/mysql-connector-c++/files/8.0.11-fix-build.patch b/dev-db/mysql-connector-c++/files/8.0.11-fix-build.patch new file mode 100644 index 000000000000..7449b910a9b0 --- /dev/null +++ b/dev-db/mysql-connector-c++/files/8.0.11-fix-build.patch @@ -0,0 +1,276 @@ +diff -aurN a/buildinfo.cmake b/buildinfo.cmake +--- a/buildinfo.cmake 2018-04-08 15:10:57.000000000 -0400 ++++ b/buildinfo.cmake 2018-04-20 13:37:20.993266176 -0400 +@@ -112,4 +112,4 @@ + endif() + + +-install(FILES "${PROJECT_BINARY_DIR}/BUILDINFO.txt" DESTINATION .) ++#install(FILES "${PROJECT_BINARY_DIR}/BUILDINFO.txt" DESTINATION .) +diff -aurN a/cdk/cmake/install_macros.cmake b/cdk/cmake/install_macros.cmake +--- a/cdk/cmake/install_macros.cmake 2018-04-08 15:10:57.000000000 -0400 ++++ b/cdk/cmake/install_macros.cmake 2018-04-20 14:12:17.255877167 -0400 +@@ -327,7 +327,7 @@ + DESTINATION ${ARG_DESTINATION} + ${RENAME_PARAM} + ${PERMISSIONS_${target_type}} +- CONFIGURATIONS Release RelWithDebInfo ++ CONFIGURATIONS Release RelWithDebInfo Gentoo + COMPONENT ${ARG_COMPONENT} + OPTIONAL) + +@@ -346,7 +346,7 @@ + INSTALL(FILES ${debug_pdb_target_location} + DESTINATION ${ARG_PDB_DESTINATION} + ${PDB_RENAME_PARAM} +- CONFIGURATIONS Release RelWithDebInfo ++ CONFIGURATIONS Release RelWithDebInfo Gentoo + COMPONENT ${ARG_COMPONENT} + OPTIONAL) + ENDIF() +diff -aurN a/cdk/cmake/libutils.cmake b/cdk/cmake/libutils.cmake +--- a/cdk/cmake/libutils.cmake 2018-04-08 15:10:57.000000000 -0400 ++++ b/cdk/cmake/libutils.cmake 2018-04-20 14:27:49.021432318 -0400 +@@ -275,14 +275,7 @@ + endforeach() + + if(libs) +- +- if(${type} STREQUAL "STATIC") +- merge_static_libraries(${TARGET} ${libs}) +- add_dependencies(${TARGET} ${libs}) +- else() + target_link_libraries(${TARGET} PRIVATE ${libs}) +- endif() +- + endif() + + # +diff -aurN a/cdk/cmake/protobuf.cmake b/cdk/cmake/protobuf.cmake +--- a/cdk/cmake/protobuf.cmake 2018-04-08 15:10:57.000000000 -0400 ++++ b/cdk/cmake/protobuf.cmake 2018-04-20 13:43:04.950466261 -0400 +@@ -36,142 +36,8 @@ + # ADD_LIBRARY(target ... ${SRCS}) + # + +-# +-# Configure Protobuf project in protobuf subfolder of build location. +-# +- +-message("Configuring Protobuf build using cmake generator: ${CMAKE_GENERATOR}") +-file(REMOVE ${PROJECT_BINARY_DIR}/protobuf/CMakeCache.txt) +-file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/protobuf) +- +-# If specified, use the same build type for Protobuf +- +-if(CMAKE_BUILD_TYPE) +- set(set_build_type -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}) +-endif() +- +-execute_process( +- COMMAND ${CMAKE_COMMAND} +- -G "${CMAKE_GENERATOR}" +- ${set_build_type} +- -DSTATIC_MSVCRT=${STATIC_MSVCRT} +- -DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE} +- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} +- -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} +- ${PROJECT_SOURCE_DIR}/protobuf +- WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/protobuf +- RESULT_VARIABLE protobuf_config +-) +- +-if(protobuf_config) +- message(FATAL_ERROR "Could not configure Protobuf build: ${protobuf_config}") +-endif() +- +-include(${PROJECT_BINARY_DIR}/protobuf/exports.cmake) +- +-# +-# Protobuf library targets imported above (pb_protobuf +-# and pb_protobuf-lite) are local to the directory from which +-# they were imported. This is not good if cdk is used as +-# a sub-project of a parent project, because the parent project +-# must have access to these targets. +-# +-# For that reason blow we create global protobuf/protobuf-lite targets +-# and copy their loactions from the imported targets. +-# +- +-add_library(protobuf STATIC IMPORTED GLOBAL) +-add_library(protobuf-lite STATIC IMPORTED GLOBAL) +- +-foreach(lib protobuf protobuf-lite) +- #message("processing: ${lib}") +- +- foreach(CONF NOCONFIG DEBUG RELEASE MINSIZEREL RELWITHDEBINFO) +- #message("- CONF: ${CONF}") +- +- get_target_property(LOC pb_${lib} IMPORTED_LOCATION_${CONF}) +- if(LOC) +- #message("- settig imported location to: ${LOC}") +- set(location "${LOC}") +- set_target_properties(${lib} PROPERTIES +- IMPORTED_LOCATION_${CONF} "${LOC}" +- ) +- set_property(TARGET ${lib} APPEND PROPERTY +- IMPORTED_CONFIGURATIONS ${CONF}) +- endif() +- +- endforeach(CONF) +- +- # For multi-configuration builders like MSVC, set a generic +- # location of the form <prefix>/$(Configuration)/<name> which will +- # work with any configuration choosen at build time. +- # It is constructed from one of per-configurartion locations +- # determined above and saved in ${location}. The logic assumes +- # that the per-configration location is of the form +- # <prefix>/<config>/<name> +- +- if(CMAKE_CONFIGURATION_TYPES) +- +- get_filename_component(name "${location}" NAME) +- get_filename_component(LOC "${location}" PATH) +- get_filename_component(LOC "${LOC}" PATH) +- set(LOC "${LOC}/$(Configuration)/${name}") +- +- message("- setting generic location to: ${LOC}") +- set_target_properties(${lib} PROPERTIES +- IMPORTED_LOCATION "${LOC}" +- ) +- +- endif() +- +-endforeach(lib) +- +- +-# protobuf depends on protobuf-lite +- +-set_target_properties(protobuf PROPERTIES +- INTERFACE_LINK_LIBRARIES "protobuf-lite" +-) +- +- +-message("Protobuf include path: ${PROTOBUF_INCLUDE_DIR}") +- +-set(PROTOBUF_INCLUDE_DIRS ${PROTOBUF_INCLUDE_DIR} +- CACHE INTERNAL "Protobuf include path" FORCE) +-set(PROTOBUF_PROTOC_EXECUTABLE pb_protoc +- CACHE INTERNAL "Protobuf compiler" FORCE) +- +-# +-# Custom target build_protobuf ensures that Protobuf project is built. +-# +-# Note: this depends on Protobuf project generating the stamp file +-# +- +-if(NOT DEFINED PROTOBUF_BUILD_STAMP) +- message(FATAL_ERROR "Protobuf build stamp file not defined") +-endif() +- +-if(CMAKE_VERSION VERSION_LESS 3.0) +- add_custom_command(OUTPUT ${PROTOBUF_BUILD_STAMP} +- COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIGURATION> +- WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/protobuf +- COMMENT "Building protobuf using configuration: $<CONFIGURATION>" +- ) +-else() +- add_custom_command(OUTPUT ${PROTOBUF_BUILD_STAMP} +- COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG> +- WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/protobuf +- COMMENT "Building protobuf using configuration: $<CONFIG>" +- ) +-endif() +- +-add_custom_target(build_protobuf +- DEPENDS ${PROTOBUF_BUILD_STAMP} +-) +- +-add_dependencies(protobuf build_protobuf) +-add_dependencies(protobuf-lite build_protobuf) +-add_dependencies(pb_protoc build_protobuf) ++#SET(Protobuf_USE_STATIC_LIBS ON) ++find_package(Protobuf REQUIRED) + + # + # Choice between full and lite version of the library. +diff -aurN a/cdk/protocol/mysqlx/crud.cc b/cdk/protocol/mysqlx/crud.cc +--- a/cdk/protocol/mysqlx/crud.cc 2018-04-08 15:10:57.000000000 -0400 ++++ b/cdk/protocol/mysqlx/crud.cc 2018-04-20 11:22:22.398040489 -0400 +@@ -295,7 +295,7 @@ + class Placeholder_conv_imp + : public Args_conv + { +- map<string, unsigned> m_map; ++ std::map<string, unsigned> m_map; + + public: + +@@ -303,7 +303,7 @@ + + unsigned conv_placeholder(const string &name) + { +- map<string, unsigned>::const_iterator it = m_map.find(name); ++ std::map<string, unsigned>::const_iterator it = m_map.find(name); + if (it == m_map.end()) + throw_error("Placeholder converter: Placeholder was not defined on args"); + //throw Generic_error((boost::format("Placeholder %s was not defined on args.") +@@ -314,7 +314,7 @@ + + void add_placeholder(const string &name) + { +- map<string, unsigned>::const_iterator it = m_map.find(name); ++ std::map<string, unsigned>::const_iterator it = m_map.find(name); + if (it != m_map.end()) + throw_error("Placeholder converter: Redefined placeholder"); + //throw Generic_error((boost::format("Redifined placeholder %s.") +diff -aurN a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt 2018-04-20 14:15:00.546645410 -0400 ++++ b/CMakeLists.txt 2018-04-20 13:26:16.888470928 -0400 +@@ -529,7 +529,7 @@ + + + install(TARGETS connector +- CONFIGURATIONS Release RelWithDebInfo ++ CONFIGURATIONS Release RelWithDebInfo Gentoo + ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" + RUNTIME DESTINATION "${INSTALL_LIB_DIR}" + LIBRARY DESTINATION "${INSTALL_LIB_DIR}" +@@ -576,6 +576,12 @@ + SET_INTERFACE_OPTIONS(try devapi) + # ADD_GCOV(try) + ++IF(WITH_SSL STREQUAL "system") ++ find_package(OpenSSL REQUIRED) ++ TARGET_LINK_LIBRARIES(try ${OPENSSL_LIBRARIES}) ++ENDIF() ++ ++ + if(WITH_JDBC) + + add_executable(try_jdbc try_jdbc.cc) +--- a/jdbc.cmake 2018-04-08 15:10:57.000000000 -0400 ++++ b/jdbc.cmake 2018-04-20 15:03:38.683674143 -0400 +@@ -20,7 +20,7 @@ + # Configure legacy connector build environment in ${JDBC_DIR} + # + +-list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=ON) ++list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=OFF) + + if(CMAKE_BUILD_TYPE) + list(APPEND jdbc_cmake_opts -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}) +--- /var/tmp/portage/dev-db/mysql-connector-c++-8.0.11/work/mysql-connector-c++-8.0.11-src/jdbc/FindMySQL.cmake 2018-02-23 05:47:56.000000000 -0500 ++++ mysql-connector-c++-8.0.11-src/jdbc/FindMySQL.cmake 2018-04-20 15:13:42.204665429 -0400 +@@ -832,9 +832,11 @@ + IF(NOT WIN32) + _mysql_conf(MYSQL_COMPILER_VERSION "") + STRING(REGEX MATCH "Compiler:[a-zA-Z0-9\\. ]+" MYSQL_COMPILER_VERSION ${MYSQL_COMPILER_VERSION}) ++IF(MYSQL_COMPILER_VERSION) + STRING(REGEX REPLACE "Compiler: " "" MYSQL_COMPILER_VERSION ${MYSQL_COMPILER_VERSION}) + STRING(REGEX MATCH "[a-zA-Z0-9]+" MYSQL_COMPILER_ID ${MYSQL_COMPILER_VERSION}) + STRING(REGEX REPLACE "[a-zA-Z0-9]+ " "" MYSQL_COMPILER_VERSION ${MYSQL_COMPILER_VERSION}) ++ENDIF(MYSQL_COMPILER_VERSION) + ENDIF(NOT WIN32) + + ########################################################################## diff --git a/dev-db/mysql-connector-c++/metadata.xml b/dev-db/mysql-connector-c++/metadata.xml index 4a8503781eb7..7b402c140aa3 100644 --- a/dev-db/mysql-connector-c++/metadata.xml +++ b/dev-db/mysql-connector-c++/metadata.xml @@ -3,6 +3,7 @@ <pkgmetadata> <use> <flag name="gcov">Build coverage support</flag> + <flag name="legacy">Build the legacy 1.x API as well as the DevX API</flag> </use> <maintainer type="project"> <email>mysql-bugs@gentoo.org</email> diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.11.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.11.ebuild new file mode 100644 index 000000000000..d4dc993c7760 --- /dev/null +++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.11.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +CMAKE_MAKEFILE_GENERATOR=emake +inherit cmake-utils + +DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)" +HOMEPAGE="http://dev.mysql.com/downloads/connector/cpp/" +URI_DIR="Connector-C++" +SRC_URI="https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}-src.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="+legacy" + +RDEPEND=" + dev-libs/openssl:0= + dev-libs/protobuf:= + legacy? ( dev-libs/boost:= + >=dev-db/mysql-connector-c-6.1.8:= )" +DEPEND="${RDEPEND}" +S="${WORKDIR}/${P}-src" + +PATCHES=( + "${FILESDIR}/8.0.11-fix-build.patch" +) + +src_configure() { + local mycmakeargs=( + -DWITH_SSL=system + -DWITH_JDBC=$(usex legacy ON OFF) + ) + + cmake-utils_src_configure +} |