pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/databases import mysql80-client and mysql80-server pac...
details: https://anonhg.NetBSD.org/pkgsrc/rev/a1f803981f7b
branches: trunk
changeset: 452593:a1f803981f7b
user: jdolecek <jdolecek%pkgsrc.org@localhost>
date: Thu May 13 15:25:20 2021 +0000
description:
import mysql80-client and mysql80-server packages from pkgsrc wip
package is experimental right now - it was confirmed working on NetBSD
and compile on macOS only for now
8.0 brings many improvements over 5.7, following is shortened list, more details
are available on https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html
- transactional data dictionary
- atomic DDL
- integrated upgrade procedure
- security and account management improvements
- resource groups and threads (thread affinity needs some work for NetBSD)
- table encryption management
- loads of innodb enhancements
- default character set utf8mb4
- JSON enhancements
- CTE, Window functions
- lateral derived tables
- reworked regular experssion support
- internal temporary tables
- HASH JOIN optimization
- EXPLAIN ANALYZE
- time zone support for TIMESTAMP and DATETIME
- optimizer hints for FORCE INDEX, IGNORE INDEX
- XML enhancements
- single preparation of statements
- single RIGHT JOIN as LEFT JOIN handling
- derived condition pushdown optimization
Number of features were also deprecated, check the release notes for that
diffstat:
databases/Makefile | 4 +-
databases/mysql80-client/DESCR | 14 +
databases/mysql80-client/MESSAGE | 5 +
databases/mysql80-client/Makefile | 15 +
databases/mysql80-client/Makefile.common | 144 +
databases/mysql80-client/PLIST | 65 +
databases/mysql80-client/TODO | 1 +
databases/mysql80-client/buildlink3.mk | 19 +
databases/mysql80-client/distinfo | 36 +
databases/mysql80-client/options.mk | 35 +
databases/mysql80-client/patches/patch-CMakeLists.txt | 31 +
databases/mysql80-client/patches/patch-client_CMakeLists.txt | 59 +
databases/mysql80-client/patches/patch-client_mysqladmin.cc | 23 +
databases/mysql80-client/patches/patch-cmake_boost.cmake | 20 +
databases/mysql80-client/patches/patch-cmake_os_SunOS.cmake | 22 +
databases/mysql80-client/patches/patch-cmake_readline.cmake | 19 +
databases/mysql80-client/patches/patch-config.h.cmake | 24 +
databases/mysql80-client/patches/patch-configure.cmake | 31 +
databases/mysql80-client/patches/patch-include_CMakeLists.txt | 23 +
databases/mysql80-client/patches/patch-include_my__compare.h | 15 +
databases/mysql80-client/patches/patch-include_my__thread.h | 18 +
databases/mysql80-client/patches/patch-include_my__thread__os__id.h | 35 +
databases/mysql80-client/patches/patch-include_tables__contained__in.h | 24 +
databases/mysql80-client/patches/patch-libmysql_CMakeLists.txt | 68 +
databases/mysql80-client/patches/patch-mysys_kqueue__timers.cc | 69 +
databases/mysql80-client/patches/patch-mysys_stacktrace.cc | 15 +
databases/mysql80-client/patches/patch-router_CMakeLists.txt | 16 +
databases/mysql80-client/patches/patch-router_src_harness_include_mysql_harness_net_ts_impl_netif.h | 15 +
databases/mysql80-client/patches/patch-router_src_harness_include_mysql_harness_net_ts_internet.h | 19 +
databases/mysql80-client/patches/patch-router_src_harness_include_mysql_harness_net_ts_local.h | 24 +
databases/mysql80-client/patches/patch-router_src_harness_include_mysql_harness_tty.h | 16 +
databases/mysql80-client/patches/patch-router_src_harness_src_stdx_io_file_handle.cc | 28 +
databases/mysql80-client/patches/patch-scripts_CMakeLists.txt | 42 +
databases/mysql80-client/patches/patch-scripts_mysqld_safe.sh | 13 +
databases/mysql80-client/patches/patch-sql_CMakeLists.txt | 29 +
databases/mysql80-client/patches/patch-sql_conn__handler_socket__connection.cc | 29 +
databases/mysql80-client/patches/patch-sql_item_geofunc_relchecks_bgwrap.h | 15 +
databases/mysql80-client/patches/patch-sql_resourcegroups_platform_thread__attrs__api__apple.cc | 35 +
databases/mysql80-client/patches/patch-vio_viosocket.cc | 19 +
databases/mysql80-server/DEINSTALL | 16 +
databases/mysql80-server/DESCR | 15 +
databases/mysql80-server/MESSAGE | 21 +
databases/mysql80-server/MESSAGE.sphinx | 14 +
databases/mysql80-server/Makefile | 94 +
databases/mysql80-server/PLIST | 21369 ++++++++++
databases/mysql80-server/PLIST.SunOS | 2 +
databases/mysql80-server/buildlink3.mk | 15 +
databases/mysql80-server/files/ffsll.cc | 23 +
databases/mysql80-server/files/mysqld.sh | 108 +
databases/mysql80-server/files/smf/manifest.xml | 32 +
databases/mysql80-server/files/smf/mysqld.sh | 31 +
51 files changed, 22873 insertions(+), 1 deletions(-)
diffs (truncated from 23088 to 300 lines):
diff -r 9ee11e153d87 -r a1f803981f7b databases/Makefile
--- a/databases/Makefile Thu May 13 14:08:05 2021 +0000
+++ b/databases/Makefile Thu May 13 15:25:20 2021 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.629 2021/05/13 11:04:43 nia Exp $
+# $NetBSD: Makefile,v 1.630 2021/05/13 15:25:20 jdolecek Exp $
COMMENT= Databases
@@ -113,6 +113,8 @@
SUBDIR+= mysql56-server
SUBDIR+= mysql57-client
SUBDIR+= mysql57-server
+SUBDIR+= mysql80-client
+SUBDIR+= mysql80-server
SUBDIR+= mysqld_exporter
SUBDIR+= mysqltuner
SUBDIR+= mytop
diff -r 9ee11e153d87 -r a1f803981f7b databases/mysql80-client/DESCR
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/databases/mysql80-client/DESCR Thu May 13 15:25:20 2021 +0000
@@ -0,0 +1,14 @@
+MySQL is a SQL (Structured Query Language) database server. SQL is the most
+popular database language in the world. MySQL is a client-server implementation
+that consists of a server daemon `mysqld' and many different client
+programs/libraries.
+
+The main goals of MySQL are speed and robustness.
+
+The base upon which MySQL is built is a set of routines that have been used in
+a highly demanding production environment for many years. While MySQL is still
+in development it already offers a rich and highly useful function set.
+
+The official way to pronounce 'MySQL' is 'My Ess Que Ell' (Not MY-SEQUEL).
+
+This package contains the MySQL client programs and libraries.
diff -r 9ee11e153d87 -r a1f803981f7b databases/mysql80-client/MESSAGE
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/databases/mysql80-client/MESSAGE Thu May 13 15:25:20 2021 +0000
@@ -0,0 +1,5 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1 2021/05/13 15:25:20 jdolecek Exp $
+
+This package is EXPERIMENTAL for now, recommend to only use for testing.
+===========================================================================
diff -r 9ee11e153d87 -r a1f803981f7b databases/mysql80-client/Makefile
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/databases/mysql80-client/Makefile Thu May 13 15:25:20 2021 +0000
@@ -0,0 +1,15 @@
+# $NetBSD: Makefile,v 1.1 2021/05/13 15:25:20 jdolecek Exp $
+
+PKGNAME= ${DISTNAME:S/-/-client-/}
+COMMENT= MySQL 8, a free SQL database (client)
+
+CONFLICTS= mysql3-client-[0-9]* mariadb-client-[0-9]*
+
+.include "Makefile.common"
+
+CMAKE_ARGS+= -DWITHOUT_SERVER=ON
+UNWRAP_FILES+= scripts/mysql_config
+INFO_FILES= yes
+INSTALL_DIRS+= client include libmysql man scripts testclients
+
+.include "../../mk/bsd.pkg.mk"
diff -r 9ee11e153d87 -r a1f803981f7b databases/mysql80-client/Makefile.common
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/databases/mysql80-client/Makefile.common Thu May 13 15:25:20 2021 +0000
@@ -0,0 +1,144 @@
+# $NetBSD: Makefile.common,v 1.1 2021/05/13 15:25:20 jdolecek Exp $
+#
+# used by databases/mysql80-client/Makefile
+# used by databases/mysql80-server/Makefile
+
+DISTNAME= mysql-8.0.24
+CATEGORIES= databases
+MASTER_SITES= ${MASTER_SITE_MYSQL:=MySQL-8.0/}
+DISTFILES= mysql-boost-${PKGVERSION_NOREV}${EXTRACT_SUFX}
+
+MAINTAINER?= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= https://www.mysql.com/
+LICENSE= gnu-gpl-v2
+
+DISTINFO_FILE?= ${.CURDIR}/../../databases/mysql80-client/distinfo
+PATCHDIR?= ${.CURDIR}/../../databases/mysql80-client/patches
+MESSAGE_SRC+= ${.CURDIR}/../../databases/mariadb104-client/MESSAGE
+
+BUILDLINK_API_DEPENDS.zlib+= zlib>=1.2.11
+
+USE_CMAKE= yes
+USE_LANGUAGES= c c++ c++14 # 1.75+ boost requires c++14
+USE_TOOLS+= bash bison gmake perl:run
+USE_GCC_RUNTIME= yes
+USE_BUILTIN.libevent= no
+
+.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?= utf8mb4
+MYSQL_COLLATION?= utf8mb4_unicode_ci
+MYSQL_EXTRA_CHARSET?= all
+
+PKG_USERS_VARS+= MYSQL_USER
+PKG_GROUPS_VARS+= MYSQL_GROUP
+
+CONFIG_SHELL= ${TOOLS_PATH.bash}
+
+CFLAGS.IRIX+= -DIRIX5
+
+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_SUPPORTFILESDIR="share/mysql"
+CMAKE_ARGS+= -DROUTER_INSTALL_LOGROTATEDIR="share/mysql"
+CMAKE_ARGS+= -DMYSQL_DATADIR=${MYSQL_DATADIR}
+
+CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release
+
+CMAKE_ARGS+= -DWITH_BOOST="${WRKSRC}/boost"
+CMAKE_ARGS+= -DWITH_ICU="system"
+CMAKE_ARGS+= -DWITH_LIBEVENT="system"
+CMAKE_ARGS+= -DWITH_LZ4="system"
+CMAKE_ARGS+= -DWITH_RAPIDJSON="bundled"
+CMAKE_ARGS+= -DWITH_SSL="system"
+CMAKE_ARGS+= -DWITH_ZLIB="system"
+CMAKE_ARGS+= -DWITH_ZSTD="system"
+CMAKE_ARGS+= -DDEFAULT_CHARSET=${MYSQL_CHARSET}
+CMAKE_ARGS+= -DDEFAULT_COLLATION=${MYSQL_COLLATION}
+CMAKE_ARGS+= -DWITH_EXTRA_CHARSETS=${MYSQL_EXTRA_CHARSET}
+CMAKE_ARGS+= -DWITH_UNIT_TESTS=OFF
+CMAKE_ARGS+= -DFORCE_INSOURCE_BUILD=1
+
+# we need atomic builtins
+.if ${OPSYS} == "NetBSD" && ${MACHINE_ARCH} == "i386"
+GNU_ARCH.i386= i586
+CFLAGS+= -march=i586
+.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.
+
+CMAKE_ARGS+= -DWITH_EDITLINE="system"
+CMAKE_ARGS+= -DEDITLINE_INCLUDE_DIR=${BUILDLINK_PREFIX.editline}/${BUILDLINK_INCDIRS.editline}
+
+.if ${OPSYS} == "NetBSD"
+CFLAGS.NetBSD+= -DHAVE_ALLOCA_H
+CXXFLAGS.NetBSD+= -DHAVE_ALLOCA_H
+# MySQL code depends on having <alloca.h>
+post-patch:
+ echo "#define alloca(sz) __builtin_alloca(sz)" > ${WRKSRC}/include/alloca.h
+.endif
+
+.include "../../mk/curses.buildlink3.mk"
+.include "../../archivers/lz4/buildlink3.mk"
+.include "../../archivers/zstd/buildlink3.mk"
+.include "../../devel/editline/buildlink3.mk"
+.include "../../devel/libevent/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+.include "../../textproc/icu/buildlink3.mk"
diff -r 9ee11e153d87 -r a1f803981f7b databases/mysql80-client/PLIST
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/databases/mysql80-client/PLIST Thu May 13 15:25:20 2021 +0000
@@ -0,0 +1,65 @@
+@comment $NetBSD: PLIST,v 1.1 2021/05/13 15:25:20 jdolecek Exp $
+bin/mysql
+bin/mysql_client_test
+bin/mysql_config
+bin/mysql_config_editor
+bin/mysql_migrate_keyring
+bin/mysql_ssl_rsa_setup
+bin/mysqladmin
+bin/mysqlbinlog
+bin/mysqlcheck
+bin/mysqldump
+bin/mysqlimport
+bin/mysqlpump
+bin/mysqlshow
+bin/mysqlslap
+include/mysql/errmsg.h
+include/mysql/field_types.h
+include/mysql/my_command.h
+include/mysql/my_compress.h
+include/mysql/my_list.h
+include/mysql/mysql.h
+include/mysql/mysql/client_plugin.h
+include/mysql/mysql/plugin_auth_common.h
+include/mysql/mysql/udf_registration_types.h
+include/mysql/mysql_com.h
+include/mysql/mysql_time.h
+include/mysql/mysql_version.h
+include/mysql/mysqld_error.h
+lib/libmysqlclient.a
+lib/libmysqlclient.so
+lib/libmysqlclient.so.21
+lib/libmysqlclient.so.21.1.24
+lib/pkgconfig/mysqlclient.pc
+man/man1/comp_err.1
+man/man1/ibd2sdi.1
+man/man1/innochecksum.1
+man/man1/lz4_decompress.1
+man/man1/my_print_defaults.1
+man/man1/myisam_ftdump.1
+man/man1/myisamchk.1
+man/man1/myisamlog.1
+man/man1/myisampack.1
+man/man1/mysql.1
+man/man1/mysql.server.1
+man/man1/mysql_config.1
+man/man1/mysql_config_editor.1
+man/man1/mysql_secure_installation.1
+man/man1/mysql_ssl_rsa_setup.1
+man/man1/mysql_tzinfo_to_sql.1
+man/man1/mysql_upgrade.1
+man/man1/mysqladmin.1
+man/man1/mysqlbinlog.1
+man/man1/mysqlcheck.1
+man/man1/mysqld_multi.1
+man/man1/mysqld_safe.1
+man/man1/mysqldump.1
+man/man1/mysqldumpslow.1
+man/man1/mysqlimport.1
+man/man1/mysqlman.1
+man/man1/mysqlpump.1
+man/man1/mysqlshow.1
+man/man1/mysqlslap.1
+man/man1/perror.1
+man/man1/zlib_decompress.1
+man/man8/mysqld.8
diff -r 9ee11e153d87 -r a1f803981f7b databases/mysql80-client/TODO
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/databases/mysql80-client/TODO Thu May 13 15:25:20 2021 +0000
@@ -0,0 +1,1 @@
+perhaps implement thread affinity for netbsd and irix
diff -r 9ee11e153d87 -r a1f803981f7b databases/mysql80-client/buildlink3.mk
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/databases/mysql80-client/buildlink3.mk Thu May 13 15:25:20 2021 +0000
@@ -0,0 +1,19 @@
+# $NetBSD: buildlink3.mk,v 1.1 2021/05/13 15:25:20 jdolecek Exp $
+
+BUILDLINK_TREE+= mysql-client
+
+.if !defined(MYSQL_CLIENT_BUILDLINK3_MK)
+MYSQL_CLIENT_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.mysql-client+= mysql-client>=8.0.19<8.1
+BUILDLINK_PKGSRCDIR.mysql-client?= ../../wip/mysql80-client
+BUILDLINK_INCDIRS.mysql-client?= include/mysql
Home |
Main Index |
Thread Index |
Old Index