summaryrefslogtreecommitdiff
path: root/databases
diff options
context:
space:
mode:
authorKurt Jaeger <pi@FreeBSD.org>2016-01-10 20:02:30 +0000
committerKurt Jaeger <pi@FreeBSD.org>2016-01-10 20:02:30 +0000
commit79c95318b4b6bb92d2ed30ac56c149a368607e8f (patch)
tree1549f09cac4aaf07f7bf837c0d5a159e7256fb2a /databases
parentdatabases/mysql57-client, databases/mysql57-server: (diff)
databases/mysql57-client, databases/mysql57-server:
re-add for proper repo-copy PR: 204607
Notes
Notes: svn path=/head/; revision=405741
Diffstat (limited to 'databases')
-rw-r--r--databases/mysql57-client/Makefile29
-rw-r--r--databases/mysql57-client/files/patch-CMakeLists.txt39
-rw-r--r--databases/mysql57-client/files/patch-client_CMakeLists.txt43
-rw-r--r--databases/mysql57-client/files/patch-cmake_build__configurations_compiler__options.cmake20
-rw-r--r--databases/mysql57-client/files/patch-cmake_os_DragonFly.cmake27
-rw-r--r--databases/mysql57-client/files/patch-cmd-line-utils_libedit_chartype.h11
-rw-r--r--databases/mysql57-client/files/patch-cmd-line-utils_libedit_vi.c20
-rw-r--r--databases/mysql57-client/files/patch-extra_CMakeLists.txt25
-rw-r--r--databases/mysql57-client/files/patch-include_CMakeLists.txt18
-rw-r--r--databases/mysql57-client/files/patch-include_my__compare.h11
-rw-r--r--databases/mysql57-client/files/patch-include_myisam.h11
-rw-r--r--databases/mysql57-client/files/patch-libmysql_CMakeLists.txt11
-rw-r--r--databases/mysql57-client/files/patch-man_CMakeLists.txt13
-rw-r--r--databases/mysql57-client/files/patch-mysys__ssl_my__default.cc31
-rw-r--r--databases/mysql57-client/files/patch-scripts_CMakeLists.txt93
-rw-r--r--databases/mysql57-client/files/patch-storage_myisam_mi__dynrec.c23
-rw-r--r--databases/mysql57-client/files/patch-support-files_CMakeLists.txt36
-rw-r--r--databases/mysql57-client/pkg-message15
-rw-r--r--databases/mysql57-client/pkg-plist111
-rw-r--r--databases/mysql57-server/Makefile79
-rw-r--r--databases/mysql57-server/distinfo2
-rw-r--r--databases/mysql57-server/files/extra-patch-config.h.cmake12
-rw-r--r--databases/mysql57-server/files/mysql-server.in79
-rw-r--r--databases/mysql57-server/files/patch-CMakeLists.txt41
-rw-r--r--databases/mysql57-server/files/patch-client_CMakeLists.txt65
-rw-r--r--databases/mysql57-server/files/patch-cmake_plugin.cmake10
-rw-r--r--databases/mysql57-server/files/patch-cmd-line-utils_libedit_chartype.h11
-rw-r--r--databases/mysql57-server/files/patch-cmd-line-utils_libedit_vi.c20
-rw-r--r--databases/mysql57-server/files/patch-include_CMakeLists.txt15
-rw-r--r--databases/mysql57-server/files/patch-include_my__compare.h11
-rw-r--r--databases/mysql57-server/files/patch-include_my__thread__os__id.h15
-rw-r--r--databases/mysql57-server/files/patch-include_myisam.h11
-rw-r--r--databases/mysql57-server/files/patch-libmysql_CMakeLists.txt41
-rw-r--r--databases/mysql57-server/files/patch-libservices_CMakeLists.txt9
-rw-r--r--databases/mysql57-server/files/patch-man_CMakeLists.txt11
-rw-r--r--databases/mysql57-server/files/patch-mysys__ssl_my__default.cc31
-rw-r--r--databases/mysql57-server/files/patch-plugin_password__validation_validate__password.cc11
-rw-r--r--databases/mysql57-server/files/patch-scripts_CMakeLists.txt36
-rw-r--r--databases/mysql57-server/files/patch-sql_CMakeLists.txt18
-rw-r--r--databases/mysql57-server/files/patch-sql_conn__handler_socket__connection.cc30
-rw-r--r--databases/mysql57-server/files/patch-sql_sql__view.cc63
-rw-r--r--databases/mysql57-server/files/patch-sql_sys__vars.cc38
-rw-r--r--databases/mysql57-server/files/patch-storage_innobase_include_srv0mon.h13
-rw-r--r--databases/mysql57-server/files/patch-storage_myisam_mi__dynrec.c23
-rw-r--r--databases/mysql57-server/files/patch-support-files_CMakeLists.txt12
-rw-r--r--databases/mysql57-server/pkg-descr4
-rw-r--r--databases/mysql57-server/pkg-message6
-rw-r--r--databases/mysql57-server/pkg-plist131
48 files changed, 1435 insertions, 0 deletions
diff --git a/databases/mysql57-client/Makefile b/databases/mysql57-client/Makefile
new file mode 100644
index 000000000000..ccc596133774
--- /dev/null
+++ b/databases/mysql57-client/Makefile
@@ -0,0 +1,29 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= mysql
+PKGNAMESUFFIX= 56-client
+
+COMMENT= Multithreaded SQL database (client)
+
+MASTERDIR= ${.CURDIR}/../mysql56-server
+
+PKGMESSAGE= ${.CURDIR}/pkg-message
+PATCHDIR= ${.CURDIR}/files
+PLIST= ${.CURDIR}/pkg-plist
+
+CONFLICTS_INSTALL= mysql5[0-57-9]-client-* \
+ mariadb*-client-* \
+ percona*-client-*
+
+CMAKE_ARGS+= -DWITHOUT_SERVER=1
+
+USE_LDCONFIG= ${PREFIX}/lib/mysql
+
+MMAN1= comp_err.1 msql2mysql.1 mysql.1 mysql_config.1 mysql_config_editor.1 mysql_find_rows.1 \
+ mysql_waitpid.1 mysqlaccess.1 mysqladmin.1 mysqlbinlog.1 \
+ mysqlcheck.1 mysqldump.1 mysqlimport.1 mysqlshow.1 mysqlslap.1
+
+CLIENT_ONLY= yes
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/mysql57-client/files/patch-CMakeLists.txt b/databases/mysql57-client/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..e8efec8c25a5
--- /dev/null
+++ b/databases/mysql57-client/files/patch-CMakeLists.txt
@@ -0,0 +1,39 @@
+--- CMakeLists.txt.orig 2014-07-18 15:48:39.000000000 +0000
++++ CMakeLists.txt 2014-08-04 13:56:19.445692503 +0000
+@@ -492,8 +492,8 @@
+
+ ADD_SUBDIRECTORY(extra)
+ ADD_SUBDIRECTORY(client)
+-ADD_SUBDIRECTORY(sql/share)
+ ADD_SUBDIRECTORY(libservices)
++ADD_SUBDIRECTORY(support-files)
+
+ IF(UNIX)
+ ADD_SUBDIRECTORY(man)
+@@ -560,18 +560,17 @@
+ SET(CPACK_GENERATOR "TGZ")
+ ENDIF()
+ ADD_SUBDIRECTORY(packaging/WiX)
+-ADD_SUBDIRECTORY(packaging/solaris)
+
+ # Create a single package with "make package"
+ # (see http://public.kitware.com/Bug/view.php?id=11452)
+ SET(CPACK_MONOLITHIC_INSTALL 1 CACHE INTERNAL "")
+
+ IF(UNIX)
+- INSTALL(FILES Docs/mysql.info DESTINATION ${INSTALL_INFODIR} OPTIONAL COMPONENT Info)
+ ENDIF()
+ #
+ # RPM installs documentation directly from the source tree
+ #
++IF(FALSE)
+ IF(NOT INSTALL_LAYOUT MATCHES "RPM")
+ INSTALL(FILES COPYING LICENSE.mysql
+ DESTINATION ${INSTALL_DOCREADMEDIR}
+@@ -597,5 +596,6 @@
+ PATTERN "sp-imp-spec.txt" EXCLUDE
+ )
+ ENDIF()
++ENDIF()
+
+ INCLUDE(CPack)
diff --git a/databases/mysql57-client/files/patch-client_CMakeLists.txt b/databases/mysql57-client/files/patch-client_CMakeLists.txt
new file mode 100644
index 000000000000..f3a7372b69f7
--- /dev/null
+++ b/databases/mysql57-client/files/patch-client_CMakeLists.txt
@@ -0,0 +1,43 @@
+--- client/CMakeLists.txt.orig 2013-01-22 17:54:50.000000000 +0100
++++ client/CMakeLists.txt 2013-02-13 10:36:50.000000000 +0100
+@@ -39,9 +39,11 @@
+ TARGET_LINK_LIBRARIES(mysql ${READLINE_LIBRARY})
+ ENDIF(UNIX)
+
++IF(FALSE)
+ MYSQL_ADD_EXECUTABLE(mysqltest mysqltest.cc COMPONENT Test)
+ SET_SOURCE_FILES_PROPERTIES(mysqltest.cc PROPERTIES COMPILE_FLAGS "-DTHREADS")
+ TARGET_LINK_LIBRARIES(mysqltest mysqlclient regex)
++ENDIF()
+
+
+ MYSQL_ADD_EXECUTABLE(mysqlcheck mysqlcheck.c)
+@@ -53,15 +55,19 @@
+ MYSQL_ADD_EXECUTABLE(mysqlimport mysqlimport.c)
+ TARGET_LINK_LIBRARIES(mysqlimport mysqlclient)
+
++IF(FALSE)
+ MYSQL_ADD_EXECUTABLE(mysql_upgrade mysql_upgrade.c)
+ TARGET_LINK_LIBRARIES(mysql_upgrade mysqlclient)
+ ADD_DEPENDENCIES(mysql_upgrade GenFixPrivs)
++ENDIF()
+
+ MYSQL_ADD_EXECUTABLE(mysqlshow mysqlshow.c)
+ TARGET_LINK_LIBRARIES(mysqlshow mysqlclient)
+
++IF(FALSE)
+ MYSQL_ADD_EXECUTABLE(mysql_plugin mysql_plugin.c)
+ TARGET_LINK_LIBRARIES(mysql_plugin mysqlclient)
++ENDIF()
+
+ MYSQL_ADD_EXECUTABLE(mysqlbinlog mysqlbinlog.cc)
+ TARGET_LINK_LIBRARIES(mysqlbinlog mysqlclient)
+@@ -82,8 +88,6 @@
+ ENDIF(WIN32)
+
+ SET_TARGET_PROPERTIES (
+- mysql_plugin
+- mysql_upgrade
+ mysqlcheck
+ mysqldump
+ mysqlimport
diff --git a/databases/mysql57-client/files/patch-cmake_build__configurations_compiler__options.cmake b/databases/mysql57-client/files/patch-cmake_build__configurations_compiler__options.cmake
new file mode 100644
index 000000000000..bf275e9893cb
--- /dev/null
+++ b/databases/mysql57-client/files/patch-cmake_build__configurations_compiler__options.cmake
@@ -0,0 +1,20 @@
+--- cmake/build_configurations/compiler_options.cmake.orig 2015-11-29 19:16:24 UTC
++++ cmake/build_configurations/compiler_options.cmake
+@@ -28,7 +28,7 @@ IF(UNIX)
+
+ # Default GCC flags
+ IF(CMAKE_COMPILER_IS_GNUCC)
+- SET(COMMON_C_FLAGS "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing")
++ SET(COMMON_C_FLAGS "-g -fno-omit-frame-pointer -fno-strict-aliasing")
+ # Disable inline optimizations for valgrind testing to avoid false positives
+ IF(WITH_VALGRIND)
+ SET(COMMON_C_FLAGS "-fno-inline ${COMMON_C_FLAGS}")
+@@ -37,7 +37,7 @@ IF(UNIX)
+ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}")
+ ENDIF()
+ IF(CMAKE_COMPILER_IS_GNUCXX)
+- SET(COMMON_CXX_FLAGS "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing")
++ SET(COMMON_CXX_FLAGS "-g -fno-omit-frame-pointer -fno-strict-aliasing")
+ # Disable inline optimizations for valgrind testing to avoid false positives
+ IF(WITH_VALGRIND)
+ SET(COMMON_CXX_FLAGS "-fno-inline ${COMMON_CXX_FLAGS}")
diff --git a/databases/mysql57-client/files/patch-cmake_os_DragonFly.cmake b/databases/mysql57-client/files/patch-cmake_os_DragonFly.cmake
new file mode 100644
index 000000000000..7e94978023f1
--- /dev/null
+++ b/databases/mysql57-client/files/patch-cmake_os_DragonFly.cmake
@@ -0,0 +1,27 @@
+--- cmake/os/DragonFly.cmake.orig 2015-12-17 10:53:10 UTC
++++ cmake/os/DragonFly.cmake
+@@ -0,0 +1,24 @@
++INCLUDE(CheckCSourceRuns)
++
++# We require at least GCC 4.4 or Clang 3.3.
++IF(NOT FORCE_UNSUPPORTED_COMPILER)
++ IF(CMAKE_COMPILER_IS_GNUCC)
++ EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion
++ OUTPUT_VARIABLE GCC_VERSION)
++ IF(GCC_VERSION VERSION_LESS 4.4)
++ MESSAGE(FATAL_ERROR "GCC 4.4 or newer is required!")
++ ENDIF()
++ ELSEIF(CMAKE_C_COMPILER_ID MATCHES "Clang")
++ CHECK_C_SOURCE_RUNS("
++ int main()
++ {
++ return (__clang_major__ < 3) ||
++ (__clang_major__ == 3 && __clang_minor__ < 3);
++ }" HAVE_SUPPORTED_CLANG_VERSION)
++ IF(NOT HAVE_SUPPORTED_CLANG_VERSION)
++ MESSAGE(FATAL_ERROR "Clang 3.3 or newer is required!")
++ ENDIF()
++ ELSE()
++ MESSAGE(FATAL_ERROR "Unsupported compiler!")
++ ENDIF()
++ENDIF()
diff --git a/databases/mysql57-client/files/patch-cmd-line-utils_libedit_chartype.h b/databases/mysql57-client/files/patch-cmd-line-utils_libedit_chartype.h
new file mode 100644
index 000000000000..6aaba5c733f7
--- /dev/null
+++ b/databases/mysql57-client/files/patch-cmd-line-utils_libedit_chartype.h
@@ -0,0 +1,11 @@
+--- cmd-line-utils/libedit/chartype.h.orig 2015-11-29 19:16:24 UTC
++++ cmd-line-utils/libedit/chartype.h
+@@ -49,7 +49,7 @@
+ TODO : Verify if FreeBSD & AIX stores ISO 10646 in wchar_t. */
+ #if !defined(__NetBSD__) && !defined(__sun) \
+ && !(defined(__APPLE__) && defined(__MACH__)) \
+- && !defined(__FreeBSD__) && !defined(_AIX)
++ && !defined(__FreeBSD__) && !defined(_AIX) && !defined(__DragonFly__)
+ #ifndef __STDC_ISO_10646__
+ /* In many places it is assumed that the first 127 code points are ASCII
+ * compatible, so ensure wchar_t indeed does ISO 10646 and not some other
diff --git a/databases/mysql57-client/files/patch-cmd-line-utils_libedit_vi.c b/databases/mysql57-client/files/patch-cmd-line-utils_libedit_vi.c
new file mode 100644
index 000000000000..0847a07c84d4
--- /dev/null
+++ b/databases/mysql57-client/files/patch-cmd-line-utils_libedit_vi.c
@@ -0,0 +1,20 @@
+--- cmd-line-utils/libedit/vi.c.orig 2015-11-29 19:16:24 UTC
++++ cmd-line-utils/libedit/vi.c
+@@ -919,7 +919,7 @@ vi_comment_out(EditLine *el, Int c __att
+ * NB: posix implies that we should enter insert mode, however
+ * this is against historical precedent...
+ */
+-#if defined(__weak_reference) && !defined(__FreeBSD__)
++#if defined(__weak_reference) && !defined(__FreeBSD__) && !defined(__DragonFly__)
+ __weakref_visible char *my_get_alias_text(const char *)
+ __weak_reference(get_alias_text);
+ #endif
+@@ -928,7 +928,7 @@ protected el_action_t
+ vi_alias(EditLine *el __attribute__((__unused__)),
+ Int c __attribute__((__unused__)))
+ {
+-#if defined(__weak_reference) && !defined(__FreeBSD__)
++#if defined(__weak_reference) && !defined(__FreeBSD__) && !defined(__DragonFly__)
+ char alias_name[3];
+ char *alias_text;
+
diff --git a/databases/mysql57-client/files/patch-extra_CMakeLists.txt b/databases/mysql57-client/files/patch-extra_CMakeLists.txt
new file mode 100644
index 000000000000..bd078ede4a7c
--- /dev/null
+++ b/databases/mysql57-client/files/patch-extra_CMakeLists.txt
@@ -0,0 +1,25 @@
+--- extra/CMakeLists.txt.orig 2013-01-22 17:54:50.000000000 +0100
++++ extra/CMakeLists.txt 2013-02-13 11:02:40.000000000 +0100
+@@ -60,6 +60,7 @@
+ ENDIF()
+
+
++IF(FALSE)
+ MYSQL_ADD_EXECUTABLE(my_print_defaults my_print_defaults.c)
+ TARGET_LINK_LIBRARIES(my_print_defaults mysys mysys_ssl)
+ SET_TARGET_PROPERTIES(my_print_defaults PROPERTIES LINKER_LANGUAGE CXX)
+@@ -96,11 +97,14 @@
+ MYSQL_ADD_EXECUTABLE(innochecksum innochecksum.cc ${INNOBASE_SOURCES})
+ TARGET_LINK_LIBRARIES(innochecksum mysys mysys_ssl)
+ ENDIF()
++ENDIF()
+
+ IF(UNIX)
++IF(FALSE)
+ MYSQL_ADD_EXECUTABLE(resolve_stack_dump resolve_stack_dump.c)
+ TARGET_LINK_LIBRARIES(resolve_stack_dump mysys mysys_ssl)
+ SET_TARGET_PROPERTIES(resolve_stack_dump PROPERTIES LINKER_LANGUAGE CXX)
++ENDIF()
+
+ MYSQL_ADD_EXECUTABLE(mysql_waitpid mysql_waitpid.c)
+ TARGET_LINK_LIBRARIES(mysql_waitpid mysys mysys_ssl)
diff --git a/databases/mysql57-client/files/patch-include_CMakeLists.txt b/databases/mysql57-client/files/patch-include_CMakeLists.txt
new file mode 100644
index 000000000000..4bc34cb951c1
--- /dev/null
+++ b/databases/mysql57-client/files/patch-include_CMakeLists.txt
@@ -0,0 +1,18 @@
+--- include/CMakeLists.txt.orig 2015-11-29 19:16:24 UTC
++++ include/CMakeLists.txt
+@@ -37,6 +37,7 @@ SET(HEADERS_ABI
+
+ SET(HEADERS
+ ${HEADERS_ABI}
++ hash.h
+ my_dbug.h
+ m_string.h
+ my_sys.h
+@@ -68,7 +69,6 @@ SET(HEADERS
+ ${HEADERS_GEN_CONFIGURE}
+ )
+
+-INSTALL(FILES ../libbinlogevents/export/binary_log_types.h DESTINATION ${INSTALL_INCLUDEDIR})
+ INSTALL(FILES ${HEADERS} DESTINATION ${INSTALL_INCLUDEDIR} COMPONENT Development)
+ INSTALL(DIRECTORY mysql/ DESTINATION ${INSTALL_INCLUDEDIR}/mysql COMPONENT Development
+ PATTERN "*.h"
diff --git a/databases/mysql57-client/files/patch-include_my__compare.h b/databases/mysql57-client/files/patch-include_my__compare.h
new file mode 100644
index 000000000000..cd176ca50b43
--- /dev/null
+++ b/databases/mysql57-client/files/patch-include_my__compare.h
@@ -0,0 +1,11 @@
+--- include/my_compare.h.orig 2015-11-29 19:16:24 UTC
++++ include/my_compare.h
+@@ -40,7 +40,7 @@ extern "C" {
+ But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and HA_MAX_KEY_LENGTH.
+ */
+
+-#define HA_MAX_KEY_LENGTH 1000 /* Max length in bytes */
++#define HA_MAX_KEY_LENGTH 4000 /* Max length in bytes */
+ #define HA_MAX_KEY_SEG 16 /* Max segments for key */
+
+ #define HA_MAX_POSSIBLE_KEY_BUFF (HA_MAX_KEY_LENGTH + 24+ 6+6)
diff --git a/databases/mysql57-client/files/patch-include_myisam.h b/databases/mysql57-client/files/patch-include_myisam.h
new file mode 100644
index 000000000000..450645400dd5
--- /dev/null
+++ b/databases/mysql57-client/files/patch-include_myisam.h
@@ -0,0 +1,11 @@
+--- include/myisam.h.orig 2009-02-16 23:04:54.000000000 +0100
++++ include/myisam.h 2009-02-16 23:10:08.000000000 +0100
+@@ -48,7 +48,7 @@
+ The following defines can be increased if necessary.
+ But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and MI_MAX_KEY_LENGTH.
+ */
+-#define MI_MAX_KEY_LENGTH 1000 /* Max length in bytes */
++#define MI_MAX_KEY_LENGTH 4000 /* Max length in bytes */
+ #define MI_MAX_KEY_SEG 16 /* Max segments for key */
+
+ #define MI_MAX_KEY_BUFF (MI_MAX_KEY_LENGTH+MI_MAX_KEY_SEG*6+8+8)
diff --git a/databases/mysql57-client/files/patch-libmysql_CMakeLists.txt b/databases/mysql57-client/files/patch-libmysql_CMakeLists.txt
new file mode 100644
index 000000000000..d4a6ee54a7e6
--- /dev/null
+++ b/databases/mysql57-client/files/patch-libmysql_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- libmysql/CMakeLists.txt.orig 2015-11-29 19:16:24 UTC
++++ libmysql/CMakeLists.txt
+@@ -260,7 +260,7 @@ IF(NOT DISABLE_SHARED)
+ COMPONENT SharedLibraries)
+ IF(UNIX)
+ # libtool compatability
+- IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
++ IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|DragonFly" OR APPLE)
+ SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")
+ ELSE()
+ SET(OS_SHARED_LIB_VERSION
diff --git a/databases/mysql57-client/files/patch-man_CMakeLists.txt b/databases/mysql57-client/files/patch-man_CMakeLists.txt
new file mode 100644
index 000000000000..0f79f3e2403d
--- /dev/null
+++ b/databases/mysql57-client/files/patch-man_CMakeLists.txt
@@ -0,0 +1,13 @@
+--- man/CMakeLists.txt.orig 2011-10-22 14:08:32.000000000 +0200
++++ man/CMakeLists.txt 2011-10-22 14:22:42.000000000 +0200
+@@ -15,10 +15,6 @@
+
+ # Copy man pages
+ FILE(GLOB MAN1_FILES *.1)
+-FILE(GLOB MAN1_EXCLUDE make_win_bin_dist.1)
+-FILE(GLOB MAN1_NDB ndb*.1)
+-FILE(GLOB MAN8_FILES *.8)
+-FILE(GLOB MAN8_NDB ndb*.8)
+ IF(MAN1_FILES)
+ IF(MAN1_EXCLUDE)
+ LIST(REMOVE_ITEM MAN1_FILES ${MAN1_EXCLUDE})
diff --git a/databases/mysql57-client/files/patch-mysys__ssl_my__default.cc b/databases/mysql57-client/files/patch-mysys__ssl_my__default.cc
new file mode 100644
index 000000000000..cb52de18bebe
--- /dev/null
+++ b/databases/mysql57-client/files/patch-mysys__ssl_my__default.cc
@@ -0,0 +1,31 @@
+--- mysys_ssl/my_default.cc.orig 2015-11-29 19:16:24 UTC
++++ mysys_ssl/my_default.cc
+@@ -122,7 +122,7 @@ static my_bool is_login_file= FALSE;
+
+ /* Which directories are searched for options (and in which order) */
+
+-#define MAX_DEFAULT_DIRS 6
++#define MAX_DEFAULT_DIRS 7
+ #define DEFAULT_DIRS_SIZE (MAX_DEFAULT_DIRS + 1) /* Terminate with NULL */
+ static const char **default_directories = NULL;
+
+@@ -1409,7 +1409,10 @@ static const char **init_default_directo
+
+ #if defined(DEFAULT_SYSCONFDIR)
+ if (DEFAULT_SYSCONFDIR[0])
++ {
+ errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
++ errors += add_directory(alloc, DEFAULT_SYSCONFDIR "/mysql", dirs);
++ }
+ #endif /* DEFAULT_SYSCONFDIR */
+
+ #endif
+@@ -1480,7 +1483,7 @@ int check_file_permissions(const char *f
+ MY_STAT stat_info;
+
+ if (!my_stat(file_name,&stat_info,MYF(0)))
+- return 1;
++ return 0;
+ /*
+ Ignore .mylogin.cnf file if not exclusively readable/writable
+ by current user.
diff --git a/databases/mysql57-client/files/patch-scripts_CMakeLists.txt b/databases/mysql57-client/files/patch-scripts_CMakeLists.txt
new file mode 100644
index 000000000000..0235dc2f305f
--- /dev/null
+++ b/databases/mysql57-client/files/patch-scripts_CMakeLists.txt
@@ -0,0 +1,93 @@
+--- scripts/CMakeLists.txt.orig 2013-01-22 17:54:49.000000000 +0100
++++ scripts/CMakeLists.txt 2013-02-13 14:14:11.000000000 +0100
+@@ -71,6 +71,7 @@
+ )
+ ENDIF()
+
++IF(FALSE)
+ INSTALL(FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/mysql_system_tables.sql
+ ${CMAKE_CURRENT_SOURCE_DIR}/mysql_system_tables_data.sql
+@@ -80,6 +81,7 @@
+ ${FIX_PRIVILEGES_SQL}
+ DESTINATION ${INSTALL_MYSQLSHAREDIR} COMPONENT Server
+ )
++ENDIF()
+
+ # TCMalloc hacks
+ IF(MALLOC_LIB)
+@@ -139,6 +141,7 @@
+ SET(HOSTNAME "hostname")
+ SET(MYSQLD_USER "mysql")
+
++IF(FALSE)
+ # Required for mysqlbug until autotools are deprecated, once done remove these
+ # and expand default cmake variables
+ SET(CC ${CMAKE_C_COMPILER})
+@@ -175,6 +178,7 @@
+ DESTINATION ${INSTALL_BINDIR}
+ COMPONENT Server
+ )
++ENDIF()
+
+ ENDIF(UNIX)
+
+@@ -199,6 +203,7 @@
+ SET(localstatedir ${MYSQL_DATADIR})
+ ENDIF()
+
++IF(FALSE)
+ IF(UNIX)
+ SET(EXT)
+ ELSE()
+@@ -213,6 +218,7 @@
+ DESTINATION ${DEST}
+ COMPONENT Server
+ )
++ENDIF()
+
+
+ SET(prefix "${CMAKE_INSTALL_PREFIX}")
+@@ -264,6 +270,8 @@
+ GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE)
+ STRING(REGEX REPLACE "^lib" "" lib "${lib}")
+ SET(${var} "${${var}}-l${lib} " )
++ ELSEIF(lib STREQUAL "-pthread")
++ SET(${var} "${${var}}-pthread " )
+ ELSE()
+ SET(${var} "${${var}}-l${lib} " )
+ ENDIF()
+@@ -316,17 +324,9 @@
+ SET(BIN_SCRIPTS
+ msql2mysql
+ mysql_config
+- mysql_fix_extensions
+- mysql_setpermission
+- mysql_zap
+ mysqlaccess
+ mysqlaccess.conf
+- mysql_convert_table_format
+ mysql_find_rows
+- mysqlhotcopy
+- mysqldumpslow
+- mysqld_multi
+- mysqld_safe
+ )
+ FOREACH(file ${BIN_SCRIPTS})
+ IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh)
+@@ -350,6 +350,7 @@
+ )
+ ENDFOREACH()
+
++IF(FALSE)
+ # Input files with pl.in extension - drop the extension completely
+ SET(PLIN_FILES mysql_secure_installation)
+ FOREACH(file ${PLIN_FILES})
+@@ -362,6 +363,7 @@
+ INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file} COMPONENT ${${file}_COMPONENT})
+ ENDFOREACH()
+ ENDIF()
++ENDIF()
+
+ # Install libgcc as mylibgcc.a
+ IF(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_FLAGS MATCHES "-static")
diff --git a/databases/mysql57-client/files/patch-storage_myisam_mi__dynrec.c b/databases/mysql57-client/files/patch-storage_myisam_mi__dynrec.c
new file mode 100644
index 000000000000..9305f2ba7f93
--- /dev/null
+++ b/databases/mysql57-client/files/patch-storage_myisam_mi__dynrec.c
@@ -0,0 +1,23 @@
+--- storage/myisam/mi_dynrec.c.orig 2015-12-14 07:39:39 UTC
++++ storage/myisam/mi_dynrec.c
+@@ -65,18 +65,13 @@ my_bool mi_dynmap_file(MI_INFO *info, my
+ DBUG_RETURN(1);
+ }
+ /*
+- I wonder if it is good to use MAP_NORESERVE. From the Linux man page:
+- MAP_NORESERVE
+- Do not reserve swap space for this mapping. When swap space is
+- reserved, one has the guarantee that it is possible to modify the
+- mapping. When swap space is not reserved one might get SIGSEGV
+- upon a write if no physical memory is available.
++ MAP_NORESERVE is unimplemented in FreeBSD
+ */
+ info->s->file_map= (uchar*)
+ my_mmap(0, (size_t) size,
+ info->s->mode==O_RDONLY ? PROT_READ :
+ PROT_READ | PROT_WRITE,
+- MAP_SHARED | MAP_NORESERVE,
++ MAP_SHARED,
+ info->dfile, 0L);
+ if (info->s->file_map == (uchar*) MAP_FAILED)
+ {
diff --git a/databases/mysql57-client/files/patch-support-files_CMakeLists.txt b/databases/mysql57-client/files/patch-support-files_CMakeLists.txt
new file mode 100644
index 000000000000..33803dc525b9
--- /dev/null
+++ b/databases/mysql57-client/files/patch-support-files_CMakeLists.txt
@@ -0,0 +1,36 @@
+--- support-files/CMakeLists.txt.orig 2013-01-22 17:54:50.000000000 +0100
++++ support-files/CMakeLists.txt 2013-02-13 11:13:32.000000000 +0100
+@@ -44,14 +44,17 @@
+ SET(inst_location ${INSTALL_SUPPORTFILESDIR})
+ ENDIF()
+
++IF(FALSE)
+ SET(inifile my-default)
+ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${inifile}.cnf.sh
+ ${CMAKE_CURRENT_BINARY_DIR}/${inifile}.${ini_file_extension} @ONLY)
+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${inifile}.${ini_file_extension}
+ DESTINATION ${inst_location} COMPONENT IniFiles)
++ENDIF()
+
+ IF(UNIX)
+ SET(prefix ${CMAKE_INSTALL_PREFIX})
++IF(FALSE)
+ FOREACH(script mysqld_multi.server mysql-log-rotate binary-configure)
+ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${script}.sh
+ ${CMAKE_CURRENT_BINARY_DIR}/${script} @ONLY )
+@@ -68,8 +71,10 @@
+ IF(INSTALL_SUPPORTFILESDIR)
+ INSTALL(FILES magic DESTINATION ${inst_location} COMPONENT SupportFiles)
+ ENDIF()
++ENDIF()
+
+ INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development)
++IF(FALSE)
+ CONFIGURE_FILE(MySQL-shared-compat.spec.sh ${CMAKE_CURRENT_BINARY_DIR}/MySQL-shared-compat.spec @ONLY)
+ CONFIGURE_FILE(mysql.spec.sh ${CMAKE_CURRENT_BINARY_DIR}/mysql.spec @ONLY)
+
+@@ -94,3 +99,4 @@
+ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ
+ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
+ ENDIF()
++ENDIF()
diff --git a/databases/mysql57-client/pkg-message b/databases/mysql57-client/pkg-message
new file mode 100644
index 000000000000..2cf54a1cf930
--- /dev/null
+++ b/databases/mysql57-client/pkg-message
@@ -0,0 +1,15 @@
+* * * * * * * * * * * * * * * * * * * * * * * *
+
+Please be aware the database client is vulnerable
+to CVE-2015-3152 - SSL Downgrade aka "BACKRONYM".
+You may find more information at the following URL:
+
+http://www.vuxml.org/freebsd/36bd352d-299b-11e5-86ff-14dae9d210b8.html
+
+Although this database client is not listed as
+"affected", it is vulnerable and will not be
+receiving a patch. Please take note of this when
+deploying this software.
+
+* * * * * * * * * * * * * * * * * * * * * * * *
+
diff --git a/databases/mysql57-client/pkg-plist b/databases/mysql57-client/pkg-plist
new file mode 100644
index 000000000000..d890a7d2a08f
--- /dev/null
+++ b/databases/mysql57-client/pkg-plist
@@ -0,0 +1,111 @@
+bin/msql2mysql
+bin/mysql
+bin/mysql_config
+bin/mysql_config_editor
+bin/mysql_find_rows
+bin/mysql_waitpid
+bin/mysqlaccess
+bin/mysqlaccess.conf
+bin/mysqladmin
+bin/mysqlbinlog
+bin/mysqlcheck
+bin/mysqldump
+bin/mysqlimport
+bin/mysqlshow
+bin/mysqlslap
+include/mysql/big_endian.h
+include/mysql/byte_order_generic.h
+include/mysql/byte_order_generic_x86.h
+include/mysql/byte_order_generic_x86_64.h
+include/mysql/decimal.h
+include/mysql/errmsg.h
+include/mysql/hash.h
+include/mysql/keycache.h
+include/mysql/little_endian.h
+include/mysql/m_ctype.h
+include/mysql/m_string.h
+include/mysql/my_alloc.h
+include/mysql/my_attribute.h
+include/mysql/my_byteorder.h
+include/mysql/my_compiler.h
+include/mysql/my_config.h
+include/mysql/my_dbug.h
+include/mysql/my_dir.h
+include/mysql/my_getopt.h
+include/mysql/my_global.h
+include/mysql/my_list.h
+include/mysql/my_net.h
+include/mysql/my_pthread.h
+include/mysql/my_sys.h
+include/mysql/my_xml.h
+include/mysql/mysql.h
+include/mysql/mysql/client_authentication.h
+include/mysql/mysql/client_plugin.h
+include/mysql/mysql/client_plugin.h.pp
+include/mysql/mysql/get_password.h
+include/mysql/mysql/innodb_priv.h
+include/mysql/mysql/plugin.h
+include/mysql/mysql/plugin_audit.h
+include/mysql/mysql/plugin_audit.h.pp
+include/mysql/mysql/plugin_auth.h
+include/mysql/mysql/plugin_auth.h.pp
+include/mysql/mysql/plugin_auth_common.h
+include/mysql/mysql/plugin_ftparser.h
+include/mysql/mysql/plugin_ftparser.h.pp
+include/mysql/mysql/plugin_validate_password.h
+include/mysql/mysql/psi/mysql_file.h
+include/mysql/mysql/psi/mysql_idle.h
+include/mysql/mysql/psi/mysql_socket.h
+include/mysql/mysql/psi/mysql_stage.h
+include/mysql/mysql/psi/mysql_statement.h
+include/mysql/mysql/psi/mysql_table.h
+include/mysql/mysql/psi/mysql_thread.h
+include/mysql/mysql/psi/psi.h
+include/mysql/mysql/service_my_plugin_log.h
+include/mysql/mysql/service_my_snprintf.h
+include/mysql/mysql/service_mysql_string.h
+include/mysql/mysql/service_thd_alloc.h
+include/mysql/mysql/service_thd_wait.h
+include/mysql/mysql/service_thread_scheduler.h
+include/mysql/mysql/services.h
+include/mysql/mysql/thread_pool_priv.h
+include/mysql/mysql_com.h
+include/mysql/mysql_com_server.h
+include/mysql/mysql_embed.h
+include/mysql/mysql_time.h
+include/mysql/mysql_version.h
+include/mysql/mysqld_ername.h
+include/mysql/mysqld_error.h
+include/mysql/plugin.h
+include/mysql/plugin_audit.h
+include/mysql/plugin_ftparser.h
+include/mysql/plugin_validate_password.h
+include/mysql/sql_common.h
+include/mysql/sql_state.h
+include/mysql/sslopt-case.h
+include/mysql/sslopt-longopts.h
+include/mysql/sslopt-vars.h
+include/mysql/typelib.h
+lib/mysql/libmysqlclient.a
+lib/mysql/libmysqlclient.so
+lib/mysql/libmysqlclient.so.18
+lib/mysql/libmysqlclient_r.a
+lib/mysql/libmysqlclient_r.so
+lib/mysql/libmysqlclient_r.so.18
+lib/mysql/libmysqlservices.a
+man/man1/comp_err.1.gz
+man/man1/msql2mysql.1.gz
+man/man1/mysql.1.gz
+man/man1/mysql_config.1.gz
+man/man1/mysql_config_editor.1.gz
+man/man1/mysql_find_rows.1.gz
+man/man1/mysql_waitpid.1.gz
+man/man1/mysqlaccess.1.gz
+man/man1/mysqladmin.1.gz
+man/man1/mysqlbinlog.1.gz
+man/man1/mysqlcheck.1.gz
+man/man1/mysqldump.1.gz
+man/man1/mysqlimport.1.gz
+man/man1/mysqlshow.1.gz
+man/man1/mysqlslap.1.gz
+share/aclocal/mysql.m4
diff --git a/databases/mysql57-server/Makefile b/databases/mysql57-server/Makefile
new file mode 100644
index 000000000000..dcdf07062b95
--- /dev/null
+++ b/databases/mysql57-server/Makefile
@@ -0,0 +1,79 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME?= mysql
+PORTVERSION= 5.6.27
+PORTREVISION?= 0
+CATEGORIES= databases ipv6
+MASTER_SITES= MYSQL/MySQL-5.6
+PKGNAMESUFFIX?= 56-server
+
+MAINTAINER= ale@FreeBSD.org
+COMMENT?= Multithreaded SQL database (server)
+
+SLAVEDIRS= databases/mysql56-client
+USES= cmake shebangfix
+
+CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql" \
+ -DINSTALL_DOCREADMEDIR="share/doc/mysql" \
+ -DINSTALL_INCLUDEDIR="include/mysql" \
+ -DINSTALL_INFODIR="info" \
+ -DINSTALL_LIBDIR="lib/mysql" \
+ -DINSTALL_MANDIR="man" \
+ -DINSTALL_MYSQLDATADIR="/var/db/mysql" \
+ -DINSTALL_MYSQLSHAREDIR="share/mysql" \
+ -DINSTALL_MYSQLTESTDIR="share/mysql/tests" \
+ -DINSTALL_PLUGINDIR="lib/mysql/plugin" \
+ -DINSTALL_SBINDIR="libexec" \
+ -DINSTALL_SCRIPTDIR="bin" \
+ -DINSTALL_SHAREDIR="share" \
+ -DINSTALL_SQLBENCHDIR="share/mysql" \
+ -DINSTALL_SUPPORTFILESDIR="share/mysql" \
+ -DWITH_EDITLINE=system \
+ -DWITH_LIBWRAP=1
+
+SHEBANG_FILES= scripts/*.pl* scripts/*.sh
+
+.ifdef USE_MYSQL
+.error You have `USE_MYSQL' variable defined either in environment or in make(1) arguments. Please undefine and try again.
+.endif
+
+# MySQL-Server part
+.if !defined(CLIENT_ONLY)
+USE_MYSQL= yes
+WANT_MYSQL_VER= 56
+
+USES+= perl5
+USE_PERL5= run
+
+CONFLICTS_INSTALL= mysql5[0-57-9]-server-* \
+ mariadb*-server-* \
+ percona*-server-*
+
+USE_RC_SUBR= mysql-server
+
+USERS= mysql
+GROUPS= mysql
+
+MMAN1= my_print_defaults.1 myisam_ftdump.1 myisamchk.1 myisamlog.1 myisampack.1 \
+ mysql.server.1 mysql_convert_table_format.1 mysql_fix_extensions.1 \
+ mysql_install_db.1 mysql_plugin.1 mysql_secure_installation.1 mysql_setpermission.1 \
+ mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql_zap.1 mysqlbug.1 \
+ mysqld_multi.1 mysqld_safe.1 mysqldumpslow.1 mysqlhotcopy.1 mysqlman.1 \
+ mysqltest.1 perror.1 replace.1 resolve_stack_dump.1 resolveip.1
+
+CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON"
+.else
+USES+= libedit
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} 's/*.1/${MMAN1}/' ${WRKSRC}/man/CMakeLists.txt
+
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == "armv6"
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-config.h.cmake
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/databases/mysql57-server/distinfo b/databases/mysql57-server/distinfo
new file mode 100644
index 000000000000..1e5ae0a617d4
--- /dev/null
+++ b/databases/mysql57-server/distinfo
@@ -0,0 +1,2 @@
+SHA256 (mysql-5.6.27.tar.gz) = 8356bba23f3f6c0c2d4806110c41d1c4d6a4b9c50825e11c5be4bbee2b20b71d
+SIZE (mysql-5.6.27.tar.gz) = 33327156
diff --git a/databases/mysql57-server/files/extra-patch-config.h.cmake b/databases/mysql57-server/files/extra-patch-config.h.cmake
new file mode 100644
index 000000000000..3ac1add1b9ce
--- /dev/null
+++ b/databases/mysql57-server/files/extra-patch-config.h.cmake
@@ -0,0 +1,12 @@
+--- config.h.cmake.orig 2014-12-05 16:24:02 UTC
++++ config.h.cmake
+@@ -151,7 +151,8 @@
+ #cmakedefine HAVE_FESETROUND 1
+ #cmakedefine HAVE_FINITE 1
+ #cmakedefine HAVE_FP_EXCEPT 1
+-#cmakedefine HAVE_FPSETMASK 1
++#cmakedefine HAVE_FPSETMASK 0
++#cmakedefine HAVE_FEDISABLEEXCEPT 1
+ #cmakedefine HAVE_FSEEKO 1
+ #cmakedefine HAVE_FSYNC 1
+ #cmakedefine HAVE_FTIME 1
diff --git a/databases/mysql57-server/files/mysql-server.in b/databases/mysql57-server/files/mysql-server.in
new file mode 100644
index 000000000000..b5015e5505f3
--- /dev/null
+++ b/databases/mysql57-server/files/mysql-server.in
@@ -0,0 +1,79 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: mysql
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+#
+# Add the following line to /etc/rc.conf to enable mysql:
+# mysql_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable MySQL.
+# mysql_limits (bool): Set to "NO" by default.
+# Set it to yes to run `limits -e -U mysql`
+# just before mysql starts.
+# mysql_dbdir (str): Default to "/var/db/mysql"
+# Base database directory.
+# mysql_optfile (str): Server-specific option file.
+# Default to "${mysql_dbdir}/my.cnf".
+# mysql_pidfile (str): Custum PID file path and name.
+# Default to "${mysql_dbdir}/${hostname}.pid".
+# mysql_args (str): Custom additional arguments to be passed
+# to mysqld_safe (default empty).
+#
+
+. /etc/rc.subr
+
+name="mysql"
+rcvar=mysql_enable
+
+load_rc_config $name
+
+: ${mysql_enable="NO"}
+: ${mysql_limits="NO"}
+: ${mysql_dbdir="/var/db/mysql"}
+: ${mysql_optfile="${mysql_dbdir}/my.cnf"}
+
+mysql_user="mysql"
+mysql_limits_args="-e -U ${mysql_user}"
+: ${hostname:=`/bin/hostname`}
+pidfile=${mysql_pidfile:-"${mysql_dbdir}/${hostname}.pid"}
+command="/usr/sbin/daemon"
+command_args="-c -f %%PREFIX%%/bin/mysqld_safe --defaults-extra-file=${mysql_optfile} --user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} ${mysql_args}"
+procname="%%PREFIX%%/libexec/mysqld"
+start_precmd="${name}_prestart"
+start_postcmd="${name}_poststart"
+mysql_install_db="%%PREFIX%%/bin/mysql_install_db"
+mysql_install_db_args="--basedir=%%PREFIX%% --defaults-extra-file=${mysql_optfile} --datadir=${mysql_dbdir} --force"
+
+mysql_create_auth_tables()
+{
+ eval $mysql_install_db $mysql_install_db_args >/dev/null 2>/dev/null
+ [ $? -eq 0 ] && chown -R ${mysql_user}:${mysql_user} ${mysql_dbdir}
+}
+
+mysql_prestart()
+{
+ if [ ! -d "${mysql_dbdir}/mysql/." ]; then
+ mysql_create_auth_tables || return 1
+ fi
+ if checkyesno mysql_limits; then
+ eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null
+ else
+ return 0
+ fi
+}
+
+mysql_poststart()
+{
+ local timeout=15
+ while [ ! -f "${pidfile}" -a ${timeout} -gt 0 ]; do
+ timeout=$(( timeout - 1 ))
+ sleep 1
+ done
+ return 0
+}
+
+run_rc_command "$1"
diff --git a/databases/mysql57-server/files/patch-CMakeLists.txt b/databases/mysql57-server/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..6fcde7d4b214
--- /dev/null
+++ b/databases/mysql57-server/files/patch-CMakeLists.txt
@@ -0,0 +1,41 @@
+--- CMakeLists.txt.orig 2014-07-18 15:48:39.000000000 +0000
++++ CMakeLists.txt 2014-08-04 14:18:38.795491147 +0000
+@@ -500,12 +500,10 @@
+ ENDIF()
+
+ IF(NOT WITHOUT_SERVER)
+- ADD_SUBDIRECTORY(tests)
+ ADD_SUBDIRECTORY(sql)
+ OPTION (WITH_EMBEDDED_SERVER "Compile MySQL with embedded server" OFF)
+ IF(WITH_EMBEDDED_SERVER)
+ ADD_SUBDIRECTORY(libmysqld)
+- ADD_SUBDIRECTORY(libmysqld/examples)
+ ENDIF(WITH_EMBEDDED_SERVER)
+ ENDIF()
+
+@@ -514,10 +512,7 @@
+ ADD_SUBDIRECTORY(scripts)
+
+ IF(NOT WITHOUT_SERVER)
+- ADD_SUBDIRECTORY(mysql-test)
+- ADD_SUBDIRECTORY(mysql-test/lib/My/SafeProcess)
+ ADD_SUBDIRECTORY(support-files)
+- ADD_SUBDIRECTORY(sql-bench)
+ IF(EXISTS ${CMAKE_SOURCE_DIR}/internal/CMakeLists.txt)
+ ADD_SUBDIRECTORY(internal)
+ ENDIF()
+@@ -572,6 +567,7 @@
+ #
+ # RPM installs documentation directly from the source tree
+ #
++IF(FALSE)
+ IF(NOT INSTALL_LAYOUT MATCHES "RPM")
+ INSTALL(FILES COPYING LICENSE.mysql
+ DESTINATION ${INSTALL_DOCREADMEDIR}
+@@ -597,5 +593,6 @@
+ PATTERN "sp-imp-spec.txt" EXCLUDE
+ )
+ ENDIF()
++ENDIF()
+
+ INCLUDE(CPack)
diff --git a/databases/mysql57-server/files/patch-client_CMakeLists.txt b/databases/mysql57-server/files/patch-client_CMakeLists.txt
new file mode 100644
index 000000000000..3acc651e0544
--- /dev/null
+++ b/databases/mysql57-server/files/patch-client_CMakeLists.txt
@@ -0,0 +1,65 @@
+--- client/CMakeLists.txt.orig 2013-05-21 17:18:39.000000000 +0200
++++ client/CMakeLists.txt 2013-06-10 15:43:33.000000000 +0200
+@@ -31,17 +31,20 @@
+ COPY_OPENSSL_DLLS(copy_openssl_client)
+
+ ADD_DEFINITIONS(${SSL_DEFINES})
++IF(FALSE)
+ MYSQL_ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc sql_string.cc)
+ TARGET_LINK_LIBRARIES(mysql mysqlclient)
+ IF(UNIX)
+ TARGET_LINK_LIBRARIES(mysql ${EDITLINE_LIBRARY})
+ ENDIF(UNIX)
++ENDIF()
+
+ MYSQL_ADD_EXECUTABLE(mysqltest mysqltest.cc COMPONENT Test)
+ SET_SOURCE_FILES_PROPERTIES(mysqltest.cc PROPERTIES COMPILE_FLAGS "-DTHREADS")
+ TARGET_LINK_LIBRARIES(mysqltest mysqlclient regex)
+
+
++IF(FALSE)
+ MYSQL_ADD_EXECUTABLE(mysqlcheck mysqlcheck.c)
+ TARGET_LINK_LIBRARIES(mysqlcheck mysqlclient)
+
+@@ -50,17 +53,21 @@
+
+ MYSQL_ADD_EXECUTABLE(mysqlimport mysqlimport.c)
+ TARGET_LINK_LIBRARIES(mysqlimport mysqlclient)
++ENDIF()
+
+ MYSQL_ADD_EXECUTABLE(mysql_upgrade mysql_upgrade.c)
+ TARGET_LINK_LIBRARIES(mysql_upgrade mysqlclient)
+ ADD_DEPENDENCIES(mysql_upgrade GenFixPrivs)
+
++IF(FALSE)
+ MYSQL_ADD_EXECUTABLE(mysqlshow mysqlshow.c)
+ TARGET_LINK_LIBRARIES(mysqlshow mysqlclient)
++ENDIF()
+
+ MYSQL_ADD_EXECUTABLE(mysql_plugin mysql_plugin.c)
+ TARGET_LINK_LIBRARIES(mysql_plugin mysqlclient)
+
++IF(FALSE)
+ MYSQL_ADD_EXECUTABLE(mysqlbinlog mysqlbinlog.cc)
+ TARGET_LINK_LIBRARIES(mysqlbinlog mysqlclient)
+
+@@ -73,6 +80,7 @@
+
+ MYSQL_ADD_EXECUTABLE(mysql_config_editor mysql_config_editor.cc)
+ TARGET_LINK_LIBRARIES(mysql_config_editor mysqlclient)
++ENDIF()
+
+ # "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/".
+ IF(WIN32)
+@@ -82,11 +90,6 @@
+ SET_TARGET_PROPERTIES (
+ mysql_plugin
+ mysql_upgrade
+- mysqlcheck
+- mysqldump
+- mysqlimport
+- mysqlshow
+- mysqlslap
+ PROPERTIES HAS_CXX TRUE)
+
+ ADD_DEFINITIONS(-DHAVE_DLOPEN)
diff --git a/databases/mysql57-server/files/patch-cmake_plugin.cmake b/databases/mysql57-server/files/patch-cmake_plugin.cmake
new file mode 100644
index 000000000000..c151ea35f4ee
--- /dev/null
+++ b/databases/mysql57-server/files/patch-cmake_plugin.cmake
@@ -0,0 +1,10 @@
+--- cmake/plugin.cmake.orig 2011-09-09 17:56:39.000000000 +0200
++++ cmake/plugin.cmake 2011-10-07 10:56:37.000000000 +0200
+@@ -195,7 +195,6 @@
+ OUTPUT_NAME "${ARG_MODULE_OUTPUT_NAME}")
+ # Install dynamic library
+ MYSQL_INSTALL_TARGETS(${target} DESTINATION ${INSTALL_PLUGINDIR} COMPONENT Server)
+- INSTALL_DEBUG_TARGET(${target} DESTINATION ${INSTALL_PLUGINDIR}/debug)
+ # Add installed files to list for RPMs
+ FILE(APPEND ${CMAKE_BINARY_DIR}/support-files/plugins.files
+ "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/${ARG_MODULE_OUTPUT_NAME}.so\n"
diff --git a/databases/mysql57-server/files/patch-cmd-line-utils_libedit_chartype.h b/databases/mysql57-server/files/patch-cmd-line-utils_libedit_chartype.h
new file mode 100644
index 000000000000..6aaba5c733f7
--- /dev/null
+++ b/databases/mysql57-server/files/patch-cmd-line-utils_libedit_chartype.h
@@ -0,0 +1,11 @@
+--- cmd-line-utils/libedit/chartype.h.orig 2015-11-29 19:16:24 UTC
++++ cmd-line-utils/libedit/chartype.h
+@@ -49,7 +49,7 @@
+ TODO : Verify if FreeBSD & AIX stores ISO 10646 in wchar_t. */
+ #if !defined(__NetBSD__) && !defined(__sun) \
+ && !(defined(__APPLE__) && defined(__MACH__)) \
+- && !defined(__FreeBSD__) && !defined(_AIX)
++ && !defined(__FreeBSD__) && !defined(_AIX) && !defined(__DragonFly__)
+ #ifndef __STDC_ISO_10646__
+ /* In many places it is assumed that the first 127 code points are ASCII
+ * compatible, so ensure wchar_t indeed does ISO 10646 and not some other
diff --git a/databases/mysql57-server/files/patch-cmd-line-utils_libedit_vi.c b/databases/mysql57-server/files/patch-cmd-line-utils_libedit_vi.c
new file mode 100644
index 000000000000..0847a07c84d4
--- /dev/null
+++ b/databases/mysql57-server/files/patch-cmd-line-utils_libedit_vi.c
@@ -0,0 +1,20 @@
+--- cmd-line-utils/libedit/vi.c.orig 2015-11-29 19:16:24 UTC
++++ cmd-line-utils/libedit/vi.c
+@@ -919,7 +919,7 @@ vi_comment_out(EditLine *el, Int c __att
+ * NB: posix implies that we should enter insert mode, however
+ * this is against historical precedent...
+ */
+-#if defined(__weak_reference) && !defined(__FreeBSD__)
++#if defined(__weak_reference) && !defined(__FreeBSD__) && !defined(__DragonFly__)
+ __weakref_visible char *my_get_alias_text(const char *)
+ __weak_reference(get_alias_text);
+ #endif
+@@ -928,7 +928,7 @@ protected el_action_t
+ vi_alias(EditLine *el __attribute__((__unused__)),
+ Int c __attribute__((__unused__)))
+ {
+-#if defined(__weak_reference) && !defined(__FreeBSD__)
++#if defined(__weak_reference) && !defined(__FreeBSD__) && !defined(__DragonFly__)
+ char alias_name[3];
+ char *alias_text;
+
diff --git a/databases/mysql57-server/files/patch-include_CMakeLists.txt b/databases/mysql57-server/files/patch-include_CMakeLists.txt
new file mode 100644
index 000000000000..5d5e96a0f1d7
--- /dev/null
+++ b/databases/mysql57-server/files/patch-include_CMakeLists.txt
@@ -0,0 +1,15 @@
+--- include/CMakeLists.txt.orig 2013-01-22 17:54:49.000000000 +0100
++++ include/CMakeLists.txt 2013-02-13 14:53:40.000000000 +0100
+@@ -65,10 +65,12 @@
+ ${HEADERS_GEN_CONFIGURE}
+ )
+
++IF(FALSE)
+ INSTALL(FILES ${HEADERS} DESTINATION ${INSTALL_INCLUDEDIR} COMPONENT Development)
+ INSTALL(DIRECTORY mysql/ DESTINATION ${INSTALL_INCLUDEDIR}/mysql COMPONENT Development
+ PATTERN "*.h"
+ PATTERN "psi_abi*" EXCLUDE
+ )
++ENDIF()
+
+
diff --git a/databases/mysql57-server/files/patch-include_my__compare.h b/databases/mysql57-server/files/patch-include_my__compare.h
new file mode 100644
index 000000000000..cd176ca50b43
--- /dev/null
+++ b/databases/mysql57-server/files/patch-include_my__compare.h
@@ -0,0 +1,11 @@
+--- include/my_compare.h.orig 2015-11-29 19:16:24 UTC
++++ include/my_compare.h
+@@ -40,7 +40,7 @@ extern "C" {
+ But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and HA_MAX_KEY_LENGTH.
+ */
+
+-#define HA_MAX_KEY_LENGTH 1000 /* Max length in bytes */
++#define HA_MAX_KEY_LENGTH 4000 /* Max length in bytes */
+ #define HA_MAX_KEY_SEG 16 /* Max segments for key */
+
+ #define HA_MAX_POSSIBLE_KEY_BUFF (HA_MAX_KEY_LENGTH + 24+ 6+6)
diff --git a/databases/mysql57-server/files/patch-include_my__thread__os__id.h b/databases/mysql57-server/files/patch-include_my__thread__os__id.h
new file mode 100644
index 000000000000..382c3ee920f5
--- /dev/null
+++ b/databases/mysql57-server/files/patch-include_my__thread__os__id.h
@@ -0,0 +1,15 @@
+--- include/my_thread_os_id.h.orig 2015-11-29 19:16:24 UTC
++++ include/my_thread_os_id.h
+@@ -75,8 +75,12 @@ static inline my_thread_os_id_t my_threa
+ return pthread_getthreadid_np();
+ #else
+ #ifdef HAVE_INTEGER_PTHREAD_SELF
++# ifdef __DragonFly__
++ return syscall(SYS_lwp_gettid);
++# else
+ /* Unknown platform, fallback. */
+ return pthread_self();
++# endif
+ #else
+ /* Feature not available. */
+ return 0;
diff --git a/databases/mysql57-server/files/patch-include_myisam.h b/databases/mysql57-server/files/patch-include_myisam.h
new file mode 100644
index 000000000000..450645400dd5
--- /dev/null
+++ b/databases/mysql57-server/files/patch-include_myisam.h
@@ -0,0 +1,11 @@
+--- include/myisam.h.orig 2009-02-16 23:04:54.000000000 +0100
++++ include/myisam.h 2009-02-16 23:10:08.000000000 +0100
+@@ -48,7 +48,7 @@
+ The following defines can be increased if necessary.
+ But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and MI_MAX_KEY_LENGTH.
+ */
+-#define MI_MAX_KEY_LENGTH 1000 /* Max length in bytes */
++#define MI_MAX_KEY_LENGTH 4000 /* Max length in bytes */
+ #define MI_MAX_KEY_SEG 16 /* Max segments for key */
+
+ #define MI_MAX_KEY_BUFF (MI_MAX_KEY_LENGTH+MI_MAX_KEY_SEG*6+8+8)
diff --git a/databases/mysql57-server/files/patch-libmysql_CMakeLists.txt b/databases/mysql57-server/files/patch-libmysql_CMakeLists.txt
new file mode 100644
index 000000000000..1f9b8282e5d3
--- /dev/null
+++ b/databases/mysql57-server/files/patch-libmysql_CMakeLists.txt
@@ -0,0 +1,41 @@
+--- libmysql/CMakeLists.txt.orig 2013-07-10 18:17:29.000000000 +0200
++++ libmysql/CMakeLists.txt 2013-08-12 08:59:49.000000000 +0200
+@@ -173,7 +173,7 @@
+ ENDIF()
+
+ # Merge several convenience libraries into one big mysqlclient
+-MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development)
++MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development NOINSTALL)
+
+ # Visual Studio users need debug static library for debug projects
+ IF(MSVC)
+@@ -200,19 +200,22 @@
+ ENDMACRO()
+ ENDIF()
+
++IF(FALSE)
+ IF(UNIX)
+ GET_TARGET_NAME(mysqlclient lib_name)
+ INSTALL_SYMLINK(mysqlclient
+ ${lib_name} ${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a
+ ${INSTALL_LIBDIR} Development)
+ ENDIF()
++ENDIF()
+
+ IF(NOT DISABLE_SHARED)
+ # Merge several convenience libraries into one big mysqlclient
+ # and link them together into shared library.
+ MERGE_LIBRARIES(libmysql SHARED ${LIBS}
+ EXPORTS ${CLIENT_API_FUNCTIONS}
+- COMPONENT SharedLibraries)
++ COMPONENT SharedLibraries NOINSTALL)
++ IF(FALSE)
+ IF(UNIX)
+ # libtool compatability
+ IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
+@@ -271,4 +274,5 @@
+ ${INSTALL_LIBDIR} SharedLibraries)
+ ENDFOREACH()
+ ENDIF()
++ ENDIF()
+ ENDIF()
diff --git a/databases/mysql57-server/files/patch-libservices_CMakeLists.txt b/databases/mysql57-server/files/patch-libservices_CMakeLists.txt
new file mode 100644
index 000000000000..fcbcea7aed21
--- /dev/null
+++ b/databases/mysql57-server/files/patch-libservices_CMakeLists.txt
@@ -0,0 +1,9 @@
+--- libservices/CMakeLists.txt.orig 2010-12-23 17:13:03.000000000 +0100
++++ libservices/CMakeLists.txt 2010-12-23 17:13:17.000000000 +0100
+@@ -22,4 +22,6 @@
+ my_thread_scheduler_service.c)
+
+ ADD_LIBRARY(mysqlservices ${MYSQLSERVICES_SOURCES})
++IF(FALSE)
+ INSTALL(TARGETS mysqlservices DESTINATION ${INSTALL_LIBDIR} COMPONENT Development)
++ENDIF()
diff --git a/databases/mysql57-server/files/patch-man_CMakeLists.txt b/databases/mysql57-server/files/patch-man_CMakeLists.txt
new file mode 100644
index 000000000000..7849c77af111
--- /dev/null
+++ b/databases/mysql57-server/files/patch-man_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- man/CMakeLists.txt.orig 2011-10-22 14:36:06.000000000 +0200
++++ man/CMakeLists.txt 2011-10-22 14:36:23.000000000 +0200
+@@ -15,8 +15,6 @@
+
+ # Copy man pages
+ FILE(GLOB MAN1_FILES *.1)
+-FILE(GLOB MAN1_EXCLUDE make_win_bin_dist.1)
+-FILE(GLOB MAN1_NDB ndb*.1)
+ FILE(GLOB MAN8_FILES *.8)
+ FILE(GLOB MAN8_NDB ndb*.8)
+ IF(MAN1_FILES)
diff --git a/databases/mysql57-server/files/patch-mysys__ssl_my__default.cc b/databases/mysql57-server/files/patch-mysys__ssl_my__default.cc
new file mode 100644
index 000000000000..cb52de18bebe
--- /dev/null
+++ b/databases/mysql57-server/files/patch-mysys__ssl_my__default.cc
@@ -0,0 +1,31 @@
+--- mysys_ssl/my_default.cc.orig 2015-11-29 19:16:24 UTC
++++ mysys_ssl/my_default.cc
+@@ -122,7 +122,7 @@ static my_bool is_login_file= FALSE;
+
+ /* Which directories are searched for options (and in which order) */
+
+-#define MAX_DEFAULT_DIRS 6
++#define MAX_DEFAULT_DIRS 7
+ #define DEFAULT_DIRS_SIZE (MAX_DEFAULT_DIRS + 1) /* Terminate with NULL */
+ static const char **default_directories = NULL;
+
+@@ -1409,7 +1409,10 @@ static const char **init_default_directo
+
+ #if defined(DEFAULT_SYSCONFDIR)
+ if (DEFAULT_SYSCONFDIR[0])
++ {
+ errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
++ errors += add_directory(alloc, DEFAULT_SYSCONFDIR "/mysql", dirs);
++ }
+ #endif /* DEFAULT_SYSCONFDIR */
+
+ #endif
+@@ -1480,7 +1483,7 @@ int check_file_permissions(const char *f
+ MY_STAT stat_info;
+
+ if (!my_stat(file_name,&stat_info,MYF(0)))
+- return 1;
++ return 0;
+ /*
+ Ignore .mylogin.cnf file if not exclusively readable/writable
+ by current user.
diff --git a/databases/mysql57-server/files/patch-plugin_password__validation_validate__password.cc b/databases/mysql57-server/files/patch-plugin_password__validation_validate__password.cc
new file mode 100644
index 000000000000..19877960c9b3
--- /dev/null
+++ b/databases/mysql57-server/files/patch-plugin_password__validation_validate__password.cc
@@ -0,0 +1,11 @@
+--- plugin/password_validation/validate_password.cc.orig 2015-11-29 19:16:24 UTC
++++ plugin/password_validation/validate_password.cc
+@@ -18,6 +18,8 @@
+ #include <mysql/plugin_validate_password.h>
+ #include <mysql/service_my_plugin_log.h>
+ #include <mysql/service_mysql_string.h>
++/* solve clash between libc++ bitset::test() and test macro from my_global.h */
++#undef test
+ #include <set>
+ #include <iostream>
+ #include <fstream>
diff --git a/databases/mysql57-server/files/patch-scripts_CMakeLists.txt b/databases/mysql57-server/files/patch-scripts_CMakeLists.txt
new file mode 100644
index 000000000000..ef7b3a1b506b
--- /dev/null
+++ b/databases/mysql57-server/files/patch-scripts_CMakeLists.txt
@@ -0,0 +1,36 @@
+--- scripts/CMakeLists.txt.orig 2013-01-22 17:54:49.000000000 +0100
++++ scripts/CMakeLists.txt 2013-02-13 14:39:57.000000000 +0100
+@@ -264,6 +264,8 @@
+ GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE)
+ STRING(REGEX REPLACE "^lib" "" lib "${lib}")
+ SET(${var} "${${var}}-l${lib} " )
++ ELSEIF(lib STREQUAL "-pthread")
++ SET(${var} "${${var}}-pthread " )
+ ELSE()
+ SET(${var} "${${var}}-l${lib} " )
+ ENDIF()
+@@ -314,15 +316,10 @@
+ # On Unix, most of the files end up in the bin directory
+ SET(mysql_config_COMPONENT COMPONENT Development)
+ SET(BIN_SCRIPTS
+- msql2mysql
+- mysql_config
+ mysql_fix_extensions
+ mysql_setpermission
+ mysql_zap
+- mysqlaccess
+- mysqlaccess.conf
+ mysql_convert_table_format
+- mysql_find_rows
+ mysqlhotcopy
+ mysqldumpslow
+ mysqld_multi
+@@ -331,7 +328,7 @@
+ FOREACH(file ${BIN_SCRIPTS})
+ IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh)
+ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh
+- ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY)
++ ${CMAKE_CURRENT_BINARY_DIR}/${file} @ONLY)
+ ELSEIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file})
+ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}
+ ${CMAKE_CURRENT_BINARY_DIR}/${file} COPYONLY)
diff --git a/databases/mysql57-server/files/patch-sql_CMakeLists.txt b/databases/mysql57-server/files/patch-sql_CMakeLists.txt
new file mode 100644
index 000000000000..2eeb4edfd51c
--- /dev/null
+++ b/databases/mysql57-server/files/patch-sql_CMakeLists.txt
@@ -0,0 +1,18 @@
+--- sql/CMakeLists.txt.orig 2013-04-05 14:27:18.000000000 +0200
++++ sql/CMakeLists.txt 2013-04-19 15:08:12.000000000 +0200
+@@ -423,6 +423,7 @@
+
+ IF(INSTALL_LAYOUT STREQUAL "STANDALONE")
+
++IF(FALSE)
+ # Copy db.opt into data/test/
+ SET(DBOPT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/db.opt )
+ INSTALL(FILES ${DBOPT_FILE} DESTINATION data/test COMPONENT DataFiles)
+@@ -467,6 +468,7 @@
+ INSTALL(FILES ${DUMMY_FILE} DESTINATION data/mysql COMPONENT DataFiles)
+ ENDIF()
+ ENDIF()
++ENDIF()
+
+ ADD_CUSTOM_TARGET(show-dist-name
+ COMMAND ${CMAKE_COMMAND} -E echo "${CPACK_PACKAGE_FILE_NAME}"
diff --git a/databases/mysql57-server/files/patch-sql_conn__handler_socket__connection.cc b/databases/mysql57-server/files/patch-sql_conn__handler_socket__connection.cc
new file mode 100644
index 000000000000..cf20d3706637
--- /dev/null
+++ b/databases/mysql57-server/files/patch-sql_conn__handler_socket__connection.cc
@@ -0,0 +1,30 @@
+--- sql/conn_handler/socket_connection.cc.orig 2015-11-29 19:16:24 UTC
++++ sql/conn_handler/socket_connection.cc
+@@ -939,20 +939,23 @@ Channel_info* Mysqld_socket_listener::li
+ signal(SIGCHLD, SIG_DFL);
+ request_init(&req, RQ_DAEMON, m_libwrap_name, RQ_FILE,
+ mysql_socket_getfd(connect_sock), NULL);
+- fromhost(&req);
++ void (*my_fromhost) (void *) = (void (*)(void *)) fromhost;
++ my_fromhost(&req);
+
+- if (!hosts_access(&req))
++ int (*my_hosts_access) (void *) = (int (*) (void *)) hosts_access;
++ if (!my_hosts_access(&req))
+ {
+ /*
+ This may be stupid but refuse() includes an exit(0)
+ which we surely don't want...
+ clean_exit() - same stupid thing ...
+ */
++ char *(*my_eval_client) (void *) = (char *(*) (void *)) eval_client;
+ syslog(LOG_AUTH | m_deny_severity,
+- "refused connect from %s", eval_client(&req));
++ "refused connect from %s", my_eval_client(&req));
+
+ if (req.sink)
+- (req.sink)(req.fd);
++ ((void (*)(int)) (req.sink))(req.fd);
+
+ mysql_socket_shutdown(listen_sock, SHUT_RDWR);
+ mysql_socket_close(listen_sock);
diff --git a/databases/mysql57-server/files/patch-sql_sql__view.cc b/databases/mysql57-server/files/patch-sql_sql__view.cc
new file mode 100644
index 000000000000..94906b28457c
--- /dev/null
+++ b/databases/mysql57-server/files/patch-sql_sql__view.cc
@@ -0,0 +1,63 @@
+--- sql/sql_view.cc.orig 2015-11-29 19:16:24 UTC
++++ sql/sql_view.cc
+@@ -768,46 +768,46 @@ static const int required_view_parameter
+ */
+ static File_option view_parameters[]=
+ {{{ C_STRING_WITH_LEN("query")},
+- my_offsetof(TABLE_LIST, select_stmt),
++ static_cast<int>(my_offsetof(TABLE_LIST, select_stmt)),
+ FILE_OPTIONS_ESTRING},
+ {{ C_STRING_WITH_LEN("md5")},
+- my_offsetof(TABLE_LIST, md5),
++ static_cast<int>(my_offsetof(TABLE_LIST, md5)),
+ FILE_OPTIONS_STRING},
+ {{ C_STRING_WITH_LEN("updatable")},
+- my_offsetof(TABLE_LIST, updatable_view),
++ static_cast<int>(my_offsetof(TABLE_LIST, updatable_view)),
+ FILE_OPTIONS_ULONGLONG},
+ {{ C_STRING_WITH_LEN("algorithm")},
+- my_offsetof(TABLE_LIST, algorithm),
++ static_cast<int>(my_offsetof(TABLE_LIST, algorithm)),
+ FILE_OPTIONS_ULONGLONG},
+ {{ C_STRING_WITH_LEN("definer_user")},
+- my_offsetof(TABLE_LIST, definer.user),
++ static_cast<int>(my_offsetof(TABLE_LIST, definer.user)),
+ FILE_OPTIONS_STRING},
+ {{ C_STRING_WITH_LEN("definer_host")},
+- my_offsetof(TABLE_LIST, definer.host),
++ static_cast<int>(my_offsetof(TABLE_LIST, definer.host)),
+ FILE_OPTIONS_STRING},
+ {{ C_STRING_WITH_LEN("suid")},
+- my_offsetof(TABLE_LIST, view_suid),
++ static_cast<int>(my_offsetof(TABLE_LIST, view_suid)),
+ FILE_OPTIONS_ULONGLONG},
+ {{ C_STRING_WITH_LEN("with_check_option")},
+- my_offsetof(TABLE_LIST, with_check),
++ static_cast<int>(my_offsetof(TABLE_LIST, with_check)),
+ FILE_OPTIONS_ULONGLONG},
+ {{ C_STRING_WITH_LEN("timestamp")},
+- my_offsetof(TABLE_LIST, timestamp),
++ static_cast<int>(my_offsetof(TABLE_LIST, timestamp)),
+ FILE_OPTIONS_TIMESTAMP},
+ {{ C_STRING_WITH_LEN("create-version")},
+- my_offsetof(TABLE_LIST, file_version),
++ static_cast<int>(my_offsetof(TABLE_LIST, file_version)),
+ FILE_OPTIONS_ULONGLONG},
+ {{ C_STRING_WITH_LEN("source")},
+- my_offsetof(TABLE_LIST, source),
++ static_cast<int>(my_offsetof(TABLE_LIST, source)),
+ FILE_OPTIONS_ESTRING},
+ {{(char*) STRING_WITH_LEN("client_cs_name")},
+- my_offsetof(TABLE_LIST, view_client_cs_name),
++ static_cast<int>(my_offsetof(TABLE_LIST, view_client_cs_name)),
+ FILE_OPTIONS_STRING},
+ {{(char*) STRING_WITH_LEN("connection_cl_name")},
+- my_offsetof(TABLE_LIST, view_connection_cl_name),
++ static_cast<int>(my_offsetof(TABLE_LIST, view_connection_cl_name)),
+ FILE_OPTIONS_STRING},
+ {{(char*) STRING_WITH_LEN("view_body_utf8")},
+- my_offsetof(TABLE_LIST, view_body_utf8),
++ static_cast<int>(my_offsetof(TABLE_LIST, view_body_utf8)),
+ FILE_OPTIONS_ESTRING},
+ {{NullS, 0}, 0,
+ FILE_OPTIONS_STRING}
diff --git a/databases/mysql57-server/files/patch-sql_sys__vars.cc b/databases/mysql57-server/files/patch-sql_sys__vars.cc
new file mode 100644
index 000000000000..7b731cbe5c5e
--- /dev/null
+++ b/databases/mysql57-server/files/patch-sql_sys__vars.cc
@@ -0,0 +1,38 @@
+--- sql/sys_vars.cc.orig 2015-11-29 19:16:24 UTC
++++ sql/sys_vars.cc
+@@ -1734,7 +1734,7 @@ static Sys_var_ulong Sys_interactive_tim
+ "connection before closing it",
+ SESSION_VAR(net_interactive_timeout),
+ CMD_LINE(REQUIRED_ARG),
+- VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1));
++ VALID_RANGE(1, INT_MAX32/1000), DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1));
+
+ static Sys_var_ulong Sys_join_buffer_size(
+ "join_buffer_size",
+@@ -2562,7 +2562,7 @@ static Sys_var_ulong Sys_net_read_timeou
+ "Number of seconds to wait for more data from a connection before "
+ "aborting the read",
+ SESSION_VAR(net_read_timeout), CMD_LINE(REQUIRED_ARG),
+- VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1),
++ VALID_RANGE(1, INT_MAX32/1000), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1),
+ NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(0),
+ ON_UPDATE(fix_net_read_timeout));
+
+@@ -2578,7 +2578,7 @@ static Sys_var_ulong Sys_net_write_timeo
+ "Number of seconds to wait for a block to be written to a connection "
+ "before aborting the write",
+ SESSION_VAR(net_write_timeout), CMD_LINE(REQUIRED_ARG),
+- VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1),
++ VALID_RANGE(1, INT_MAX32/1000), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1),
+ NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(0),
+ ON_UPDATE(fix_net_write_timeout));
+
+@@ -4031,7 +4031,7 @@ static Sys_var_ulong Sys_net_wait_timeou
+ "The number of seconds the server waits for activity on a "
+ "connection before closing it",
+ SESSION_VAR(net_wait_timeout), CMD_LINE(REQUIRED_ARG),
+- VALID_RANGE(1, IF_WIN(INT_MAX32/1000, LONG_TIMEOUT)),
++ VALID_RANGE(1, INT_MAX32/1000),
+ DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1));
+
+ static Sys_var_plugin Sys_default_storage_engine(
diff --git a/databases/mysql57-server/files/patch-storage_innobase_include_srv0mon.h b/databases/mysql57-server/files/patch-storage_innobase_include_srv0mon.h
new file mode 100644
index 000000000000..598981a5e0ab
--- /dev/null
+++ b/databases/mysql57-server/files/patch-storage_innobase_include_srv0mon.h
@@ -0,0 +1,13 @@
+--- storage/innobase/include/srv0mon.h.orig 2015-11-29 19:16:24 UTC
++++ storage/innobase/include/srv0mon.h
+@@ -34,6 +34,10 @@ Created 12/15/2009 Jimmy Yang
+ /* Required for FreeBSD so that INT64_MAX is defined. */
+ #define __STDC_LIMIT_MACROS
+ #endif /* __STDC_LIMIT_MACROS */
++#ifdef __DragonFly__
++/* The hack above doen't work for dragonfly, stdint.h already imported */
++#include <machine/int_limits.h>
++#endif
+
+ #include <stdint.h>
+
diff --git a/databases/mysql57-server/files/patch-storage_myisam_mi__dynrec.c b/databases/mysql57-server/files/patch-storage_myisam_mi__dynrec.c
new file mode 100644
index 000000000000..57398630640b
--- /dev/null
+++ b/databases/mysql57-server/files/patch-storage_myisam_mi__dynrec.c
@@ -0,0 +1,23 @@
+--- storage/myisam/mi_dynrec.c.orig 2015-11-29 19:16:24 UTC
++++ storage/myisam/mi_dynrec.c
+@@ -65,18 +65,13 @@ my_bool mi_dynmap_file(MI_INFO *info, my
+ DBUG_RETURN(1);
+ }
+ /*
+- I wonder if it is good to use MAP_NORESERVE. From the Linux man page:
+- MAP_NORESERVE
+- Do not reserve swap space for this mapping. When swap space is
+- reserved, one has the guarantee that it is possible to modify the
+- mapping. When swap space is not reserved one might get SIGSEGV
+- upon a write if no physical memory is available.
++ MAP_NORESERVE is unimplemented in FreeBSD
+ */
+ info->s->file_map= (uchar*)
+ my_mmap(0, (size_t) size,
+ info->s->mode==O_RDONLY ? PROT_READ :
+ PROT_READ | PROT_WRITE,
+- MAP_SHARED | MAP_NORESERVE,
++ MAP_SHARED,
+ info->dfile, 0L);
+ if (info->s->file_map == (uchar*) MAP_FAILED)
+ {
diff --git a/databases/mysql57-server/files/patch-support-files_CMakeLists.txt b/databases/mysql57-server/files/patch-support-files_CMakeLists.txt
new file mode 100644
index 000000000000..159e1fa71ba2
--- /dev/null
+++ b/databases/mysql57-server/files/patch-support-files_CMakeLists.txt
@@ -0,0 +1,12 @@
+--- support-files/CMakeLists.txt.orig 2010-12-23 17:38:19.000000000 +0100
++++ support-files/CMakeLists.txt 2010-12-23 17:41:11.000000000 +0100
+@@ -74,7 +74,9 @@
+ INSTALL(FILES magic DESTINATION ${inst_location} COMPONENT SupportFiles)
+ ENDIF()
+
++IF(FALSE)
+ INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development)
++ENDIF()
+ CONFIGURE_FILE(MySQL-shared-compat.spec.sh ${CMAKE_CURRENT_BINARY_DIR}/MySQL-shared-compat.spec @ONLY)
+ CONFIGURE_FILE(mysql.spec.sh ${CMAKE_CURRENT_BINARY_DIR}/mysql.spec @ONLY)
+ CONFIGURE_FILE(mysql.spec.sh ${CMAKE_CURRENT_BINARY_DIR}/mysql.${VERSION}.spec @ONLY)
diff --git a/databases/mysql57-server/pkg-descr b/databases/mysql57-server/pkg-descr
new file mode 100644
index 000000000000..8f4acf36e853
--- /dev/null
+++ b/databases/mysql57-server/pkg-descr
@@ -0,0 +1,4 @@
+MySQL is a very fast, multi-threaded, multi-user and robust SQL
+(Structured Query Language) database server.
+
+WWW: http://www.mysql.com/
diff --git a/databases/mysql57-server/pkg-message b/databases/mysql57-server/pkg-message
new file mode 100644
index 000000000000..71d00aa80526
--- /dev/null
+++ b/databases/mysql57-server/pkg-message
@@ -0,0 +1,6 @@
+************************************************************************
+
+Remember to run mysql_upgrade the first time you start the MySQL server
+after an upgrade from an earlier version.
+
+************************************************************************
diff --git a/databases/mysql57-server/pkg-plist b/databases/mysql57-server/pkg-plist
new file mode 100644
index 000000000000..c013a15e16fe
--- /dev/null
+++ b/databases/mysql57-server/pkg-plist
@@ -0,0 +1,131 @@
+bin/innochecksum
+bin/my_print_defaults
+bin/myisam_ftdump
+bin/myisamchk
+bin/myisamlog
+bin/myisampack
+bin/mysql_convert_table_format
+bin/mysql_fix_extensions
+bin/mysql_install_db
+bin/mysql_plugin
+bin/mysql_secure_installation
+bin/mysql_setpermission
+bin/mysql_tzinfo_to_sql
+bin/mysql_upgrade
+bin/mysql_zap
+bin/mysqlbug
+bin/mysqld_multi
+bin/mysqld_safe
+bin/mysqldumpslow
+bin/mysqlhotcopy
+bin/mysqltest
+bin/perror
+bin/replace
+bin/resolve_stack_dump
+bin/resolveip
+lib/mysql/libmysqld.a
+lib/mysql/plugin/adt_null.so
+lib/mysql/plugin/auth.so
+lib/mysql/plugin/auth_test_plugin.so
+lib/mysql/plugin/daemon_example.ini
+lib/mysql/plugin/libdaemon_example.so
+lib/mysql/plugin/mypluglib.so
+lib/mysql/plugin/mysql_no_login.so
+lib/mysql/plugin/qa_auth_client.so
+lib/mysql/plugin/qa_auth_interface.so
+lib/mysql/plugin/qa_auth_server.so
+lib/mysql/plugin/semisync_master.so
+lib/mysql/plugin/semisync_slave.so
+lib/mysql/plugin/validate_password.so
+libexec/mysqld
+man/man1/my_print_defaults.1.gz
+man/man1/myisam_ftdump.1.gz
+man/man1/myisamchk.1.gz
+man/man1/myisamlog.1.gz
+man/man1/myisampack.1.gz
+man/man1/mysql.server.1.gz
+man/man1/mysql_convert_table_format.1.gz
+man/man1/mysql_fix_extensions.1.gz
+man/man1/mysql_install_db.1.gz
+man/man1/mysql_plugin.1.gz
+man/man1/mysql_secure_installation.1.gz
+man/man1/mysql_setpermission.1.gz
+man/man1/mysql_tzinfo_to_sql.1.gz
+man/man1/mysql_upgrade.1.gz
+man/man1/mysql_zap.1.gz
+man/man1/mysqlbug.1.gz
+man/man1/mysqld_multi.1.gz
+man/man1/mysqld_safe.1.gz
+man/man1/mysqldumpslow.1.gz
+man/man1/mysqlhotcopy.1.gz
+man/man1/mysqlman.1.gz
+man/man1/mysqltest.1.gz
+man/man1/perror.1.gz
+man/man1/replace.1.gz
+man/man1/resolve_stack_dump.1.gz
+man/man1/resolveip.1.gz
+man/man8/mysqld.8.gz
+%%DATADIR%%/binary-configure
+%%DATADIR%%/bulgarian/errmsg.sys
+%%DATADIR%%/charsets/Index.xml
+%%DATADIR%%/charsets/README
+%%DATADIR%%/charsets/armscii8.xml
+%%DATADIR%%/charsets/ascii.xml
+%%DATADIR%%/charsets/cp1250.xml
+%%DATADIR%%/charsets/cp1251.xml
+%%DATADIR%%/charsets/cp1256.xml
+%%DATADIR%%/charsets/cp1257.xml
+%%DATADIR%%/charsets/cp850.xml
+%%DATADIR%%/charsets/cp852.xml
+%%DATADIR%%/charsets/cp866.xml
+%%DATADIR%%/charsets/dec8.xml
+%%DATADIR%%/charsets/geostd8.xml
+%%DATADIR%%/charsets/greek.xml
+%%DATADIR%%/charsets/hebrew.xml
+%%DATADIR%%/charsets/hp8.xml
+%%DATADIR%%/charsets/keybcs2.xml
+%%DATADIR%%/charsets/koi8r.xml
+%%DATADIR%%/charsets/koi8u.xml
+%%DATADIR%%/charsets/latin1.xml
+%%DATADIR%%/charsets/latin2.xml
+%%DATADIR%%/charsets/latin5.xml
+%%DATADIR%%/charsets/latin7.xml
+%%DATADIR%%/charsets/macce.xml
+%%DATADIR%%/charsets/macroman.xml
+%%DATADIR%%/charsets/swe7.xml
+%%DATADIR%%/czech/errmsg.sys
+%%DATADIR%%/danish/errmsg.sys
+%%DATADIR%%/dictionary.txt
+%%DATADIR%%/dutch/errmsg.sys
+%%DATADIR%%/english/errmsg.sys
+%%DATADIR%%/errmsg-utf8.txt
+%%DATADIR%%/estonian/errmsg.sys
+%%DATADIR%%/fill_help_tables.sql
+%%DATADIR%%/french/errmsg.sys
+%%DATADIR%%/german/errmsg.sys
+%%DATADIR%%/greek/errmsg.sys
+%%DATADIR%%/hungarian/errmsg.sys
+%%DATADIR%%/innodb_memcached_config.sql
+%%DATADIR%%/italian/errmsg.sys
+%%DATADIR%%/japanese/errmsg.sys
+%%DATADIR%%/korean/errmsg.sys
+%%DATADIR%%/magic
+%%DATADIR%%/my-default.cnf
+%%DATADIR%%/mysql-log-rotate
+%%DATADIR%%/mysql.server
+%%DATADIR%%/mysql_security_commands.sql
+%%DATADIR%%/mysql_system_tables.sql
+%%DATADIR%%/mysql_system_tables_data.sql
+%%DATADIR%%/mysql_test_data_timezone.sql
+%%DATADIR%%/mysqld_multi.server
+%%DATADIR%%/norwegian-ny/errmsg.sys
+%%DATADIR%%/norwegian/errmsg.sys
+%%DATADIR%%/polish/errmsg.sys
+%%DATADIR%%/portuguese/errmsg.sys
+%%DATADIR%%/romanian/errmsg.sys
+%%DATADIR%%/russian/errmsg.sys
+%%DATADIR%%/serbian/errmsg.sys
+%%DATADIR%%/slovak/errmsg.sys
+%%DATADIR%%/spanish/errmsg.sys
+%%DATADIR%%/swedish/errmsg.sys
+%%DATADIR%%/ukrainian/errmsg.sys