buildout.cfg 4.86 KB
Newer Older
1 2 3 4 5
# MariaDB - a database server that offers drop-in replacement functionality for MySQL.
# http://mariadb.org/

[buildout]
extends =
6
  ../bzip2/buildout.cfg
7
  ../cmake/buildout.cfg
8
  ../groonga/buildout.cfg
9
  ../jemalloc/buildout.cfg
10
  ../libaio/buildout.cfg
11
  ../libxml2/buildout.cfg
Łukasz Nowak's avatar
Łukasz Nowak committed
12
  ../ncurses/buildout.cfg
13
  ../openssl/buildout.cfg
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
14
  ../patch/buildout.cfg
15
  ../pkgconfig/buildout.cfg
Łukasz Nowak's avatar
Łukasz Nowak committed
16
  ../readline/buildout.cfg
17
  ../xz-utils/buildout.cfg
18
  ../zlib/buildout.cfg
19 20 21
# The following lines are only for mariarocks.cfg
# to be extended last without touching 'parts'.
  ../gcc/buildout.cfg
22
  ../zstd/buildout.cfg
23 24 25 26

parts =
  mariadb

27
[mariadb]
28
recipe = slapos.recipe.cmmi
29 30 31
url = https://downloads.mariadb.org/f/mariadb-${:version}/source/mariadb-${:version}.tar.gz/from/http%3A//fr.mirror.babylon.network/mariadb/?serve
version = 10.1.29
md5sum = 6d2cc6b0f8c5c7525e08aaddad8dca96
32 33 34
patch-options = -p0
patches =
  ${:_profile_base_location_}/mariadb_10.1.21_create_system_tables__no_test.patch#3c76aa9564a162f13aced7c0a3f783b3
35 36
  ${:stable-patches}
stable-patches =
37
location = ${buildout:parts-directory}/${:_buildout_section_name_}
38 39
configure-command = ${cmake:location}/bin/cmake
configure-options =
40
  -DCMAKE_INSTALL_PREFIX=${:location}
41 42 43 44 45 46 47
  -DBUILD_CONFIG=mysql_release
  -DDEFAULT_CHARSET=utf8
  -DDEFAULT_COLLATION=utf8_unicode_ci
  -DWITH_SSL=system
  -DWITH_ZLIB=system
  -DWITH_READLINE=0
  -DWITH_PIC=1
48
  -DWITH_PCRE=bundled
49
  -DENABLE_DTRACE=0
50 51
  -DWITH_EXTRA_CHARSETS=complex
  -DWITH_EMBEDDED_SERVER=0
52
  -DWITH_JEMALLOC=yes
53
  -DWITH_INNODB_BZIP2=ON
54 55 56 57 58
  -DWITH_INNODB_LZ4=OFF
  -DWITH_INNODB_LZMA=ON
  -DWITH_INNODB_LZO=OFF
  -DWITH_INNODB_SNAPPY=OFF
  -DWITH_SAFEMALLOC=OFF
59 60 61
  -DPLUGIN_DAEMON_EXAMPLE=NO
  -DPLUGIN_EXAMPLE=NO
  -DPLUGIN_MROONGA=NO
62 63 64
  -DCMAKE_C_FLAGS="${:CMAKE_CFLAGS}"
  -DCMAKE_CXX_FLAGS="${:CMAKE_CFLAGS}"
  -DCMAKE_INSTALL_RPATH=${:CMAKE_LIBRARY_PATH}
65 66
CMAKE_CFLAGS = -I${bzip2:location}/include -I${jemalloc:location}/include -I${libaio:location}/include -I${libxml2:location}/include -I${ncurses:location}/include -I${openssl:location}/include -I${readline5:location}/include -I${xz-utils:location}/include -I${zlib:location}/include ${:extra_cflags}
CMAKE_LIBRARY_PATH = ${bzip2:location}/lib:${jemalloc:location}/lib:${libaio:location}/lib:${libxml2:location}/lib:${ncurses:location}/lib:${openssl:location}/lib:${readline5:location}/lib:${xz-utils:location}/lib:${zlib:location}/lib${:extra_library_path}
67 68
extra_cflags =
extra_include_path =
69
extra_library_path =
70 71
environment =
  CMAKE_PROGRAM_PATH=${cmake:location}/bin
72
  CMAKE_INCLUDE_PATH=${bzip2:location}/include:${libaio:location}/include:${libaio:location}/include:${libxml2:location}/include:${ncurses:location}/include:${openssl:location}/include:${readline5:location}/include:${xz-utils:location}/include:${zlib:location}/include${:extra_include_path}
73
  CMAKE_LIBRARY_PATH=${:CMAKE_LIBRARY_PATH}
74
  LDFLAGS=-L${bzip2:location}/lib -L${jemalloc:location}/lib -L${libaio:location}/lib -L${xz-utils:location}/lib -L${zlib:location}/lib
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
75
  PATH=${patch:location}/bin:%(PATH)s
76 77 78
post-install =
  mkdir -p ${:location}/include/wsrep &&
  cp -p wsrep/wsrep_api.h ${:location}/include/wsrep
79

80
[mroonga-mariadb]
81 82
# mroonga - a storage engine for MySQL. It provides fast fulltext search feature to all MySQL users.
# http://mroonga.github.com/
83
recipe = slapos.recipe.cmmi
84 85
url = http://packages.groonga.org/source/mroonga/mroonga-7.05.tar.gz
md5sum = d289667a60a6aa78d8bc276ab61b2996
86 87 88
pre-configure = set -e
  rm -rf fake_mariadb_source
  mkdir -p fake_mariadb_source
89 90 91 92 93 94
  test -d ${mariadb:location}/include/mysql/server/private && (
    mkdir -p fake_mariadb_source/sql
    cp -a ${mariadb:location}/include/mysql/server/private/* fake_mariadb_source/sql
    cp -a ${mariadb:location}/include/mysql/server/*.h fake_mariadb_source/sql
    cp -a ${mariadb:location}/include/mysql/server/mysql fake_mariadb_source/sql
  ) || ln -s ${mariadb:location}/include/mysql/private fake_mariadb_source/sql
95 96 97
  cp -ar ${mariadb:location}/include fake_mariadb_source/include
  ! test -f fake_mariadb_source/include/mysql/mariadb_stmt.h ||
  sed -i -E -e '/^enum enum_(cursor|indicator)_type$/,/};/d' fake_mariadb_source/include/mysql/mariadb_stmt.h
98
configure-options =
99
  --with-mysql-source=fake_mariadb_source
100
  --with-mysql-config=${mariadb:location}/bin/mysql_config
101 102
  --disable-static
  --disable-document
103 104
patch-options = -p1
patches =
105 106
  ${:_profile_base_location_}/mroonga_boolean.patch#c818568fe35ca6a4298f18e575d962a0
  ${:_profile_base_location_}/1a910088ec55c61434029d8e1cc3c6192ac508d7.diff#a8b8df4dd870a1a269dfd9dc6941467b
107 108
pre-build =
  sed -i -e "s,${mariadb:location}/include,$(pwd)/fake_mariadb_source/include,g" Makefile */Makefile
109
environment =
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
110
  PATH=${groonga:location}/bin:${patch:location}/bin:${pkgconfig:location}/bin:%(PATH)s
111
  CPPFLAGS=-I${groonga:location}/include/groonga
112
  LDFLAGS=-L${groonga:location}/lib
113
  PKG_CONFIG_PATH=${groonga:location}/lib/pkgconfig:${groonga-normalizer-mysql:location}/lib/pkgconfig