diff options
Diffstat (limited to 'pkgs/by-name/or/orca/package.nix')
-rw-r--r-- | pkgs/by-name/or/orca/package.nix | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/pkgs/by-name/or/orca/package.nix b/pkgs/by-name/or/orca/package.nix new file mode 100644 index 0000000000000..edc89bbaf2ba6 --- /dev/null +++ b/pkgs/by-name/or/orca/package.nix @@ -0,0 +1,117 @@ +{ lib +, pkg-config +, fetchurl +, meson +, ninja +, wrapGAppsHook3 +, gobject-introspection +, gettext +, yelp-tools +, itstool +, python3 +, gtk3 +, gnome +, substituteAll +, at-spi2-atk +, at-spi2-core +, dbus +, xkbcomp +, procps +, lsof +, coreutils +, gsettings-desktop-schemas +, speechd +, brltty +, liblouis +, gst_all_1 +}: + +python3.pkgs.buildPythonApplication rec { + pname = "orca"; + version = "46.1"; + + format = "other"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + hash = "sha256-z2deNQwYrA+ilDbGVZ0dqXX3///vqAjr5HbY+enRERQ="; + }; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + cat = "${coreutils}/bin/cat"; + lsof = "${lsof}/bin/lsof"; + pgrep = "${procps}/bin/pgrep"; + xkbcomp = "${xkbcomp}/bin/xkbcomp"; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + wrapGAppsHook3 + pkg-config + gettext + yelp-tools + itstool + gobject-introspection + ]; + + pythonPath = with python3.pkgs; [ + pygobject3 + dbus-python + pyxdg + brltty + liblouis + psutil + speechd + gst-python + setproctitle + ]; + + strictDeps = false; + + buildInputs = [ + python3 + 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 + ]; + + dontWrapGApps = true; # Prevent double wrapping + + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + }; + }; + + meta = with lib; { + homepage = "https://orca.gnome.org/"; + description = "Screen reader"; + mainProgram = "orca"; + 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.gnome.at-spi2-core.enable = true;` in `configuration.nix`. + ''; + maintainers = with maintainers; [ berce ] ++ teams.gnome.members; + license = licenses.lgpl21; + platforms = platforms.linux; + }; +} |