{ pkgsUnstable, callPackage, nixLib, }: let spamfilter = callPackage ./spam-filter.nix {}; in pkgsUnstable.stalwart-mail.overrideAttrs (final: prev: { passthru = nixLib.warnMerge (prev.passthru or {}) { inherit spamfilter; } "stalwart-mail passthru"; checkFlags = (prev.checkFlags or []) ++ [ # This started to fail? # TODO(@bpeetz): Find out why. <2025-02-08> "--skip=smtp::outbound::lmtp::lmtp_delivery" ]; # `stalwart-mail` does enable their `enterprise` feature per default. # We want a AGPL only build (i.e., without unfree dependencies), therefore disable the # `enterprise` feature here. # We cannot use the `buildFeatures` attribute because it does not actually change the # correct features. As such we simply patch the correct `Cargo.toml` file. patches = (prev.patches or []) ++ [ ./patches/build-crates-main-Cargo.toml-Activate-appropriate-de.patch ./patches/fix-crates-directory-Guard-all-enterprise-only-featu.patch ]; # Check that the enterprise feature is really disabled. postCheck = (prev.postCheck or "") + # bash '' if grep "enterprise" ./target/*/release/stalwart-mail.d; then echo "ERROR: Proprietary 'enterprise' feature active." exit 1 fi ''; })