diff options
Diffstat (limited to 'pkgs/servers/sql/mariadb')
-rw-r--r-- | pkgs/servers/sql/mariadb/connector-c/3_1.nix | 6 | ||||
-rw-r--r-- | pkgs/servers/sql/mariadb/connector-c/default.nix | 54 | ||||
-rw-r--r-- | pkgs/servers/sql/mariadb/default.nix | 98 | ||||
-rw-r--r-- | pkgs/servers/sql/mariadb/galera/25.nix | 6 | ||||
-rw-r--r-- | pkgs/servers/sql/mariadb/galera/default.nix | 63 |
5 files changed, 129 insertions, 98 deletions
diff --git a/pkgs/servers/sql/mariadb/connector-c/3_1.nix b/pkgs/servers/sql/mariadb/connector-c/3_1.nix new file mode 100644 index 000000000000..c8bc4858f719 --- /dev/null +++ b/pkgs/servers/sql/mariadb/connector-c/3_1.nix @@ -0,0 +1,6 @@ +{ callPackage, ... } @ args: + +callPackage ./. (args // { + version = "3.1.2"; + sha256 = "0pgz8m8d39mvj9wnjll6c83xvdl2h24273b3dkx0g5pxj7ga4shm"; +}) diff --git a/pkgs/servers/sql/mariadb/connector-c/default.nix b/pkgs/servers/sql/mariadb/connector-c/default.nix new file mode 100644 index 000000000000..0e0302685401 --- /dev/null +++ b/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" + "-DMYSQL_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; + }; +} diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index 15553055457c..2352d7c1088d 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -18,13 +18,6 @@ mytopEnv = perl.withPackages (p: with p; [ DataDumper DBDmysql DBI TermReadKey ] mariadb = server // { inherit client; # MariaDB Client server = server; # MariaDB Server - inherit connector-c; # libmysqlclient.so - inherit galera; -}; - -galeraLibs = buildEnv { - name = "galera-lib-inputs-united"; - paths = [ openssl.out boost check ]; }; common = rec { # attributes common to both builds @@ -218,95 +211,4 @@ server = stdenv.mkDerivation (common // { CXXFLAGS = optionalString stdenv.isi686 "-fpermissive"; }); - -connector-c = stdenv.mkDerivation rec { - pname = "mariadb-connector-c"; - version = "2.3.7"; - - src = fetchurl { - url = "https://downloads.mariadb.org/interstitial/connector-c-${version}/mariadb-connector-c-${version}-src.tar.gz/from/http%3A//nyc2.mirrors.digitalocean.com/mariadb/"; - sha256 = "13izi35vvxhiwl2dsnqrz75ciisy2s2k30giv7hrm01qlwnmiycl"; - name = "mariadb-connector-c-${version}-src.tar.gz"; - }; - - # outputs = [ "dev" "out" ]; FIXME: cmake variables don't allow that < 3.0 - cmakeFlags = [ - "-DWITH_EXTERNAL_ZLIB=ON" - "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock" - ]; - - # The cmake setup-hook uses $out/lib by default, this is not the case here. - preConfigure = stdenv.lib.optionalString stdenv.isDarwin '' - cmakeFlagsArray+=("-DCMAKE_INSTALL_NAME_DIR=$out/lib/mariadb") - ''; - - nativeBuildInputs = [ cmake ]; - propagatedBuildInputs = [ 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 - ''; - - meta = with stdenv.lib; { - description = "Client library that can be used to connect to MySQL or MariaDB"; - license = licenses.lgpl21; - maintainers = with maintainers; [ globin ]; - platforms = platforms.all; - }; -}; - -galera = stdenv.mkDerivation rec { - pname = "mariadb-galera"; - version = "25.3.26"; - - src = fetchFromGitHub { - owner = "codership"; - repo = "galera"; - rev = "release_${version}"; - sha256 = "0fs0c1px9lknf1a5wwb12z1hj7j7b6hsfjddggikvkdkrnr2xs1f"; - fetchSubmodules = true; - }; - - buildInputs = [ asio boost check openssl scons ]; - - postPatch = '' - substituteInPlace SConstruct \ - --replace "boost_library_path = '''" "boost_library_path = '${boost}/lib'" - ''; - - preConfigure = '' - export CPPFLAGS="-I${asio}/include -I${boost.dev}/include -I${check}/include -I${openssl.dev}/include" - export LIBPATH="${galeraLibs}/lib" - ''; - - sconsFlags = "ssl=1 system_asio=0 strict_build_flags=0"; - - installPhase = '' - # copied with modifications from scripts/packages/freebsd.sh - GALERA_LICENSE_DIR="$share/licenses/${pname}-${version}" - install -d $out/{bin,lib/galera,share/doc/galera,$GALERA_LICENSE_DIR} - install -m 555 "garb/garbd" "$out/bin/garbd" - install -m 444 "libgalera_smm.so" "$out/lib/galera/libgalera_smm.so" - install -m 444 "scripts/packages/README" "$out/share/doc/galera/" - install -m 444 "scripts/packages/README-MySQL" "$out/share/doc/galera/" - install -m 444 "scripts/packages/freebsd/LICENSE" "$out/$GALERA_LICENSE_DIR" - install -m 444 "LICENSE" "$out/$GALERA_LICENSE_DIR/GPLv2" - install -m 444 "asio/LICENSE_1_0.txt" "$out/$GALERA_LICENSE_DIR/LICENSE.asio" - install -m 444 "www.evanjones.ca/LICENSE" "$out/$GALERA_LICENSE_DIR/LICENSE.crc32c" - install -m 444 "chromium/LICENSE" "$out/$GALERA_LICENSE_DIR/LICENSE.chromium" - ''; - - meta = { - description = "Galera 3 wsrep provider library"; - homepage = http://galeracluster.com/; - license = licenses.lgpl2; - maintainers = with maintainers; [ izorkin ]; - platforms = platforms.all; - }; -}; in mariadb diff --git a/pkgs/servers/sql/mariadb/galera/25.nix b/pkgs/servers/sql/mariadb/galera/25.nix new file mode 100644 index 000000000000..2772d60e398b --- /dev/null +++ b/pkgs/servers/sql/mariadb/galera/25.nix @@ -0,0 +1,6 @@ +{ callPackage, ... } @ args: + +callPackage ./. (args // { + version = "25.3.27"; + sha256 = "143kzj0fmak1gdww4qkqmmliw8klxm6mwk5531748swlwm6gqr5q"; +}) diff --git a/pkgs/servers/sql/mariadb/galera/default.nix b/pkgs/servers/sql/mariadb/galera/default.nix new file mode 100644 index 000000000000..263a21983e26 --- /dev/null +++ b/pkgs/servers/sql/mariadb/galera/default.nix @@ -0,0 +1,63 @@ +{ stdenv, fetchFromGitHub, buildEnv +, asio, boost, check, openssl, scons +, version, sha256, ... +}: + +let + pname = "mariadb-galera"; + galeraLibs = buildEnv { + name = "galera-lib-inputs-united"; + paths = [ openssl.out boost check ]; + }; + +in stdenv.mkDerivation { + inherit pname; + inherit version; + + src = fetchFromGitHub { + owner = "codership"; + repo = "galera"; + rev = "release_${version}"; + inherit sha256; + fetchSubmodules = true; + }; + + buildInputs = [ asio boost check openssl scons ]; + + postPatch = '' + substituteInPlace SConstruct \ + --replace "boost_library_path = '''" "boost_library_path = '${boost}/lib'" + ''; + + preConfigure = '' + export CPPFLAGS="-I${asio}/include -I${boost.dev}/include -I${check}/include -I${openssl.dev}/include" + export LIBPATH="${galeraLibs}/lib" + ''; + + sconsFlags = "ssl=1 system_asio=1 strict_build_flags=0"; + + enableParallelBuilding = true; + + installPhase = '' + # copied with modifications from scripts/packages/freebsd.sh + GALERA_LICENSE_DIR="$share/licenses/${pname}" + install -d $out/{bin,lib/galera,share/doc/galera,$GALERA_LICENSE_DIR} + install -m 555 "garb/garbd" "$out/bin/garbd" + install -m 444 "libgalera_smm.so" "$out/lib/galera/libgalera_smm.so" + install -m 444 "scripts/packages/README" "$out/share/doc/galera/" + install -m 444 "scripts/packages/README-MySQL" "$out/share/doc/galera/" + install -m 444 "scripts/packages/freebsd/LICENSE" "$out/$GALERA_LICENSE_DIR" + install -m 444 "LICENSE" "$out/$GALERA_LICENSE_DIR/GPLv2" + install -m 444 "asio/LICENSE_1_0.txt" "$out/$GALERA_LICENSE_DIR/LICENSE.asio" + install -m 444 "www.evanjones.ca/LICENSE" "$out/$GALERA_LICENSE_DIR/LICENSE.crc32c" + install -m 444 "chromium/LICENSE" "$out/$GALERA_LICENSE_DIR/LICENSE.chromium" + ''; + + meta = with stdenv.lib; { + description = "Galera 3 wsrep provider library"; + homepage = http://galeracluster.com/; + license = licenses.lgpl2; + maintainers = with maintainers; [ izorkin ]; + platforms = platforms.all; + }; +} |