e4cf6635ab
When the feature flags during configuration are not set explicitly the build will continue even when needed libs are missing, disabling the feature. To get notified of problems, we set the feature flags explicitly.
60 lines
2.1 KiB
Nix
60 lines
2.1 KiB
Nix
{ 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;
|
|
};
|
|
}
|