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