From 859ad211e91f64a6d9b49a90db1c7dfed2e13e23 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 5 Sep 2018 00:51:59 +0000 Subject: [PATCH] =?UTF-8?q?orca:=203.28.2=20=E2=86=92=203.30.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/applications/misc/orca/default.nix | 9 ++-- pkgs/applications/misc/orca/fix-paths.patch | 49 +++++++++++++++++++++ 2 files changed, 55 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/orca/default.nix b/pkgs/applications/misc/orca/default.nix index 0dfc4b2bc58..802c56b4315 100644 --- a/pkgs/applications/misc/orca/default.nix +++ b/pkgs/applications/misc/orca/default.nix @@ -3,13 +3,13 @@ , intltool, yelp-tools, itstool, libxmlxx3 , python, pygobject3, gtk3, gnome3, substituteAll , at-spi2-atk, at-spi2-core, pyatspi, dbus, dbus-python, pyxdg -, xkbcomp, gsettings-desktop-schemas +, xkbcomp, procps, lsof, coreutils, gsettings-desktop-schemas , speechd, brltty, setproctitle, gst_all_1, gst-python }: let pname = "orca"; - version = "3.28.2"; + version = "3.30.1"; in buildPythonApplication rec { name = "${pname}-${version}"; @@ -17,12 +17,15 @@ in buildPythonApplication rec { src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "08rh6ji680g5nrw2n7jrxrw7nwg04sj52jxffcfasgss2f51d38q"; + sha256 = "1b9s69frjmghjm1p9a4rrvknl9m0qlwr7mr4lsxkvjnblhsnw0g7"; }; patches = [ (substituteAll { src = ./fix-paths.patch; + cat = "${coreutils}/bin/cat"; + lsof = "${lsof}/bin/lsof"; + pgrep = "${procps}/bin/pgrep"; xkbcomp = "${xkbcomp}/bin/xkbcomp"; }) ]; diff --git a/pkgs/applications/misc/orca/fix-paths.patch b/pkgs/applications/misc/orca/fix-paths.patch index d3e77773f28..ffb56dbe239 100644 --- a/pkgs/applications/misc/orca/fix-paths.patch +++ b/pkgs/applications/misc/orca/fix-paths.patch @@ -1,3 +1,32 @@ +--- a/src/orca/debug.py ++++ b/src/orca/debug.py +@@ -474,7 +474,7 @@ + return traceit + + def getOpenFDCount(pid): +- procs = subprocess.check_output([ 'lsof', '-w', '-Ff', '-p', str(pid)]) ++ procs = subprocess.check_output([ '@lsof@', '-w', '-Ff', '-p', str(pid)]) + procs = procs.decode('UTF-8').split('\n') + files = list(filter(lambda s: s and s[0] == 'f' and s[1:].isdigit(), procs)) + +@@ -482,7 +482,7 @@ + + def getCmdline(pid): + try: +- openFile = os.popen('cat /proc/%s/cmdline' % pid) ++ openFile = os.popen('@cat@ /proc/%s/cmdline' % pid) + cmdline = openFile.read() + openFile.close() + except: +@@ -492,7 +492,7 @@ + return cmdline + + def pidOf(procName): +- openFile = subprocess.Popen('pgrep %s' % procName, ++ openFile = subprocess.Popen('@pgrep@ %s' % procName, + shell=True, + stdout=subprocess.PIPE).stdout + pids = openFile.read() --- a/src/orca/orca.py +++ b/src/orca/orca.py @@ -239,7 +239,7 @@ @@ -27,3 +56,23 @@ stdin=subprocess.PIPE, stdout=None, stderr=None) p.communicate(_originalXmodmap) +--- a/src/orca/orca_bin.py.in ++++ b/src/orca/orca_bin.py.in +@@ -59,7 +59,7 @@ + name = "[DEAD]" + + try: +- cmdline = subprocess.getoutput('cat /proc/%s/cmdline' % pid) ++ cmdline = subprocess.getoutput('@cat@ /proc/%s/cmdline' % pid) + except: + cmdline = '(exception encountered)' + else: +@@ -192,7 +192,7 @@ + def otherOrcas(): + """Returns the pid of any other instances of Orca owned by this user.""" + +- openFile = subprocess.Popen('pgrep -u %s orca' % os.getuid(), ++ openFile = subprocess.Popen('@pgrep@ -u %s orca' % os.getuid(), + shell=True, + stdout=subprocess.PIPE).stdout + pids = openFile.read()