eeaa36ca37
Changes in MySQL 5.7.22: Deprecation and Removal Notes These compatibility SQL modes are now deprecated and will be removed in MySQL 8.0: DB2, MAXDB, MSSQL, MYSQL323, MYSQL40, ORACLE, POSTGRESQL, NO_FIELD_OPTIONS, NO_KEY_OPTIONS, NO_TABLE_OPTIONS. These deprecations have two implications: Assigning a deprecated mode to the sql_mode system variable produces a warning. With the MAXDB SQL mode enabled, using CREATE TABLE or ALTER TABLE to add a TIMESTAMP column to a table produces a warning. Statements that use these deprecated SQL modes may fail when replicated from a MySQL 5.7 master to a MySQL 8.0 slave, or may have different effects on master and slave. To avoid such problems, applications that use the modes deprecated in MySQL 5.7 should be revised not to use them. Test Suite Notes Reduction of compiler and platform differences in GIS handling of floating-point results enables simplification of related test cases that no longer need rounding to avoid spurious test failures. X Plugin Notes X Plugin connection attempts using the X Protocol did not return an error when the default database specified in the connection options was invalid, and the connection was allowed with a null default database. Connection attempts using the classic MySQL protocol did return an error and disallowed the connection. X Protocol connection attempts now also disallow the connection if an invalid schema is specified. Functionality Added or Changed Replication: Changes introduced in version 8 which enable XCom to identify members using the concept of an incarnation have been merged in to version 5.7. These underlying changes add a UUID to members each time they join a group and this information can be used to distinguish among different member incarnations. Replication: It is now possible to specify whether information written into the binary log enables replication slaves to parallelize based on commit timestamps, or on transaction write sets. JSON: The JSON_MERGE() function is renamed to JSON_MERGE_PRESERVE(). JSON: Added the JSON utility function JSON_PRETTY(), which prints an existing JSON value, or any string that can successfully be parsed as a JSON document, in a format that can be easily read by humans. Each JSON object member or array value is displayed on a separate line of the output; each child object or array is intended 2 spaces with respect to its parent. Bugs Fixed
133 lines
4.1 KiB
Text
133 lines
4.1 KiB
Text
# $NetBSD: Makefile.common,v 1.11 2018/04/29 21:44:12 adam Exp $
|
|
#
|
|
# used by databases/mysql57-client/Makefile
|
|
# used by databases/mysql57-server/Makefile
|
|
|
|
DISTNAME= mysql-5.7.22
|
|
CATEGORIES= databases
|
|
MASTER_SITES= ${MASTER_SITE_MYSQL:=MySQL-5.7/}
|
|
|
|
MAINTAINER?= pkgsrc-users@NetBSD.org
|
|
HOMEPAGE= https://www.mysql.com/
|
|
LICENSE= gnu-gpl-v2
|
|
|
|
DISTINFO_FILE?= ${.CURDIR}/../../databases/mysql57-client/distinfo
|
|
PATCHDIR?= ${.CURDIR}/../../databases/mysql57-client/patches
|
|
|
|
USE_CMAKE= yes
|
|
USE_LANGUAGES= c c++
|
|
USE_TOOLS+= bash bison gmake perl:run
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
.include "options.mk"
|
|
|
|
# MYSQL_USER username of the database administrator
|
|
# MYSQL_GROUP group of the database administrator
|
|
# MYSQL_DATADIR home directory (location of the databases)
|
|
# MYSQL_PIDFILE process ID file
|
|
# MYSQL_CHARSET default character set
|
|
# MYSQL_EXTRA_CHARSET additional character set to be compiled in
|
|
MYSQL_USER?= mysql
|
|
MYSQL_GROUP?= mysql
|
|
MYSQL_DATADIR?= ${VARBASE}/mysql
|
|
MYSQL_PIDFILE?= ${MYSQL_DATADIR}/${HOST}.pid
|
|
MYSQL_CHARSET?= latin1
|
|
MYSQL_COLLATION?= latin1_swedish_ci
|
|
MYSQL_EXTRA_CHARSET?= all
|
|
|
|
PKG_USERS_VARS+= MYSQL_USER
|
|
PKG_GROUPS_VARS+= MYSQL_GROUP
|
|
|
|
CONFIG_SHELL= ${TOOLS_PATH.bash}
|
|
|
|
CFLAGS.IRIX+= -DIRIX5 -DNEEDS_BSTRING_H
|
|
|
|
BUILD_DEFS+= VARBASE
|
|
|
|
# paths
|
|
CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql"
|
|
CMAKE_ARGS+= -DINSTALL_DOCREADMEDIR="share/doc/mysql"
|
|
CMAKE_ARGS+= -DINSTALL_INCLUDEDIR="include/mysql"
|
|
CMAKE_ARGS+= -DINSTALL_INFODIR="info"
|
|
CMAKE_ARGS+= -DINSTALL_MANDIR="${PKGMANDIR}"
|
|
CMAKE_ARGS+= -DINSTALL_MYSQLSHAREDIR="share/mysql"
|
|
CMAKE_ARGS+= -DINSTALL_MYSQLTESTDIR="share/mysql/test"
|
|
CMAKE_ARGS+= -DINSTALL_PLUGINDIR="lib/mysql/plugin"
|
|
CMAKE_ARGS+= -DINSTALL_SBINDIR="sbin"
|
|
CMAKE_ARGS+= -DINSTALL_SCRIPTDIR="bin"
|
|
CMAKE_ARGS+= -DINSTALL_SQLBENCHDIR="share/mysql/sql-bench"
|
|
CMAKE_ARGS+= -DINSTALL_SUPPORTFILESDIR="share/mysql"
|
|
CMAKE_ARGS+= -DMYSQL_DATADIR=${MYSQL_DATADIR}
|
|
|
|
CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release
|
|
|
|
CMAKE_ARGS+= -DWITH_BOOST="system"
|
|
CMAKE_ARGS+= -DWITH_LZ4="system"
|
|
CMAKE_ARGS+= -DWITH_SSL="system"
|
|
CMAKE_ARGS+= -DWITH_ZLIB="system"
|
|
CMAKE_ARGS+= -DDEFAULT_CHARSET=${MYSQL_CHARSET:Q}
|
|
CMAKE_ARGS+= -DDEFAULT_COLLATION=${MYSQL_COLLATION:Q}
|
|
CMAKE_ARGS+= -DWITH_EXTRA_CHARSETS=${MYSQL_EXTRA_CHARSET:Q}
|
|
|
|
# MySQL 5 depends on builtin functions enabled with i486 and later with GCC.
|
|
.if ${OPSYS} == "NetBSD" && !empty(MACHINE_ARCH:Mi386)
|
|
GNU_ARCH.i386= i486
|
|
CFLAGS+= -march=i486
|
|
.endif
|
|
|
|
CPPFLAGS+= -Dunix
|
|
CFLAGS+= -DUSE_OLD_FUNCTIONS # 3.23.x compat
|
|
#CFLAGS+= -D__STDC_FORMAT_MACROS=1 # always defined too late
|
|
|
|
.if ${OPSYS} != "Interix"
|
|
CFLAGS+= -fPIC -DPIC
|
|
CXXFLAGS+= -fPIC -DPIC
|
|
.endif
|
|
|
|
CMAKE_ARGS.SunOS+= -DFORCE_UNSUPPORTED_COMPILER=YES
|
|
|
|
# Force HAVE_CURSES_H on Solaris since the configure script is broken
|
|
# and does not properly detect this, breaking the build later on. Also
|
|
# explicitly disable epoll support as it is Linux-specific.
|
|
CMAKE_ARGS.SunOS+= -DHAVE_SYS_EPOLL_H=NO
|
|
CFLAGS.SunOS+= -DHAVE_CURSES_H
|
|
CXXFLAGS.SunOS+= -DHAVE_CURSES_H
|
|
|
|
.include "../../mk/pthread.buildlink3.mk"
|
|
|
|
.if defined(PTHREAD_TYPE) && (${PTHREAD_TYPE} == "pth")
|
|
CFLAGS+= -DSIGNALS_DONT_BREAK_READ
|
|
CXXFLAGS+= -DSIGNALS_DONT_BREAK_READ
|
|
.endif
|
|
|
|
LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/mysql
|
|
|
|
SUBST_CLASSES+= scr
|
|
SUBST_STAGE.scr= pre-configure
|
|
SUBST_FILES.scr= scripts/mysqld_safe.sh
|
|
SUBST_FILES.scr+= support-files/mysql.server.sh
|
|
SUBST_SED.scr= -e "s,chown,${CHOWN},g"
|
|
SUBST_SED.scr+= -e "s,/bin/sh,${RCD_SCRIPTS_SHELL},g"
|
|
SUBST_SED.scr+= -e "s,@SHELL_PATH@,${RCD_SCRIPTS_SHELL},g"
|
|
SUBST_MESSAGE.scr= Fixing scripts.
|
|
|
|
# Don't use the base system "libedit" under NetBSD because MySQL expects
|
|
# an incompatible prototype for "rl_completion_entry_function".
|
|
.if ${OPSYS} == "NetBSD"
|
|
USE_BUILTIN.editline= no
|
|
.endif
|
|
|
|
.include "../../mk/readline.buildlink3.mk"
|
|
.if ${READLINE_TYPE} == "readline"
|
|
CMAKE_ARGS+= -DWITH_READLINE="system"
|
|
.else
|
|
CMAKE_ARGS+= -DWITH_EDITLINE="system"
|
|
.endif
|
|
|
|
.include "../../mk/curses.buildlink3.mk"
|
|
.include "../../archivers/lz4/buildlink3.mk"
|
|
.include "../../devel/boost-libs/buildlink3.mk"
|
|
.include "../../devel/libevent/buildlink3.mk"
|
|
.include "../../devel/zlib/buildlink3.mk"
|
|
.include "../../security/openssl/buildlink3.mk"
|