From 6e9ab4749be2b0fc6dafcf62a02795000873078b Mon Sep 17 00:00:00 2001 From: Florian Smeets Date: Thu, 7 Mar 2013 20:22:40 +0000 Subject: [PATCH] Change this port to be more in line with databases/mariadb-server - Add support for [Open]SSL choice - bundled, system, ports - Add support for OQGRAPH, PBXT storage engines - Add MAXKEY options (should stay on if you want your data to be compatible with all the other mysql ports in the ports tree) - Minor fix of patch-sql_CMakeLists.txt PR: ports/176405 Submitted by: Alexandr Kovalenko --- databases/mariadb55-server/Makefile | 52 +++++++++++++++++-- ...are.h => extra-patch-include_my_compare.h} | 0 .../files/patch-sql_CMakeLists.txt | 2 +- .../patch-storage_oqgraph_CMakeLists.txt | 10 ++++ databases/mariadb55-server/pkg-plist | 2 +- 5 files changed, 60 insertions(+), 6 deletions(-) rename databases/mariadb55-server/files/{patch-include_my_compare.h => extra-patch-include_my_compare.h} (100%) create mode 100644 databases/mariadb55-server/files/patch-storage_oqgraph_CMakeLists.txt diff --git a/databases/mariadb55-server/Makefile b/databases/mariadb55-server/Makefile index 8f89da6deec4..8bb74f1c5de2 100644 --- a/databases/mariadb55-server/Makefile +++ b/databases/mariadb55-server/Makefile @@ -2,7 +2,7 @@ PORTNAME?= mariadb PORTVERSION= 5.5.29 -PORTREVISION?= 0 +PORTREVISION?= 1 CATEGORIES= databases ipv6 MASTER_SITES= http://ftp.osuosl.org/pub/mariadb/${PORTNAME}-${PORTVERSION}/kvm-tarbake-jaunty-x86/ \ http://mirrors.supportex.net/mariadb/${PORTNAME}-${PORTVERSION}/kvm-tarbake-jaunty-x86/ \ @@ -23,10 +23,12 @@ USE_CMAKE= yes MAKE_JOBS_SAFE= yes NO_OPTIONS_SORT=yes -OPTIONS_DEFINE= SSL FASTMTX -OPTIONS_DEFAULT=SSL +OPTIONS_DEFINE+= SSL OPENSSL PORTSSL FASTMTX +OPTIONS_DEFAULT+= SSL FASTMTX_DESC= Replace mutexes with spinlocks +OPENSSL_DESC= Use OpenSSL instead of bundled yassl +PORTSSL_DESC= Use OpenSSL from port (requires OPENSSL to be set) CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql" \ -DINSTALL_DOCREADMEDIR="share/doc/mysql" \ @@ -53,11 +55,34 @@ CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql" \ DATADIR= ${PREFIX}/share/mysql USE_LDCONFIG= ${PREFIX}/lib/mysql +# MySQL-Server options +.if !defined(CLIENT_ONLY) +OPTIONS_DEFINE+= OQGRAPH PBXT MAXKEY + +OQGRAPH_DESC= Open Query Graph Computation engine +PBXT_DESC= MVCC-based transactional engine +MAXKEY_DESC= Change max key length from 1000 to 4000 + +OPTIONS_DEFAULT+= PBXT MAXKEY +.endif + .include .if ${PORT_OPTIONS:MSSL} +.if ${PORT_OPTIONS:MOPENSSL} +USE_OPENSSL= yes +.if empty(PORT_OPTIONS:MPORTSSL) +WITH_OPENSSL_BASE= yes +.else +WITH_OPENSSL_PORT= yes +.endif +CMAKE_ARGS+= -DWITH_SSL=yes +.else CMAKE_ARGS+= -DWITH_SSL=bundled .endif +.else +CMAKE_FLAGS+= -DWITH_SSL=no +.endif .if ${PORT_OPTIONS:MFASTMTX} CMAKE_ARGS+= -DWITH_FAST_MUTEXES=1 .endif @@ -86,12 +111,31 @@ MAN1= my_print_defaults.1 myisam_ftdump.1 myisamchk.1 myisamlog.1 myisampack.1 MAN8= mysqld.8 -CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON" +CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON" \ + -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 post-install: .if !defined(PACKAGE_BUILDING) @${CAT} ${PKGMESSAGE} .endif + +.if empty(PORT_OPTIONS:MOQGRAPH) +CMAKE_ARGS+= -DWITHOUT_OQGRAPH_STORAGE_ENGINE=1 +PLIST_SUB+= OQGRAPH="@comment " +.else +USE_GCC?= yes +CMAKE_ARGS+= -DWITH_OQGRAPH_STORAGE_ENGINE=1 +PLIST_SUB+= OQGRAPH="" +LIB_DEPENDS+= boost_system:${PORTSDIR}/devel/boost-libs +.endif +.if empty(PORT_OPTIONS:MPBXT) +CMAKE_ARGS+= -DWITHOUT_PBXT_STORAGE_ENGINE=1 +.else +CMAKE_ARGS+= -DWITH_PBXT_STORAGE_ENGINE=1 +.endif +.if ${PORT_OPTIONS:MMAXKEY} +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-include_my_compare.h +.endif .endif post-patch: diff --git a/databases/mariadb55-server/files/patch-include_my_compare.h b/databases/mariadb55-server/files/extra-patch-include_my_compare.h similarity index 100% rename from databases/mariadb55-server/files/patch-include_my_compare.h rename to databases/mariadb55-server/files/extra-patch-include_my_compare.h diff --git a/databases/mariadb55-server/files/patch-sql_CMakeLists.txt b/databases/mariadb55-server/files/patch-sql_CMakeLists.txt index 7ad301907c69..af5a85695bd6 100644 --- a/databases/mariadb55-server/files/patch-sql_CMakeLists.txt +++ b/databases/mariadb55-server/files/patch-sql_CMakeLists.txt @@ -2,9 +2,9 @@ +++ sql/CMakeLists.txt 2012-12-23 05:56:58.000000000 +0200 @@ -268,6 +268,7 @@ ++IF(FALSE) IF(INSTALL_LAYOUT STREQUAL "STANDALONE") -+IF(FALSE) # We need to create empty directories (data/test) the installation. # This does not work with current CPack due to http://www.cmake.org/Bug/view.php?id=8767 # Avoid completely empty directories and install dummy file instead. diff --git a/databases/mariadb55-server/files/patch-storage_oqgraph_CMakeLists.txt b/databases/mariadb55-server/files/patch-storage_oqgraph_CMakeLists.txt new file mode 100644 index 000000000000..32912a676f3f --- /dev/null +++ b/databases/mariadb55-server/files/patch-storage_oqgraph_CMakeLists.txt @@ -0,0 +1,10 @@ +--- storage/oqgraph/CMakeLists.txt.orig 2013-01-29 16:12:49.000000000 +0200 ++++ storage/oqgraph/CMakeLists.txt 2013-02-24 20:21:58.000000000 +0200 +@@ -3,6 +3,7 @@ + RETURN() + ENDIF() + INCLUDE_DIRECTORIES(BEFORE ${Boost_INCLUDE_DIRS}) ++SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${Boost_INCLUDE_DIRS}) + + IF(MSVC) + # lp:756966 OQGRAPH on Win64 does not compile diff --git a/databases/mariadb55-server/pkg-plist b/databases/mariadb55-server/pkg-plist index 15cc58680200..754b5f4cc892 100644 --- a/databases/mariadb55-server/pkg-plist +++ b/databases/mariadb55-server/pkg-plist @@ -41,10 +41,10 @@ lib/mysql/plugin/dialog_examples.so lib/mysql/plugin/feedback.so lib/mysql/plugin/ha_archive.so lib/mysql/plugin/ha_blackhole.so -lib/mysql/plugin/ha_example.so lib/mysql/plugin/ha_federated.so lib/mysql/plugin/ha_federatedx.so lib/mysql/plugin/ha_innodb.so +%%OQGRAPH%%lib/mysql/plugin/ha_oqgraph.so lib/mysql/plugin/ha_sphinx.so lib/mysql/plugin/handlersocket.so lib/mysql/plugin/libdaemon_example.so