2017-12-16 22:36:08 +00:00
|
|
|
{ stdenv, lib, pkgconfig, fetchurl, buildPythonApplication
|
2018-04-24 20:39:53 +01:00
|
|
|
, autoreconfHook, wrapGAppsHook, gobjectIntrospection
|
2018-02-25 02:23:58 +00:00
|
|
|
, intltool, yelp-tools, itstool, libxmlxx3
|
2017-12-16 22:36:08 +00:00
|
|
|
, python, pygobject3, gtk3, gnome3, substituteAll
|
2018-02-25 02:23:58 +00:00
|
|
|
, at-spi2-atk, at-spi2-core, pyatspi, dbus, dbus-python, pyxdg
|
|
|
|
, xkbcomp, gsettings-desktop-schemas, liblouis
|
2017-12-16 22:36:08 +00:00
|
|
|
, speechd, brltty, setproctitle, gst_all_1, gst-python
|
|
|
|
}:
|
|
|
|
|
|
|
|
with lib;
|
|
|
|
let
|
2018-03-03 00:31:38 +00:00
|
|
|
pname = "orca";
|
2018-07-05 23:28:48 +01:00
|
|
|
version = "3.28.2";
|
2017-12-16 22:36:08 +00:00
|
|
|
in buildPythonApplication rec {
|
2018-03-03 00:31:38 +00:00
|
|
|
name = "${pname}-${version}";
|
2017-12-16 22:36:08 +00:00
|
|
|
|
|
|
|
format = "other";
|
|
|
|
|
|
|
|
src = fetchurl {
|
2018-03-03 00:31:38 +00:00
|
|
|
url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
|
2018-07-05 23:28:48 +01:00
|
|
|
sha256 = "08rh6ji680g5nrw2n7jrxrw7nwg04sj52jxffcfasgss2f51d38q";
|
2017-12-16 22:36:08 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
patches = [
|
|
|
|
(substituteAll {
|
|
|
|
src = ./fix-paths.patch;
|
|
|
|
xkbcomp = "${xkbcomp}/bin/xkbcomp";
|
|
|
|
})
|
|
|
|
];
|
|
|
|
|
|
|
|
nativeBuildInputs = [
|
|
|
|
autoreconfHook wrapGAppsHook pkgconfig libxmlxx3
|
2018-04-24 20:39:53 +01:00
|
|
|
intltool yelp-tools itstool gobjectIntrospection
|
2017-12-16 22:36:08 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
propagatedBuildInputs = [
|
2018-04-24 20:26:37 +01:00
|
|
|
# TODO: re-add liblouis when it is fixed
|
|
|
|
pygobject3 pyatspi dbus-python pyxdg brltty speechd gst-python setproctitle
|
2017-12-16 22:36:08 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
buildInputs = [
|
2018-02-25 02:23:58 +00:00
|
|
|
python gtk3 at-spi2-atk at-spi2-core dbus gsettings-desktop-schemas
|
2017-12-16 22:36:08 +00:00
|
|
|
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
|
|
|
|
'';
|
|
|
|
|
2018-03-03 00:31:38 +00:00
|
|
|
passthru = {
|
|
|
|
updateScript = gnome3.updateScript {
|
|
|
|
packageName = pname;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2017-12-16 22:36:08 +00:00
|
|
|
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;
|
|
|
|
};
|
|
|
|
}
|