nixpkgs/pkgs/applications/networking/mailreaders/claws-mail/default.nix
Bryan Gardiner de0a388ccf Add claws-mail and libetpan.
Adds Nix expressions for claws-mail (http://www.claws-mail.org) and a
dependency that is not already in the tree, libetpan
(http://www.etpan.org/libetpan.html).

The Claws expression has flags for toggling the build of various plugins.
2014-10-06 18:07:43 -07:00

86 lines
3.1 KiB
Nix

{ fetchurl, stdenv
, curl, dbus, dbus_glib, enchant, gtk, gnutls, gnupg, gpgme, libarchive
, libcanberra, libetpan, libnotify, libsoup, libxml2, networkmanager, openldap
, perl, pkgconfig, poppler, python, webkitgtk2
# Build options
# TODO: A flag to build the manual.
# TODO: Plugins that complain about their missing dependencies, even when
# provided:
# gdata requires libgdata
# geolocation requires libchamplain
# python requires python
, enableLdap ? false
, enableNetworkManager ? false
, enablePgp ? false
, enablePluginArchive ? false
, enablePluginFancy ? false
, enablePluginNotificationDialogs ? true
, enablePluginNotificationSounds ? true
, enablePluginPdf ? false
, enablePluginRavatar ? false
, enablePluginRssyl ? false
, enablePluginSmime ? false
, enablePluginSpamassassin ? false
, enablePluginSpamReport ? false
, enablePluginVcalendar ? false
, enableSpellcheck ? false
}:
with stdenv.lib;
let version = "3.10.1"; in
stdenv.mkDerivation {
name = "claws-mail-${version}";
meta = {
description = "The user-friendly, lightweight, and fast email client";
homepage = http://www.claws-mail.org/;
license = licenses.gpl3;
platforms = platforms.linux;
};
src = fetchurl {
url = "http://downloads.sourceforge.net/project/claws-mail/Claws%20Mail/${version}/claws-mail-${version}.tar.bz2";
sha256 = "634d35dee311a288fb8fcba36d26987afdcd5485730cf67d00554110f414178e";
};
buildInputs =
[ dbus dbus_glib gtk gnutls libetpan perl pkgconfig python ]
++ optional enableSpellcheck enchant
++ optionals (enablePgp || enablePluginSmime) [ gnupg gpgme ]
++ optional enablePluginArchive libarchive
++ optional enablePluginNotificationSounds libcanberra
++ optional enablePluginNotificationDialogs libnotify
++ optional enablePluginFancy libsoup
++ optional
(enablePluginFancy || enablePluginRavatar || enablePluginRssyl
|| enablePluginSpamassassin || enablePluginSpamReport
|| enablePluginVcalendar)
curl
++ optional enablePluginRssyl libxml2
++ optional enableNetworkManager networkmanager
++ optional enableLdap openldap
++ optional enablePluginPdf poppler
++ optional enablePluginFancy webkitgtk2;
configureFlags =
optional (!enableLdap) "--disable-ldap"
++ optional (!enableNetworkManager) "--disable-networkmanager"
++ optionals (!enablePgp) [
"--disable-pgpcore-plugin"
"--disable-pgpinline-plugin"
"--disable-pgpmime-plugin"
]
++ optional (!enablePluginArchive) "--disable-archive-plugin"
++ optional (!enablePluginFancy) "--disable-fancy-plugin"
++ optional (!enablePluginPdf) "--disable-pdf_viewer-plugin"
++ optional (!enablePluginRavatar) "--disable-libravatar-plugin"
++ optional (!enablePluginRssyl) "--disable-rssyl-plugin"
++ optional (!enablePluginSmime) "--disable-smime-plugin"
++ optional (!enablePluginSpamassassin) "--disable-spamassassin-plugin"
++ optional (!enablePluginSpamReport) "--disable-spam_report-plugin"
++ optional (!enablePluginVcalendar) "--disable-vcalendar-plugin"
++ optional (!enableSpellcheck) "--disable-enchant";
}