diff options
Diffstat (limited to 'dev-util/dogtail')
-rw-r--r-- | dev-util/dogtail/Manifest | 1 | ||||
-rw-r--r-- | dev-util/dogtail/dogtail-0.9.9.ebuild | 66 | ||||
-rw-r--r-- | dev-util/dogtail/files/dogtail-0.9.9-gentoo-paths.patch | 64 | ||||
-rw-r--r-- | dev-util/dogtail/files/dogtail-0.9.9-get-user.patch | 43 |
4 files changed, 174 insertions, 0 deletions
diff --git a/dev-util/dogtail/Manifest b/dev-util/dogtail/Manifest index ca8fee9b8993..199f3a6c5bde 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 000000000000..7990654e637d --- /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 000000000000..522249949228 --- /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 000000000000..a3f7ef77230d --- /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 + |