summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-util/dogtail/Manifest1
-rw-r--r--dev-util/dogtail/dogtail-0.9.9.ebuild66
-rw-r--r--dev-util/dogtail/files/dogtail-0.9.9-gentoo-paths.patch64
-rw-r--r--dev-util/dogtail/files/dogtail-0.9.9-get-user.patch43
4 files changed, 174 insertions, 0 deletions
diff --git a/dev-util/dogtail/Manifest b/dev-util/dogtail/Manifest
index ca8fee9b899..199f3a6c5bd 100644
--- a/dev-util/dogtail/Manifest
+++ b/dev-util/dogtail/Manifest
@@ -1 +1,2 @@
DIST dogtail-0.9.0.tar.gz 119882 SHA256 564dae5fba4fa3a7f6d53503e0877dad56ae8bce10e181d3d2c0bdbf063f4e36 SHA512 cf2956fad923f0f325f5dc3cd8f5a575491f6c455e2fa597b034b09e1579054b84b6ae80b67cbbe161c012c0de48457f872cfe27a5e0274447d32e21e4a8360d WHIRLPOOL 771606a4bc3d59bd75df85ab9ef3dd8bd4e28161e13fc792bb4108f7b058db18f42c1174499b90d3c307c3302e254278aecf94e03ff894222bc7f12021611c1f
+DIST dogtail-0.9.9.tar.gz 123884 SHA256 5d94620bac19b23606d3ecb28e85628c5ceb505beb530af7023ce5bfb576bc5c SHA512 5283dea40b8193e7380aeebab6c7ad149c232ac3d7360df477bed0e623bacc79fc895694d2aff788dd5f986591c1460c447428d8c2acf25ba240946323eabef8 WHIRLPOOL 4d855893e9da54bca09260729f3dc551e973a47a0ef9db31507c071e0014bb70d809aebb50bb47355c9b536f499f912e6b75846a2fe98f3ed8a2a8df20f43a5f
diff --git a/dev-util/dogtail/dogtail-0.9.9.ebuild b/dev-util/dogtail/dogtail-0.9.9.ebuild
new file mode 100644
index 00000000000..7990654e637
--- /dev/null
+++ b/dev-util/dogtail/dogtail-0.9.9.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+
+inherit eutils distutils-r1 gnome2-utils xdg
+
+DESCRIPTION="GUI test tool and automation framework using accessibility framework"
+HOMEPAGE="https://fedorahosted.org/dogtail/"
+SRC_URI="https://fedorahosted.org/released/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+ dev-libs/gobject-introspection
+ dev-python/pyatspi[${PYTHON_USEDEP}]
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ x11-libs/gdk-pixbuf:2[introspection]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/libwnck:3[introspection]
+ x11-base/xorg-server[xvfb]
+ x11-apps/xinit
+"
+DEPEND="${DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ # Install docs in one place
+ sed "s:doc/${PN}:doc/${PF}:" -i setup.py || die
+
+ # Fix current user detection, upstream bug #46
+ # Also, respect TMPDIR
+ epatch "${FILESDIR}"/${PN}-0.9.9-get-user.patch
+
+ # Upstream loads resources relative to __file__, which doesn't work with
+ # gentoo's dev-lang/python-exec. So we need to add hard-coded paths.
+ epatch "${FILESDIR}"/${PN}-0.9.9-gentoo-paths.patch
+ sed -e "s:@EPREFIX_USR@:'${EPREFIX}/usr':" -i sniff/sniff || die "sed failed"
+
+ xdg_src_prepare
+ distutils-r1_src_prepare
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_icon_cache_update
+}
diff --git a/dev-util/dogtail/files/dogtail-0.9.9-gentoo-paths.patch b/dev-util/dogtail/files/dogtail-0.9.9-gentoo-paths.patch
new file mode 100644
index 00000000000..52224994922
--- /dev/null
+++ b/dev-util/dogtail/files/dogtail-0.9.9-gentoo-paths.patch
@@ -0,0 +1,64 @@
+From 069a17e22a73ecff686b650ba158a292cc508cb5 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Sat, 5 Mar 2016 19:38:08 +0100
+Subject: [PATCH] Load resources from well-known location
+
+Using __file__ does not work with Gentoo's dev-python/python-exec
+wrapping. Better use hard-coded paths.
+
+Also adds support for prefix.
+---
+ sniff/sniff | 26 +++++++++-----------------
+ 1 file changed, 9 insertions(+), 17 deletions(-)
+
+diff --git a/sniff/sniff b/sniff/sniff
+index a83a1c2..ff43f38 100755
+--- a/sniff/sniff
++++ b/sniff/sniff
+@@ -47,22 +47,18 @@ class SniffApp(object):
+ if os.path.exists('sniff.ui'):
+ self.builder.add_from_file('sniff.ui')
+ else:
+- import os
+- path = os.path.abspath(
+- os.path.join(__file__, os.path.pardir, os.path.pardir))
+- if path == '/': # in case the path is /bin/sniff
+- path = '/usr'
+- self.builder.add_from_file(path + '/share/dogtail/glade/sniff.ui')
++ self.builder.add_from_file(os.path.join(
++ @EPREFIX_USR@,
++ 'share/dogtail/glade/sniff.ui')
++ )
+ self.app = self.builder.get_object(self.appName)
+ try:
+ self.app.set_icon_from_file('../icons/dogtail-head.svg')
+ except Exception:
+- import os
+- path = os.path.abspath(
+- os.path.join(__file__, os.path.pardir, os.path.pardir))
+- if path is '/':
+- path = '/usr'
+- self.app.set_icon_from_file(os.path.join(path, 'share/icons/hicolor/scalable/apps/dogtail-head.svg'))
++ self.app.set_icon_from_file(os.path.join(
++ @EPREFIX_USR@,
++ 'share/icons/hicolor/scalable/apps/dogtail-head.svg')
++ )
+ self.setUpWidgets()
+ self.connectSignals()
+ self.app.show_all()
+@@ -650,11 +646,7 @@ def loadIcon(iconName):
+ pixbuf = GdkPixbuf.Pixbuf.new_from_file('icons/' + iconName)
+ except GObject.GError:
+ import os
+- path = os.path.abspath(
+- os.path.join(__file__, os.path.pardir, os.path.pardir))
+- if path == '/':
+- path = '/usr'
+- iconName = os.path.join(path, 'share/dogtail/icons/', iconName)
++ iconName = os.path.join(@EPREFIX_USR@, 'share/dogtail/icons/', iconName)
+ pixbuf = GdkPixbuf.Pixbuf.new_from_file(iconName)
+ return pixbuf
+
+--
+2.7.2
+
diff --git a/dev-util/dogtail/files/dogtail-0.9.9-get-user.patch b/dev-util/dogtail/files/dogtail-0.9.9-get-user.patch
new file mode 100644
index 00000000000..a3f7ef77230
--- /dev/null
+++ b/dev-util/dogtail/files/dogtail-0.9.9-get-user.patch
@@ -0,0 +1,43 @@
+From 1ee93bf9d0d8a143f5faf9d1310d768d1de4ece4 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Sat, 5 Mar 2016 20:32:17 +0100
+Subject: [PATCH] Do not use USER as it can be unset.
+
+Use LOGNAME first as recommended by python documentation, then try alternatives.
+
+Also, use tempfile to respect environment variables changing tmpdir.
+
+Upstream: https://fedorahosted.org/dogtail/ticket/46
+Debian: http://bugs.debian.org/743500
+---
+ dogtail/config.py | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/dogtail/config.py b/dogtail/config.py
+index 80f08bf..1b6ac15 100644
+--- a/dogtail/config.py
++++ b/dogtail/config.py
+@@ -3,6 +3,8 @@ from __future__ import absolute_import, division, print_function, unicode_litera
+ import locale
+ import os
++import pwd
+ import sys
++import tempfile
+
+ """
+ The configuration module.
+@@ -12,7 +13,10 @@ __author__ = "Zack Cerza <zcerza@redhat.com>, David Malcolm <dmalcolm@redhat.com
+
+ def _userTmpDir(baseName):
+ # i.e. /tmp/dogtail-foo
+- return '-'.join(('/'.join(('/tmp', baseName)), os.environ['USER']))
++ return '-'.join((
++ '/'.join((tempfile.gettempdir(), baseName)),
++ os.getenv('LOGNAME', os.getenv('USER', pwd.getpwuid(os.getuid())[0]))
++ ))
+
+
+ class _Config(object):
+--
+2.7.2
+