aboutsummaryrefslogtreecommitdiffstats
path: root/pkgs/by-name
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-02-23 18:37:06 +0100
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-03-09 13:44:18 +0100
commit337afb96cb35fe525c851531fb04fd13989acbe5 (patch)
treeab59421fa236f7ac1a93681cbcb071040365844f /pkgs/by-name
parent{modules,tests}/dns: Init (diff)
downloadnixos-server-337afb96cb35fe525c851531fb04fd13989acbe5.zip
modules/stalwart-mail: Move the package to the `pkgs` subtree
Diffstat (limited to '')
-rw-r--r--pkgs/by-name/st/stalwart-mail-free/package.nix44
-rw-r--r--pkgs/by-name/st/stalwart-mail-free/patches/build-crates-main-Cargo.toml-Activate-appropriate-de.patch (renamed from modules/by-name/st/stalwart-mail/patches/build-crates-main-Cargo.toml-Activate-appropriate-de.patch)0
-rw-r--r--pkgs/by-name/st/stalwart-mail-free/patches/fix-crates-directory-Guard-all-enterprise-only-featu.patch (renamed from modules/by-name/st/stalwart-mail/patches/fix-crates-directory-Guard-all-enterprise-only-featu.patch)0
-rw-r--r--pkgs/by-name/st/stalwart-mail-free/spam-filter.nix (renamed from modules/by-name/st/stalwart-mail/spam-filter.nix)0
4 files changed, 44 insertions, 0 deletions
diff --git a/pkgs/by-name/st/stalwart-mail-free/package.nix b/pkgs/by-name/st/stalwart-mail-free/package.nix
new file mode 100644
index 0000000..64fb2d6
--- /dev/null
+++ b/pkgs/by-name/st/stalwart-mail-free/package.nix
@@ -0,0 +1,44 @@
+{
+ 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
+ '';
+ })
diff --git a/modules/by-name/st/stalwart-mail/patches/build-crates-main-Cargo.toml-Activate-appropriate-de.patch b/pkgs/by-name/st/stalwart-mail-free/patches/build-crates-main-Cargo.toml-Activate-appropriate-de.patch
index bfea568..bfea568 100644
--- a/modules/by-name/st/stalwart-mail/patches/build-crates-main-Cargo.toml-Activate-appropriate-de.patch
+++ b/pkgs/by-name/st/stalwart-mail-free/patches/build-crates-main-Cargo.toml-Activate-appropriate-de.patch
diff --git a/modules/by-name/st/stalwart-mail/patches/fix-crates-directory-Guard-all-enterprise-only-featu.patch b/pkgs/by-name/st/stalwart-mail-free/patches/fix-crates-directory-Guard-all-enterprise-only-featu.patch
index 80c4b60..80c4b60 100644
--- a/modules/by-name/st/stalwart-mail/patches/fix-crates-directory-Guard-all-enterprise-only-featu.patch
+++ b/pkgs/by-name/st/stalwart-mail-free/patches/fix-crates-directory-Guard-all-enterprise-only-featu.patch
diff --git a/modules/by-name/st/stalwart-mail/spam-filter.nix b/pkgs/by-name/st/stalwart-mail-free/spam-filter.nix
index ce3466d..ce3466d 100644
--- a/modules/by-name/st/stalwart-mail/spam-filter.nix
+++ b/pkgs/by-name/st/stalwart-mail-free/spam-filter.nix