summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
authorDaiderd Jordan <daiderd@gmail.com>2018-01-06 11:17:59 +0100
committerRobin Gloster <mail@glob.in>2018-01-06 16:36:48 +0100
commit106d87b6c6c59918fe57924ceba8f8c5be5ada40 (patch)
treeaa1d8b91abb1f872c245ceb1393dffc72633e31d /pkgs/servers
parentcb506e6e2ed9133b43eb0c54699b8df4c9957cdf (diff)
downloadnixpkgs-106d87b6c6c59918fe57924ceba8f8c5be5ada40.tar
nixpkgs-106d87b6c6c59918fe57924ceba8f8c5be5ada40.tar.gz
nixpkgs-106d87b6c6c59918fe57924ceba8f8c5be5ada40.tar.bz2
nixpkgs-106d87b6c6c59918fe57924ceba8f8c5be5ada40.tar.lz
nixpkgs-106d87b6c6c59918fe57924ceba8f8c5be5ada40.tar.xz
nixpkgs-106d87b6c6c59918fe57924ceba8f8c5be5ada40.tar.zst
nixpkgs-106d87b6c6c59918fe57924ceba8f8c5be5ada40.zip
mariadb: fix darwin build
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/sql/mariadb/clang-isfinite.patch17
-rw-r--r--pkgs/servers/sql/mariadb/default.nix9
2 files changed, 23 insertions, 3 deletions
diff --git a/pkgs/servers/sql/mariadb/clang-isfinite.patch b/pkgs/servers/sql/mariadb/clang-isfinite.patch
new file mode 100644
index 00000000000..8da527d5784
--- /dev/null
+++ b/pkgs/servers/sql/mariadb/clang-isfinite.patch
@@ -0,0 +1,17 @@
+diff --git a/include/my_global.h b/include/my_global.h
+index cb31ae2..2866f87 100644
+--- a/include/my_global.h
++++ b/include/my_global.h
+@@ -803,12 +803,6 @@ inline unsigned long long my_double2ulonglong(double d)
+ #endif
+ 
+ #ifndef isfinite
+-#ifdef HAVE_FINITE
+-#define isfinite(x) finite(x)
+-#else
+-#define finite(x) (1.0 / fabs(x) > 0.0)
+-#endif /* HAVE_FINITE */
+-#elif (__cplusplus >= 201103L)
+ #include <cmath>
+ static inline bool isfinite(double x) { return std::isfinite(x); }
+ #endif /* isfinite */
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index e2c4133a379..547edafa8ad 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -34,7 +34,8 @@ common = rec { # attributes common to both builds
     sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt
   '';
 
-  patches = [ ./cmake-includedir.patch ];
+  patches = [ ./cmake-includedir.patch ]
+    ++ stdenv.lib.optional stdenv.cc.isClang ./clang-isfinite.patch;
 
   cmakeFlags = [
     "-DBUILD_CONFIG=mysql_release"
@@ -121,7 +122,8 @@ everything = stdenv.mkDerivation (common // {
   buildInputs = common.buildInputs ++ [
     xz lzo lz4 bzip2 snappy
     libxml2 boost judy libevent cracklib
-  ] ++ optionals (stdenv.isLinux && !stdenv.isArm) [ numactl ];
+  ] ++ optional (stdenv.isLinux && !stdenv.isArm) numactl
+    ++ optional stdenv.isDarwin libiconv;
 
   cmakeFlags = common.cmakeFlags ++ [
     "-DMYSQL_DATADIR=/var/lib/mysql"
@@ -159,7 +161,8 @@ everything = stdenv.mkDerivation (common // {
     rm "$out"/bin/rcmysql
   '';
 
-  CXXFLAGS = optionalString stdenv.isi686 "-fpermissive";
+  CXXFLAGS = optionalString stdenv.isi686 "-fpermissive"
+    + optionalString stdenv.isDarwin " -std=c++11";
 });
 
 connector-c = stdenv.mkDerivation rec {