push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,81 @@
{
lib,
buildPythonPackage,
python,
pygobject3,
pyatspi,
pycairo,
at-spi2-core,
gobject-introspection,
gtk3,
gsettings-desktop-schemas,
fetchurl,
dbus,
xvfb-run,
wrapGAppsHook3,
# , fetchPypi
}:
buildPythonPackage {
pname = "dogtail";
version = "0.9.11";
format = "setuptools";
outputs = [
"out"
"dev"
];
# 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 = "EGyxYopupfXPYtTL9mm9ujZorvh8AGaNXVKBPWsGy3c=";
};
patches = [ ./nix-support.patch ];
nativeBuildInputs = [
gobject-introspection
dbus
xvfb-run
wrapGAppsHook3
]; # 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}/share/dbus-1/session.conf \
${python.interpreter} nix_run_setup test
runHook postCheck
'';
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
# 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.gpl2Only;
maintainers = [ ];
};
}

View File

@@ -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