-
Notifications
You must be signed in to change notification settings - Fork 727
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add databases/mysql81-server and databases/mysql81-client
Welcome MySQL81 to the Port Tree Special thanks for help: fluffy, both Sponsored by: Netzkommune GmbH
- Loading branch information
Showing
61 changed files
with
2,194 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
PORTNAME= mysql | ||
PORTREVISION= 0 | ||
PKGNAMESUFFIX= 81-client | ||
|
||
COMMENT= Multithreaded SQL database (client) | ||
|
||
LICENSE+= LGPL21 | ||
|
||
MASTERDIR= ${.CURDIR}/../mysql81-server | ||
|
||
PKGMESSAGE= ${.CURDIR}/pkg-message | ||
PATCHDIR= ${MASTERDIR}/files | ||
PLIST= ${.CURDIR}/pkg-plist | ||
|
||
CONFLICTS_INSTALL= mysql8[1-9]-client \ | ||
mysql[0-79][0-9]-client \ | ||
mariadb[0-9][0-9]-client \ | ||
percona[0-9][0-9]-client | ||
|
||
CMAKE_ARGS+= -DWITHOUT_SERVER=1 -DINSTALL_SUPPORTFILESDIR=0 | ||
|
||
USE_LDCONFIG+= ${PREFIX}/lib/mysql | ||
|
||
MMAN1= comp_err.1 lz4_decompress.1 mysql.1 mysql_config.1 mysql_config_editor.1 \ | ||
mysqladmin.1 mysqlbinlog.1 mysqlcheck.1 mysqldump.1 mysqlimport.1 mysqlman.1 \ | ||
mysqlpump.1 mysqlshow.1 mysqlslap.1 perror.1 zlib_decompress.1 | ||
|
||
CLIENT_ONLY= yes | ||
|
||
OPTIONS_GROUP+= PLUGINS | ||
PLUGINS_DESC= Default Client Plugins | ||
OPTIONS_GROUP_PLUGINS= SASLCLIENT | ||
SASLCLIENT_DESC= SASL client plugin module | ||
SASLCLIENT_CMAKE_BOOL= WITH_AUTHENTICATION_LDAP | ||
SASLCLIENT_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 | ||
SASLCLIENT_USES= ldap | ||
|
||
OPTIONS_DEFAULT+= SASLCLIENT | ||
OPTIONS_SUB= yes | ||
|
||
post-install: | ||
@${RM} -r ${STAGEDIR}${PREFIX}/lib/mysql/private | ||
@${LN} -s libmysqlclient.a ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient_r.a | ||
@${LN} -s libmysqlclient.so ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient_r.so | ||
@${LN} -s libmysqlclient.so.22 ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient_r.so.22 | ||
|
||
.include "${MASTERDIR}/Makefile" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
[ | ||
{ type: install | ||
message: <<EOM | ||
This is the mysql CLIENT without the server. | ||
for complete server and client, please install databases/mysql80-server | ||
EOM | ||
} | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
bin/comp_err | ||
bin/my_print_defaults | ||
bin/mysql | ||
bin/mysql_config | ||
bin/mysql_config_editor | ||
bin/mysql_migrate_keyring | ||
bin/mysqladmin | ||
bin/mysqlbinlog | ||
bin/mysqlcheck | ||
bin/mysqldump | ||
bin/mysqlimport | ||
bin/mysqlpump | ||
bin/mysqlshow | ||
bin/mysqlslap | ||
bin/perror | ||
bin/zlib_decompress | ||
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/mysql/libmysqlclient.a | ||
lib/mysql/libmysqlclient.so | ||
lib/mysql/libmysqlclient.so.22 | ||
lib/mysql/libmysqlclient_r.a | ||
lib/mysql/libmysqlclient_r.so | ||
lib/mysql/libmysqlclient_r.so.22 | ||
lib/mysql/plugin/authentication_fido_client.so | ||
lib/mysql/plugin/authentication_ldap_sasl_client.so | ||
lib/mysql/plugin/authentication_oci_client.so | ||
libdata/pkgconfig/mysqlclient.pc | ||
share/aclocal/mysql.m4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,221 @@ | ||
PORTNAME?= mysql | ||
PORTVERSION= 8.1.0 | ||
PORTREVISION?= 0 | ||
CATEGORIES= databases | ||
MASTER_SITES= MYSQL/MySQL-8.1 | ||
PKGNAMESUFFIX?= 81-server | ||
DISTNAME= ${PORTNAME}-boost-${PORTVERSION}${DISTVERSIONSUFFIX} | ||
|
||
MAINTAINER= joneum@FreeBSD.org | ||
COMMENT?= Multithreaded SQL database (server) | ||
WWW= https://www.mysql.com/ | ||
|
||
LICENSE= GPLv2 | ||
|
||
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}${DISTVERSIONSUFFIX} | ||
|
||
SLAVEDIRS= databases/mysql81-client | ||
USES= bison:build cmake:noninja cpe groff:run libedit localbase \ | ||
ncurses perl5 pkgconfig shebangfix ssl | ||
|
||
CPE_VENDOR= oracle | ||
|
||
USE_CXXSTD= c++17 | ||
USE_PERL5= run | ||
|
||
MY_DBDIR= /var/db/mysql | ||
MY_SECDIR= /var/db/mysql_secure | ||
MY_TMPDIR= /var/db/mysql_tmpdir | ||
|
||
LIB_DEPENDS+= libcurl.so:ftp/curl \ | ||
libevent.so:devel/libevent \ | ||
libicutu.so:devel/icu \ | ||
liblz4.so:archivers/liblz4 \ | ||
libfido2.so:security/libfido2 \ | ||
libhidapi.so:comms/hidapi \ | ||
${LIB_DEPENDS_${ARCH}} | ||
LIB_DEPENDS_aarch64= libunwind.so:devel/libunwind | ||
LIB_DEPENDS_amd64= libunwind.so:devel/libunwind | ||
LIB_DEPENDS_armv7= libunwind.so:devel/libunwind | ||
LIB_DEPENDS_i386= libunwind.so:devel/libunwind | ||
LIB_DEPENDS_powerpc= libunwind.so:devel/libunwind | ||
LIB_DEPENDS_powerpc64= libunwind.so:devel/libunwind | ||
LIB_DEPENDS_powerpc64le= libunwind.so:devel/libunwind | ||
|
||
BUILD_DEPENDS= liblz4>0:archivers/liblz4 \ | ||
${BUILD_DEPENDS_${ARCH}} | ||
BUILD_DEPENDS_aarch64= libunwind>0:devel/libunwind | ||
BUILD_DEPENDS_amd64= libunwind>0:devel/libunwind | ||
BUILD_DEPENDS_armv7= libunwind>0:devel/libunwind | ||
BUILD_DEPENDS_i386= libunwind>0:devel/libunwind | ||
BUILD_DEPENDS_powerpc= libunwind>0:devel/libunwind | ||
BUILD_DEPENDS_powerpc64= libunwind>0:devel/libunwind | ||
BUILD_DEPENDS_powerpc64le= libunwind>0:devel/libunwind | ||
|
||
CMAKE_BUILD_TYPE= Release | ||
CFLAGS+= -fPIC | ||
CFLAGS_aarch64?= -march=armv8-a+crc+crypto | ||
|
||
CMAKE_ARGS+= -DINSTALL_LAYOUT=FREEBSD \ | ||
-DINSTALL_LDCONFIGDIR="${LOCALBASE}/libdata/ldconfig" \ | ||
-DINSTALL_PKGCONFIGDIR="${LOCALBASE}/libdata/pkgconfig" \ | ||
-DINSTALL_DOCDIR="share/doc/mysql" \ | ||
-DINSTALL_DOCREADMEDIR="share/doc/mysql" \ | ||
-DINSTALL_INCLUDEDIR="include/mysql" \ | ||
-DINSTALL_INFODIR="${INFO_PATH}" \ | ||
-DINSTALL_LIBDIR="lib/mysql" \ | ||
-DINSTALL_PRIV_LIBDIR="lib/mysql/private" \ | ||
-DINSTALL_MANDIR="share/man" \ | ||
-DINSTALL_MYSQLDATADIR="${MY_DBDIR}" \ | ||
-DINSTALL_MYSQLKEYRINGDIR="etc/mysql/keyring" \ | ||
-DINSTALL_MYSQLSHAREDIR="share/mysql" \ | ||
-DINSTALL_MYSQLTESTDIR="" \ | ||
-DINSTALL_PLUGINDIR="lib/mysql/plugin" \ | ||
-DINSTALL_SBINDIR="libexec" \ | ||
-DINSTALL_SCRIPTDIR="bin" \ | ||
-DINSTALL_SECURE_FILE_PRIVDIR="${MY_SECDIR}" \ | ||
-DINSTALL_SHAREDIR="share" \ | ||
-DINSTALL_SUPPORTFILESDIR="share/mysql" \ | ||
-DMYSQL_KEYRINGDIR="${ETCDIR}/keyring" \ | ||
-DWITH_BOOST="${WRKSRC}/boost" \ | ||
-DWITH_SYSTEM_LIBS=1 \ | ||
-DWITH_EDITLINE=system \ | ||
-DWITH_LIBEVENT=system \ | ||
-DWITH_LZ4=system \ | ||
-DWITH_ICU=system \ | ||
-DWITH_CURL=system \ | ||
-DWITH_ZSTD=bundled \ | ||
-DWITH_PROTOBUF=bundled \ | ||
-DWITH_SSL=system \ | ||
-DWITH_AUTHENTICATION_FIDO=1 \ | ||
-DBUILD_BUNDLED_ZLIB=0 \ | ||
-DBUILD_BUNDLED_LZ4=0 | ||
|
||
# The Mroonga, RocksDB, and TokuDB storage engines are disabled. | ||
# Mroonga is only buildable on little endian archs. | ||
# RocksDB is only buildable on little endian archs and requires POSIX timers. | ||
# TokuDB is only buildable on 64-bit little endian archs. | ||
CMAKE_ARGS+= -DWITHOUT_MROONGA_STORAGE_ENGINE=1 \ | ||
-DWITHOUT_ROCKSDB_STORAGE_ENGINE=1 \ | ||
-DWITHOUT_TOKUDB_STORAGE_ENGINE=1 | ||
|
||
SHEBANG_FILES= scripts/*.pl* scripts/*.sh | ||
|
||
.ifdef USE_MYSQL | ||
IGNORE= You have `USE_MYSQL' variable defined either in environment or in make(1) arguments. Please undefine and try again. | ||
.endif | ||
SUB_LIST= MY_DBDIR=${MY_DBDIR} \ | ||
MY_SECDIR=${MY_SECDIR} \ | ||
MY_TMPDIR=${MY_TMPDIR} | ||
PLIST_SUB= MY_DBDIR=${MY_DBDIR} \ | ||
MY_SECDIR=${MY_SECDIR} \ | ||
MY_TMPDIR=${MY_TMPDIR} \ | ||
MYSQL80_LIBVER=${MYSQL80_LIBVER} | ||
# MySQL-Server part | ||
.if !defined(CLIENT_ONLY) | ||
USES+= mysql:81 | ||
CONFLICTS_INSTALL= mysql*-server \ | ||
mysqlwsrep*-server \ | ||
mariadb*-server \ | ||
percona*-server | ||
USE_RC_SUBR= mysql-server | ||
SUB_FILES= my.cnf.sample pkg-message | ||
USERS= mysql | ||
GROUPS= mysql | ||
USE_LDCONFIG+= ${PREFIX}/lib/mysql/plugin | ||
MMAN1= ibd2sdi.1 innochecksum.1 my_print_defaults.1 myisam_ftdump.1 myisamchk.1 \ | ||
myisamlog.1 myisampack.1 mysql_secure_installation.1 mysql_ssl_rsa_setup.1 \ | ||
mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql.server.1 mysqldumpslow.1 mysqld_multi.1 \ | ||
mysqld_safe.1 mysqlrouter_passwd.1 mysqlrouter_plugin_info.1 mysqlrouter.1 | ||
MMAN8= mysqld.8 | ||
CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON" | ||
CMAKE_ARGS+= -DWITHOUT_CLIENTLIBS="ON" | ||
# Disable unit tests, it fails on !amd64 and <13.0 due to c++17 rules | ||
CMAKE_ARGS+= -DWITH_UNIT_TESTS="OFF" | ||
OPTIONS_GROUP= STORAGE | ||
OPTIONS_GROUP_STORAGE= ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE PARTITION PERFSCHEMA | ||
OPTIONS_SUB= YES | ||
STORAGE_DESC= Permissible "Storage Engines" (to compile statically into the server) | ||
ARCHIVE_DESC= Compile "Archive Storage" statically in server | ||
BLACKHOLE_DESC= Compile "Blackhole Storage" statically in server | ||
EXAMPLE_DESC= Compile "Example Storage" statically in server | ||
FEDERATED_DESC= Compile "Federated Storage" statically in server | ||
INNOBASE_DESC= Compile "InnoDB Storage" statically in server | ||
PARTITION_DESC= Compile "Partitioning support Storage" statically in server | ||
PERFSCHEMA_DESC= Compile "Performance Schema Storage" statically in server | ||
ARCHIVE_CMAKE_ON= -DWITH_ARCHIVE_STORAGE_ENGINE=1 | ||
BLACKHOLE_CMAKE_ON= -DWITH_BLACKHOLE_STORAGE_ENGINE=1 | ||
EXAMPLE_CMAKE_ON= -DWITH_EXAMPLE_STORAGE_ENGINE=1 | ||
FEDERATED_CMAKE_ON= -DWITH_FEDERATED_STORAGE_ENGINE=1 | ||
INNOBASE_CMAKE_ON= -DWITH_INNOBASE_STORAGE_ENGINE=1 | ||
PARTITION_CMAKE_ON= -DWITH_PARTITION_STORAGE_ENGINE=1 | ||
PERFSCHEMA_CMAKE_ON= -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 | ||
OPTIONS_GROUP+= FEATURES | ||
OPTIONS_GROUP_FEATURES= PERFSCHM | ||
FEATURES_DESC= Default features knobs | ||
PERFSCHM_DESC= Enable "Performance Schema" by default (High RAM usage) | ||
OPTIONS_DEFAULT+= PERFSCHM | ||
PERFSCHM_SUB_LIST+= PERFSCHEMRC="" | ||
PERFSCHM_SUB_LIST_OFF+= PERFSCHEMRC="--skip-performance-schema" | ||
FEDERATED_SUB_LIST+= FEDER="--federated" | ||
FEDERATED_SUB_LIST_OFF+= FEDER="" | ||
.endif | ||
.include <bsd.port.options.mk> | ||
# Since 8.0.20 release innodb engine uses new memory alligned allocator | ||
# which is broken on i386 due to different size of types and caused a | ||
# 'static_assert(alignof(T) <= alignof(std::max_align_t))' error | ||
.if ${ARCH} == i386 | ||
CMAKE_ARGS+= -DDISABLE_PSI_MEMORY=1 | ||
SSP_UNSAFE= yes | ||
.endif | ||
.if ${ARCH} == powerpc | ||
LDFLAGS+= -latomic | ||
USES+= compiler:gcc-c++11-lib | ||
.else | ||
CXXFLAGS+= -malign-double | ||
USES+= compiler:c++17-lang | ||
.endif | ||
.include <bsd.port.pre.mk> | ||
post-extract: | ||
@${RM} -rv ${WRKSRC}/sql/sql_hints.yy.cc ${WRKSRC}/sql/sql_hints.yy.h | ||
# This can be removed after FreeBSD 12.4 and 13.1 EoL | ||
.if defined(CLIENT_ONLY) && !exists(${OPENSSLBASE}/libdata/pkgconfig/openssl.pc) | ||
EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-scripts_CMakeLists.txt | ||
.endif | ||
# XXX MBi alignment issue | ||
.if ${ARCH} == i386 | ||
EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-boost_boost__1__77__0_boost_move_detail_type__traits.hpp \ | ||
${PATCHDIR}/extra-patch-storage_innobase_log_log0recv.cc | ||
.endif | ||
.if !defined(CLIENT_ONLY) | ||
post-install: | ||
${MKDIR} ${STAGEDIR}${ETCDIR} | ||
${INSTALL_DATA} ${WRKDIR}/my.cnf.sample ${STAGEDIR}${ETCDIR}/my.cnf.sample | ||
${MKDIR} ${STAGEDIR}${ETCDIR}/keyring | ||
${MKDIR} ${STAGEDIR}${MY_SECDIR} | ||
${MKDIR} ${STAGEDIR}${MY_TMPDIR} | ||
.endif | ||
.include <bsd.port.post.mk> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
TIMESTAMP = 1695150470 | ||
SHA256 (mysql-boost-8.1.0.tar.gz) = cb19648bc8719b9f6979924bfea806b278bd26b8d67740e5742c6f363f142188 | ||
SIZE (mysql-boost-8.1.0.tar.gz) = 440038191 |
20 changes: 20 additions & 0 deletions
20
...mysql81-server/files/extra-patch-boost_boost__1__77__0_boost_move_detail_type__traits.hpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
--- boost/boost_1_77_0/boost/move/detail/type_traits.hpp.orig 2021-08-05 09:42:11 UTC | ||
+++ boost/boost_1_77_0/boost/move/detail/type_traits.hpp | ||
@@ -1104,7 +1104,7 @@ struct alignment_struct | ||
typedef int (alignment_dummy::*member_ptr); | ||
typedef int (alignment_dummy::*member_function_ptr)(); | ||
struct alignment_struct | ||
-{ long double dummy[4]; }; | ||
+{ double XXXdummy[4]; }; | ||
|
||
///////////////////////////// | ||
// max_align_t | ||
@@ -1122,7 +1122,7 @@ union max_align | ||
float float_; | ||
double double_; | ||
void * void_ptr_; | ||
- long double long_double_[4]; | ||
+ double XXXlong_double_[4]; | ||
alignment_dummy *unknown_class_ptr_; | ||
function_ptr function_ptr_; | ||
member_function_ptr member_function_ptr_; |
10 changes: 10 additions & 0 deletions
10
databases/mysql81-server/files/extra-patch-scripts_CMakeLists.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
--- scripts/CMakeLists.txt.orig 2022-12-16 15:34:44 UTC | ||
+++ scripts/CMakeLists.txt | ||
@@ -362,7 +362,6 @@ IF (WITH_SSL STREQUAL "system") | ||
# We have implemented "system" for other platforms as well, but those | ||
# are non-native packages. | ||
IF(LINUX OR SOLARIS OR FREEBSD) | ||
- SET(CONFIG_REQUIRES_PRIVATE "openssl") | ||
STRING(REPLACE "-lssl" "" CONFIG_LIBS_PRIVATE "${CONFIG_LIBS_PRIVATE}") | ||
STRING(REPLACE "-lcrypto" "" CONFIG_LIBS_PRIVATE "${CONFIG_LIBS_PRIVATE}") | ||
STRING(REGEX REPLACE "[ ]+" " " CONFIG_LIBS_PRIVATE |
11 changes: 11 additions & 0 deletions
11
databases/mysql81-server/files/extra-patch-storage_innobase_log_log0recv.cc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- storage/innobase/log/log0recv.cc.orig 2023-12-17 10:36:48 UTC | ||
+++ storage/innobase/log/log0recv.cc | ||
@@ -3695,7 +3695,7 @@ static void recv_recovery_begin(log_t &log, const lsn_ | ||
than number of concurrent IOs we want to sustain. We should also keep in | ||
mind that the limit for the deltas hashmap is not strictly enforced and | ||
this number includes the not-well specified safety margin. */ | ||
- size_t{256} * srv_buf_pool_instances); | ||
+ static_cast<unsigned int>(size_t{256} * srv_buf_pool_instances)); | ||
const size_t delta_hashmap_max_mem = | ||
UNIV_PAGE_SIZE * (buf_pool_get_n_pages() - pages_to_be_kept_free); | ||
|
Oops, something went wrong.