From 2f971193cc1cc8132a66070a9665784903286146 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Mon, 5 May 2014 20:53:32 -0500 Subject: [PATCH] Allow Dovecot to build with clucene, and on any Unix --- .../libraries/clucene-core/2.x.nix | 6 +++++ pkgs/servers/mail/dovecot/2.2.x.nix | 24 +++++++++++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/clucene-core/2.x.nix b/pkgs/development/libraries/clucene-core/2.x.nix index 60e8da9c3fc8..4173b75915cb 100644 --- a/pkgs/development/libraries/clucene-core/2.x.nix +++ b/pkgs/development/libraries/clucene-core/2.x.nix @@ -20,6 +20,12 @@ stdenv.mkDerivation rec { ./Install-contribs-lib.patch ]; + postInstall = stdenv.lib.optionalString stdenv.isDarwin '' + install_name_tool -change libclucene-shared.1.dylib \ + $out/lib/libclucene-shared.1.dylib \ + $out/lib/libclucene-core.1.dylib + ''; + meta = { description = "Core library for full-featured text search engine"; longDescription = '' diff --git a/pkgs/servers/mail/dovecot/2.2.x.nix b/pkgs/servers/mail/dovecot/2.2.x.nix index 2b1aca3e9269..40af354a7f99 100644 --- a/pkgs/servers/mail/dovecot/2.2.x.nix +++ b/pkgs/servers/mail/dovecot/2.2.x.nix @@ -1,10 +1,11 @@ { stdenv, fetchurl, perl, systemd, openssl, pam, bzip2, zlib, openldap -, inotifyTools }: +, inotifyTools, clucene_core_2 }: stdenv.mkDerivation rec { name = "dovecot-2.2.12"; - buildInputs = [perl systemd openssl pam bzip2 zlib openldap inotifyTools]; + buildInputs = [perl openssl bzip2 zlib openldap clucene_core_2] + ++ stdenv.lib.optionals (stdenv.isLinux) [ systemd pam inotifyTools ]; src = fetchurl { url = "http://dovecot.org/releases/2.2/${name}.tar.gz"; @@ -16,6 +17,15 @@ stdenv.mkDerivation rec { "/usr/bin/env perl" "${perl}/bin/perl" ''; + postInstall = stdenv.lib.optionalString stdenv.isDarwin '' + install_name_tool -change libclucene-shared.1.dylib \ + ${clucene_core_2}/lib/libclucene-shared.1.dylib \ + $out/lib/dovecot/lib21_fts_lucene_plugin.so + install_name_tool -change libclucene-core.1.dylib \ + ${clucene_core_2}/lib/libclucene-core.1.dylib \ + $out/lib/dovecot/lib21_fts_lucene_plugin.so + ''; + patches = [ # Make dovecot look for plugins in /var/lib/dovecot/modules # so we can symlink plugins from several packages there @@ -28,14 +38,20 @@ stdenv.mkDerivation rec { # It will hardcode this for /var/lib/dovecot. # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626211 "--localstatedir=/var" - "--with-systemdsystemunitdir=$(out)/etc/systemd/system" "--with-ldap" + "--with-lucene" + "--with-ssl=openssl" + "--with-sqlite" + "--with-zlib" + "--with-bzlib" + ] ++ stdenv.lib.optionals (stdenv.isLinux) [ + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ]; meta = { homepage = "http://dovecot.org/"; description = "Open source IMAP and POP3 email server written with security primarily in mind"; maintainers = with stdenv.lib.maintainers; [viric simons rickynils]; - platforms = with stdenv.lib.platforms; linux; + platforms = stdenv.lib.platforms.unix; }; }