about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers/sql/mariadb/connector-c/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/servers/sql/mariadb/connector-c/default.nix')
-rw-r--r--nixpkgs/pkgs/servers/sql/mariadb/connector-c/default.nix52
1 files changed, 52 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/sql/mariadb/connector-c/default.nix b/nixpkgs/pkgs/servers/sql/mariadb/connector-c/default.nix
new file mode 100644
index 000000000000..af344d637217
--- /dev/null
+++ b/nixpkgs/pkgs/servers/sql/mariadb/connector-c/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchurl, cmake
+, curl, openssl, zlib
+, libiconv
+, version, sha256, ...
+}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation {
+  pname = "mariadb-connector-c";
+  inherit version;
+
+  src = fetchurl {
+    urls = [
+      "https://downloads.mariadb.org/f/connector-c-${version}/mariadb-connector-c-${version}-src.tar.gz"
+      "https://downloads.mariadb.com/Connectors/c/connector-c-${version}/mariadb-connector-c-${version}-src.tar.gz"
+    ];
+    inherit sha256;
+  };
+
+  cmakeFlags = [
+    "-DMARIADB_UNIX_ADDR=/run/mysqld/mysqld.sock"
+    "-DWITH_CURL=ON"
+    "-DWITH_EXTERNAL_ZLIB=ON"
+    "-DWITH_MYSQLCOMPAT=ON"
+  ];
+
+  # The cmake setup-hook uses $out/lib by default, this is not the case here.
+  preConfigure = optionalString stdenv.isDarwin ''
+    cmakeFlagsArray+=("-DCMAKE_INSTALL_NAME_DIR=$out/lib/mariadb")
+  '';
+
+  nativeBuildInputs = [ cmake ];
+  propagatedBuildInputs = [ curl openssl zlib ];
+  buildInputs = [ libiconv ];
+
+  enableParallelBuilding = true;
+
+  postFixup = ''
+    ln -sv mariadb_config $out/bin/mysql_config
+    ln -sv mariadb $out/lib/mysql
+    ln -sv mariadb $out/include/mysql
+    ln -sv mariadb_version.h $out/include/mariadb/mysql_version.h
+  '';
+
+  meta = {
+    description = "Client library that can be used to connect to MySQL or MariaDB";
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ globin ];
+    platforms = platforms.all;
+  };
+}