aboutsummaryrefslogtreecommitdiffstats
path: root/databases
diff options
context:
space:
mode:
authorvd <vd@FreeBSD.org>2018-01-23 17:51:53 +0800
committervd <vd@FreeBSD.org>2018-01-23 17:51:53 +0800
commitcc64f91d6739ee0ba265b705c61134cf94770916 (patch)
tree8b3ad744c4ec070b3916b772973905727ef822f4 /databases
parentb07ea60dace5ea45a870ee9a1a01fe2097ac15a1 (diff)
downloadfreebsd-ports-gnome-cc64f91d6739ee0ba265b705c61134cf94770916.tar.gz
freebsd-ports-gnome-cc64f91d6739ee0ba265b705c61134cf94770916.tar.zst
freebsd-ports-gnome-cc64f91d6739ee0ba265b705c61134cf94770916.zip
databases/mysqlwsrep57-server: Fix compilation with Clang 6
Diffstat (limited to 'databases')
-rw-r--r--databases/mysqlwsrep57-server/Makefile8
-rw-r--r--databases/mysqlwsrep57-server/files/patch-sql-common_client__authentication.cc11
-rw-r--r--databases/mysqlwsrep57-server/files/patch-storage_innobase_row_row0sel.cc11
3 files changed, 30 insertions, 0 deletions
diff --git a/databases/mysqlwsrep57-server/Makefile b/databases/mysqlwsrep57-server/Makefile
index ffecb2fe7ead..5afb6b8409ea 100644
--- a/databases/mysqlwsrep57-server/Makefile
+++ b/databases/mysqlwsrep57-server/Makefile
@@ -171,6 +171,14 @@ CMAKE_ARGS+= -DWITH_SSL=system
CMAKE_ARGS+= -DWITH_SSL=${OPENSSLBASE}
.endif
+# ${LOCALBASE}/include/lz4.h does not compile with Clang 6.
+# Also MySQL code itself needs -Wno-c++11-narrowing when Clang 6 is used.
+.if ${OSVERSION} >= 1200056
+CFLAGS+= -DLZ4_DISABLE_DEPRECATE_WARNINGS
+CXXFLAGS+= -DLZ4_DISABLE_DEPRECATE_WARNINGS -Wno-c++11-narrowing
+LDFLAGS+= -L${LOCALBASE}/lib
+.endif
+
post-extract:
${RM} -fv ${WRKSRC}/sql/sql_hints.yy.cc ${WRKSRC}/sql/sql_hints.yy.h
diff --git a/databases/mysqlwsrep57-server/files/patch-sql-common_client__authentication.cc b/databases/mysqlwsrep57-server/files/patch-sql-common_client__authentication.cc
new file mode 100644
index 000000000000..8717b90cb859
--- /dev/null
+++ b/databases/mysqlwsrep57-server/files/patch-sql-common_client__authentication.cc
@@ -0,0 +1,11 @@
+--- sql-common/client_authentication.cc.orig 2018-01-22 16:19:07.776289000 +0200
++++ sql-common/client_authentication.cc 2018-01-22 16:19:26.756981000 +0200
+@@ -84,7 +84,7 @@
+
+ if (mysql->options.extension != NULL &&
+ mysql->options.extension->server_public_key_path != NULL &&
+- mysql->options.extension->server_public_key_path != '\0')
++ mysql->options.extension->server_public_key_path[0] != '\0')
+ {
+ pub_key_file= fopen(mysql->options.extension->server_public_key_path,
+ "r");
diff --git a/databases/mysqlwsrep57-server/files/patch-storage_innobase_row_row0sel.cc b/databases/mysqlwsrep57-server/files/patch-storage_innobase_row_row0sel.cc
new file mode 100644
index 000000000000..e8799c151318
--- /dev/null
+++ b/databases/mysqlwsrep57-server/files/patch-storage_innobase_row_row0sel.cc
@@ -0,0 +1,11 @@
+--- storage/innobase/row/row0sel.cc.orig 2018-01-22 18:12:31.679942000 +0200
++++ storage/innobase/row/row0sel.cc 2018-01-22 18:12:55.834909000 +0200
+@@ -5193,7 +5193,7 @@
+ reporting due to search views etc. */
+ if (prev_rec != NULL
+ && prebuilt->m_mysql_handler->end_range != NULL
+- && prebuilt->idx_cond == false && end_loop >= 100) {
++ && prebuilt->idx_cond == NULL && end_loop >= 100) {
+
+ dict_index_t* key_index = prebuilt->index;
+ bool clust_templ_for_sec = false;