summaryrefslogtreecommitdiff
path: root/dev-db/mysql-connector-c++
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db/mysql-connector-c++')
-rw-r--r--dev-db/mysql-connector-c++/Manifest5
-rw-r--r--dev-db/mysql-connector-c++/files/8.0.11-fix-build.patch276
-rw-r--r--dev-db/mysql-connector-c++/metadata.xml1
-rw-r--r--dev-db/mysql-connector-c++/mysql-connector-c++-8.0.11.ebuild38
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
+}