1 { lib, fetchurl, fetchFromGitLab, gettext, wrapGAppsHook
4 , python3, gtk3, gobject-introspection, gnome
11 # Optional dependencies
12 , enableJingle ? true, farstream, gstreamer, gst-plugins-base, gst-libav, gst-plugins-good, libnice
14 , enableSecrets ? true, libsecret
15 , enableRST ? true, docutils
16 , enableSpelling ? true, gspell
17 , enableUPnP ? true, gupnp-igd
18 , enableAppIndicator ? true, libappindicator-gtk3
19 , extraPythonPackages ? ps: []
22 python3.pkgs.buildPythonApplication rec {
27 url = "https://gajim.org/downloads/${lib.versions.majorMinor version}/gajim-${version}.tar.gz";
28 hash = "sha256-WPzth7HOAbPVJpvN8zSZJGUzsBtACNlwHrHhDPlOScU=";
34 gtk3 gnome.adwaita-icon-theme
37 ] ++ lib.optionals enableJingle [ farstream gstreamer gst-plugins-base gst-libav gst-plugins-good libnice ]
38 ++ lib.optional enableSecrets libsecret
39 ++ lib.optional enableSpelling gspell
40 ++ lib.optional enableUPnP gupnp-igd
41 ++ lib.optional enableAppIndicator libappindicator-gtk3;
44 gettext wrapGAppsHook gobject-introspection
50 makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
53 propagatedBuildInputs = with python3.pkgs; [
54 nbxmpp pygobject3 dbus-python pillow css-parser precis-i18n keyring setuptools packaging gssapi
56 ] ++ lib.optionals enableE2E [ pycrypto python-gnupg ]
57 ++ lib.optional enableRST docutils
58 ++ extraPythonPackages python3.pkgs;
60 nativeCheckInputs = [ xvfb-run dbus ];
63 python pep517build/build_metadata.py -o dist/metadata
67 python pep517build/install_metadata.py dist/metadata --prefix=$out
71 xvfb-run dbus-run-session \
72 --config-file=${dbus}/share/dbus-1/session.conf \
73 ${python3.interpreter} -m unittest discover -s test/gui -v
74 ${python3.interpreter} -m unittest discover -s test/common -v
77 # test are broken in 1.7.3, 1.8.0
80 # necessary for wrapGAppsHook
84 homepage = "http://gajim.org/";
85 description = "Jabber client written in PyGTK";
86 license = lib.licenses.gpl3Plus;
87 maintainers = with lib.maintainers; [ raskin abbradar ];
88 downloadPage = "http://gajim.org/download/";
89 platforms = lib.platforms.linux;
90 mainProgram = "gajim";