diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 2de240577e05..0e06f50e742e 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -18286,6 +18286,13 @@ ]; matrix = "@normalcea:matrix.org"; }; + norpol = { + name = "Syd Lightyear"; + email = "norpol+nixpkgs@exaple.org"; + matrix = "@phileas:asra.gr"; + github = "norpol"; + githubId = 98636020; + }; nosewings = { name = "Nicholas Coltharp"; email = "coltharpnicholas@gmail.com"; diff --git a/nixos/modules/services/mail/stalwart-mail.nix b/nixos/modules/services/mail/stalwart-mail.nix index e053bd9400c4..9975bcc56672 100644 --- a/nixos/modules/services/mail/stalwart-mail.nix +++ b/nixos/modules/services/mail/stalwart-mail.nix @@ -107,7 +107,7 @@ in resolver.public-suffix = lib.mkDefault [ "file://${pkgs.publicsuffix-list}/share/publicsuffix/public_suffix_list.dat" ]; - spam-filter.resource = lib.mkDefault "file://${cfg.package}/etc/stalwart/spamfilter.toml"; + spam-filter.resource = lib.mkDefault "file://${cfg.package.spam-filter}/spam-filter.toml"; webadmin = let hasHttpListener = builtins.any (listener: listener.protocol == "http") ( @@ -232,6 +232,7 @@ in happysalada euxane onny + norpol ]; }; } diff --git a/pkgs/by-name/st/stalwart-mail/package.nix b/pkgs/by-name/st/stalwart-mail/package.nix index 472a7824561a..8af1fadd963a 100644 --- a/pkgs/by-name/st/stalwart-mail/package.nix +++ b/pkgs/by-name/st/stalwart-mail/package.nix @@ -162,6 +162,7 @@ rustPlatform.buildRustPackage (finalAttrs: { passthru = { inherit rocksdb; # make used rocksdb version available (e.g., for backup scripts) webadmin = callPackage ./webadmin.nix { }; + spam-filter = callPackage ./spam-filter.nix { }; updateScript = nix-update-script { }; tests.stalwart-mail = nixosTests.stalwart-mail; }; @@ -187,6 +188,7 @@ rustPlatform.buildRustPackage (finalAttrs: { onny oddlama pandapip1 + norpol ]; }; }) diff --git a/pkgs/by-name/st/stalwart-mail/spam-filter.nix b/pkgs/by-name/st/stalwart-mail/spam-filter.nix new file mode 100644 index 000000000000..d0ca6c60b5af --- /dev/null +++ b/pkgs/by-name/st/stalwart-mail/spam-filter.nix @@ -0,0 +1,43 @@ +{ + lib, + fetchFromGitHub, + stdenv, + stalwart-mail, + nix-update-script, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "spam-filter"; + version = "2.0.3"; + + src = fetchFromGitHub { + owner = "stalwartlabs"; + repo = "spam-filter"; + tag = "v${finalAttrs.version}"; + hash = "sha256-NhD/qUiGhgESwR2IOzAHfDATRlgWMcCktlktvVfDONk="; + }; + + buildPhase = '' + bash ./build.sh + ''; + + installPhase = '' + mkdir -p $out + cp spam-filter.toml $out/ + ''; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { + description = "Secure & modern all-in-one mail server Stalwart (spam-filter module)"; + homepage = "https://github.com/stalwartlabs/spam-filter"; + changelog = "https://github.com/stalwartlabs/spam-filter/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + license = with lib.licenses; [ + mit + asl20 + ]; + inherit (stalwart-mail.meta) maintainers; + }; +}) diff --git a/pkgs/by-name/st/stalwart-mail/webadmin.nix b/pkgs/by-name/st/stalwart-mail/webadmin.nix index 0d9021ee083f..ccb57af94675 100644 --- a/pkgs/by-name/st/stalwart-mail/webadmin.nix +++ b/pkgs/by-name/st/stalwart-mail/webadmin.nix @@ -1,6 +1,7 @@ { lib, rustPlatform, + stalwart-mail, fetchFromGitHub, trunk, tailwindcss_3, @@ -14,20 +15,19 @@ zip, }: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "webadmin"; version = "0.1.28"; src = fetchFromGitHub { owner = "stalwartlabs"; repo = "webadmin"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-OgZ2qs84zVM2zNmBQSPnb9Uy4mahzNC81vbWM9wmrn4="; }; npmDeps = fetchNpmDeps { - inherit src; - name = "${pname}-npm-deps"; + name = "${finalAttrs.pname}-npm-deps"; hash = "sha256-na1HEueX8w7kuDp8LEtJ0nD1Yv39cyk6sEMpS1zix2s="; }; @@ -71,8 +71,8 @@ rustPlatform.buildRustPackage rec { meta = { description = "Secure & modern all-in-one mail server Stalwart (webadmin module)"; homepage = "https://github.com/stalwartlabs/webadmin"; - changelog = "https://github.com/stalwartlabs/webadmin/blob/${src.tag}/CHANGELOG.md"; + changelog = "https://github.com/stalwartlabs/webadmin/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.agpl3Only; - maintainers = with lib.maintainers; [ onny ]; + inherit (stalwart-mail.meta) maintainers; }; -} +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a31a981e57e2..63e939840e1b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10741,6 +10741,7 @@ with pkgs; }; stalwart-mail-webadmin = stalwart-mail.webadmin; + stalwart-mail-spam-filter = stalwart-mail.spam-filter; stalwart-mail-enterprise = stalwart-mail.override { stalwartEnterprise = true;