diff --git a/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml index 860cb72bbf62..606add95f30b 100644 --- a/nixos/doc/manual/release-notes/rl-2003.xml +++ b/nixos/doc/manual/release-notes/rl-2003.xml @@ -757,6 +757,12 @@ auth required pam_succeed_if.so uid >= 1000 quiet + + + The TokuDB storage engine will be disabled in mariadb 10.5. It is recommended to switch + to RocksDB. See also TokuDB. + + diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index 2b287c8f6ffd..9c23da852f5b 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -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 -, libaio, libevent, jemalloc, cracklib, systemd, perl +, libaio, libevent, jemalloc450, jemalloc, cracklib, systemd, perl +, bzip2, lz4, lzo, snappy, xz, zlib, zstd , fixDarwinDylibNames, cctools, CoreServices, less , numactl # NUMA Support , withStorageMroonga ? true, kytea, msgpack, zeromq +, withStorageRocks ? true +, withStorageToku ? true }: with stdenv.lib; @@ -34,9 +37,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 +85,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 +102,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; @@ -138,11 +142,11 @@ server = stdenv.mkDerivation (common // { 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 ++ [ - xz lzo lz4 bzip2 snappy - libxml2 boost judy libevent cracklib + bzip2 lz4 lzo snappy xz zstd + libxml2 judy libevent cracklib ] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) numactl ++ optionals withStorageMroonga [ kytea msgpack zeromq ] ++ optional stdenv.hostPlatform.isLinux linux-pam @@ -166,10 +170,17 @@ 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 (!withStorageRocks) [ + "-DWITHOUT_ROCKSDB=1" + ] ++ optional (!stdenv.hostPlatform.isDarwin && withStorageRocks) [ + "-DWITH_ROCKSDB_JEMALLOC=ON" + ] ++ 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) '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3c93ce88ead1..3d8db3697f27 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15767,7 +15767,7 @@ in mariadb = callPackage ../servers/sql/mariadb { # As per mariadb's cmake, "static jemalloc_pic.a can only be used up to jemalloc 4". # https://jira.mariadb.org/browse/MDEV-15034 - jemalloc = jemalloc450.override ({ disableInitExecTls = true; }); + jemalloc450 = jemalloc450.override ({ disableInitExecTls = true; }); inherit (darwin) cctools; inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices; };