# MariaDB - a database server that offers drop-in replacement functionality for MySQL.
# http://mariadb.org/

[buildout]
extends =
  ../cmake/buildout.cfg
  ../zlib/buildout.cfg
  ../groonga/buildout.cfg
  ../libaio/buildout.cfg
  ../libevent/buildout.cfg
  ../ncurses/buildout.cfg
  ../openssl/buildout.cfg
  ../pkgconfig/buildout.cfg
  ../readline/buildout.cfg

parts =
  mariadb

[mariadb-no_test-patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/${:filename}
md5sum = d65f61829cfbcd5062f49db2b00bd6fe
filename = mysql_create_system_tables__no_test.patch
download-only = true

[mariadb-handler_socket-patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/${:filename}
md5sum = be3bd5a5cc5fc56a398e6762494c8232
filename = plugin_handler_socket_libhsclient_fatal.patch
download-only = true

[mariadb]
recipe = hexagonit.recipe.cmmi
version = 5.3.5-ga
url = http://downloads.askmonty.org/f/mariadb-${:version}/kvm-tarbake-jaunty-x86/mariadb-${:version}.tar.gz/from/http:/ftp.osuosl.org/pub/mariadb
md5sum = 98ce0441b37c8d681855150495fdc03b
# compile directory is required to build mysql plugins.
keep-compile-dir = true
# configure: how to avoid searching for my.cnf?
#  - like in mysql part in http://svn.zope.org/zodbshootout/trunk/buildout.cfg?view=markup
# we use embeded yassl instead of openssl to avoid compilation errors on sphinx search engine.
configure-options =
  --prefix=${buildout:parts-directory}/${:_buildout_section_name_}
  --disable-static
  --enable-thread-safe-client
  --enable-local-infile
  --enable-assembler
  --with-pic
  --with-fast-mutexes
  --with-charset=utf8
  --with-extra-charsets=complex
  --with-collation=utf8_unicode_ci
  --with-big-tables
  --without-embedded-server
  --with-plugins=max-no-ndb
  --with-aria-tmp-tables
  --without-plugin-oqgraph
  --without-readline
  --with-ssl
  --with-libevent=${libevent:location}
  --with-zlib-dir=${zlib:location}

patch-options = -p0
patches =
  ${mariadb-no_test-patch:location}/${mariadb-no_test-patch:filename}
  ${mariadb-handler_socket-patch:location}/${mariadb-handler_socket-patch:filename}
environment =
  CPPFLAGS=-I${ncurses:location}/include -I${readline5:location}/include
  LDFLAGS=-Wl,-rpath=${libevent:location}/lib -L${ncurses:location}/lib -Wl,-rpath=${ncurses:location}/lib -L${readline5:location}/lib -Wl,-rpath=${readline5:location}/lib -Wl,-rpath=${zlib:location}/lib

[mroonga-mariadb]
recipe = hexagonit.recipe.cmmi
url = https://github.com/downloads/mroonga/mroonga/mroonga-2.00.tar.gz
md5sum = 49dab92863b5c3fa1d49344c73357ca2
configure-options =
  --with-mysql-source=${mariadb:location}__compile__/mariadb-${mariadb:version}
  --with-mysql-config=${mariadb:location}/bin/mysql_config
depends =
  ${mariadb:version}
environment =
  PATH=${groonga:location}/bin:${pkgconfig:location}/bin:%(PATH)s
  CPPFLAGS=-I${groonga:location}/include/groonga
  LDFLAGS=-L${groonga:location}/lib
  PKG_CONFIG_PATH=${groonga:location}/lib/pkgconfig

[mariadb-5.5-no_test-patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/${:filename}
md5sum = 14e6d713c16298a10f40d29f2b799aca
filename = mariadb_5.5_create_system_tables__no_test.patch
download-only = true

[mariadb-5.5]
recipe = hexagonit.recipe.cmmi
version = 5.5.20
url = http://downloads.askmonty.org/f/mariadb-${:version}/kvm-tarbake-jaunty-x86/mariadb-${:version}.tar.gz/from/http://ftp.osuosl.org/pub/mariadb
md5sum = e618343b5039fa468c0e1e6098785e3c
# compile directory is required to build mysql plugins.
keep-compile-dir = true
patch-options = -p0
patches =
  ${mariadb-5.5-no_test-patch:location}/${mariadb-5.5-no_test-patch:filename}
configure-command = ${cmake:location}/bin/cmake
configure-options =
  -DCMAKE_INSTALL_PREFIX=${buildout:parts-directory}/${:_buildout_section_name_}
  -DBUILD_CONFIG=mysql_release
  -DDEFAULT_CHARSET=utf8
  -DDEFAULT_COLLATION=utf8_unicode_ci
  -DWITH_SSL=system
  -DWITH_ZLIB=system
  -DWITH_READLINE=0
  -DWITH_PIC=1
  -DWITH_EXTRA_CHARSETS=complex
  -DWITH_EMBEDDED_SERVER=0
  -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
  -DWITHOUT_DAEMON_EXAMPLE=1
  -DWITH_SPHINX_STORAGE_ENGINE=1
  -DCMAKE_C_FLAGS="-I${libaio:location}/include -I${ncurses:location}/include -I${openssl:location}/include -I${readline5:location}/include -I${zlib:location}/include"
  -DCMAKE_INSTALL_RPATH=${libaio:location}/lib:${ncurses:location}/lib:${openssl:location}/lib:${readline5:location}/lib:${zlib:location}/lib
environment =
  CMAKE_PROGRAM_PATH=${cmake:location}/bin
  CMAKE_INCLUDE_PATH=${libaio:location}/include:${ncurses:location}/include:${openssl:location}/include:${readline5:location}/include:${zlib:location}/include
  CMAKE_LIBRARY_PATH=${libaio:location}/lib:${ncurses:location}/lib:${openssl:location}/lib:${readline5:location}/lib:${zlib:location}/lib
  LDFLAGS=-L${libaio:location}/lib

[mroonga-mariadb-5.5]
recipe = hexagonit.recipe.cmmi
url = https://github.com/downloads/mroonga/mroonga/mroonga-2.00.tar.gz
md5sum = 49dab92863b5c3fa1d49344c73357ca2
configure-options =
  --with-mysql-source=${mariadb-5.5:location}__compile__/mariadb-${mariadb-5.5:version}
  --with-mysql-config=${mariadb-5.5:location}/bin/mysql_config
depends =
  ${mariadb-5.5:version}
environment =
  PATH=${groonga:location}/bin:${pkgconfig:location}/bin:%(PATH)s
  CPPFLAGS=-I${groonga:location}/include/groonga
  LDFLAGS=-L${groonga:location}/lib
  PKG_CONFIG_PATH=${groonga:location}/lib/pkgconfig