orca: init at 3.26.0
This commit is contained in:
parent
f8a500f722
commit
866c511a0a
3 changed files with 100 additions and 0 deletions
67
pkgs/applications/misc/orca/default.nix
Normal file
67
pkgs/applications/misc/orca/default.nix
Normal file
|
@ -0,0 +1,67 @@
|
|||
{ stdenv, lib, pkgconfig, fetchurl, buildPythonApplication
|
||||
, autoreconfHook, wrapGAppsHook
|
||||
, 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, liblouis
|
||||
, speechd, brltty, setproctitle, gst_all_1, gst-python
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
version = "3.26.0";
|
||||
majorVersion = builtins.concatStringsSep "." (take 2 (splitString "." version));
|
||||
in buildPythonApplication rec {
|
||||
name = "orca-${version}";
|
||||
|
||||
format = "other";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/orca/${majorVersion}/${name}.tar.xz";
|
||||
sha256 = "0xk5k9cbswymma60nrfj00dl97wypx59c107fb1hwi75gm0i07a7";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./fix-paths.patch;
|
||||
xkbcomp = "${xkbcomp}/bin/xkbcomp";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook wrapGAppsHook pkgconfig libxmlxx3
|
||||
intltool yelp_tools itstool
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pygobject3 pyatspi dbus-python pyxdg brltty liblouis speechd gst-python setproctitle
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
python gtk3 at_spi2_atk at_spi2_core dbus gsettings_desktop_schemas
|
||||
gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
|
||||
];
|
||||
|
||||
# Run intltoolize to create po/Makefile.in.in
|
||||
preConfigure = ''
|
||||
intltoolize
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = https://wiki.gnome.org/Projects/Orca;
|
||||
description = "Screen reader";
|
||||
longDescription = ''
|
||||
A free, open source, flexible and extensible screen reader that provides
|
||||
access to the graphical desktop via speech and refreshable braille.
|
||||
It works with applications and toolkits that support the Assistive
|
||||
Technology Service Provider Interface (AT-SPI). That includes the GNOME
|
||||
Gtk+ toolkit, the Java platform's Swing toolkit, LibreOffice, Gecko, and
|
||||
WebKitGtk. AT-SPI support for the KDE Qt toolkit is being pursued.
|
||||
|
||||
Needs `services.gnome3.at-spi2-core.enable = true;` in `configuration.nix`.
|
||||
'';
|
||||
maintainers = with maintainers; [ berce ] ++ gnome3.maintainers;
|
||||
license = licenses.lgpl21;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
29
pkgs/applications/misc/orca/fix-paths.patch
Normal file
29
pkgs/applications/misc/orca/fix-paths.patch
Normal file
|
@ -0,0 +1,29 @@
|
|||
--- a/src/orca/orca.py
|
||||
+++ b/src/orca/orca.py
|
||||
@@ -239,7 +239,7 @@
|
||||
|
||||
def _setXmodmap(xkbmap):
|
||||
"""Set the keyboard map using xkbcomp."""
|
||||
- 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(xkbmap)
|
||||
|
||||
@@ -297,7 +297,7 @@
|
||||
"""
|
||||
|
||||
global _originalXmodmap
|
||||
- _originalXmodmap = subprocess.check_output(['xkbcomp', os.environ['DISPLAY'], '-'])
|
||||
+ _originalXmodmap = subprocess.check_output(['@xkbcomp@', os.environ['DISPLAY'], '-'])
|
||||
|
||||
def _restoreXmodmap(keyList=[]):
|
||||
"""Restore the original xmodmap values for the keys in keyList.
|
||||
@@ -309,7 +309,7 @@
|
||||
|
||||
global _capsLockCleared
|
||||
_capsLockCleared = 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(_originalXmodmap)
|
||||
|
|
@ -16308,6 +16308,10 @@ with pkgs;
|
|||
|
||||
opera = callPackage ../applications/networking/browsers/opera {};
|
||||
|
||||
orca = python3Packages.callPackage ../applications/misc/orca {
|
||||
inherit (gnome3) yelp_tools;
|
||||
};
|
||||
|
||||
osmctools = callPackage ../applications/misc/osmctools { };
|
||||
|
||||
vivaldi = callPackage ../applications/networking/browsers/vivaldi {};
|
||||
|
|
Loading…
Reference in a new issue