mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-26 17:03:01 +00:00
Merge pull request #84087 from Izorkin/mariadb-tokudb
mariadb: update build configuration.
This commit is contained in:
commit
44c20fb83e
@ -757,6 +757,12 @@ auth required pam_succeed_if.so uid >= 1000 quiet
|
|||||||
</warning>
|
</warning>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The TokuDB storage engine will be disabled in <package>mariadb</package> 10.5. It is recommended to switch
|
||||||
|
to RocksDB. See also <link xlink:href="https://mariadb.com/kb/en/tokudb/">TokuDB</link>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -1,9 +1,12 @@
|
|||||||
{ stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, makeWrapper, ncurses, zlib, xz, lzo, lz4, bzip2, snappy
|
{ stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, makeWrapper, ncurses
|
||||||
, libiconv, openssl, pcre, boost, judy, bison, libxml2, libkrb5, linux-pam, curl
|
, libiconv, openssl, pcre, boost, judy, bison, libxml2, libkrb5, linux-pam, curl
|
||||||
, libaio, libevent, jemalloc, cracklib, systemd, perl
|
, libaio, libevent, jemalloc450, jemalloc, cracklib, systemd, perl
|
||||||
|
, bzip2, lz4, lzo, snappy, xz, zlib, zstd
|
||||||
, fixDarwinDylibNames, cctools, CoreServices, less
|
, fixDarwinDylibNames, cctools, CoreServices, less
|
||||||
, numactl # NUMA Support
|
, numactl # NUMA Support
|
||||||
, withStorageMroonga ? true, kytea, msgpack, zeromq
|
, withStorageMroonga ? true, kytea, msgpack, zeromq
|
||||||
|
, withStorageRocks ? true
|
||||||
|
, withStorageToku ? true
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
@ -34,9 +37,11 @@ common = rec { # attributes common to both builds
|
|||||||
nativeBuildInputs = [ cmake pkgconfig ];
|
nativeBuildInputs = [ cmake pkgconfig ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
ncurses openssl zlib pcre jemalloc libiconv curl
|
ncurses openssl zlib pcre libiconv curl
|
||||||
] ++ optionals stdenv.hostPlatform.isLinux [ libaio systemd libkrb5 ]
|
] ++ 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 = ''
|
prePatch = ''
|
||||||
sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt
|
sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt
|
||||||
@ -80,8 +85,6 @@ common = rec { # attributes common to both builds
|
|||||||
# to pass in java explicitly.
|
# to pass in java explicitly.
|
||||||
"-DCONNECT_WITH_JDBC=OFF"
|
"-DCONNECT_WITH_JDBC=OFF"
|
||||||
"-DCURSES_LIBRARY=${ncurses.out}/lib/libncurses.dylib"
|
"-DCURSES_LIBRARY=${ncurses.out}/lib/libncurses.dylib"
|
||||||
] ++ optionals stdenv.hostPlatform.isMusl [
|
|
||||||
"-DWITHOUT_TOKUDB=1" # mariadb docs say disable this for musl
|
|
||||||
];
|
];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
@ -99,6 +102,7 @@ common = rec { # attributes common to both builds
|
|||||||
passthru.mysqlVersion = "5.7";
|
passthru.mysqlVersion = "5.7";
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|
||||||
description = "An enhanced, drop-in replacement for MySQL";
|
description = "An enhanced, drop-in replacement for MySQL";
|
||||||
homepage = https://mariadb.org/;
|
homepage = https://mariadb.org/;
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
@ -138,11 +142,11 @@ server = stdenv.mkDerivation (common // {
|
|||||||
|
|
||||||
outputs = [ "out" "man" ];
|
outputs = [ "out" "man" ];
|
||||||
|
|
||||||
nativeBuildInputs = common.nativeBuildInputs ++ [ bison ] ++ optional (!stdenv.hostPlatform.isDarwin) makeWrapper;
|
nativeBuildInputs = common.nativeBuildInputs ++ [ bison boost.dev ] ++ optional (!stdenv.hostPlatform.isDarwin) makeWrapper;
|
||||||
|
|
||||||
buildInputs = common.buildInputs ++ [
|
buildInputs = common.buildInputs ++ [
|
||||||
xz lzo lz4 bzip2 snappy
|
bzip2 lz4 lzo snappy xz zstd
|
||||||
libxml2 boost judy libevent cracklib
|
libxml2 judy libevent cracklib
|
||||||
] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) numactl
|
] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) numactl
|
||||||
++ optionals withStorageMroonga [ kytea msgpack zeromq ]
|
++ optionals withStorageMroonga [ kytea msgpack zeromq ]
|
||||||
++ optional stdenv.hostPlatform.isLinux linux-pam
|
++ optional stdenv.hostPlatform.isLinux linux-pam
|
||||||
@ -166,10 +170,17 @@ server = stdenv.mkDerivation (common // {
|
|||||||
] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) [
|
] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) [
|
||||||
"-DWITH_NUMA=ON"
|
"-DWITH_NUMA=ON"
|
||||||
] ++ optional (!withStorageMroonga) [
|
] ++ optional (!withStorageMroonga) [
|
||||||
"-DWITHOUT_MROONGA=ON"
|
"-DWITHOUT_MROONGA=1"
|
||||||
] ++ optionals stdenv.hostPlatform.isDarwin [
|
] ++ optional (!withStorageRocks) [
|
||||||
"-DWITHOUT_OQGRAPH=1"
|
"-DWITHOUT_ROCKSDB=1"
|
||||||
|
] ++ optional (!stdenv.hostPlatform.isDarwin && withStorageRocks) [
|
||||||
|
"-DWITH_ROCKSDB_JEMALLOC=ON"
|
||||||
|
] ++ optional (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isMusl || !withStorageToku) [
|
||||||
"-DWITHOUT_TOKUDB=1"
|
"-DWITHOUT_TOKUDB=1"
|
||||||
|
] ++ optional (!stdenv.hostPlatform.isDarwin && withStorageToku) [
|
||||||
|
"-DWITH_JEMALLOC=static"
|
||||||
|
] ++ optional stdenv.hostPlatform.isDarwin [
|
||||||
|
"-DWITHOUT_OQGRAPH=1"
|
||||||
];
|
];
|
||||||
|
|
||||||
preConfigure = optionalString (!stdenv.hostPlatform.isDarwin) ''
|
preConfigure = optionalString (!stdenv.hostPlatform.isDarwin) ''
|
||||||
|
@ -15767,7 +15767,7 @@ in
|
|||||||
mariadb = callPackage ../servers/sql/mariadb {
|
mariadb = callPackage ../servers/sql/mariadb {
|
||||||
# As per mariadb's cmake, "static jemalloc_pic.a can only be used up to jemalloc 4".
|
# As per mariadb's cmake, "static jemalloc_pic.a can only be used up to jemalloc 4".
|
||||||
# https://jira.mariadb.org/browse/MDEV-15034
|
# https://jira.mariadb.org/browse/MDEV-15034
|
||||||
jemalloc = jemalloc450.override ({ disableInitExecTls = true; });
|
jemalloc450 = jemalloc450.override ({ disableInitExecTls = true; });
|
||||||
inherit (darwin) cctools;
|
inherit (darwin) cctools;
|
||||||
inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;
|
inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user