Index: databases/percona56-server/Makefile =================================================================== --- databases/percona56-server/Makefile +++ databases/percona56-server/Makefile @@ -1,8 +1,8 @@ # Created by: Alex Dupre -# $FreeBSD$ +# $FreeBSD: head/databases/percona56-server/Makefile 400949 2015-11-06 17:35:01Z flo $ PORTNAME?= percona -DISTVERSION= 5.6.27-75.0 +DISTVERSION= 5.6.29-76.2 PORTREVISION?= 0 CATEGORIES= databases ipv6 MASTER_SITES= http://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-${DISTVERSION}/source/tarball/ @@ -15,11 +15,13 @@ SLAVEDIRS= databases/percona56-client USES= bison cmake perl5 shebangfix -OPTIONS_DEFINE= OPENSSL FASTMTX INNODBMEMCACHED +OPTIONS_DEFINE= OPENSSL FASTMTX INNODBMEMCACHED TOKUDB OPTIONS_DEFAULT= OPENSSL INNODBMEMCACHED OPTIONS_SUB= yes FASTMTX_DESC= Replace mutexes with spinlocks INNODBMEMCACHED_DESC= InnoDB Memcached plugin +TOKUDB_DESC= TokuDB Engine (experimental) +TOKUDB_EXTRA_PATCHES=${PATCHDIR}/extra-tokudb.patch INNODBMEMCACHED_CMAKE_ON=-DWITH_INNODB_MEMCACHED=1 DATADIR= ${PREFIX}/share/mysql @@ -60,6 +62,13 @@ # MySQL-Server part .if !defined(CLIENT_ONLY) +.if ${PORT_OPTIONS:MTOKUDB} +CMAKE_ARGS+= -DUSE_CTAGS=0 +.if ${ARCH} != "amd64" +BROKEN= TokuDB engine does not compile on ${ARCH} +.endif +.endif + USE_MYSQL= yes WANT_MYSQL_VER= 56p Index: databases/percona56-server/distinfo =================================================================== --- databases/percona56-server/distinfo +++ databases/percona56-server/distinfo @@ -1,2 +1,2 @@ -SHA256 (percona-server-5.6.27-75.0.tar.gz) = 7dc4a4efadaee25e11fd78838f4ad2c0d7921ac9cc3b95068626f918c0add8d7 -SIZE (percona-server-5.6.27-75.0.tar.gz) = 54907367 +SHA256 (percona-server-5.6.29-76.2.tar.gz) = 23217feafc92222f313aeeb6e1806d110c35e50cf0b5f74510a9f8babe22e4b9 +SIZE (percona-server-5.6.29-76.2.tar.gz) = 55032788 Index: databases/percona56-server/files/extra-tokudb.patch =================================================================== --- /dev/null +++ databases/percona56-server/files/extra-tokudb.patch @@ -0,0 +1,62 @@ +--- storage/tokudb/CMakeLists.txt.orig 2016-03-03 15:32:33.000000000 +0200 ++++ storage/tokudb/CMakeLists.txt 2016-03-08 10:13:58.000000000 +0200 +@@ -1,6 +1,6 @@ + SET(TOKUDB_VERSION 5.6.29-76.2) + # PerconaFT only supports x86-64 and cmake-2.8.9+ +-IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND ++IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64" AND + NOT CMAKE_VERSION VERSION_LESS "2.8.9") + CHECK_CXX_SOURCE_COMPILES( + " +@@ -118,5 +118,5 @@ + tokudb_thread.cc) + MYSQL_ADD_PLUGIN(tokudb ${TOKUDB_SOURCES} STORAGE_ENGINE MODULE_ONLY + LINK_LIBRARIES tokufractaltree_static tokuportability_static ${ZLIB_LIBRARY} stdc++) +-SET(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} -flto -fuse-linker-plugin") +-SET(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO} -flto -fuse-linker-plugin") ++SET(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} ") ++SET(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO} ") +--- plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/CMakeLists.txt.orig 2016-03-03 15:31:53.000000000 +0200 ++++ plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/CMakeLists.txt 2016-03-10 11:13:23.772664272 +0200 +@@ -69,7 +69,7 @@ + endif () + endfunction(add_space_separated_property) + +-set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -flto -UNDEBUG") ++set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -UNDEBUG") + if (NOT CMAKE_CXX_COMPILER_ID MATCHES Clang) + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s") + endif () +--- plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/backup.cc.orig 2016-03-03 15:31:53.000000000 +0200 ++++ plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/backup.cc 2016-03-08 10:40:07.000000000 +0200 +@@ -85,7 +85,7 @@ + if (oflag & O_CREAT) { + va_list ap; + va_start(ap, oflag); +- mode_t mode = va_arg(ap, mode_t); ++ mode_t mode = va_arg(ap, int); + va_end(ap); + the_manager.lock_file_op(); + fd = call_real_open(file, oflag, mode); +--- plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/file_hash_table.cc.orig 2016-03-03 15:31:53.000000000 +0200 ++++ plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/file_hash_table.cc 2016-03-08 10:37:19.000000000 +0200 +@@ -36,7 +36,7 @@ + + #include + #include +-#include ++#include + #include + + #include "source_file.h" +--- plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/real_syscalls.cc.orig 2016-03-03 15:31:53.000000000 +0200 ++++ plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/real_syscalls.cc 2016-03-08 10:38:58.000000000 +0200 +@@ -104,7 +104,7 @@ + if (oflag & O_CREAT) { + va_list op; + va_start(op, oflag); +- mode_t mode = va_arg(op, mode_t); ++ mode_t mode = va_arg(op, int); + va_end(op); + return real_open(file, oflag, mode); + } else { Index: databases/percona56-server/files/mysql-server.in =================================================================== --- databases/percona56-server/files/mysql-server.in +++ databases/percona56-server/files/mysql-server.in @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD$ +# $FreeBSD: head/databases/percona56-server/files/mysql-server.in 349060 2014-03-24 20:17:52Z flo $ # # PROVIDE: mysql Index: databases/percona56-server/pkg-plist =================================================================== --- databases/percona56-server/pkg-plist +++ databases/percona56-server/pkg-plist @@ -23,12 +23,16 @@ bin/replace bin/resolve_stack_dump bin/resolveip +%%TOKUDB%%bin/tokuft_logprint +%%TOKUDB%%bin/tokuftdump +%%TOKUDB%%lib/mysql/libHotBackup.so lib/mysql/libmysqld.a lib/mysql/plugin/adt_null.so lib/mysql/plugin/audit_log.so lib/mysql/plugin/auth.so lib/mysql/plugin/auth_test_plugin.so lib/mysql/plugin/daemon_example.ini +%%TOKUDB%%lib/mysql/plugin/ha_tokudb.so lib/mysql/plugin/handlersocket.so %%INNODBMEMCACHED%%lib/mysql/plugin/innodb_engine.so lib/mysql/plugin/libdaemon_example.so @@ -45,6 +49,7 @@ lib/mysql/plugin/scalability_metrics.so lib/mysql/plugin/semisync_master.so lib/mysql/plugin/semisync_slave.so +%%TOKUDB%%lib/mysql/plugin/tokudb_backup.so lib/mysql/plugin/validate_password.so libexec/mysqld man/man1/my_print_defaults.1.gz @@ -74,6 +79,7 @@ man/man1/resolve_stack_dump.1.gz man/man1/resolveip.1.gz man/man8/mysqld.8.gz +%%TOKUDB%%share/doc/mysql/README_tokudb_backup %%DATADIR%%/binary-configure %%DATADIR%%/bulgarian/errmsg.sys %%DATADIR%%/charsets/Index.xml