opensmtpd.table-redis: init at 1.0.1

The opensmtpd-extra package has been deprecated in favor of standalone
repositories for each of the filters. Introduce table-redis, which is
one of these new standalone filters to read login info from a Redis
instance.

Building table-redis does not work out of the box: while the project
correctly includes the hiredis include directory, the header itself is
contained in a "hiredis/" subdirectory. Add a patch to fix this.
This commit is contained in:
Patrick Steinhardt
2025-04-28 13:26:53 +02:00
parent c7a567cd44
commit c45505b1aa
@@ -0,0 +1,54 @@
{
lib,
stdenv,
fetchFromGitHub,
autoconf,
automake,
hiredis,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "opensmtpd-table-redis";
version = "1.0.1";
src = fetchFromGitHub {
owner = "OpenSMTPD";
repo = "table-redis";
tag = finalAttrs.version;
hash = "sha256-eS/jzran7/j3xrFuEqTLam0pokD/LBl4v2s/1ferCqk=";
};
strictDeps = true;
buildInputs = [
hiredis
];
nativeBuildInputs = [
autoconf
automake
];
configureFlags = [
"--sysconfdir=/etc"
"--localstatedir=/var"
"--with-path-socket=/run"
"--with-path-pidfile=/run"
];
env.NIX_CFLAGS_COMPILE = "-I${hiredis}/include/hiredis";
preConfigure = ''
sh bootstrap
'';
meta = {
homepage = "https://www.opensmtpd.org/";
description = "ldap table for the OpenSMTPD mail server";
changelog = "https://github.com/OpenSMTPD/table-redis/releases/tag/${finalAttrs.version}";
license = lib.licenses.isc;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [
pks
];
};
})