dovecot: init at 2.4.2 (#500892)
This commit is contained in:
@@ -4,7 +4,8 @@
|
||||
fetchFromGitHub,
|
||||
autoreconfHook,
|
||||
pkg-config,
|
||||
dovecot,
|
||||
# only build for dovecot 2.3 as the package is part of dovecot since 2.4
|
||||
dovecot_2_3,
|
||||
xapian,
|
||||
}:
|
||||
|
||||
@@ -29,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--with-dovecot=${dovecot}/lib/dovecot"
|
||||
"--with-dovecot=${lib.getLib dovecot_2_3}/lib/dovecot"
|
||||
"--with-moduledir=${placeholder "out"}/lib/dovecot/modules"
|
||||
];
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
import ./generic.nix {
|
||||
version = "2.4.2";
|
||||
hash = "sha256-uOW0gOernPRb+3fkupTISiQ34An0HEMFrdH0mjmFLKQ=";
|
||||
patches = _: [
|
||||
# Fix loading extended modules.
|
||||
./load-extended-modules.patch
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,234 @@
|
||||
{
|
||||
version,
|
||||
hash,
|
||||
patches,
|
||||
}:
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchzip,
|
||||
flex,
|
||||
bison,
|
||||
perl,
|
||||
pkg-config,
|
||||
systemd,
|
||||
openssl,
|
||||
bzip2,
|
||||
lz4,
|
||||
zlib,
|
||||
zstd,
|
||||
xz,
|
||||
inotify-tools,
|
||||
pam,
|
||||
libcap,
|
||||
coreutils,
|
||||
clucene-core_2,
|
||||
icu75,
|
||||
libexttextcat,
|
||||
libsodium,
|
||||
libxcrypt,
|
||||
libstemmer,
|
||||
cyrus_sasl,
|
||||
nixosTests,
|
||||
fetchpatch,
|
||||
rpcsvc-proto,
|
||||
libtirpc,
|
||||
dovecot_pigeonhole_0_5,
|
||||
dovecot_pigeonhole ? dovecot_pigeonhole_0_5,
|
||||
withApparmor ? false,
|
||||
libapparmor,
|
||||
withLDAP ? true,
|
||||
openldap,
|
||||
withPCRE2 ? lib.strings.versionAtLeast version "2.4",
|
||||
pcre2,
|
||||
withUnwind ? false,
|
||||
libunwind,
|
||||
# Auth modules
|
||||
withMySQL ? false,
|
||||
libmysqlclient,
|
||||
withPgSQL ? false,
|
||||
libpq,
|
||||
withSQLite ? true,
|
||||
sqlite,
|
||||
withLua ? false,
|
||||
lua5_3,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dovecot";
|
||||
inherit version;
|
||||
|
||||
nativeBuildInputs = [
|
||||
flex
|
||||
bison
|
||||
perl
|
||||
pkg-config
|
||||
]
|
||||
++ lib.optionals (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isDarwin) [ rpcsvc-proto ];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
bzip2
|
||||
lz4
|
||||
zlib
|
||||
zstd
|
||||
xz
|
||||
clucene-core_2
|
||||
icu75
|
||||
libexttextcat
|
||||
libsodium
|
||||
libxcrypt
|
||||
libstemmer
|
||||
cyrus_sasl.dev
|
||||
]
|
||||
++ lib.optionals (stdenv.hostPlatform.isLinux) [
|
||||
systemd
|
||||
pam
|
||||
libcap
|
||||
inotify-tools
|
||||
]
|
||||
++ lib.optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isDarwin) libtirpc
|
||||
++ lib.optional withApparmor libapparmor
|
||||
++ lib.optional withLDAP openldap
|
||||
++ lib.optional withPCRE2 pcre2
|
||||
++ lib.optional withUnwind libunwind
|
||||
++ lib.optional withMySQL libmysqlclient
|
||||
++ lib.optional withPgSQL libpq
|
||||
++ lib.optional withSQLite sqlite
|
||||
++ lib.optional withLua lua5_3;
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://dovecot.org/releases/${lib.versions.majorMinor finalAttrs.version}/dovecot-${finalAttrs.version}.tar.gz";
|
||||
inherit hash;
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
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' \
|
||||
-e 's!([^[:alnum:]/_-])/bin/([[:alnum:]]+)\b!\1${coreutils}/bin/\2!g' \
|
||||
-e 's!([^[:alnum:]/_-])(head|sleep|cat)\b!\1${coreutils}/bin/\2!g' \
|
||||
src/lib-program-client/test-program-client-local.c
|
||||
|
||||
patchShebangs src/lib-smtp/test-bin/*.sh
|
||||
sed -i -s -E 's!\bcat\b!${coreutils}/bin/cat!g' src/lib-smtp/test-bin/*.sh
|
||||
|
||||
patchShebangs src/config/settings-get.pl
|
||||
''
|
||||
+ (
|
||||
let
|
||||
filePath =
|
||||
if lib.strings.versionAtLeast version "2.4" then
|
||||
"src/lib-auth/test-password-scheme.c"
|
||||
else
|
||||
"src/auth/test-libpassword.c";
|
||||
in
|
||||
''
|
||||
# DES-encrypted passwords are not supported by Nixpkgs anymore
|
||||
sed '/test_password_scheme("CRYPT"/d' -i ${filePath}
|
||||
''
|
||||
)
|
||||
+ lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
export systemdsystemunitdir=$out/etc/systemd/system
|
||||
'';
|
||||
|
||||
preBuild = lib.optionalString (lib.strings.versionOlder version "2.4" && stdenv.isDarwin) ''
|
||||
export NIX_LDFLAGS="$NIX_LDFLAGS -undefined dynamic_lookup"
|
||||
'';
|
||||
|
||||
# We need this for sysconfdir, see remark below.
|
||||
installFlags = [ "DESTDIR=$(out)" ];
|
||||
|
||||
postInstall = ''
|
||||
cp -r $out/$out/* $out
|
||||
rm -rf $out/$(echo "$out" | cut -d "/" -f2)
|
||||
'';
|
||||
|
||||
patches =
|
||||
(patches fetchpatch)
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# fix timespec calls
|
||||
./timespec.patch
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
# It will hardcode this for /var/lib/dovecot.
|
||||
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626211
|
||||
"--localstatedir=/var"
|
||||
# We need this so utilities default to reading /etc/dovecot/dovecot.conf file.
|
||||
"--sysconfdir=/etc"
|
||||
"--with-moduledir=${placeholder "out"}/lib/dovecot/modules"
|
||||
"--with-ssl=openssl"
|
||||
"--with-zlib"
|
||||
"--with-bzlib"
|
||||
"--with-lz4"
|
||||
"--with-lucene"
|
||||
"--with-icu"
|
||||
"--with-textcat"
|
||||
]
|
||||
++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
"i_cv_epoll_works=${lib.boolToYesNo stdenv.hostPlatform.isLinux}"
|
||||
"i_cv_posix_fallocate_works=${lib.boolToYesNo stdenv.hostPlatform.isDarwin}"
|
||||
"i_cv_inotify_works=${lib.boolToYesNo stdenv.hostPlatform.isLinux}"
|
||||
"i_cv_signed_size_t=no"
|
||||
"i_cv_signed_time_t=yes"
|
||||
"i_cv_c99_vsnprintf=yes"
|
||||
"lib_cv_va_copy=yes"
|
||||
"i_cv_mmap_plays_with_write=yes"
|
||||
"i_cv_gmtime_max_time_t=${toString stdenv.hostPlatform.parsed.cpu.bits}"
|
||||
"i_cv_signed_time_t=yes"
|
||||
"i_cv_fd_passing=yes"
|
||||
"lib_cv_va_copy=yes"
|
||||
"lib_cv___va_copy=yes"
|
||||
"lib_cv_va_val_copy=yes"
|
||||
]
|
||||
++ lib.optional stdenv.hostPlatform.isLinux "--with-systemd"
|
||||
++ 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";
|
||||
|
||||
doCheck = !stdenv.hostPlatform.isDarwin;
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://dovecot.org/";
|
||||
description = "Open source IMAP and POP3 email server written with security primarily in mind";
|
||||
license = with lib.licenses; [
|
||||
mit
|
||||
publicDomain
|
||||
lgpl21Only
|
||||
bsd3
|
||||
bsdOriginal
|
||||
];
|
||||
mainProgram = "dovecot";
|
||||
maintainers = with lib.maintainers; [
|
||||
das_j
|
||||
fpletz
|
||||
helsinki-Jo
|
||||
jappie3
|
||||
prince213
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
passthru = {
|
||||
inherit dovecot_pigeonhole;
|
||||
tests = {
|
||||
opensmtpd-interaction = nixosTests.opensmtpd;
|
||||
inherit (nixosTests) dovecot;
|
||||
};
|
||||
};
|
||||
})
|
||||
@@ -1,127 +1,7 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchurl,
|
||||
flex,
|
||||
bison,
|
||||
perl,
|
||||
pkg-config,
|
||||
systemd,
|
||||
openssl,
|
||||
bzip2,
|
||||
lz4,
|
||||
zlib,
|
||||
zstd,
|
||||
xz,
|
||||
inotify-tools,
|
||||
pam,
|
||||
libcap,
|
||||
coreutils,
|
||||
clucene-core_2,
|
||||
icu75,
|
||||
libexttextcat,
|
||||
libsodium,
|
||||
libxcrypt,
|
||||
libstemmer,
|
||||
cyrus_sasl,
|
||||
nixosTests,
|
||||
fetchpatch,
|
||||
rpcsvc-proto,
|
||||
libtirpc,
|
||||
withApparmor ? false,
|
||||
libapparmor,
|
||||
withLDAP ? true,
|
||||
openldap,
|
||||
withUnwind ? false,
|
||||
libunwind,
|
||||
# Auth modules
|
||||
withMySQL ? false,
|
||||
libmysqlclient,
|
||||
withPgSQL ? false,
|
||||
libpq,
|
||||
withSQLite ? true,
|
||||
sqlite,
|
||||
withLua ? false,
|
||||
lua5_3,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dovecot";
|
||||
import ./generic.nix {
|
||||
version = "2.3.21.1";
|
||||
|
||||
nativeBuildInputs = [
|
||||
flex
|
||||
bison
|
||||
perl
|
||||
pkg-config
|
||||
]
|
||||
++ lib.optionals (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isDarwin) [ rpcsvc-proto ];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
bzip2
|
||||
lz4
|
||||
zlib
|
||||
zstd
|
||||
xz
|
||||
clucene-core_2
|
||||
icu75
|
||||
libexttextcat
|
||||
libsodium
|
||||
libxcrypt
|
||||
libstemmer
|
||||
cyrus_sasl.dev
|
||||
]
|
||||
++ lib.optionals (stdenv.hostPlatform.isLinux) [
|
||||
systemd
|
||||
pam
|
||||
libcap
|
||||
inotify-tools
|
||||
]
|
||||
++ lib.optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isDarwin) libtirpc
|
||||
++ lib.optional withApparmor libapparmor
|
||||
++ lib.optional withLDAP openldap
|
||||
++ lib.optional withUnwind libunwind
|
||||
++ lib.optional withMySQL libmysqlclient
|
||||
++ lib.optional withPgSQL libpq
|
||||
++ lib.optional withSQLite sqlite
|
||||
++ lib.optional withLua lua5_3;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dovecot.org/releases/${lib.versions.majorMinor finalAttrs.version}/dovecot-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-LZCheMQpdhEIi/farlSSo7w9WrYyjDoDLrQl0sJJCX4=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postPatch = ''
|
||||
sed -i -E \
|
||||
-e 's!/bin/sh\b!${stdenv.shell}!g' \
|
||||
-e 's!([^[:alnum:]/_-])/bin/([[:alnum:]]+)\b!\1${coreutils}/bin/\2!g' \
|
||||
-e 's!([^[:alnum:]/_-])(head|sleep|cat)\b!\1${coreutils}/bin/\2!g' \
|
||||
src/lib-program-client/test-program-client-local.c
|
||||
|
||||
patchShebangs src/lib-smtp/test-bin/*.sh
|
||||
sed -i -s -E 's!\bcat\b!${coreutils}/bin/cat!g' src/lib-smtp/test-bin/*.sh
|
||||
|
||||
patchShebangs src/config/settings-get.pl
|
||||
|
||||
# DES-encrypted passwords are not supported by NixPkgs anymore
|
||||
sed '/test_password_scheme("CRYPT"/d' -i src/auth/test-libpassword.c
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
export systemdsystemunitdir=$out/etc/systemd/system
|
||||
'';
|
||||
|
||||
# We need this for sysconfdir, see remark below.
|
||||
installFlags = [ "DESTDIR=$(out)" ];
|
||||
|
||||
postInstall = ''
|
||||
cp -r $out/$out/* $out
|
||||
rm -rf $out/$(echo "$out" | cut -d "/" -f2)
|
||||
'';
|
||||
|
||||
patches = [
|
||||
hash = "sha256-1THBB401r6AnZbnHGhIq+o+nR8v94O0mIX68Pv0miiE=";
|
||||
patches = fetchpatch: [
|
||||
# Fix loading extended modules.
|
||||
./load-extended-modules.patch
|
||||
# fix openssl 3.0 compatibility
|
||||
@@ -129,81 +9,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
url = "https://salsa.debian.org/debian/dovecot/-/raw/debian/1%252.3.19.1+dfsg1-2/debian/patches/Support-openssl-3.0.patch";
|
||||
hash = "sha256-PbBB1jIY3jIC8Js1NY93zkV0gISGUq7Nc67Ul5tN7sw=";
|
||||
})
|
||||
# Fix build with gcc15
|
||||
(fetchpatch {
|
||||
name = "dovecot-test-data-stack-drop-bogus-assertion.patch";
|
||||
url = "https://github.com/dovecot/core/commit/9f642dd868db6e7401f24e4fb4031b5bdca8aae7.patch";
|
||||
hash = "sha256-dAX80dRqOba9Fkzl11ChYJ6vqcgfkaw/o+TOQKCnnns=";
|
||||
})
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# fix timespec calls
|
||||
./timespec.patch
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
# It will hardcode this for /var/lib/dovecot.
|
||||
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626211
|
||||
"--localstatedir=/var"
|
||||
# We need this so utilities default to reading /etc/dovecot/dovecot.conf file.
|
||||
"--sysconfdir=/etc"
|
||||
"--with-moduledir=${placeholder "out"}/lib/dovecot/modules"
|
||||
"--with-ssl=openssl"
|
||||
"--with-zlib"
|
||||
"--with-bzlib"
|
||||
"--with-lz4"
|
||||
"--with-lucene"
|
||||
"--with-icu"
|
||||
"--with-textcat"
|
||||
]
|
||||
++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
"i_cv_epoll_works=${lib.boolToYesNo stdenv.hostPlatform.isLinux}"
|
||||
"i_cv_posix_fallocate_works=${lib.boolToYesNo stdenv.hostPlatform.isDarwin}"
|
||||
"i_cv_inotify_works=${lib.boolToYesNo stdenv.hostPlatform.isLinux}"
|
||||
"i_cv_signed_size_t=no"
|
||||
"i_cv_signed_time_t=yes"
|
||||
"i_cv_c99_vsnprintf=yes"
|
||||
"lib_cv_va_copy=yes"
|
||||
"i_cv_mmap_plays_with_write=yes"
|
||||
"i_cv_gmtime_max_time_t=${toString stdenv.hostPlatform.parsed.cpu.bits}"
|
||||
"i_cv_signed_time_t=yes"
|
||||
"i_cv_fd_passing=yes"
|
||||
"lib_cv_va_copy=yes"
|
||||
"lib_cv___va_copy=yes"
|
||||
"lib_cv_va_val_copy=yes"
|
||||
]
|
||||
++ lib.optional stdenv.hostPlatform.isLinux "--with-systemd"
|
||||
++ lib.optional stdenv.hostPlatform.isDarwin "--enable-static"
|
||||
++ lib.optional withLDAP "--with-ldap"
|
||||
++ lib.optional withLua "--with-lua"
|
||||
++ lib.optional withMySQL "--with-mysql"
|
||||
++ lib.optional withPgSQL "--with-pgsql"
|
||||
++ lib.optional withSQLite "--with-sqlite";
|
||||
|
||||
doCheck = !stdenv.hostPlatform.isDarwin;
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://dovecot.org/";
|
||||
description = "Open source IMAP and POP3 email server written with security primarily in mind";
|
||||
license = with lib.licenses; [
|
||||
mit
|
||||
publicDomain
|
||||
lgpl21Only
|
||||
bsd3
|
||||
bsdOriginal
|
||||
];
|
||||
mainProgram = "dovecot";
|
||||
maintainers = with lib.maintainers; [
|
||||
das_j
|
||||
fpletz
|
||||
helsinki-Jo
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
passthru.tests = {
|
||||
opensmtpd-interaction = nixosTests.opensmtpd;
|
||||
inherit (nixosTests) dovecot;
|
||||
};
|
||||
})
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
import ./generic.nix {
|
||||
version = "2.4.2";
|
||||
url =
|
||||
{
|
||||
version,
|
||||
dovecotMajorMinor,
|
||||
}:
|
||||
"https://pigeonhole.dovecot.org/releases/${dovecotMajorMinor}/dovecot-pigeonhole-${version}.tar.gz";
|
||||
hash = "sha256-nXiBii9LGe6VkGKkUBpvlntuvkQbqhAOqeSwwJb/ghE=";
|
||||
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";
|
||||
hash = "sha256-BLBz9ZhOGEIIitnXG0uM6bZBRNnQBy4K2IJlh1+Un50=";
|
||||
})
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
version,
|
||||
url,
|
||||
hash,
|
||||
patches ? _: [ ],
|
||||
}:
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchpatch,
|
||||
fetchzip,
|
||||
dovecot_2_3,
|
||||
dovecot ? dovecot_2_3,
|
||||
openssl,
|
||||
libstemmer,
|
||||
perl,
|
||||
withLDAP ? true,
|
||||
cyrus_sasl,
|
||||
openldap,
|
||||
}:
|
||||
let
|
||||
dovecotMajorMinor = lib.versions.majorMinor dovecot.version;
|
||||
isCurrent = lib.strings.versionAtLeast version "2.4";
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dovecot-pigeonhole";
|
||||
inherit version;
|
||||
|
||||
src = fetchzip {
|
||||
url = url {
|
||||
inherit (finalAttrs) version;
|
||||
inherit dovecotMajorMinor;
|
||||
};
|
||||
inherit hash;
|
||||
};
|
||||
|
||||
patches = patches fetchpatch;
|
||||
|
||||
postPatch = lib.optionalString isCurrent ''
|
||||
patchShebangs src/plugins/settings/settings-get.pl
|
||||
'';
|
||||
|
||||
nativeBuildInputs = lib.optional isCurrent perl;
|
||||
|
||||
buildInputs = [
|
||||
dovecot
|
||||
openssl
|
||||
]
|
||||
++ lib.optional (isCurrent && stdenv.hostPlatform.isDarwin) libstemmer
|
||||
++ lib.optionals withLDAP [
|
||||
cyrus_sasl
|
||||
openldap
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace src/managesieve/managesieve-settings.c --replace \
|
||||
".executable = \"managesieve\"" \
|
||||
".executable = \"$out/libexec/dovecot/managesieve\""
|
||||
substituteInPlace src/managesieve-login/managesieve-login-settings.c --replace \
|
||||
".executable = \"managesieve-login\"" \
|
||||
".executable = \"$out/libexec/dovecot/managesieve-login\""
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--with-dovecot=${dovecot}/lib/dovecot"
|
||||
"--with-moduledir=${placeholder "out"}/lib/dovecot/modules"
|
||||
"--without-dovecot-install-dirs"
|
||||
]
|
||||
++ lib.optional withLDAP "--with-ldap";
|
||||
|
||||
preBuild = lib.optionalString (lib.strings.versionOlder version "2.4" && stdenv.isDarwin) ''
|
||||
export NIX_LDFLAGS="$NIX_LDFLAGS -undefined dynamic_lookup"
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://pigeonhole.dovecot.org/";
|
||||
description = "Sieve plugin for the Dovecot IMAP server";
|
||||
license = lib.licenses.lgpl21Only;
|
||||
maintainers = with lib.maintainers; [
|
||||
das_j
|
||||
helsinki-Jo
|
||||
jappie3
|
||||
prince213
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,11 @@
|
||||
--- 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;
|
||||
@@ -1,52 +1,10 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
dovecot,
|
||||
openssl,
|
||||
}:
|
||||
let
|
||||
dovecotMajorMinor = lib.versions.majorMinor dovecot.version;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dovecot-pigeonhole";
|
||||
import ./generic.nix {
|
||||
version = "0.5.21.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://pigeonhole.dovecot.org/releases/${dovecotMajorMinor}/dovecot-${dovecotMajorMinor}-pigeonhole-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-A3fbKEtiByPeBgQxEV+y53keHfQyFBGvcYIB1pJcRpI=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
dovecot
|
||||
openssl
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace src/managesieve/managesieve-settings.c --replace \
|
||||
".executable = \"managesieve\"" \
|
||||
".executable = \"$out/libexec/dovecot/managesieve\""
|
||||
substituteInPlace src/managesieve-login/managesieve-login-settings.c --replace \
|
||||
".executable = \"managesieve-login\"" \
|
||||
".executable = \"$out/libexec/dovecot/managesieve-login\""
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--with-dovecot=${dovecot}/lib/dovecot"
|
||||
"--with-moduledir=${placeholder "out"}/lib/dovecot/modules"
|
||||
"--without-dovecot-install-dirs"
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://pigeonhole.dovecot.org/";
|
||||
description = "Sieve plugin for the Dovecot IMAP server";
|
||||
license = lib.licenses.lgpl21Only;
|
||||
maintainers = with lib.maintainers; [
|
||||
das_j
|
||||
helsinki-Jo
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
||||
url =
|
||||
{
|
||||
version,
|
||||
dovecotMajorMinor,
|
||||
}:
|
||||
"https://pigeonhole.dovecot.org/releases/${dovecotMajorMinor}/dovecot-${dovecotMajorMinor}-pigeonhole-${version}.tar.gz";
|
||||
hash = "sha256-andOWZmgWYIPATEk0V+mHmReL+quG81azwPkBMoo9OE=";
|
||||
}
|
||||
|
||||
@@ -8082,6 +8082,16 @@ with pkgs;
|
||||
|
||||
dodgy = with python3Packages; toPythonApplication dodgy;
|
||||
|
||||
dovecot_2_3 = dovecot;
|
||||
dovecot_2_4 = callPackage ../by-name/do/dovecot/2.4.nix {
|
||||
dovecot_pigeonhole = dovecot_pigeonhole_2_4;
|
||||
};
|
||||
|
||||
dovecot_pigeonhole_0_5 = dovecot_pigeonhole;
|
||||
dovecot_pigeonhole_2_4 = callPackage ../by-name/do/dovecot_pigeonhole/2.4.nix {
|
||||
dovecot = dovecot_2_4;
|
||||
};
|
||||
|
||||
inherit (callPackages ../servers/firebird { })
|
||||
firebird_4
|
||||
firebird_3
|
||||
|
||||
Reference in New Issue
Block a user