From 06a7b5647e11a8ddf69b1c3d3ded6a8ba28b923e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 2 Mar 2018 15:59:12 +0000 Subject: gentoo resync : 02.03.2018 --- dev-db/myodbc/Manifest | 6 +- dev-db/myodbc/files/5.3.10-cxxlinkage.patch | 29 ++++++ dev-db/myodbc/files/5.3.10-mariadb.patch | 58 +++++++++++ dev-db/myodbc/myodbc-5.2.7-r3.ebuild | 3 +- dev-db/myodbc/myodbc-5.3.10-r1.ebuild | 147 ++++++++++++++++++++++++++++ 5 files changed, 241 insertions(+), 2 deletions(-) create mode 100644 dev-db/myodbc/files/5.3.10-cxxlinkage.patch create mode 100644 dev-db/myodbc/files/5.3.10-mariadb.patch create mode 100644 dev-db/myodbc/myodbc-5.3.10-r1.ebuild (limited to 'dev-db/myodbc') diff --git a/dev-db/myodbc/Manifest b/dev-db/myodbc/Manifest index 6573e5517232..fa3063ee1e59 100644 --- a/dev-db/myodbc/Manifest +++ b/dev-db/myodbc/Manifest @@ -5,13 +5,17 @@ AUX 5.3-cmake-doc-path.patch 1480 BLAKE2B 5f89253a86fa97fbf4103fbe797f6044924519 AUX 5.3-cxxlinkage.patch 1687 BLAKE2B 6ed84c304bf4fd22cf894e6eaf98202056d78f32b5ef55ac83b19b2dbb2a6b3441adc1faae4eb01d5eae49d01585b08fa231f7f7b9d56530b49ee342e28b7928 SHA512 404242e009e3c22000d599be20856e7610f845abc086519082d9b45ad3a904cfcc569cdcab5eade904a8b27b59af954df0cba870520792290187259a9b0012bc AUX 5.3-mariadb-buffer_length.patch 3242 BLAKE2B 56931a6f9ce1a03b207a7b0fe282f392fc97e9a501666a209ad06391d3ff318b5516e397edf90f8a648eec07967cbd7dbce1fff19f33036448b442568e00d256 SHA512 b267c76da77594715edff83aa223d0e45f7b369a142707f91f44a7c862fdf319d6ffd8726927fd7f44b32a779a0fc96b87e04f882d6cf99f7df0385eaa8021c2 AUX 5.3-mariadb-dynamic-array.patch 3654 BLAKE2B 699cac32b39ea1a6761aa5045c16be413fd499f11f5a1046a92f80c8c5ebffabccbdba174ef90c88ac7d2e6932ab5fc527b8d2a0914a147110f3bacf44fe1e7e SHA512 8599fb01062db680dbfd0f054eab0f91b5ca8f1799fd602ff4634241936ab4d8f5e26e6149f6d92e97241c953369259a142b1ab02e9b8bbe6fb16cd44d78ffff +AUX 5.3.10-cxxlinkage.patch 1027 BLAKE2B b3df78658e4fb3243debb6f95cea6c5530db309ffc50f3a6afaff8bce143d147b4645a4bef4a54f6d04203ea132d4245812f5a2473ad7e9899f6e6b3c0799213 SHA512 f4d6df55313ccba995c8bd2e182397ce2652c2fbc0f0706474386654fb890fc47cad3a18f306206e840a47b729569e9a0ccb1cc2401c5280792afc4f544b41fd +AUX 5.3.10-mariadb.patch 1744 BLAKE2B a9e33c86f999394d77757f69f1f314238123fa4158297961b4ce0f501e6fb743927e892c1f6640945842e843da56a826e5da1a968d84f7e5dcf3b2b4a590c0e8 SHA512 ebf62a2e0cc901fce81d0ad358f62d1c41494a5e35fb5a4df6913d1f4d5b8bbb638a23cabfe483818efa39688744b7be8b98d922b4bdff830de701c665da0fa0 AUX cmake-doc-path.patch 1498 BLAKE2B b79110c92b7fc80c64fdf05b469c4bb333d68610ff4fadc78bd307689651e41bcd66f33fd782db1b69c863ef81faee3d5eb485d5c9bd284db8be3948d2bec7e7 SHA512 2e48af11efb55a1508402d5d1d717a3dfc9897bf0ccce5aa190792fb673ac78b27a9480e951a6347a2c8d0e2fe08a28c11fd08c55dbea835a93f525decaaf09e AUX odbc.ini.m4 406 BLAKE2B 3a20c28b1971753a14a4aa4d30efcc7de833488501a41d9404987567623d48250ce1daea1d3138adaef36741c4f2e0eafc60eba554e5262b45084f93f5205160 SHA512 84ab2a3aab594123d42b65205a7faf8e91fe9416a9e3c4c4c354533b9a298395f59172649c91dc0b671392bfbe5baeaddb6aa47119ce4c825917f3977d9dd521 AUX odbcinst.ini.m4 118 BLAKE2B 6da835746e063f415ad7d640233cfd96e744cd56e12aaab4a21a2bf0bd5f1bd1e5c3d1c9a28522e3aa07c1261abac92301819d4112ac6a000a729aca9f7f7ad6 SHA512 6d929bbffd602a9f060a05998149a6b16334f8a5e3db30d02ff5d38c0065085d085042521e700b87a63766e32aa27ae92be72cef33c2a7aa8f6767b6b71c82c8 DIST mysql-connector-odbc-5.2.7-src.tar.gz 606472 BLAKE2B 297f1ae57802f682616283bae9c3ff7ef88f8f016274884794f6b476bf9b92bc1da8af9cb89f41fa2a74238f91fbc39b9427529b806ac4ffb52aecd895cd8cd8 SHA512 f54ac8a23ade71da85e1335e95eccdccfd68a8687d17a584ced103812bdc5aee8014769a84eaa22724bb2cb23d34c7188c964d3283723defeaef5157a4b3c60f +DIST mysql-connector-odbc-5.3.10-src.tar.gz 2646571 BLAKE2B e85e179ee8a54c8c98dd254e949c08227adc72141d52bc15935eafd60edaf95f47c12ca51fa9472ae29c761d5de2149277c58e6d3f02a566668be17f595ca7ba SHA512 ebe56b95a1690332959a7a37e8ed381b46730fb9f6fbd6522ddc1a6961e4c8cdac59681a957b33abeb6cae12f210278e4063daa59ce952d92acf427bc188e22b DIST mysql-connector-odbc-5.3.9-linux-debian9-x86-32bit.tar.gz 11501665 BLAKE2B e41dd65d940c0c91c67e6ec4c46ea2c3327e96d372c493635d05833862f2aa73919410a9e9a9c090a6fa65fd29e022a9b088c07a5e11089aee04b3b86005ad1e SHA512 02fcf6ac88f6052206aa55b6fc2b37f499da26e596e8e64b1c20e87dc4a24f745416da56c6e1268feff60321f54cb45864b8d34e055ea2f99da37b6efeedc844 DIST mysql-connector-odbc-5.3.9-linux-debian9-x86-64bit.tar.gz 12013057 BLAKE2B e372cfb6ca49f9f01e9e60d7cd497fc009ec38dee76ca2cfb74cc95213b84ef1eebca85e1400f19c9715c0f9b2ef40fc212196e14189f5506be8d0e887507ce4 SHA512 b54ca167f762b4d8b988b4a91f14dc6a4bf49f55bc639ce8eecc9eba6c11400bd3494d74ef77ebe3348bdefd8fb5b8c1b62b3a6beebb926a1899da17ea4a1b44 EBUILD myodbc-5.2.7-r1.ebuild 3363 BLAKE2B c2023e4e3d9b5be097438f32a44b754ac41b3366b978d28220a8cbc5e33575045dd68d120c6bd6e3abe89bce427a560cbfdf8752e609ca2bcf63b616e898a9d0 SHA512 f2b041eec24689bf072691e127381a180545bbef7d60e79ba76160c09ce8088999ee251a439a4bd6cafe5c7055ad454e5b68cf2dd5120353bd40da09c15919e7 -EBUILD myodbc-5.2.7-r3.ebuild 3750 BLAKE2B 6645c7641146af49eff4d377a1a03a7392296d9b322e5cfd336f22441a3811f87f52ddb11d4a157c9674bea25489c9d1abafee927549c76871a4dab3ac982fce SHA512 4f2ffedf90249633cb4ebed682963dee63b0ab69a58ad1201c26ba77108c0d4b4c38d28b09123e4ef79be1a4e0648cb1c361e3cb7c19a825bc708bb4213cad91 +EBUILD myodbc-5.2.7-r3.ebuild 3767 BLAKE2B 40e3d7f3eb5c1a3064f8a790adfb06b66e2317a29a05ec4825ed5fc704de32a1388e0f0eccc4347806c80568335660544712393e61f7e7812f8ae96ccc284d3e SHA512 dd4e3ea7e5cc504b9ee3f59944e4d52a34fec1e7247b6f4f0744c6c5416e69677c9a986d144eb5db62f76c752af3406e0c6659cb6a38021cfe9fefa7b28e54d0 +EBUILD myodbc-5.3.10-r1.ebuild 4189 BLAKE2B 2ba12e3ecb3e403db26dde4050ff91cb9ec0e2db7793c1ebad2b624bdb41c01aff88730e142ca9e50c719802bc834c58d8ec31affaa36f6fbf89aa188096da55 SHA512 f67fa28318bc872730763be47e3b8211584f221485a6aca81dbca3ad34785265dae802960bdec27328cad617e028655286ddc6616fad90f6af46eb62dc696207 EBUILD myodbc-5.3.9.ebuild 3142 BLAKE2B 5f535a2f331a91d4884ccd2f6e7429fe2b981375f6c71a4e4a1d85d1ee226760221a3aa29790c1cf3e69a9963f43c1c266ff9c5c26b4b89d5fd77f5adfe49ca6 SHA512 376f9bb1fb00b8e0ca2fe2f9962bf259eb2bd5828a9422f8f63897756359140a84b1e064d84e6a26590713050f7cf0c3820c1de1fa375e723fa1cf708fa5f5e0 MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b diff --git a/dev-db/myodbc/files/5.3.10-cxxlinkage.patch b/dev-db/myodbc/files/5.3.10-cxxlinkage.patch new file mode 100644 index 000000000000..796a13754f86 --- /dev/null +++ b/dev-db/myodbc/files/5.3.10-cxxlinkage.patch @@ -0,0 +1,29 @@ +diff -aurN a/cmake/FindMySQL.cmake b/cmake/FindMySQL.cmake +--- a/cmake/FindMySQL.cmake 2016-11-29 07:40:13.000000000 -0500 ++++ b/cmake/FindMySQL.cmake 2017-02-17 13:59:18.115389096 -0500 +@@ -747,7 +747,7 @@ + endif() + + if(NOT MYSQL_CXXFLAGS) +- if(MYSQL_CXX_LINKAGE OR MYSQL_VERSION_ID GREATER 50603) ++ if(MYSQL_CXX_LINKAGE) + _mysql_conf(MYSQL_CXXFLAGS "--cxxflags") + set(MYSQL_CXX_LINKAGE 1) + else() +diff -aurN a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt 2018-02-10 21:41:13.161553751 -0500 ++++ b/CMakeLists.txt 2018-02-10 21:45:20.038398824 -0500 +@@ -379,10 +379,9 @@ + SET(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR}/bin") + SET(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/lib") + +-SET(LIB_SUBDIR "lib") +-IF(RPM_BUILD AND CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|ppc64|ppc64p7|s390x|sparc64)") +- SET(LIB_SUBDIR "lib64") +-ENDIF() ++IF(NOT LIB_SUBDIR) ++ MESSAGE(ERROR "LIB_SUBDIR is not set") ++ENDIF(NOT LIB_SUBDIR) + + MESSAGE(STATUS "Installation library subdir: ${LIB_SUBDIR}") + diff --git a/dev-db/myodbc/files/5.3.10-mariadb.patch b/dev-db/myodbc/files/5.3.10-mariadb.patch new file mode 100644 index 000000000000..c860349e4b71 --- /dev/null +++ b/dev-db/myodbc/files/5.3.10-mariadb.patch @@ -0,0 +1,58 @@ +--- a/include/sys_main.h 2018-01-19 05:36:38.000000000 -0500 ++++ b/include/sys_main.h 2018-03-01 11:40:04.554713079 -0500 +@@ -20,6 +20,8 @@ + extern "C" { + #endif + ++#include "sys/mysql/psi/psi_memory.h" ++ + #define MY_FAE 8 /* Fatal if any error */ + #define MY_WME 16 /* Write message on error */ + #define MY_ZEROFILL 32 /* my_malloc(), fill array with zero */ +--- a/driver/connect.c 2018-01-19 05:36:38.000000000 -0500 ++++ b/driver/connect.c 2018-03-01 11:39:51.458676373 -0500 +@@ -179,7 +179,7 @@ + /* Set other connection options */ + + if (ds->allow_big_results || ds->safe) +-#if MYSQL_VERSION_ID >= 50709 ++#if MYSQL_VERSION_ID >= 50709 && !defined(MARIADB_BASE_VERSION) + mysql_options(mysql, MYSQL_OPT_MAX_ALLOWED_PACKET, &max_long); + #else + /* max_allowed_packet is a magical mysql macro. */ +@@ -252,7 +252,7 @@ + ds_get_utf8attr(ds->rsakey, &ds->rsakey8)); + } + #endif +-#if MYSQL_VERSION_ID >= 50710 ++#if MYSQL_VERSION_ID >= 50710 && !defined(MARIADB_BASE_VERSION) + { + char tls_options[128] = { 0 }; + if (!ds->no_tls_1) +@@ -323,7 +323,7 @@ + #endif + + mysql->options.use_ssl = !ds->disable_ssl_default; +-#if MYSQL_VERSION_ID >= 50703 ++#if MYSQL_VERSION_ID >= 50703 && !defined(MARIADB_BASE_VERSION) + { + if (ds->ssl_enforce) + { +@@ -332,7 +332,7 @@ + } + #endif + +-#if MYSQL_VERSION_ID >= 50711 ++#if MYSQL_VERSION_ID >= 50711 && !defined(MARIADB_BASE_VERSION) + if (ds->sslmode) + { + unsigned int mode = 0; +@@ -510,7 +510,7 @@ + } + } + +-#if MYSQL_VERSION_ID >= 50709 ++#if MYSQL_VERSION_ID >= 50709 && !defined(MARIADB_BASE_VERSION) + mysql_get_option(mysql, MYSQL_OPT_NET_BUFFER_LENGTH, &dbc->net_buffer_len); + #else + // for older versions just use net_buffer_length() macro diff --git a/dev-db/myodbc/myodbc-5.2.7-r3.ebuild b/dev-db/myodbc/myodbc-5.2.7-r3.ebuild index 326e8d0289e2..5f7d1930d028 100644 --- a/dev-db/myodbc/myodbc-5.2.7-r3.ebuild +++ b/dev-db/myodbc/myodbc-5.2.7-r3.ebuild @@ -15,7 +15,7 @@ RESTRICT="primaryuri" LICENSE="GPL-2" SLOT="${MAJOR}" -KEYWORDS="~amd64 ~ppc ~x86" +KEYWORDS="amd64 ~ppc ~x86" IUSE="" # Does not build with mysql-connector-c @@ -69,6 +69,7 @@ multilib_src_configure() { -DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${PF} -DMYSQL_LIB_DIR="${ROOT}/usr/$(get_libdir)" -DLIB_SUBDIR="$(get_libdir)" + -DNO_THREADS=ON ) cmake-utils_src_configure } diff --git a/dev-db/myodbc/myodbc-5.3.10-r1.ebuild b/dev-db/myodbc/myodbc-5.3.10-r1.ebuild new file mode 100644 index 000000000000..5aeb327fb5b1 --- /dev/null +++ b/dev-db/myodbc/myodbc-5.3.10-r1.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +# Build is broken with ninja +CMAKE_MAKEFILE_GENERATOR=emake + +inherit cmake-multilib flag-o-matic versionator + +MAJOR="$(get_version_component_range 1-2 $PV)" +MY_PN="mysql-connector-odbc" +MY_P="${MY_PN}-${PV/_p/r}-src" + +DESCRIPTION="ODBC driver for MySQL" +HOMEPAGE="http://www.mysql.com/products/myodbc/" +SRC_URI="https://dev.mysql.com/get/Downloads/Connector-ODBC/${MAJOR}/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="${MAJOR}" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="" + +# Does not build with libmariadb +RDEPEND=" + dev-db/unixODBC[${MULTILIB_USEDEP}] + ~virtual/libmysqlclient-18[${MULTILIB_USEDEP}] + abi_x86_32? ( + !app-emulation/emul-linux-x86-db[-abi_x86_32(-)] + ) + !>=dev-db/mariadb-10.2.0[client-libs(+)] + !dev-db/mariadb-connector-c[mysqlcompat(-)] +" +DEPEND="${RDEPEND}" +S=${WORKDIR}/${MY_P} + +# Careful! +DRIVER_NAME="${PN}-${SLOT}" + +# Patch document path so it doesn't install files to /usr +PATCHES=( + "${FILESDIR}/${MAJOR}-cmake-doc-path.patch" + "${FILESDIR}/5.3.10-cxxlinkage.patch" +# "${FILESDIR}/${MAJOR}-mariadb-dynamic-array.patch" + "${FILESDIR}/5.2.7-my_malloc.patch" + "${FILESDIR}/5.3.10-mariadb.patch" +) + +src_prepare() { + # Fix undefined references due to standards change +# append-cflags -std=gnu89 + + # Remove Tests + sed -i -e "s/ADD_SUBDIRECTORY(test)//" \ + "${S}/CMakeLists.txt" + + # Fix as-needed on the installer binary + echo "TARGET_LINK_LIBRARIES(myodbc-installer odbc)" >> "${S}/installer/CMakeLists.txt" + + cmake-utils_src_prepare +} + +multilib_src_configure() { +# local clientlib +# for clientlib in "mariadb" "perconaclient" "mysqlclient" "notfound" ; do +# [[ -x "${EPREFIX}/usr/$(get_libdir)/lib${clientlib}.so" ]] && break +# done +# [[ "${clientlib}x" == "notfoundx" ]] && \ +# die "Installed client library name could not be determined" + + # MYSQL_CXX_LINKAGE expects "mysql_config --cxxflags" which doesn't exist on MariaDB + mycmakeargs+=( + -DMYSQL_CXX_LINKAGE=0 + -DWITH_UNIXODBC=1 +# -DMYSQLCLIENT_LIB_NAME="${clientlib}" +# -DMYSQLCLIENT_LIB_NAME="mysqlclient" + -DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${PF} + -DMYSQL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)" + -DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}" + -DMYSQL_INCLUDE_DIR="$(mysql_config --variable=pkgincludedir)" + -DMYSQLCLIENT_NO_THREADS=ON + -DDISABLE_GUI=ON + # The NUMA and LIBWRAP options are not really used. + # They are just copied from the server code + -DWITH_NUMA=OFF + -DWITH_LIBWRAP=OFF + ) + cmake-utils_src_configure +} + +multilib_src_install_all() { + debug-print-function ${FUNCNAME} "$@" + + dodir /usr/share/${PN}-${SLOT} + for i in odbc.ini odbcinst.ini; do + einfo "Building $i" + sed \ + -e "s,__PN__,${DRIVER_NAME},g" \ + -e "s,__PF__,${MAJOR},g" \ + -e "s,lib/libmyodbc3.so,$(get_libdir)/${PN}-${MAJOR}/libmyodbc${SLOT:0:1}a.so,g" \ + >"${D}"/usr/share/${PN}-${SLOT}/${i} \ + <"${FILESDIR}"/${i}.m4 \ + || die "Failed to build $i" + done; + mv "${D}/usr/bin/myodbc-installer" \ + "${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary" +} + +pkg_config() { + + [ "${ROOT}" != "/" ] && \ + die 'Sorry, non-standard ROOT setting is not supported :-(' + + local msg='MySQL ODBC driver' + local drivers=$(/usr/bin/odbcinst -q -d) + + if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then + ebegin "Installing ${msg}" + /usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini + rc=$? + eend $rc + [ $rc -ne 0 ] && die + else + einfo "Skipping already installed ${msg}" + fi + + local sources=$(/usr/bin/odbcinst -q -s) + msg='sample MySQL ODBC DSN' + if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then + ebegin "Installing ${msg}" + /usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini + rc=$? + eend $rc + [ $rc -ne 0 ] && die + else + einfo "Skipping already installed ${msg}" + fi +} + +pkg_postinst() { + + elog "If this is a new install, please run the following command" + elog "to configure the MySQL ODBC drivers and sources:" + elog "emerge --config =${CATEGORY}/${PF}" + elog "Please note that the driver name used to form the DSN now includes the SLOT." + elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}" +} -- cgit v1.2.3