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

154 lines
2.8 KiB
Nix

{
lib,
fetchFromGitLab,
gettext,
wrapGAppsHook3,
# Native dependencies
python3,
gtk4,
gobject-introspection,
adwaita-icon-theme,
gtksourceview5,
glib-networking,
libadwaita,
# Test dependencies
xvfb-run,
dbus,
# Optional dependencies
enableJingle ? true,
farstream,
gstreamer,
gst-plugins-base,
gst-libav,
gst-plugins-good,
libnice,
enableE2E ? true,
enableSecrets ? true,
libsecret,
enableRST ? true,
docutils,
enableSpelling ? true,
gspell,
enableUPnP ? true,
gupnp-igd,
enableAppIndicator ? true,
libappindicator-gtk3,
enableSoundNotifications ? true,
gsound,
extraPythonPackages ? ps: [ ],
}:
python3.pkgs.buildPythonApplication rec {
pname = "gajim";
version = "2.3.6";
src = fetchFromGitLab {
domain = "dev.gajim.org";
owner = "gajim";
repo = "gajim";
tag = version;
hash = "sha256-Mvi69FI2zRefcCnLsurdVNMxYaqKsUCKgeFxOh6vg/o=";
};
format = "pyproject";
buildInputs = [
gtk4
adwaita-icon-theme
gtksourceview5
glib-networking
]
++ lib.optionals enableJingle [
farstream
gstreamer
gst-plugins-base
gst-libav
gst-plugins-good
libnice
]
++ lib.optional enableSecrets libsecret
++ lib.optional enableSpelling gspell
++ lib.optional enableUPnP gupnp-igd
++ lib.optional enableAppIndicator libappindicator-gtk3
++ lib.optional enableSoundNotifications gsound;
nativeBuildInputs = [
gettext
wrapGAppsHook3
gobject-introspection
libadwaita
];
dontWrapGApps = true;
preBuild = ''
python make.py build --dist unix
'';
postInstall = ''
python make.py install --dist unix --prefix=$out
'';
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
propagatedBuildInputs =
with python3.pkgs;
[
nbxmpp
dbus-python
pillow
css-parser
precis-i18n
keyring
setuptools
packaging
gssapi
omemo-dr
qrcode
sqlalchemy
emoji
]
++ lib.optionals enableE2E [
pycrypto
python-gnupg
]
++ lib.optional enableRST docutils
++ extraPythonPackages python3.pkgs;
nativeCheckInputs = [
xvfb-run
dbus
];
checkPhase = ''
xvfb-run dbus-run-session \
--config-file=${dbus}/share/dbus-1/session.conf \
${python3.interpreter} -m unittest discover -s test/gui -v
${python3.interpreter} -m unittest discover -s test/common -v
'';
# test are broken in 1.7.3, 1.8.0
doCheck = false;
# necessary for wrapGAppsHook3
strictDeps = false;
meta = {
homepage = "http://gajim.org/";
description = "Jabber client written in PyGTK";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [
raskin
hlad
];
downloadPage = "http://gajim.org/download/";
platforms = lib.platforms.linux;
mainProgram = "gajim";
};
}