aboutsummaryrefslogtreecommitdiff
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.nix54
1 files changed, 54 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 00000000000..cb873f4d5a0
--- /dev/null
+++ b/nixpkgs/pkgs/servers/sql/mariadb/connector-c/default.nix
@@ -0,0 +1,54 @@
+{ 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 = [
+ "-DWITH_EXTERNAL_ZLIB=ON"
+ "-DMARIADB_UNIX_ADDR=/run/mysqld/mysqld.sock"
+ "-DWITH_CURL=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 libmariadbclient.a $out/lib/mariadb/libmysqlclient.a
+ ln -sv libmariadbclient.a $out/lib/mariadb/libmysqlclient_r.a
+ ln -sv libmariadb.so $out/lib/mariadb/libmysqlclient.so
+ ln -sv libmariadb.so $out/lib/mariadb/libmysqlclient_r.so
+ '';
+
+ meta = {
+ description = "Client library that can be used to connect to MySQL or MariaDB";
+ license = licenses.lgpl21;
+ maintainers = with maintainers; [ globin ];
+ platforms = platforms.all;
+ };
+}