nixpkgs/pkgs/applications/networking/instant-messengers/profanity/default.nix

84 lines
2.8 KiB
Nix
Raw Normal View History

{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, glib, openssl
, glibcLocales, expect, ncurses, libotr, curl, readline, libuuid
2021-01-14 15:05:42 +00:00
, cmocka, libmicrohttpd, expat, sqlite, libmesode, autoconf-archive
, autoAwaySupport ? true, libXScrnSaver ? null, libX11 ? null
2019-05-22 11:03:39 +00:00
, notifySupport ? true, libnotify ? null, gdk-pixbuf ? null
, traySupport ? true, gtk2 ? null
, pgpSupport ? true, gpgme ? null
, pythonPluginSupport ? true, python ? null
, omemoSupport ? true, libsignal-protocol-c ? null, libgcrypt ? null
}:
assert autoAwaySupport -> libXScrnSaver != null && libX11 != null;
2019-05-22 11:03:39 +00:00
assert notifySupport -> libnotify != null && gdk-pixbuf != null;
assert traySupport -> gtk2 != null;
assert pgpSupport -> gpgme != null;
assert pythonPluginSupport -> python != null;
assert omemoSupport -> libsignal-protocol-c != null && libgcrypt != null;
2021-01-15 05:42:41 +00:00
with lib;
stdenv.mkDerivation rec {
pname = "profanity";
2021-01-14 15:05:42 +00:00
version = "0.10.0";
src = fetchFromGitHub {
2019-08-04 15:03:54 +00:00
owner = "profanity-im";
repo = "profanity";
2019-09-08 23:38:31 +00:00
rev = version;
2021-01-14 15:05:42 +00:00
sha256 = "0a9rzhnivxcr8v02xxzrbck7pvvv4c66ap2zy0gzxhri5p8ac03r";
};
patches = [
./patches/packages-osx.patch
];
2017-10-12 19:26:33 +00:00
enableParallelBuilding = true;
2019-02-22 20:55:14 +00:00
nativeBuildInputs = [
autoreconfHook autoconf-archive glibcLocales pkg-config
2019-02-22 20:55:14 +00:00
];
2017-10-12 19:26:33 +00:00
buildInputs = [
expect readline libuuid glib openssl expat ncurses libotr
curl libmesode cmocka libmicrohttpd sqlite
] ++ optionals autoAwaySupport [ libXScrnSaver libX11 ]
2019-05-22 11:03:39 +00:00
++ optionals notifySupport [ libnotify gdk-pixbuf ]
++ optionals traySupport [ gtk2 ]
++ optionals pgpSupport [ gpgme ]
++ optionals pythonPluginSupport [ python ]
++ optionals omemoSupport [ libsignal-protocol-c libgcrypt ];
# 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-and-clipboard" ]
++ optionals pgpSupport [ "--enable-pgp" ]
++ optionals pythonPluginSupport [ "--enable-python-plugins" ]
++ optionals omemoSupport [ "--enable-omemo" ];
preAutoreconf = ''
mkdir m4
'';
doCheck = true;
LC_ALL = "en_US.utf8";
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://www.profanity.im/";
license = licenses.gpl3Plus;
2017-08-31 19:10:00 +00:00
platforms = platforms.unix;
2021-01-14 15:05:42 +00:00
changelog = "https://github.com/profanity-im/profanity/releases/tag/${version}";
downloadPage = "https://github.com/profanity-im/profanity/releases/";
maintainers = [ maintainers.devhell ];
2017-03-01 13:59:45 +00:00
updateWalker = true;
};
}