{ lib, fetchurl, gettext, wrapGAppsHook # Native dependencies , python3, gtk3, gobject-introspection, gnome3 , glib-networking # 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 , enableOmemoPluginDependencies ? true , extraPythonPackages ? ps: [] }: python3.pkgs.buildPythonApplication rec { pname = "gajim"; version = "1.3.2"; src = fetchurl { url = "https://gajim.org/downloads/${lib.versions.majorMinor version}/gajim-${version}.tar.gz"; sha256 = "1vjzv8zg9s393xw81klcgbkn4h6j2blzla9iil5kqfrw7wmldskh"; }; buildInputs = [ gobject-introspection gtk3 gnome3.adwaita-icon-theme 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; nativeBuildInputs = [ gettext wrapGAppsHook ]; dontWrapGApps = true; preFixup = '' makeWrapperArgs+=("''${gappsWrapperArgs[@]}") ''; propagatedBuildInputs = with python3.pkgs; [ nbxmpp pygobject3 dbus-python pillow css-parser precis-i18n keyring setuptools ] ++ lib.optionals enableE2E [ pycrypto python-gnupg ] ++ lib.optional enableRST docutils ++ lib.optionals enableOmemoPluginDependencies [ python-axolotl qrcode ] ++ extraPythonPackages python3.pkgs; checkInputs = [ xvfb_run dbus.daemon ]; checkPhase = '' # https://dev.gajim.org/gajim/gajim/-/issues/10478 rm test/lib/gajim_mocks.py test/unit/test_gui_interface.py xvfb-run dbus-run-session \ --config-file=${dbus.daemon}/share/dbus-1/session.conf \ ${python3.interpreter} setup.py test ''; # necessary for wrapGAppsHook strictDeps = false; meta = { homepage = "http://gajim.org/"; description = "Jabber client written in PyGTK"; license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ raskin abbradar ]; downloadPage = "http://gajim.org/downloads.php"; updateWalker = true; platforms = lib.platforms.linux; }; }