diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index 76a7755f395..97b7a90892a 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -32,8 +32,8 @@ common = rec { # attributes common to both builds nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ - ncurses openssl zlib pcre - ] ++ stdenv.lib.optionals stdenv.isLinux [ jemalloc libaio systemd ] + ncurses openssl zlib pcre jemalloc + ] ++ stdenv.lib.optionals stdenv.isLinux [ libaio systemd ] ++ stdenv.lib.optionals stdenv.isDarwin [ perl fixDarwinDylibNames cctools CoreServices ]; cmakeFlags = [ @@ -49,9 +49,18 @@ common = rec { # attributes common to both builds "-DWITH_ZLIB=system" "-DWITH_SSL=system" "-DWITH_PCRE=system" + + # On Darwin without sandbox, CMake will find the system java and attempt to build with java support, but + # then it will fail during the actual build. Let's just disable the flag explicitly until someone decides + # to pass in java explicitly. This should have no effect on Linux. + "-DCONNECT_WITH_JDBC=OFF" + + # Same as above. Somehow on Darwin CMake decides that we support GSS even though we aren't provding the + # library through Nix, and then breaks later on. This should have no effect on Linux. + "-DPLUGIN_AUTH_GSSAPI=NO" + "-DPLUGIN_AUTH_GSSAPI_CLIENT=NO" ] ++ optional stdenv.isDarwin "-DCURSES_LIBRARY=${ncurses.out}/lib/libncurses.dylib" - ++ optional (!stdenv.isLinux) "-DWITH_JEMALLOC=no" # bad build at least on Darwin ; preConfigure = ''