diff --git a/pkgs/by-name/or/orca/fix-paths.patch b/pkgs/by-name/or/orca/fix-paths.patch index 8f713de296d6..49b5cc34ac89 100644 --- a/pkgs/by-name/or/orca/fix-paths.patch +++ b/pkgs/by-name/or/orca/fix-paths.patch @@ -1,39 +1,34 @@ -diff --git a/src/orca/debug.py b/src/orca/debug.py -index e17e2333e..595c8489d 100644 ---- a/src/orca/debug.py -+++ b/src/orca/debug.py -@@ -529,7 +529,7 @@ def traceit(frame, event, arg): - return traceit +diff --git a/src/orca/ax_utilities_application.py b/src/orca/ax_utilities_application.py +index 60c172f78..e8dadf76d 100644 +--- a/src/orca/ax_utilities_application.py ++++ b/src/orca/ax_utilities_application.py +@@ -189,7 +189,7 @@ class AXUtilitiesApplication: - 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)) - -@@ -547,7 +547,7 @@ def getCmdline(pid): - return cmdline - - def pidOf(procName): -- openFile = subprocess.Popen(f'pgrep {procName}', -+ openFile = subprocess.Popen(f'@pgrep@ {procName}', - shell=True, - stdout=subprocess.PIPE).stdout - pids = openFile.read() + pid = AXUtilitiesApplication.get_process_id(app) + try: +- state = subprocess.getoutput(f"cat /proc/{pid}/status | grep State") ++ state = subprocess.getoutput(f"@cat@ /proc/{pid}/status | @grep@ State") + state = state.split()[1] + except Exception as error: + tokens = [f"AXUtilitiesApplication: Exception checking state of pid {pid}: {error}"] +diff --git a/src/orca/debugging_tools_manager.py b/src/orca/debugging_tools_manager.py +index 740f1a690..85f74d2dc 100644 +--- a/src/orca/debugging_tools_manager.py ++++ b/src/orca/debugging_tools_manager.py +@@ -243,7 +243,7 @@ class DebuggingToolsManager: + else: + name = AXObject.get_name(app) or "[DEAD]" + try: +- cmdline = subprocess.getoutput(f"cat /proc/{pid}/cmdline") ++ cmdline = subprocess.getoutput(f"@cat@ /proc/{pid}/cmdline") + except Exception as error: + cmdline = f"EXCEPTION: {error}" + else: diff --git a/src/orca/orca_bin.py.in b/src/orca/orca_bin.py.in -index c3b23dec2..320597ae6 100755 +index 6cb4c7772..903b344f0 100755 --- a/src/orca/orca_bin.py.in +++ b/src/orca/orca_bin.py.in -@@ -63,7 +63,7 @@ class ListApps(argparse.Action): - name = "[DEAD]" - - try: -- cmdline = subprocess.getoutput('cat /proc/%s/cmdline' % pid) -+ cmdline = subprocess.getoutput('@cat@ /proc/%s/cmdline' % pid) - except Exception: - cmdline = '(exception encountered)' - else: -@@ -199,7 +199,7 @@ def inGraphicalDesktop(): +@@ -186,7 +186,7 @@ def inGraphicalDesktop(): def otherOrcas(): """Returns the pid of any other instances of Orca owned by this user.""" @@ -43,33 +38,33 @@ index c3b23dec2..320597ae6 100755 stdout=subprocess.PIPE).stdout pids = openFile.read() diff --git a/src/orca/orca_modifier_manager.py b/src/orca/orca_modifier_manager.py -index 48c0dead5..8a4a04e74 100644 +index 3407be009..452297a3f 100644 --- a/src/orca/orca_modifier_manager.py +++ b/src/orca/orca_modifier_manager.py -@@ -200,7 +200,7 @@ class OrcaModifierManager: - debug.printMessage(debug.LEVEL_INFO, msg, True) +@@ -230,7 +230,7 @@ class OrcaModifierManager: + debug.print_message(debug.LEVEL_INFO, msg, True) self.unset_orca_modifiers(reason) -- p = subprocess.Popen(['xkbcomp', os.environ['DISPLAY'], '-'], -+ p = subprocess.Popen(['@xkbcomp@', os.environ['DISPLAY'], '-'], - stdout=subprocess.PIPE, stderr=subprocess.DEVNULL) - self._original_xmodmap, _ = p.communicate() +- with subprocess.Popen(["xkbcomp", os.environ["DISPLAY"], "-"], ++ with subprocess.Popen(["@xkbcomp@", os.environ["DISPLAY"], "-"], + stdout=subprocess.PIPE, stderr=subprocess.DEVNULL) as p: + self._original_xmodmap, _ = p.communicate() self._create_orca_xmodmap() -@@ -232,7 +232,7 @@ class OrcaModifierManager: +@@ -262,7 +262,7 @@ class OrcaModifierManager: return self._caps_lock_cleared = False -- p = subprocess.Popen(['xkbcomp', '-w0', '-', os.environ['DISPLAY']], -+ p = subprocess.Popen(['@xkbcomp@', '-w0', '-', os.environ['DISPLAY']], - stdin=subprocess.PIPE, stdout=None, stderr=None) - p.communicate(self._original_xmodmap) +- with subprocess.Popen(["xkbcomp", "-w0", "-", os.environ["DISPLAY"]], ++ with subprocess.Popen(["@xkbcomp@", "-w0", "-", os.environ["DISPLAY"]], + stdin=subprocess.PIPE, stdout=None, stderr=None) as p: + p.communicate(self._original_xmodmap) -@@ -293,7 +293,7 @@ class OrcaModifierManager: - if modified: - msg = "ORCA MODIFIER MANAGER: Updating xmodmap" - debug.printMessage(debug.LEVEL_INFO, msg, True) -- p = subprocess.Popen(['xkbcomp', '-w0', '-', os.environ['DISPLAY']], -+ p = subprocess.Popen(['@xkbcomp@', '-w0', '-', os.environ['DISPLAY']], - stdin=subprocess.PIPE, stdout=None, stderr=None) - p.communicate(bytes('\n'.join(lines), 'UTF-8')) +@@ -325,7 +325,7 @@ class OrcaModifierManager: + debug.print_message(debug.LEVEL_INFO, msg, True) + + +- with subprocess.Popen(["xkbcomp", "-w0", "-", os.environ["DISPLAY"]], ++ with subprocess.Popen(["@xkbcomp@", "-w0", "-", os.environ["DISPLAY"]], + stdin=subprocess.PIPE, stdout=None, stderr=None) as p: + p.communicate(bytes('\n'.join(lines), 'UTF-8')) else: diff --git a/pkgs/by-name/or/orca/package.nix b/pkgs/by-name/or/orca/package.nix index 42064bcf690a..efcf5ecdc95d 100644 --- a/pkgs/by-name/or/orca/package.nix +++ b/pkgs/by-name/or/orca/package.nix @@ -18,7 +18,7 @@ dbus, xkbcomp, procps, - lsof, + gnugrep, coreutils, gsettings-desktop-schemas, speechd-minimal, @@ -29,19 +29,19 @@ python3.pkgs.buildPythonApplication rec { pname = "orca"; - version = "47.3"; + version = "48.beta"; format = "other"; src = fetchurl { url = "mirror://gnome/sources/orca/${lib.versions.major version}/orca-${version}.tar.xz"; - hash = "sha256-GwsUW7aFzXTso+KMt7cJf5jRPuHMWLce3u06j5BFIxs="; + hash = "sha256-aY9LD2KtXJm5lcJg1rZnCIp1d9YIk5vfQzNTMIlQ10c="; }; patches = [ (replaceVars ./fix-paths.patch { cat = "${coreutils}/bin/cat"; - lsof = "${lsof}/bin/lsof"; + grep = "${gnugrep}/bin/grep"; pgrep = "${procps}/bin/pgrep"; xkbcomp = "${xkbcomp}/bin/xkbcomp"; })