From a651cca44080248e803b95051ea52e5881512f6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Fri, 27 Mar 2026 08:37:55 -0700 Subject: [PATCH 1/4] dovecot_2_4: 2.4.2 -> 2.4.3 Changelog: https://dovecot.org/mailman3/archives/list/dovecot-news@dovecot.org/thread/IKIHZX77IPTGSP5WBIPJUOFBUQFKVPE7/ --- pkgs/by-name/do/dovecot/2.4.nix | 4 ++-- pkgs/by-name/do/dovecot/generic.nix | 6 ------ 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/do/dovecot/2.4.nix b/pkgs/by-name/do/dovecot/2.4.nix index 388cb6101cc4..7421368e2a3e 100644 --- a/pkgs/by-name/do/dovecot/2.4.nix +++ b/pkgs/by-name/do/dovecot/2.4.nix @@ -1,6 +1,6 @@ import ./generic.nix { - version = "2.4.2"; - hash = "sha256-uOW0gOernPRb+3fkupTISiQ34An0HEMFrdH0mjmFLKQ="; + version = "2.4.3"; + hash = "sha256-NTtQMHK/IzAYHKb1lxClUUJkyJpeLo7mKRCAR1GaUTo="; patches = _: [ # Fix loading extended modules. ./load-extended-modules.patch diff --git a/pkgs/by-name/do/dovecot/generic.nix b/pkgs/by-name/do/dovecot/generic.nix index 6bdba0038bc6..9faabe9b5a49 100644 --- a/pkgs/by-name/do/dovecot/generic.nix +++ b/pkgs/by-name/do/dovecot/generic.nix @@ -106,12 +106,6 @@ stdenv.mkDerivation (finalAttrs: { env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-liconv"; - postConfigure = lib.optionalString (lib.strings.versionAtLeast version "2.4") '' - substituteInPlace src/lib-regex/Makefile --replace-fail \ - "test_regex_DEPENDENCIES = libdregex.la \$(LIBPCRE_LIBS)" \ - "test_regex_DEPENDENCIES = libdregex.la" - ''; - postPatch = '' sed -i -E \ -e 's!/bin/sh\b!${stdenv.shell}!g' \ From 37ef8175629115d9505cf7255ea6f6d3d6123ddf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Fri, 27 Mar 2026 08:40:32 -0700 Subject: [PATCH 2/4] dovecot_pigeonhole_2_4: 2.4.2 -> 2.4.3 --- pkgs/by-name/do/dovecot_pigeonhole/2.4.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/do/dovecot_pigeonhole/2.4.nix b/pkgs/by-name/do/dovecot_pigeonhole/2.4.nix index 5c33ad27e677..ad4da21371fc 100644 --- a/pkgs/by-name/do/dovecot_pigeonhole/2.4.nix +++ b/pkgs/by-name/do/dovecot_pigeonhole/2.4.nix @@ -1,12 +1,12 @@ import ./generic.nix { - version = "2.4.2"; + version = "2.4.3"; url = { version, dovecotMajorMinor, }: "https://pigeonhole.dovecot.org/releases/${dovecotMajorMinor}/dovecot-pigeonhole-${version}.tar.gz"; - hash = "sha256-nXiBii9LGe6VkGKkUBpvlntuvkQbqhAOqeSwwJb/ghE="; + hash = "sha256-LQNhqYnBVICabluj8F07UOZR5frt6bd9JSyuHJDS6hc="; patches = fetchpatch: [ ./max_lookup_size.patch # https://github.com/NixOS/nixpkgs/pull/388463#issuecomment-3066016707 From 202b690b32fc5cf633c3eb638375e16022cc7336 Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Sat, 28 Mar 2026 09:33:01 +0800 Subject: [PATCH 3/4] dovecot: disable lua if !withLua --- pkgs/by-name/do/dovecot/generic.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/do/dovecot/generic.nix b/pkgs/by-name/do/dovecot/generic.nix index 9faabe9b5a49..49d809e6fae5 100644 --- a/pkgs/by-name/do/dovecot/generic.nix +++ b/pkgs/by-name/do/dovecot/generic.nix @@ -168,6 +168,7 @@ stdenv.mkDerivation (finalAttrs: { "--with-lucene" "--with-icu" "--with-textcat" + "--with-lua=${lib.boolToYesNo withLua}" ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "i_cv_epoll_works=${lib.boolToYesNo stdenv.hostPlatform.isLinux}" @@ -189,7 +190,6 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optional stdenv.hostPlatform.isDarwin "--enable-static" ++ lib.optional withLDAP "--with-ldap" ++ lib.optional withPCRE2 "--with-pcre2" - ++ lib.optional withLua "--with-lua" ++ lib.optional withMySQL "--with-mysql" ++ lib.optional withPgSQL "--with-pgsql" ++ lib.optional withSQLite "--with-sqlite"; From 5c91cd7ca056152251e7b6bbc53ae6dcaa597714 Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Sat, 28 Mar 2026 09:50:20 +0800 Subject: [PATCH 4/4] dovecot_pigeonhole_2_4: fix build --- pkgs/by-name/do/dovecot_pigeonhole/2.4.nix | 1 - pkgs/by-name/do/dovecot_pigeonhole/generic.nix | 9 ++++++++- .../do/dovecot_pigeonhole/max_lookup_size.patch | 11 ----------- 3 files changed, 8 insertions(+), 13 deletions(-) delete mode 100644 pkgs/by-name/do/dovecot_pigeonhole/max_lookup_size.patch diff --git a/pkgs/by-name/do/dovecot_pigeonhole/2.4.nix b/pkgs/by-name/do/dovecot_pigeonhole/2.4.nix index ad4da21371fc..ca18eaa2d271 100644 --- a/pkgs/by-name/do/dovecot_pigeonhole/2.4.nix +++ b/pkgs/by-name/do/dovecot_pigeonhole/2.4.nix @@ -8,7 +8,6 @@ import ./generic.nix { "https://pigeonhole.dovecot.org/releases/${dovecotMajorMinor}/dovecot-pigeonhole-${version}.tar.gz"; hash = "sha256-LQNhqYnBVICabluj8F07UOZR5frt6bd9JSyuHJDS6hc="; patches = fetchpatch: [ - ./max_lookup_size.patch # https://github.com/NixOS/nixpkgs/pull/388463#issuecomment-3066016707 (fetchpatch { url = "https://github.com/dovecot/pigeonhole/commit/517d74aa1d98b853b72608ce722bc58009c0f4a9.patch"; diff --git a/pkgs/by-name/do/dovecot_pigeonhole/generic.nix b/pkgs/by-name/do/dovecot_pigeonhole/generic.nix index 5ae28acac1ce..5f11b695efa1 100644 --- a/pkgs/by-name/do/dovecot_pigeonhole/generic.nix +++ b/pkgs/by-name/do/dovecot_pigeonhole/generic.nix @@ -14,6 +14,7 @@ openssl, libstemmer, perl, + python3, withLDAP ? true, cyrus_sasl, openldap, @@ -68,10 +69,16 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optional withLDAP "--with-ldap"; - preBuild = lib.optionalString (lib.strings.versionOlder version "2.4" && stdenv.isDarwin) '' + preBuild = lib.optionalString (!isCurrent && stdenv.isDarwin) '' export NIX_LDFLAGS="$NIX_LDFLAGS -undefined dynamic_lookup" ''; + # https://github.com/dovecot/pigeonhole/blob/2.4.3/src/plugins/settings/Makefile.am#L43-L44 + makeFlags = lib.optionals isCurrent [ + "PYTHON=${python3.pythonOnBuildForHost.interpreter}" + "SETTINGS_HISTORY_PY=${dovecot}/libexec/dovecot/settings-history.py" + ]; + enableParallelBuilding = true; meta = { diff --git a/pkgs/by-name/do/dovecot_pigeonhole/max_lookup_size.patch b/pkgs/by-name/do/dovecot_pigeonhole/max_lookup_size.patch deleted file mode 100644 index e1168a8f400c..000000000000 --- a/pkgs/by-name/do/dovecot_pigeonhole/max_lookup_size.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/lib-sieve/plugins/extlists/ext-extlists-settings.h -+++ b/src/lib-sieve/plugins/extlists/ext-extlists-settings.h -@@ -12,7 +12,7 @@ - - const char *name; - /* Maximum size of lookup value */ -- size_t max_lookup_size; -+ uoff_t max_lookup_size; - - struct { - const char *name;