]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - overlays/databases/mysql/default.nix
Add flake skeletons
[perso/Immae/Config/Nix.git] / overlays / databases / mysql / default.nix
1 self: super: rec {
2 mariadb_pam = super.mariadb_106.overrideAttrs(old: {
3 cmakeFlags = old.cmakeFlags ++ [ "-DWITH_AUTHENTICATION_PAM=ON" ];
4 buildInputs = old.buildInputs ++ [ self.pam ];
5 outputs = old.outputs ++ [ "dev" ];
6 passthru = old.passthru // { mysqlVersion = "5.7"; };
7 postInstall = ''
8 mkdir -p $dev $dev/lib $dev/share
9 cp -a $out/include $dev
10 cp -a $out/lib/{libmariadbclient.a,libmysqlclient.a,libmysqlclient_r.a,libmysqlservices.a} $dev/lib
11 cp -a $out/lib/pkgconfig $dev/lib
12 cp -a $out/share/aclocal $dev/share
13 '' + old.postInstall;
14 });
15 # This patched version includes C headers from the server part (see
16 # above). It seems to be required to build pam support in clients.
17 libmysqlclient_pam = super.libmysqlclient.overrideAttrs(old: {
18 prePatch = old.prePatch or "" + ''
19 sed -i -e '/define INCLUDE/s|"$| -I@CMAKE_SYSROOT@@CMAKE_INSTALL_PREFIX@/@INSTALL_INCLUDEDIR@/mysql/server -I@CMAKE_SYSROOT@@CMAKE_INSTALL_PREFIX@/@INSTALL_INCLUDEDIR@/mysql/server/private"|' mariadb_config/mariadb_config.c.in
20 '';
21 postInstall = old.postInstall or "" + ''
22 cp -a ${mariadb_pam.dev}/include/* $out/include/mariadb
23 '';
24 });
25 }