Index: head/databases/mariadb101-server/Makefile =================================================================== --- head/databases/mariadb101-server/Makefile (revision 410181) +++ head/databases/mariadb101-server/Makefile (revision 410182) @@ -1,163 +1,170 @@ # $FreeBSD$ PORTNAME?= mariadb PORTVERSION= 10.1.11 CATEGORIES= databases ipv6 MASTER_SITES= http://ftp.osuosl.org/pub/${SITESDIR}/ \ http://mirrors.supportex.net/${SITESDIR}/ \ http://mirror2.hs-esslingen.de/pub/Mirrors/${SITESDIR}/ \ http://gd.tuwien.ac.at/db/${SITESDIR}/ \ http://mirrors.fe.up.pt/pub/${SITESDIR}/ \ http://mirror.de.gsnw.de:56431/${SITESDIR}/ \ http://mirror.layerjet.com/${SITESDIR}/ \ http://mirror.switch.ch/mirror/${SITESDIR}/ PKGNAMESUFFIX?= 101-server MAINTAINER= brnrd@FreeBSD.org COMMENT?= Multithreaded SQL database (server) LICENSE= GPLv2 SUB_FILES= pkg-message PKGMESSAGE= ${WRKDIR}/pkg-message SLAVEDIRS= databases/mariadb101-client -USES= bison:build cmake cpe execinfo shebangfix +USES= bison:build cmake compiler:c++11-lib cpe execinfo shebangfix USE_LDCONFIG= ${PREFIX}/lib/mysql SHEBANG_FILES= scripts/*.sh SITESDIR= mariadb/mariadb-${PORTVERSION}/source OPTIONS_DEFINE= FASTMTX -OPTIONS_SINGLE= GSSAPI +OPTIONS_SINGLE= GSSAPI OPTIONS_SINGLE_GSSAPI= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT OPTIONS_DEFAULT= GSSAPI_BASE FASTMTX_DESC= Replace mutexes with spinlocks .if !defined(CLIENT_ONLY) # MySQL-Server options OPTIONS_DEFINE+= MAXKEY OPTIONS_DEFAULT+= MAXKEY SPHINX SPIDER OPTIONS_GROUP= ENGINES OPTIONS_GROUP_ENGINES= INNOBASE MROONGA OQGRAPH SPHINX SPIDER TOKUDB +OPTIONS_EXCLUDE_i386= TOKUDB ENGINES_DESC= Optional MariaDB storage engines INNOBASE_DESC= Build InnoDB engine next to XtraDB MAXKEY_DESC= Change max key length from 1000 to 4000 MROONGA_DESC= Mroonga Full Text Search engine OQGRAPH_DESC= Open Query Graph Computation engine (Requires GCC) SPHINX_DESC= SphinxSE engine SPIDER_DESC= Partitioning and XA-transactions engine TOKUDB_DESC= Fractal tree index tree data structure engine .endif GSSAPI_BASE_USES= gssapi GSSAPI_HEIMDAL_USES= gssapi:heimdal GSSAPI_MIT_USES= gssapi:mit CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql" \ -DINSTALL_DOCREADMEDIR="share/doc/mysql" \ -DINSTALL_INCLUDEDIR="include/mysql" \ -DINSTALL_INFODIR="info" \ -DINSTALL_LIBDIR="lib/mysql" \ -DINSTALL_MANDIR="man" \ -DINSTALL_MYSQLDATADIR="/var/db/mysql" \ -DINSTALL_MYSQLSHAREDIR="share/mysql" \ -DINSTALL_MYSQLTESTDIR= \ -DINSTALL_PLUGINDIR="lib/mysql/plugin" \ -DINSTALL_SBINDIR="libexec" \ -DINSTALL_SCRIPTDIR="bin" \ -DINSTALL_SHAREDIR="share" \ -DINSTALL_SQLBENCHDIR= \ -DINSTALL_SUPPORTFILESDIR="share/mysql" \ -DWITH_UNIT_TESTS=0 \ -DWITH_LIBWRAP=1 \ -DWITH_SSL=${OPENSSLBASE} \ -DKRB5_CONFIG=${KRB5CONFIG} \ -DEXECINFO_ROOT=${LOCALBASE} \ -DCOMPILATION_COMMENT="FreeBSD Ports" DATADIR= ${PREFIX}/share/mysql .ifdef USE_MYSQL .error You have `USE_MYSQL' variable defined either in environment or in make(1) arguments. This leads to a circular dependency. Please undefine and try again. .endif CONFLICTS_INSTALL= mariadb5*-${PKGNAMESUFFIX:C/^[0-9]*-//}-* \ mariadb10[02-9]-${PKGNAMESUFFIX:C/^[0-9]*-//}-* \ mysql[0-9]*-${PKGNAMESUFFIX:C/^[0-9]*-//}-* \ percona[0-9]*-${PKGNAMESUFFIX:C/^[0-9]*-//}-* USE_OPENSSL= yes FASTMTX_CMAKE_ON= -DWITH_FAST_MUTEXES=1 .if defined(CLIENT_ONLY) # MySQL-Client part USES+= readline .else # MySQL-Server part USE_MYSQL= yes WANT_MYSQL_VER= 101m OPTIONS_SUB= yes USE_LDCONFIG+= ${PREFIX}/lib/mysql/plugin USE_RC_SUBR= mysql-server USERS= mysql GROUPS= mysql CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON" \ -DCMAKE_SKIP_BUILD_RPATH:BOOL=YES \ -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 .for ENGINE in ${OPTIONS_GROUP_ENGINES} -${ENGINE}_CMAKE_OFF= -DWITHOUT_${ENGINE}=1 +${ENGINE}_CMAKE_OFF= -DPLUGIN_${ENGINE}=NO \ + -DWITHOUT_${ENGINE}=1 .endfor MAXKEY_EXTRA_PATCHES+= ${FILESDIR}/extra-patch-include_my__compare.h OQGRAPH_LIB_DEPENDS= libboost_system.so:${PORTSDIR}/devel/boost-libs \ libJudy.so:${PORTSDIR}/devel/judy # Currently OQGraph does not build using clang. # See See https://mariadb.atlassian.net/browse/MDEV-8051. OQGRAPH_USE= gcc=yes TOKUDB_LIB_DEPENDS= libsnappy.so:${PORTSDIR}/archivers/snappy +NOT_FOR_ARCHS= i386 +NOT_FOR_ARCHS_REASON= currently does not compile on i386, see \ + https://mariadb.atlassian.net/browse/MDEV-9627 + post-install: # Remove programs to avoid conflict with mariadb101-client # These are "client" components, so there should be a switch that # prevents them from being installed but it's unknown right now ${RM} ${STAGEDIR}${PREFIX}/bin/msql2mysql \ ${STAGEDIR}${PREFIX}/bin/mysql_config \ ${STAGEDIR}${PREFIX}/bin/mysql_find_rows \ ${STAGEDIR}${PREFIX}/bin/mysqlaccess ${RM} -r ${STAGEDIR}/${PREFIX}/share/mysql/policy \ ${STAGEDIR}/${PREFIX}/share/pkgconfig # See https://mariadb.atlassian.net/browse/MDEV-9529 ${RM} ${STAGEDIR}/${PREFIX}/bin/maria_add_gis_sp.sql .endif # defined(CLIENT_ONLY) -.include - -.if defined(WITH_OPENSSL_PORT) && ${PORT_OPTIONS:MGSSAPI_BASE} -IGNORE= GSSAPI_BASE is not compatible with OpenSSL from ports. Use other GSSAPI options or OpenSSL from base system +.if defined(WITH_OPENSSL_PORT) +GSSAPI_BASE_IGNORE= BASE_GSSAPI is not compatible with OpenSSL from ports. Use other GSSAPI options or OpenSSL from base system .endif .include .if ${OPSYS} == DragonFly CMAKE_ARGS+= -DWITHOUT_TOKUDB .endif .if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1000012 CMAKE_ARGS+= -DWITH_JEMALLOC="system" .else CMAKE_ARGS+= -DWITH_JEMALLOC="no" +.if ${PORT_OPTIONS:MGSSAPI_BASE} +IGNORE= requires a Kerberos implementation from ports on FreeBSD < 10. Select GSSAPI_HEIMDAL or GSSAPI_MIT option +.endif .endif post-patch: @${REINPLACE_CMD} 's/*.1/${MAN1}/' ${WRKSRC}/man/CMakeLists.txt @${REINPLACE_CMD} 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/mysys/my_default.c @${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/scripts/mysql_config.sh .if ${OPSYS} == DragonFly ${CP} ${WRKSRC}/cmake/os/FreeBSD.cmake \ ${WRKSRC}/cmake/os/DragonFly.cmake .endif .include Index: head/databases/mariadb101-server/files/patch-plugin_auth__gssapi_gssapi__server.cc =================================================================== --- head/databases/mariadb101-server/files/patch-plugin_auth__gssapi_gssapi__server.cc (revision 410181) +++ head/databases/mariadb101-server/files/patch-plugin_auth__gssapi_gssapi__server.cc (revision 410182) @@ -1,22 +1,23 @@ From 3d794d0ee8e0a5a7dfbd3b7de056c0a3ccb9aa81 Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub + Date: Wed, 6 Jan 2016 09:15:19 +0100 Subject: [PATCH] MDEV9494 Fix build for Heimdal Kerberos - --- + plugin/auth_gssapi/gssapi_server.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/auth_gssapi/gssapi_server.cc b/plugin/auth_gssapi/gssapi_server.cc index d325b2a..ed042a0 100644 ---- plugin/auth_gssapi/gssapi_server.cc.orig +--- plugin/auth_gssapi/gssapi_server.cc.orig 2016-01-28 12:12:51 UTC +++ plugin/auth_gssapi/gssapi_server.cc @@ -58,7 +58,7 @@ static char* get_default_principal_name() } /* Check for entry in keytab */ - if (krb5_kt_read_service_key(context, NULL, principal, 0, 0, &key)) + if (krb5_kt_read_service_key(context, NULL, principal, 0, (krb5_enctype)0, &key)) { sql_print_warning("GSSAPI plugin : default principal '%s' not found in keytab", unparsed_name); goto cleanup; Index: head/databases/mariadb101-server/files/patch-storage_tokudb_PerconaFT_buildheader_CMakeLists.txt =================================================================== --- head/databases/mariadb101-server/files/patch-storage_tokudb_PerconaFT_buildheader_CMakeLists.txt (revision 410181) +++ head/databases/mariadb101-server/files/patch-storage_tokudb_PerconaFT_buildheader_CMakeLists.txt (revision 410182) @@ -1,21 +1,29 @@ -Fix build failure due to Linuxisms (bash) +https://github.com/MariaDB/server/pull/157 ---- storage/tokudb/PerconaFT/buildheader/CMakeLists.txt.orig 2015-12-23 16:33:32.000000000 +0100 -+++ storage/tokudb/PerconaFT/buildheader/CMakeLists.txt 2016-01-03 15:09:21.941678309 +0100 +MDEV-9657 - Use /bin/sh #157 + +Sp1l commented Feb 27, 2016 + +Remove Linuxism. + +Works fine with a POSIX-compat shell + +--- storage/tokudb/PerconaFT/buildheader/CMakeLists.txt.orig 2016-01-28 12:12:55 UTC ++++ storage/tokudb/PerconaFT/buildheader/CMakeLists.txt @@ -1,6 +1,6 @@ set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "") -file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/runcat.sh" "#!/bin/bash +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/runcat.sh" "#!/bin/sh out=$1; shift exec \"$@\" >$out") @@ -8,7 +8,7 @@ add_executable(make_tdb make_tdb.cc) set_property(TARGET make_tdb APPEND PROPERTY COMPILE_DEFINITIONS _GNU_SOURCE) add_custom_command( OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/db.h" - COMMAND bash runcat.sh "${CMAKE_CURRENT_BINARY_DIR}/db.h" $ + COMMAND sh runcat.sh "${CMAKE_CURRENT_BINARY_DIR}/db.h" $ DEPENDS make_tdb) add_custom_target(install_tdb_h DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/db.h") Index: head/databases/mariadb101-server/files/patch-storage_tokudb_PerconaFT_cmake__modules_TokuThirdParty.cmake =================================================================== --- head/databases/mariadb101-server/files/patch-storage_tokudb_PerconaFT_cmake__modules_TokuThirdParty.cmake (revision 410181) +++ head/databases/mariadb101-server/files/patch-storage_tokudb_PerconaFT_cmake__modules_TokuThirdParty.cmake (revision 410182) @@ -1,37 +1,39 @@ ---- storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake.orig 2015-12-23 16:33:32.000000000 +0100 -+++ storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake 2016-01-10 22:34:14.059204126 +0100 +Do NOT use bundled libs, use xz/lzma from base and archivers/snappy from ports + +--- storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake.orig 2016-01-28 12:12:55 UTC ++++ storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake @@ -34,6 +34,13 @@ if (CMAKE_PROJECT_NAME STREQUAL TokuDB) endif () endif () +IF (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + include_directories("/usr/include") + + add_library(lzma SHARED IMPORTED) + set_target_properties(lzma PROPERTIES IMPORTED_LOCATION + "/usr/lib/liblzma.so") +ELSE() ## add lzma with an external project set(xz_configure_opts --with-pic --enable-static) if (APPLE) @@ -105,8 +112,15 @@ add_library(lzma STATIC IMPORTED) set_target_properties(lzma PROPERTIES IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz/lib/liblzma.a") add_dependencies(lzma build_lzma) +ENDIF() +IF (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + include_directories("/usr/local/include") + add_library(snappy SHARED IMPORTED) + set_target_properties(snappy PROPERTIES IMPORTED_LOCATION + "/usr/local/lib/libsnappy.so") +ELSE() ## add snappy with an external project set(SNAPPY_SOURCE_DIR "${TokuDB_SOURCE_DIR}/third_party/snappy-1.1.2" CACHE FILEPATH "Where to find sources for snappy.") if (NOT EXISTS "${SNAPPY_SOURCE_DIR}/CMakeLists.txt") @@ -140,3 +154,4 @@ add_library(snappy STATIC IMPORTED) set_target_properties(snappy PROPERTIES IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/snappy/lib/libsnappy.a") add_dependencies(snappy build_snappy) +ENDIF()