Files
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

124 lines
2.3 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
autoconf-archive,
autoreconfHook,
cmocka,
curl,
expat,
expect,
glib,
glibcLocales,
libstrophe,
libmicrohttpd,
libotr,
libuuid,
ncurses,
openssl,
pkg-config,
readline,
sqlite,
autoAwaySupport ? true,
libXScrnSaver,
libX11,
notifySupport ? true,
libnotify,
gdk-pixbuf,
omemoSupport ? true,
libsignal-protocol-c,
libgcrypt,
qrencode,
pgpSupport ? true,
gpgme,
pythonPluginSupport ? true,
python3,
traySupport ? true,
gtk3,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "profanity";
version = "0.15.1";
src = fetchFromGitHub {
owner = "profanity-im";
repo = "profanity";
rev = finalAttrs.version;
hash = "sha256-h+R+hasc45NZOneuqZ+z+yjfpsPm317OXq0LYe3t+cQ=";
};
patches = [
./patches/packages-osx.patch
];
enableParallelBuilding = true;
nativeBuildInputs = [
autoconf-archive
autoreconfHook
glibcLocales
pkg-config
];
buildInputs = [
cmocka
curl
expat
expect
glib
libstrophe
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
qrencode
]
++ lib.optionals pgpSupport [ gpgme ]
++ lib.optionals pythonPluginSupport [ python3 ]
++ lib.optionals traySupport [ gtk3 ];
# Enable feature flags, so that build fail if libs are missing
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" ];
doCheck = true;
LC_ALL = "en_US.utf8";
meta = with lib; {
homepage = "http://www.profanity.im/";
description = "Console based XMPP client";
mainProgram = "profanity";
longDescription = ''
Profanity is a console based XMPP client written in C using ncurses and
libstrophe, inspired by Irssi.
'';
license = licenses.gpl3Plus;
maintainers = [ maintainers.devhell ];
platforms = platforms.unix;
};
})