diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2018-07-06 09:20:35 +0200 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2018-07-06 09:35:02 +0200 |
commit | 21f78529a5a36b47127285fc11d691450fb0246f (patch) | |
tree | e73de6ad1cd5e0bb835280d8f7509a4cfdd0e8dc /pkgs/development/python-modules/dogtail | |
parent | 18b79b8fcbebe9fcbb8d4a50776924ee23becf39 (diff) |
python3.pkgs.dogtail: init at 0.9.10
Diffstat (limited to 'pkgs/development/python-modules/dogtail')
-rw-r--r-- | pkgs/development/python-modules/dogtail/default.nix | 58 | ||||
-rw-r--r-- | pkgs/development/python-modules/dogtail/nix-support.patch | 35 |
2 files changed, 93 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/dogtail/default.nix b/pkgs/development/python-modules/dogtail/default.nix new file mode 100644 index 0000000000000..2d193616e5f6b --- /dev/null +++ b/pkgs/development/python-modules/dogtail/default.nix @@ -0,0 +1,58 @@ +{ lib +, buildPythonPackage +, python +, pygobject3 +, pyatspi +, pycairo +, at-spi2-core +, gobjectIntrospection +, gtk3 +, gsettings-desktop-schemas +, fetchurl +, dbus +, xvfb_run +# , fetchPypi +}: + +buildPythonPackage rec { + pname = "dogtail"; + version = "0.9.10"; + + # https://gitlab.com/dogtail/dogtail/issues/1 + # src = fetchPypi { + # inherit pname version; + # sha256 = "0p5wfssvzr9w0bvhllzbbd8fnp4cca2qxcpcsc33dchrmh5n552x"; + # }; + src = fetchurl { + url = https://gitlab.com/dogtail/dogtail/raw/released/dogtail-0.9.10.tar.gz; + sha256 = "14sycidl8ahj3fwlhpwlpnyd43c302yqr7nqg2hj39pyj7kgk15b"; + }; + + patches = [ + ./nix-support.patch + ]; + + nativeBuildInputs = [ gobjectIntrospection dbus xvfb_run ]; # for setup hooks + propagatedBuildInputs = [ at-spi2-core gtk3 pygobject3 pyatspi pycairo ]; + + checkPhase = '' + runHook preCheck + export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:$XDG_DATA_DIRS + # export NO_AT_BRIDGE=1 + gsettings set org.gnome.desktop.interface toolkit-accessibility true + xvfb-run -s '-screen 0 800x600x24' dbus-run-session \ + --config-file=${dbus.daemon}/share/dbus-1/session.conf \ + ${python.interpreter} nix_run_setup test + runHook postCheck + ''; + + # TODO: Tests require accessibility + doCheck = false; + + meta = { + description = "GUI test tool and automation framework that uses Accessibility technologies to communicate with desktop applications"; + homepage = https://gitlab.com/dogtail/dogtail; + license = lib.licenses.gpl2; + maintainers = with lib.maintainers; [ jtojnar ]; + }; +} diff --git a/pkgs/development/python-modules/dogtail/nix-support.patch b/pkgs/development/python-modules/dogtail/nix-support.patch new file mode 100644 index 0000000000000..e8a65bbc87bef --- /dev/null +++ b/pkgs/development/python-modules/dogtail/nix-support.patch @@ -0,0 +1,35 @@ +--- a/dogtail/distro.py ++++ b/dogtail/distro.py +@@ -233,6 +233,11 @@ + PackageDb.__init__(self) + + ++class _NixPackageDb(PackageDb): # pragma: no cover ++ def __init__(self): ++ PackageDb.__init__(self) ++ ++ + class JhBuildPackageDb(PackageDb): # pragma: no cover + def __init__(self): + PackageDb.__init__(self) +@@ -324,6 +329,11 @@ + self.packageDb = _SolarisPackageDb() + + ++class Nix(Distro): # pragma: no cover ++ def __init__(self): ++ self.packageDb = _NixPackageDb() ++ ++ + class JHBuild(Distro): # pragma: no cover + def __init__(self): + self.packageDb = JhBuildPackageDb() +@@ -358,6 +368,8 @@ + elif os.path.exists("/etc/release") and \ + re.match(".*Solaris", open("/etc/release").readline()): # pragma: no cover + distro = Solaris() # pragma: no cover ++ elif os.path.exists("/nix/store"): # pragma: no cover ++ distro = Nix() # pragma: no cover + elif os.path.exists("/etc/os-release") and \ + re.match(".*GNOME-Continuous", open("/etc/os-release").readline()): # pragma: no cover + distro = GnomeContinuous() # pragma: no cover |