# Check that there is no clash with nixos/modules/misc/ids.nix
config = {
ids.uids = {
- opendarc = 391;
+ vhost = 390;
+ openarc = 391;
opendmarc = 392;
peertube = 394;
redis = 395;
mastodon = 399;
};
ids.gids = {
- opendarc = 392;
+ vhost = 390;
+ openarc = 391;
opendmarc = 392;
peertube = 394;
redis = 395;
python = python3;
inherit mylibs;
};
+ dovecot_deleted-to-trash = callPackage ./dovecot/plugins/deleted_to_trash {
+ inherit mylibs;
+ };
+ dovecot_fts-xapian = callPackage ./dovecot/plugins/fts_xapian {
+ inherit mylibs;
+ };
}
--- /dev/null
+{ stdenv, fetchurl, dovecot, mylibs, fetchpatch }:
+
+stdenv.mkDerivation (mylibs.fetchedGithub ./dovecot-deleted_to_trash.json // rec {
+ buildInputs = [ dovecot ];
+ patches = [
+ (fetchpatch {
+ name = "fix-dovecot-2.3.diff";
+ url = "https://github.com/lexbrugman/dovecot_deleted_to_trash/commit/c52a3799a96104a603ade33404ef6aa1db647b2f.diff";
+ sha256 = "0pld3rdcjp9df2qxbp807k6v4f48lyk0xy5q508ypa57d559y6dq";
+ })
+ ./fix_mbox.patch
+ ];
+ preConfigure = ''
+ substituteInPlace Makefile --replace \
+ "/usr/include/dovecot" \
+ "${dovecot}/include/dovecot"
+ substituteInPlace Makefile --replace \
+ "/usr/lib/dovecot/modules" \
+ "$out/lib/dovecot"
+ '';
+})
--- /dev/null
+{
+ "tag": "81b0754-master",
+ "meta": {
+ "name": "dovecot-deleted_to_trash",
+ "url": "https://github.com/lexbrugman/dovecot_deleted_to_trash",
+ "branch": "master"
+ },
+ "github": {
+ "owner": "lexbrugman",
+ "repo": "dovecot_deleted_to_trash",
+ "rev": "81b07549accfc36467bf8527a53c295c7a02dbb9",
+ "sha256": "1b3k31g898s4fa0a9l4kvjsdyds772waaay84sjdxv09jw6mqs0f",
+ "fetchSubmodules": true
+ }
+}
--- /dev/null
+diff --git a/src/deleted-to-trash-plugin.c b/src/deleted-to-trash-plugin.c
+index bb4cc78..66bad53 100644
+--- a/src/deleted-to-trash-plugin.c
++++ b/src/deleted-to-trash-plugin.c
+@@ -82,6 +82,7 @@ static struct mailbox *mailbox_open_or_create(struct mailbox_list *list, const c
+ *error_r = mail_storage_get_last_error(mailbox_get_storage(box), &error);
+ if (error != MAIL_ERROR_NOTFOUND)
+ {
++ i_error("%s", *error_r);
+ mailbox_free(&box);
+ return NULL;
+ }
--- /dev/null
+{ stdenv, autoconf, automake, pkg-config, dovecot, libtool, xapian, icu, mylibs }:
+
+stdenv.mkDerivation (mylibs.fetchedGithub ./fts-xapian.json // rec {
+ buildInputs = [ dovecot autoconf automake libtool pkg-config xapian icu ];
+ preConfigure = ''
+ export PANDOC=false
+ autoreconf -vi
+ '';
+ configureFlags = [
+ "--with-dovecot=${dovecot}/lib/dovecot"
+ "--without-dovecot-install-dirs"
+ "--with-moduledir=$(out)/lib/dovecot"
+ ];
+})
--- /dev/null
+{
+ "tag": "9a94b4a-master",
+ "meta": {
+ "name": "fts-xapian",
+ "url": "https://github.com/grosjo/fts-xapian",
+ "branch": "master"
+ },
+ "github": {
+ "owner": "grosjo",
+ "repo": "fts-xapian",
+ "rev": "9a94b4aeaac3988786ad72a716127c306b05c9d6",
+ "sha256": "12xv5fnqahs0cy26ja2jwk6dg95626amblisf2wcx3nqzkcf4w1y",
+ "fetchSubmodules": true
+ }
+}