From a7e98abd53b77eeb7be174449da8eaa216bc6098 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sat, 13 Jun 2020 13:08:47 +0200 Subject: [PATCH] mastus: add full-text search to dovecot --- mastus/fts_xapian.nix | 35 +++++++++++++++++++++++++++++++++++ mastus/mail.nix | 1 + 2 files changed, 36 insertions(+) create mode 100644 mastus/fts_xapian.nix diff --git a/mastus/fts_xapian.nix b/mastus/fts_xapian.nix new file mode 100644 index 0000000..8a0f2d4 --- /dev/null +++ b/mastus/fts_xapian.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, autoconf, automake, pkg-config, dovecot, libtool, xapian, icu64, sqlite }: +stdenv.mkDerivation { + pname = "fts-xapian"; + version = "1.3.1"; + + src = fetchFromGitHub { + owner = "grosjo"; + repo = "fts-xapian"; + rev = "1.3.1"; + sha256 = "10yl5fyfbx2ijqckx13vbmzj9mpm5pkh8qzichbdgplrzm738q43"; + }; + + buildInputs = [ dovecot xapian icu64 sqlite ]; + + nativeBuildInputs = [ autoconf automake libtool pkg-config ]; + + preConfigure = '' + export PANDOC=false + autoreconf -vi + ''; + + configureFlags = [ + "--with-dovecot=${dovecot}/lib/dovecot" + "--without-dovecot-install-dirs" + "--with-moduledir=$(out)/lib/dovecot" + ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/grosjo/fts-xapian"; + description = "Dovecot FTS plugin based on Xapian"; + license = licenses.lgpl21; + maintainers = with maintainers; [ julm ]; + platforms = platforms.unix; + }; +} diff --git a/mastus/mail.nix b/mastus/mail.nix index aa87845..b471a75 100644 --- a/mastus/mail.nix +++ b/mastus/mail.nix @@ -76,6 +76,7 @@ } } ''; + modules = [ (pkgs.callPackage ./fts_xapian.nix {}) ]; }; systemd.services.dovecotSslKey = rec { wantedBy = [ "dovecot2.service" ];