diff --git a/databases/mysql84-client/Makefile b/databases/mysql84-client/Makefile index bfb4f1e7263d..97e03aed58b9 100644 --- a/databases/mysql84-client/Makefile +++ b/databases/mysql84-client/Makefile @@ -1,51 +1,50 @@ PORTNAME= mysql -PORTREVISION= 1 PKGNAMESUFFIX= 84-client COMMENT= Multithreaded SQL database (client) LICENSE+= LGPL21 # MySQL8.2+ supports only 64-bit platforms # Review list after 13.x EoL NOT_FOR_ARCHS= armv6 armv7 i386 powerpc MASTERDIR= ${.CURDIR}/../mysql84-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.24 ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient_r.so.24 .include "${MASTERDIR}/Makefile" diff --git a/databases/mysql84-server/Makefile b/databases/mysql84-server/Makefile index 684cd4306543..eae373857f5b 100644 --- a/databases/mysql84-server/Makefile +++ b/databases/mysql84-server/Makefile @@ -1,182 +1,181 @@ PORTNAME?= mysql -PORTVERSION= 8.4.2 -PORTREVISION?= 1 +PORTVERSION= 8.4.3 CATEGORIES= databases MASTER_SITES= MYSQL/MySQL-8.4 PKGNAMESUFFIX?= 84-server MAINTAINER= joneum@FreeBSD.org COMMENT?= Multithreaded SQL database (server) WWW= https://www.mysql.com/ LICENSE= GPLv2 # MySQL8.2+ supports only 64-bit platforms # Review list after 13.x EoL NOT_FOR_ARCHS= armv6 armv7 i386 powerpc USES= bison:build cmake:noninja cpe groff:run libedit localbase \ ncurses perl5 pkgconfig shebangfix ssl compiler:c++20-lang WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}${DISTVERSIONSUFFIX} SLAVEDIRS= databases/mysql84-client CPE_VENDOR= oracle USE_CXXSTD= c++20 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 \ libicutu.so:devel/icu \ liblz4.so:archivers/liblz4 \ libhidapi.so:comms/hidapi \ libfido2.so:security/libfido2 \ ${LIB_DEPENDS_${ARCH}} LIB_DEPENDS_aarch64= libunwind.so:devel/libunwind LIB_DEPENDS_amd64= 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_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" \ -DWITH_BOOST="${WRKSRC}/boost" \ -DWITH_SYSTEM_LIBS=1 \ -DWITH_EDITLINE=system \ -DWITH_LZ4=system \ -DWITH_ICU=system \ -DWITH_CURL=system \ -DWITH_ZSTD=bundled \ -DWITH_PROTOBUF=bundled \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DWITH_LZ4=system 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} # MySQL-Server part .if !defined(CLIENT_ONLY) USES+= mysql:84 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+= -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="" # todo, likely broken, see # https://dev.mysql.com/doc/refman/8.4/en/source-configuration-options.html PERFSCHM_SUB_LIST_OFF+= PERFSCHEMRC="--skip-performance-schema" FEDERATED_SUB_LIST+= FEDER="--federated" FEDERATED_SUB_LIST_OFF+= FEDER="" .endif .include CXXFLAGS+= -malign-double .include post-extract: @${RM} -rv ${WRKSRC}/sql/sql_hints.yy.cc ${WRKSRC}/sql/sql_hints.yy.h .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 diff --git a/databases/mysql84-server/distinfo b/databases/mysql84-server/distinfo index 4eb3b871ecf8..0da85a689377 100644 --- a/databases/mysql84-server/distinfo +++ b/databases/mysql84-server/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1721979278 -SHA256 (mysql-8.4.2.tar.gz) = 5657a78dc86bf0bf2227e0b05f8de5a2c447a816a112ffa26fa70083bcbe9814 -SIZE (mysql-8.4.2.tar.gz) = 425791134 +TIMESTAMP = 1735595165 +SHA256 (mysql-8.4.3.tar.gz) = 7ac9564c478022f73005ff89bbb40f67b381fc06d5518416bdffec75e625b818 +SIZE (mysql-8.4.3.tar.gz) = 465097732 diff --git a/databases/mysql84-server/files/patch-CMakeLists.txt b/databases/mysql84-server/files/patch-CMakeLists.txt index 8994243f163f..ad5e829a5b73 100644 --- a/databases/mysql84-server/files/patch-CMakeLists.txt +++ b/databases/mysql84-server/files/patch-CMakeLists.txt @@ -1,80 +1,80 @@ ---- CMakeLists.txt.orig 2024-06-03 11:39:00 UTC +--- CMakeLists.txt.orig 2024-09-17 10:40:37 UTC +++ CMakeLists.txt -@@ -1845,7 +1845,7 @@ IF(WITH_AUTHENTICATION_LDAP) +@@ -1870,7 +1870,7 @@ IF(WITH_AUTHENTICATION_LDAP) ENDIF() IF(WITH_AUTHENTICATION_LDAP) - IF(LINUX AND KNOWN_CUSTOM_LIBRARIES) + IF(LINUX OR FREEBSD AND KNOWN_CUSTOM_LIBRARIES) # LDAP / SASL / KERBEROS / SSL must all be "system" or "custom", not a mix. IF(WITH_LDAP STREQUAL "system" OR WITH_SASL STREQUAL "system" OR -@@ -1896,6 +1896,7 @@ ENDIF() +@@ -1921,6 +1921,7 @@ ENDIF() ENDIF() ENDIF() +IF(NOT WITHOUT_TOOLS) # Add system/bundled editline. MYSQL_CHECK_EDITLINE() SET(EDITLINE_WARN_GIVEN) -@@ -1906,6 +1907,7 @@ ENDIF() +@@ -1931,6 +1932,7 @@ ENDIF() "You can use -DWITH_EDITLINE=bundled instead." ) ENDIF() +ENDIF(NOT WITHOUT_TOOLS) # Add lz4 library MYSQL_CHECK_LZ4() -@@ -2189,7 +2191,9 @@ ADD_DEPENDENCIES(clang_tidy_prerequisites GenError) +@@ -2213,7 +2215,9 @@ ADD_DEPENDENCIES(clang_tidy_prerequisites GenError) ADD_DEPENDENCIES(clang_tidy_prerequisites protobuf_generated_all) ADD_DEPENDENCIES(clang_tidy_prerequisites GenError) -ADD_SUBDIRECTORY(include) +IF(NOT WITHOUT_CLIENTLIBS) + ADD_SUBDIRECTORY(include) +ENDIF(NOT WITHOUT_CLIENTLIBS) ADD_SUBDIRECTORY(strings) ADD_SUBDIRECTORY(vio) ADD_SUBDIRECTORY(mysys) -@@ -2239,12 +2243,15 @@ ENDIF() +@@ -2263,12 +2267,15 @@ ENDIF() ADD_SUBDIRECTORY(unittest/mytap/t) ENDIF() -ADD_SUBDIRECTORY(client) +IF(NOT WITHOUT_TOOLS) + ADD_SUBDIRECTORY(client) +ENDIF(NOT WITHOUT_TOOLS) + ADD_SUBDIRECTORY(utilities) -ADD_SUBDIRECTORY(share) ADD_SUBDIRECTORY(libservices) IF(NOT WITHOUT_SERVER) + ADD_SUBDIRECTORY(share) ADD_SUBDIRECTORY(testclients) ADD_SUBDIRECTORY(sql) ENDIF() -@@ -2322,11 +2329,11 @@ ADD_SUBDIRECTORY(scripts) +@@ -2346,11 +2353,11 @@ ADD_SUBDIRECTORY(scripts) # scripts/mysql_config depends on client and server targets loaded above. # It is referenced by some of the directories below, so we insert it here. ADD_SUBDIRECTORY(scripts) +ADD_SUBDIRECTORY(support-files) IF(NOT WITHOUT_SERVER) ADD_SUBDIRECTORY(mysql-test) ADD_SUBDIRECTORY(mysql-test/lib/My/SafeProcess) - ADD_SUBDIRECTORY(support-files) IF(WITH_INTERNAL) ADD_SUBDIRECTORY(internal) ENDIF() -@@ -2354,8 +2361,10 @@ ENDIF() +@@ -2377,8 +2384,10 @@ ENDIF() INCLUDE(fastcov) ENDIF() +IF(FALSE) IF(UNIX) ADD_SUBDIRECTORY(man) +ENDIF() ENDIF() IF(LINUX AND NOT WITHOUT_SERVER) diff --git a/databases/mysql84-server/files/patch-client_CMakeLists.txt b/databases/mysql84-server/files/patch-client_CMakeLists.txt index 780490a1b465..ebdc438598f2 100644 --- a/databases/mysql84-server/files/patch-client_CMakeLists.txt +++ b/databases/mysql84-server/files/patch-client_CMakeLists.txt @@ -1,60 +1,60 @@ ---- client/CMakeLists.txt.orig 2024-04-10 06:26:28 UTC +--- client/CMakeLists.txt.orig 2024-09-17 10:40:37 UTC +++ client/CMakeLists.txt @@ -26,9 +26,12 @@ DISABLE_MISSING_PROFILE_WARNING() # We are not interesting in profiling clients. DISABLE_MISSING_PROFILE_WARNING() +IF(WITHOUT_SERVER) ## Subdirectory for mysql_migrate_keyring code. ADD_SUBDIRECTORY(migrate_keyring) +ENDIF() +IF(WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysql ${CMAKE_SOURCE_DIR}/sql-common/net_ns.cc completion_hash.cc @@ -42,7 +45,9 @@ MYSQL_ADD_EXECUTABLE(mysql ${CMAKE_SOURCE_DIR}/sql-common/sql_string.cc LINK_LIBRARIES mysqlclient ${EDITLINE_LIBRARY} ) +ENDIF() +IF(NOT WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysqltest mysqltest.cc mysqltest/error_names.cc -@@ -59,6 +64,9 @@ MYSQL_ADD_EXECUTABLE(mysqltest - ENABLE_EXPORTS - LINK_LIBRARIES mysqlclient - ) +@@ -64,6 +69,9 @@ ENDIF() + TARGET_LINK_OPTIONS(mysqltest PRIVATE -Wno-error=stringop-overflow) + ENDIF() + +ENDIF() + +IF(WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysqlcheck check/mysqlcheck.cc check/mysqlcheck_core.cc -@@ -274,7 +282,9 @@ TARGET_INCLUDE_DIRECTORIES(mysqlbinlog PRIVATE ${CMAKE +@@ -289,7 +297,9 @@ TARGET_INCLUDE_DIRECTORIES(mysqlbinlog PRIVATE ${CMAKE TARGET_COMPILE_DEFINITIONS(mysqlbinlog PRIVATE DISABLE_PSI_MUTEX) TARGET_INCLUDE_DIRECTORIES(mysqlbinlog PRIVATE ${CMAKE_SOURCE_DIR}/sql) +ENDIF() +IF(WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysqladmin mysqladmin.cc multi_factor_passwordopt-vars.cc -@@ -289,10 +299,14 @@ MYSQL_ADD_EXECUTABLE(mysql_config_editor +@@ -304,10 +314,14 @@ MYSQL_ADD_EXECUTABLE(mysql_config_editor mysql_config_editor.cc LINK_LIBRARIES mysqlclient ) +ENDIF() + +IF(NOT WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysql_secure_installation mysql_secure_installation.cc LINK_LIBRARIES mysqlclient ) +ENDIF() # "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/". IF(WIN32)