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