self: super: rec {
- mariadb = mariadbPAM;
- mariadbPAM = super.mariadb.overrideAttrs(old: {
+ mariadb_pam = super.mariadb.overrideAttrs(old: {
cmakeFlags = old.cmakeFlags ++ [ "-DWITH_AUTHENTICATION_PAM=ON" ];
buildInputs = old.buildInputs ++ [ self.pam ];
+ outputs = old.outputs ++ [ "dev" ];
+ postInstall = ''
+ mkdir -p $dev $dev/lib $dev/share
+ cp -a $out/include $dev
+ cp -a $out/lib/{libmariadbclient.a,libmysqlclient.a,libmysqlclient_r.a,libmysqlservices.a} $dev/lib
+ cp -a $out/lib/pkgconfig $dev/lib
+ cp -a $out/share/aclocal $dev/share
+ '' + old.postInstall;
+ });
+ # This patched version includes C headers from the server part (see
+ # above). It seems to be required to build pam support in clients.
+ libmysqlclient_pam = super.libmysqlclient.overrideAttrs(old: {
+ prePatch = old.prePatch or "" + ''
+ 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
+ '';
+ postInstall = old.postInstall or "" + ''
+ cp -a ${mariadb_pam.dev}/include/* $out/include/mariadb
+ '';
});
}