about summary refs log tree commit diff
path: root/pkgs/servers/sql/mariadb
diff options
context:
space:
mode:
authorIzorkin <izorkin@elven.pw>2020-04-01 16:51:30 +0300
committerIzorkin <izorkin@elven.pw>2020-04-02 18:05:04 +0300
commit0296e678cf58e944b1ba7c0a13ad7b89b0a190b4 (patch)
tree24addbc3169a7903fad8e944927a5036ac5a8931 /pkgs/servers/sql/mariadb
parentf75c11cfdfff3448623250e151cb47df70d4f224 (diff)
downloadnixlib-0296e678cf58e944b1ba7c0a13ad7b89b0a190b4.tar
nixlib-0296e678cf58e944b1ba7c0a13ad7b89b0a190b4.tar.gz
nixlib-0296e678cf58e944b1ba7c0a13ad7b89b0a190b4.tar.bz2
nixlib-0296e678cf58e944b1ba7c0a13ad7b89b0a190b4.tar.lz
nixlib-0296e678cf58e944b1ba7c0a13ad7b89b0a190b4.tar.xz
nixlib-0296e678cf58e944b1ba7c0a13ad7b89b0a190b4.tar.zst
nixlib-0296e678cf58e944b1ba7c0a13ad7b89b0a190b4.zip
mariadb: add option to build server without tokudb storage
Diffstat (limited to 'pkgs/servers/sql/mariadb')
-rw-r--r--pkgs/servers/sql/mariadb/default.nix21
1 files changed, 13 insertions, 8 deletions
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index 2b287c8f6ffd..1e9c087bb6e7 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -1,9 +1,10 @@
 { stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, makeWrapper, ncurses, zlib, xz, lzo, lz4, bzip2, snappy
 , libiconv, openssl, pcre, boost, judy, bison, libxml2, libkrb5, linux-pam, curl
-, libaio, libevent, jemalloc, cracklib, systemd, perl
+, libaio, libevent, jemalloc450, jemalloc, cracklib, systemd, perl
 , fixDarwinDylibNames, cctools, CoreServices, less
 , numactl # NUMA Support
 , withStorageMroonga ? true, kytea, msgpack, zeromq
+, withStorageToku ? true
 }:
 
 with stdenv.lib;
@@ -34,9 +35,11 @@ common = rec { # attributes common to both builds
   nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [
-    ncurses openssl zlib pcre jemalloc libiconv curl
+    ncurses openssl zlib pcre libiconv curl
   ] ++ optionals stdenv.hostPlatform.isLinux [ libaio systemd libkrb5 ]
-    ++ optionals stdenv.hostPlatform.isDarwin [ perl fixDarwinDylibNames cctools CoreServices ];
+    ++ optionals stdenv.hostPlatform.isDarwin [ perl fixDarwinDylibNames cctools CoreServices ]
+    ++ optional (!stdenv.hostPlatform.isDarwin && withStorageToku) [ jemalloc450 ]
+    ++ optional (!stdenv.hostPlatform.isDarwin && !withStorageToku) [ jemalloc ];
 
   prePatch = ''
     sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt
@@ -80,8 +83,6 @@ common = rec { # attributes common to both builds
     # to pass in java explicitly.
     "-DCONNECT_WITH_JDBC=OFF"
     "-DCURSES_LIBRARY=${ncurses.out}/lib/libncurses.dylib"
-  ] ++ optionals stdenv.hostPlatform.isMusl [
-    "-DWITHOUT_TOKUDB=1" # mariadb docs say disable this for musl
   ];
 
   postInstall = ''
@@ -99,6 +100,7 @@ common = rec { # attributes common to both builds
   passthru.mysqlVersion = "5.7";
 
   meta = {
+
     description = "An enhanced, drop-in replacement for MySQL";
     homepage    = https://mariadb.org/;
     license     = licenses.gpl2;
@@ -166,10 +168,13 @@ server = stdenv.mkDerivation (common // {
   ] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) [
     "-DWITH_NUMA=ON"
   ] ++ optional (!withStorageMroonga) [
-    "-DWITHOUT_MROONGA=ON"
-  ] ++ optionals stdenv.hostPlatform.isDarwin [
-    "-DWITHOUT_OQGRAPH=1"
+    "-DWITHOUT_MROONGA=1"
+  ] ++ optional (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isMusl || !withStorageToku) [
     "-DWITHOUT_TOKUDB=1"
+  ] ++ optional (!stdenv.hostPlatform.isDarwin && withStorageToku) [
+    "-DWITH_JEMALLOC=static"
+  ] ++ optional stdenv.hostPlatform.isDarwin [
+    "-DWITHOUT_OQGRAPH=1"
   ];
 
   preConfigure = optionalString (!stdenv.hostPlatform.isDarwin) ''