1{ lib 2, buildPythonPackage 3, python 4, pygobject3 5, pyatspi 6, pycairo 7, at-spi2-core 8, gobjectIntrospection 9, gtk3 10, gsettings-desktop-schemas 11, fetchurl 12, dbus 13, xvfb_run 14# , fetchPypi 15}: 16 17buildPythonPackage rec { 18 pname = "dogtail"; 19 version = "0.9.10"; 20 21 # https://gitlab.com/dogtail/dogtail/issues/1 22 # src = fetchPypi { 23 # inherit pname version; 24 # sha256 = "0p5wfssvzr9w0bvhllzbbd8fnp4cca2qxcpcsc33dchrmh5n552x"; 25 # }; 26 src = fetchurl { 27 url = https://gitlab.com/dogtail/dogtail/raw/released/dogtail-0.9.10.tar.gz; 28 sha256 = "14sycidl8ahj3fwlhpwlpnyd43c302yqr7nqg2hj39pyj7kgk15b"; 29 }; 30 31 patches = [ 32 ./nix-support.patch 33 ]; 34 35 nativeBuildInputs = [ gobjectIntrospection dbus xvfb_run ]; # for setup hooks 36 propagatedBuildInputs = [ at-spi2-core gtk3 pygobject3 pyatspi pycairo ]; 37 38 checkPhase = '' 39 runHook preCheck 40 export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:$XDG_DATA_DIRS 41 # export NO_AT_BRIDGE=1 42 gsettings set org.gnome.desktop.interface toolkit-accessibility true 43 xvfb-run -s '-screen 0 800x600x24' dbus-run-session \ 44 --config-file=${dbus.daemon}/share/dbus-1/session.conf \ 45 ${python.interpreter} nix_run_setup test 46 runHook postCheck 47 ''; 48 49 # TODO: Tests require accessibility 50 doCheck = false; 51 52 meta = { 53 description = "GUI test tool and automation framework that uses Accessibility technologies to communicate with desktop applications"; 54 homepage = https://gitlab.com/dogtail/dogtail; 55 license = lib.licenses.gpl2; 56 maintainers = with lib.maintainers; [ jtojnar ]; 57 }; 58}