My personal project and infrastructure archive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nomicon/pkgs/applications/networking/instant-messengers/profanity/default.nix

61 lines
2.1 KiB

{ stdenv, fetchurl, pkgconfig, glib, openssl, expat, libmesode
, ncurses, libotr, curl, readline, libuuid
, autoAwaySupport ? false, libXScrnSaver ? null, libX11 ? null
, notifySupport ? false, libnotify ? null, gdk_pixbuf ? null
, traySupport ? false, gnome2 ? null
, pgpSupport ? true, gpgme ? null
, pythonPluginSupport ? true, python ? null
}:
assert autoAwaySupport -> libXScrnSaver != null && libX11 != null;
assert notifySupport -> libnotify != null && gdk_pixbuf != null;
assert traySupport -> gnome2 != null;
assert pgpSupport -> gpgme != null;
assert pythonPluginSupport -> python != null;
with stdenv.lib;
stdenv.mkDerivation rec {
name = "profanity-${version}";
version = "0.5.1";
src = fetchurl {
url = "http://www.profanity.im/profanity-${version}.tar.gz";
sha256 = "1f7ylw3mhhnii52mmk40hyc4kqhpvjdr3hmsplzkdhsfww9kflg3";
};
enableParallelBuilding = true;
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
readline libuuid libmesode
glib openssl expat ncurses libotr curl
] ++ optionals autoAwaySupport [ libXScrnSaver libX11 ]
++ optionals notifySupport [ libnotify gdk_pixbuf ]
++ optionals traySupport [ gnome2.gtk ]
++ optionals pgpSupport [ gpgme ]
++ optionals pythonPluginSupport [ python ];
# Enable feature flags, so that build fail if libs are missing
configureFlags = [ "--enable-c-plugins" "--enable-otr" ]
++ optionals notifySupport [ "--enable-notifications" ]
++ optionals traySupport [ "--enable-icons" ]
++ optionals pgpSupport [ "--enable-pgp" ]
++ optionals pythonPluginSupport [ "--enable-python-plugins" ];
meta = {
description = "A console based XMPP client";
longDescription = ''
Profanity is a console based XMPP client written in C using ncurses and
libstrophe, inspired by Irssi.
'';
homepage = http://profanity.im/;
license = licenses.gpl3Plus;
platforms = platforms.unix;
maintainers = [ maintainers.devhell ];
updateWalker = true;
};
}