|
|
|
@ -1,33 +1,47 @@ |
|
|
|
|
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, glib, openssl |
|
|
|
|
, glibcLocales, expect, ncurses, libotr, curl, readline, libuuid |
|
|
|
|
, cmocka, libmicrohttpd, expat, sqlite, libmesode, autoconf-archive |
|
|
|
|
|
|
|
|
|
, autoAwaySupport ? true, libXScrnSaver ? null, libX11 ? null |
|
|
|
|
, 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 |
|
|
|
|
{ lib |
|
|
|
|
, stdenv |
|
|
|
|
, fetchFromGitHub |
|
|
|
|
, autoconf-archive |
|
|
|
|
, autoreconfHook |
|
|
|
|
, cmocka |
|
|
|
|
, curl |
|
|
|
|
, expat |
|
|
|
|
, expect |
|
|
|
|
, glib |
|
|
|
|
, glibcLocales |
|
|
|
|
, libmesode |
|
|
|
|
, libmicrohttpd |
|
|
|
|
, libotr |
|
|
|
|
, libuuid |
|
|
|
|
, ncurses |
|
|
|
|
, openssl |
|
|
|
|
, pkg-config |
|
|
|
|
, readline |
|
|
|
|
, sqlite |
|
|
|
|
, autoAwaySupport ? true, libXScrnSaver ? null, libX11 |
|
|
|
|
, notifySupport ? true, libnotify, gdk-pixbuf |
|
|
|
|
, omemoSupport ? true, libsignal-protocol-c, libgcrypt |
|
|
|
|
, pgpSupport ? true, gpgme |
|
|
|
|
, pythonPluginSupport ? true, python |
|
|
|
|
, traySupport ? true, gtk |
|
|
|
|
}: |
|
|
|
|
|
|
|
|
|
assert autoAwaySupport -> libXScrnSaver != null && libX11 != null; |
|
|
|
|
assert notifySupport -> libnotify != null && gdk-pixbuf != null; |
|
|
|
|
assert traySupport -> gtk2 != null; |
|
|
|
|
assert traySupport -> gtk != null; |
|
|
|
|
assert pgpSupport -> gpgme != null; |
|
|
|
|
assert pythonPluginSupport -> python != null; |
|
|
|
|
assert omemoSupport -> libsignal-protocol-c != null && libgcrypt != null; |
|
|
|
|
|
|
|
|
|
with lib; |
|
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec { |
|
|
|
|
pname = "profanity"; |
|
|
|
|
version = "0.11.0"; |
|
|
|
|
version = "0.11.1"; |
|
|
|
|
|
|
|
|
|
src = fetchFromGitHub { |
|
|
|
|
owner = "profanity-im"; |
|
|
|
|
repo = "profanity"; |
|
|
|
|
rev = version; |
|
|
|
|
sha256 = "0xmzsh0szm8x3hgw65j0cd2bp8cmrnq5pjz49lqajircyzflsngm"; |
|
|
|
|
hash = "sha256-8WGHOy0fSW8o7vMCYZqqpvDsn81JZefM6wGfjQ5iKbU="; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
patches = [ |
|
|
|
@ -37,26 +51,42 @@ stdenv.mkDerivation rec { |
|
|
|
|
enableParallelBuilding = true; |
|
|
|
|
|
|
|
|
|
nativeBuildInputs = [ |
|
|
|
|
autoreconfHook autoconf-archive glibcLocales pkg-config |
|
|
|
|
autoconf-archive |
|
|
|
|
autoreconfHook |
|
|
|
|
glibcLocales |
|
|
|
|
pkg-config |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
buildInputs = [ |
|
|
|
|
expect readline libuuid glib openssl expat ncurses libotr |
|
|
|
|
curl libmesode cmocka libmicrohttpd sqlite |
|
|
|
|
] ++ optionals autoAwaySupport [ libXScrnSaver libX11 ] |
|
|
|
|
++ optionals notifySupport [ libnotify gdk-pixbuf ] |
|
|
|
|
++ optionals traySupport [ gtk2 ] |
|
|
|
|
++ optionals pgpSupport [ gpgme ] |
|
|
|
|
++ optionals pythonPluginSupport [ python ] |
|
|
|
|
++ optionals omemoSupport [ libsignal-protocol-c libgcrypt ]; |
|
|
|
|
cmocka |
|
|
|
|
curl |
|
|
|
|
expat |
|
|
|
|
expect |
|
|
|
|
glib |
|
|
|
|
libmesode |
|
|
|
|
libmicrohttpd |
|
|
|
|
libotr |
|
|
|
|
libuuid |
|
|
|
|
ncurses |
|
|
|
|
openssl |
|
|
|
|
readline |
|
|
|
|
sqlite |
|
|
|
|
] ++ lib.optionals autoAwaySupport [ libXScrnSaver libX11 ] |
|
|
|
|
++ lib.optionals notifySupport [ libnotify gdk-pixbuf ] |
|
|
|
|
++ lib.optionals omemoSupport [ libsignal-protocol-c libgcrypt ] |
|
|
|
|
++ lib.optionals pgpSupport [ gpgme ] |
|
|
|
|
++ lib.optionals pythonPluginSupport [ python ] |
|
|
|
|
++ lib.optionals traySupport [ gtk ]; |
|
|
|
|
|
|
|
|
|
# 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" ]; |
|
|
|
|
configureFlags = [ |
|
|
|
|
"--enable-c-plugins" |
|
|
|
|
"--enable-otr" |
|
|
|
|
] ++ lib.optionals notifySupport [ "--enable-notifications" ] |
|
|
|
|
++ lib.optionals traySupport [ "--enable-icons-and-clipboard" ] |
|
|
|
|
++ lib.optionals pgpSupport [ "--enable-pgp" ] |
|
|
|
|
++ lib.optionals pythonPluginSupport [ "--enable-python-plugins" ] |
|
|
|
|
++ lib.optionals omemoSupport [ "--enable-omemo" ]; |
|
|
|
|
|
|
|
|
|
preAutoreconf = '' |
|
|
|
|
mkdir m4 |
|
|
|
@ -66,18 +96,15 @@ stdenv.mkDerivation rec { |
|
|
|
|
|
|
|
|
|
LC_ALL = "en_US.utf8"; |
|
|
|
|
|
|
|
|
|
meta = { |
|
|
|
|
meta = with lib; { |
|
|
|
|
homepage = "http://www.profanity.im/"; |
|
|
|
|
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; |
|
|
|
|
platforms = platforms.unix; |
|
|
|
|
changelog = "https://github.com/profanity-im/profanity/releases/tag/${version}"; |
|
|
|
|
downloadPage = "https://github.com/profanity-im/profanity/releases/"; |
|
|
|
|
maintainers = [ maintainers.devhell ]; |
|
|
|
|
updateWalker = true; |
|
|
|
|
platforms = platforms.unix; |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|