aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/servers/sql/mariadb/galera/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/servers/sql/mariadb/galera/default.nix')
-rw-r--r--nixpkgs/pkgs/servers/sql/mariadb/galera/default.nix63
1 files changed, 63 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/sql/mariadb/galera/default.nix b/nixpkgs/pkgs/servers/sql/mariadb/galera/default.nix
new file mode 100644
index 00000000000..263a21983e2
--- /dev/null
+++ b/nixpkgs/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;
+ };
+}