From a64869237c80ac96494ed4557d581bd416e7ce38 Mon Sep 17 00:00:00 2001 From: Thomas Deutschmann Date: Sun, 26 Jul 2020 04:41:11 +0200 Subject: dev-libs/apr-util: fix building against >=dev-db/mysql-connector-c-8.0 Closes: https://bugs.gentoo.org/709650 Package-Manager: Portage-3.0.0, Repoman-2.3.23 Signed-off-by: Thomas Deutschmann --- .../files/apr-util-1.6.1-mariadb-support.patch | 116 +++++++++++++++++++++ .../apr-util/files/apr-util-1.6.1-my_boold.patch | 17 +++ 2 files changed, 133 insertions(+) create mode 100644 dev-libs/apr-util/files/apr-util-1.6.1-mariadb-support.patch create mode 100644 dev-libs/apr-util/files/apr-util-1.6.1-my_boold.patch (limited to 'dev-libs/apr-util/files') diff --git a/dev-libs/apr-util/files/apr-util-1.6.1-mariadb-support.patch b/dev-libs/apr-util/files/apr-util-1.6.1-mariadb-support.patch new file mode 100644 index 000000000000..137e99f97637 --- /dev/null +++ b/dev-libs/apr-util/files/apr-util-1.6.1-mariadb-support.patch @@ -0,0 +1,116 @@ +Backport of http://svn.apache.org/viewvc?rev=1872060&view=rev + +--- a/build/dbd.m4 ++++ b/build/dbd.m4 +@@ -163,10 +163,15 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [ + old_cppflags="$CPPFLAGS" + old_ldflags="$LDFLAGS" + ++ my_library="mysqlclient" ++ + AC_ARG_WITH([mysql], APR_HELP_STRING([--with-mysql=DIR], [enable MySQL DBD driver]), + [ + if test "$withval" = "yes"; then + AC_PATH_PROG([MYSQL_CONFIG],[mysql_config]) ++ if test "x$MYSQL_CONFIG" = "x"; then ++ AC_PATH_TOOL([MYSQL_CONFIG],[mariadb_config]) ++ fi + if test "x$MYSQL_CONFIG" != 'x'; then + mysql_CPPFLAGS="`$MYSQL_CONFIG --include`" + mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r | sed -e 's/-l[[^ ]]\+//g'`" +@@ -174,29 +179,37 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [ + + APR_ADDTO(CPPFLAGS, [$mysql_CPPFLAGS]) + APR_ADDTO(LIBS, [$mysql_LIBS]) ++ ++ if $MYSQL_CONFIG --libs_r | grep -q mariadb; then ++ my_library="mariadb" ++ fi + fi + +- AC_CHECK_HEADERS([mysql.h my_global.h my_sys.h], +- AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]), +- [apu_have_mysql=0; break], +- [#include ]) +- if test "$apu_have_mysql" = "0"; then +- AC_CHECK_HEADERS([mysql/mysql.h mysql/my_global.h mysql/my_sys.h], +- AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]), +- [apu_have_mysql=0; break], +- [#include ]) ++ AC_CHECK_HEADERS([mysql.h errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break]) ++ if test "$apr_have_mysql" = "0"; then ++ AC_CHECK_HEADERS([mysql/mysql.h mysql/errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break]) + fi +- if test "$apu_have_mysql" != "0" && test "x$MYSQL_CONFIG" != 'x'; then ++ if test "$apr_have_mysql" = "1"; then ++ AC_CHECK_HEADERS([my_global.h my_sys.h mysql/my_global.h mysql/my_sys.h]) ++ AC_CHECK_LIB($my_library, mysql_init,, [apu_have_mysql=0]) ++ fi ++ if test "$apu_have_mysql" = "1" && test "x$MYSQL_CONFIG" != 'x'; then + APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS]) + fi + elif test "$withval" = "no"; then + : + else + AC_PATH_PROG([MYSQL_CONFIG],[mysql_config],,[$withval/bin]) ++ if test "x$MYSQL_CONFIG" = "x"; then ++ AC_PATH_TOOL([MYSQL_CONFIG],[mariadb_config],,[$withval/bin]) ++ fi + if test "x$MYSQL_CONFIG" != 'x'; then + mysql_CPPFLAGS="`$MYSQL_CONFIG --include`" + mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r | sed -e 's/-l[[^ ]]\+//g'`" + mysql_LIBS="`$MYSQL_CONFIG --libs_r`" ++ if $MYSQL_CONFIG --libs_r | grep -q mariadb; then ++ my_library="mariadb" ++ fi + else + mysql_CPPFLAGS="-I$withval/include" + mysql_LDFLAGS="-L$withval/lib " +@@ -207,18 +220,15 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [ + APR_ADDTO(LIBS, [$mysql_LIBS]) + + AC_MSG_NOTICE(checking for mysql in $withval) +- AC_CHECK_HEADERS([mysql.h my_global.h my_sys.h], +- AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]), +- [apu_have_mysql=0; break], +- [#include ]) +- +- if test "$apu_have_mysql" != "1"; then +- AC_CHECK_HEADERS([mysql/mysql.h mysql/my_global.h mysql/my_sys.h], +- AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]), +- [apu_have_mysql=0; break], +- [#include ]) ++ AC_CHECK_HEADERS([mysql.h errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break]) ++ if test "$apr_have_mysql" = "0"; then ++ AC_CHECK_HEADERS([mysql/mysql.h mysql/errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break]) ++ fi ++ if test "$apr_have_mysql" = "1"; then ++ AC_CHECK_HEADERS([my_global.h my_sys.h mysql/my_global.h mysql/my_sys.h]) ++ AC_CHECK_LIB($my_library, mysql_init,, [apu_have_mysql=0]) + fi +- if test "$apu_have_mysql" != "0"; then ++ if test "$apu_have_mysql" = "1"; then + APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS]) + fi + fi +@@ -229,7 +239,7 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [ + dnl Since we have already done the AC_CHECK_LIB tests, if we have it, + dnl we know the library is there. + if test "$apu_have_mysql" = "1"; then +- APR_ADDTO(LDADD_dbd_mysql, [$mysql_LDFLAGS -lmysqlclient $mysql_LIBS]) ++ APR_ADDTO(LDADD_dbd_mysql, [$mysql_LDFLAGS -l$my_library $mysql_LIBS]) + fi + AC_SUBST(LDADD_dbd_mysql) + +--- a/dbd/apr_dbd_mysql.c ++++ b/dbd/apr_dbd_mysql.c +@@ -1262,7 +1262,9 @@ static apr_status_t thread_end(void *data) + + static void dbd_mysql_init(apr_pool_t *pool) + { ++#if MYSQL_VERSION_ID < 100000 + my_init(); ++#endif + mysql_thread_init(); + + /* FIXME: this is a guess; find out what it really does */ diff --git a/dev-libs/apr-util/files/apr-util-1.6.1-my_boold.patch b/dev-libs/apr-util/files/apr-util-1.6.1-my_boold.patch new file mode 100644 index 000000000000..6cd875bcde89 --- /dev/null +++ b/dev-libs/apr-util/files/apr-util-1.6.1-my_boold.patch @@ -0,0 +1,17 @@ +Description: Reintroduce my_bool to fix build with MySQL 8 +Author: Robie Basak +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1863026 +Forwarded: no +Last-Update: 2020-02-18 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/dbd/apr_dbd_mysql.c ++++ b/dbd/apr_dbd_mysql.c +@@ -41,6 +41,7 @@ + #endif + #endif + #include ++typedef bool my_bool; + #include + #endif + -- cgit v1.2.3-65-gdbad