diff options
author | Orivej Desh <orivej@gmx.fr> | 2018-06-12 20:41:41 +0000 |
---|---|---|
committer | Orivej Desh <orivej@gmx.fr> | 2018-06-12 20:41:41 +0000 |
commit | 7f3de607584bd21b5b2512e2551a9f13289b2d7a (patch) | |
tree | 6e5c9453cf25d10a3e2385a9764807d2c11179a3 /pkgs/servers/sql/mariadb/default.nix | |
parent | 2ed34da4cec1656f35d048a5075cf961251a9459 (diff) | |
parent | 4d5565e87e134ccdb9e245c1753b086e2b0a20e7 (diff) | |
download | nixlib-7f3de607584bd21b5b2512e2551a9f13289b2d7a.tar nixlib-7f3de607584bd21b5b2512e2551a9f13289b2d7a.tar.gz nixlib-7f3de607584bd21b5b2512e2551a9f13289b2d7a.tar.bz2 nixlib-7f3de607584bd21b5b2512e2551a9f13289b2d7a.tar.lz nixlib-7f3de607584bd21b5b2512e2551a9f13289b2d7a.tar.xz nixlib-7f3de607584bd21b5b2512e2551a9f13289b2d7a.tar.zst nixlib-7f3de607584bd21b5b2512e2551a9f13289b2d7a.zip |
Merge branch 'master' into staging
* master: (161 commits) pcsclite: clean up after #41790 tor: 0.3.3.6 -> 0.3.3.7 opae: init at 1.0.0 tinc: 1.0.33 -> 10.0.34 tinc_pre: 1.1pre15 -> 1.1pre16 sit: 0.3.2 -> 0.4.0 (#41863) platforms/raspberrypi: enable kernelAutoModules libupnp: 1.6.21 -> 1.8.3 (#41684) androidStudioPackages.{dev,canary}: 3.2.0.16 -> 3.2.0.17 tdesktop: 1.3.0 -> 1.3.7 gns3Packages.{server,gui}{Stable,Preview}: 2.1.6 -> 2.1.7 aws-sam-cli: init at 0.3.0 (#41877) nixos/nat: optional networking.nat.externalInterface (#41864) linux: 4.17 -> 4.17.1 linux: 4.16.14 -> 4.16.15 linux: 4.14.48 -> 4.14.49 nixos/unbound: add restart (#41885) maintainers/create-azure.sh: remove hydra.nixos.org as binary cache (#41883) gshogi: init at 0.5.1 (#41840) neovim: add missing libiconv ...
Diffstat (limited to 'pkgs/servers/sql/mariadb/default.nix')
-rw-r--r-- | pkgs/servers/sql/mariadb/default.nix | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index 064b6218a05c..4b254262f9f1 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -2,6 +2,7 @@ , libiconv, openssl, pcre, boost, judy, bison, libxml2 , libaio, libevent, groff, jemalloc, cracklib, systemd, numactl, perl , fixDarwinDylibNames, cctools, CoreServices +, asio, buildEnv, check, scons }: with stdenv.lib; @@ -12,6 +13,12 @@ mariadb = everything // { inherit client; # libmysqlclient.so in .out, necessary headers in .dev and utils in .bin server = everything; # a full single-output build, including everything in `client` again 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 @@ -150,6 +157,7 @@ everything = stdenv.mkDerivation (common // { "-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1" "-DWITHOUT_FEDERATED_STORAGE_ENGINE=1" "-DWITH_WSREP=ON" + "-DWITH_INNODB_DISALLOW_WRITES=ON" ] ++ stdenv.lib.optionals stdenv.isDarwin [ "-DWITHOUT_OQGRAPH_STORAGE_ENGINE=1" "-DWITHOUT_TOKUDB=1" @@ -159,6 +167,8 @@ everything = stdenv.mkDerivation (common // { rm -r "$out"/data # Don't need testing data rm "$out"/share/man/man1/mysql-test-run.pl.1 rm "$out"/bin/rcmysql + '' + optionalString (! stdenv.isDarwin) '' + sed -i 's/-mariadb/-mysql/' "$out"/bin/galera_new_cluster ''; CXXFLAGS = optionalString stdenv.isi686 "-fpermissive" @@ -206,4 +216,52 @@ connector-c = stdenv.mkDerivation rec { }; }; +galera = stdenv.mkDerivation rec { + name = "mariadb-galera-${version}"; + version = "25.3.23"; + + src = fetchurl { + url = "https://mirrors.nxthost.com/mariadb/mariadb-10.2.14/galera-${version}/src/galera-${version}.tar.gz"; + sha256 = "11pfc85z29jk0h6g6bmi3hdv4in4yb00xsr2r0qm1b0y7m2wq3ra"; + }; + + buildInputs = [ asio boost check openssl scons ]; + + patchPhase = '' + 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" + ''; + + buildPhase = '' + scons -j$NIX_BUILD_CORES ssl=1 system_asio=1 strict_build_flags=0 + ''; + + installPhase = '' + # copied with modifications from scripts/packages/freebsd.sh + GALERA_LICENSE_DIR="$share/licenses/${name}" + 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 |