commit:     a64869237c80ac96494ed4557d581bd416e7ce38
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 26 02:41:11 2020 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun Jul 26 02:41:15 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a6486923

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 <whissi <AT> gentoo.org>

 ...il-1.6.1-r3.ebuild => apr-util-1.6.1-r4.ebuild} |   2 +
 .../files/apr-util-1.6.1-mariadb-support.patch     | 116 +++++++++++++++++++++
 .../apr-util/files/apr-util-1.6.1-my_boold.patch   |  17 +++
 3 files changed, 135 insertions(+)

diff --git a/dev-libs/apr-util/apr-util-1.6.1-r3.ebuild 
b/dev-libs/apr-util/apr-util-1.6.1-r4.ebuild
similarity index 97%
rename from dev-libs/apr-util/apr-util-1.6.1-r3.ebuild
rename to dev-libs/apr-util/apr-util-1.6.1-r4.ebuild
index 077552fa61f..e73f88b5cf6 100644
--- a/dev-libs/apr-util/apr-util-1.6.1-r3.ebuild
+++ b/dev-libs/apr-util/apr-util-1.6.1-r4.ebuild
@@ -49,6 +49,8 @@ DOCS=(CHANGES NOTICE README)
 PATCHES=(
        "${FILESDIR}"/${PN}-1.5.3-sysroot.patch #385775
        "${FILESDIR}"/${PN}-1.6.1-fix-gdbm-error-handling.patch
+       "${FILESDIR}"/${PN}-1.6.1-mariadb-support.patch
+       "${FILESDIR}"/${PN}-1.6.1-my_boold.patch
 )
 
 src_prepare() {

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 00000000000..137e99f9763
--- /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 <my_global.h>])
+-      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 <mysql/my_global.h>])
++      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 <my_global.h>])
+-
+-      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 <mysql/my_global.h>])
++      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 00000000000..6cd875bcde8
--- /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 <[email protected]>
+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 <mysql.h>
++typedef bool my_bool;
+ #include <errmsg.h>
+ #endif
+ 

Reply via email to