Предлагается добавить в Sisyphus пакет Emacspeak в варианте форка Игоря Порецкого. Это многофункциональная самоозвучивающаяся рабочая среда на базе Emacs, обеспечивающая аудиоречевой доступ к локальным документам и программам, а также сетевым сервисам, которая является инструментом специальных возможностей Linux. Emacspeak представляет собой подсистему для среды Emacs, содержащую полностью автономную реализацию системы невизуальной доступности, которая включает речевой вывод информации и звуковую сигнализацию. Он имеет тесную интеграцию с Emacs, являясь буквально обёрткой вокруг большинства функций, которые изменяют или иным образом модифицируют отображение содержимого интерфейса Emacs. Оригинальный проект Emacspeak развивается с 1995 года Т. В. Раманом из Индии. В начале двухтысячных годов Emacspeak стал использоваться несколькими русскоязычными пользователями Linux, в процессе чего выявился ряд проблем оригинального проекта в отношении поддержки работы с русским языком. Был разработан ряд патчей для решения проблем с русским языком, а также для ряда других усовершенствований, но по различным причинам они не были в полном объёме приняты в upstream Рамана. Это привело к созданию параллельно существующего и периодически синхронизируемого форка Emacspeak с поддержкой русского языка и дополнительной функциональностью, который с тех пор разрабатывается и сопровождается И. Б. Порецким. В Sisyphus уже присутствует и стабильно обновляется пакет оригинального Emacspeak т Рамана. Однако он содержит упомянутые проблемы с поддержкой русского языка. Фактически русскоязычные пользователи Emacspeak последние 20 лет используют не оригинальную версию Emacspeak, а его форк от Игоря Порецкого с рядом дополнительных компонентов и настроек. В связи с этим предлагается добавить в репозиторий форк Порецкого отдельным пакетом, но сохранить и пакет оригинального Emacspeak, так как между ними существует функциональная разница, и оригинальный Emacspeak может быть востребован в некоторых ситуациях. Форк Emacspeak от Порецкого разрабатывается и сопровождается с оглядкой на сохранение возможности синхронизации с upstream, поэтому имеет некоторую специфику хранения в репозитории, а также полного конфигурирования для начала работы. Во-первых, ветка master в репозитории форка Порецкого является автоматически импортируемой копией master оригинального проекта. Она не содержит никаких патчей. Функционально различающиеся состояния форка надо смотреть в других ветках репозитория. Сам Игорь Порецкий сопровождает сборки своего форка для LTS-версий Ubuntu и Debian. В репозиториях они хранятся в соответствующих ветках, откуда и надо собирать пакет. Во-вторых, форк Порецкого в полном варианте поставки доконфигурируется двумя файлами дополнительных клавиатурных команд и общих настроек. Обычно их предлагается добавлять самостоятельно вручную после установки пакета форка, но, возможно, есть смысл включить их в пакет для Sisyphus сразу. Таким образом, собирать форк Emacspeak от Порецкого надо так: 1. В репозитории выбрать ветку, соответствующую наиболее новой версии Ubuntu или Debian на момент сборки. Сейчас (29.11.2024) это ветка jammy (для Ubuntu 22.04 Jammy Jellyfish). 2. Последовательно применить все патчи из директории /debian/patches 3. Если автоматизировать добавление дополнительных конфигурационных файлов, то с сайта Порецкого скачать файлы под заголовком "Дополнительные конфигурационные файлы". Сейчас (29.11.2024) это: А) Клавиатурные комбинации для ряда полезных функций Emacs: https://poretsky.github.io/packages/files/80keybindings.el Б) Общие настройки Emacs: https://poretsky.github.io/packages/files/80site-defaults.el и обеспечить добавление этих конфигурационных файлов при установке пакета в каталог /etc/emacs/site-start.d 4. Выполнить прочие мероприятия по подготовке пакета. В spec-файле данному пакету наиболее логичным представляется указать категорию Accessibility. Функциональные зависимости пакета: * Emacs - базовая среда для работы самого Emacspeak. * Multispeech - пакет речевого сервера Emacspeak с дополнительной функциональностью и синтезаторами речи, учитывающими специфику работы русскоязычных пользователей. Multispeech разработан также Порецким, и им традиционно доукомплектовывается форк Emacspeak от Порецкого. Примечание 1: Emacspeak и speechd-el - это два отдельных независимых проекта, обеспечивающих невизуальную доступность среды Emacs. Они не связаны друг с другом, и каждый из них предлагает собственное решение по обеспечению доступности Emacs. Примечание 2: Оригинальный Emacspeak от Рамана и его форк от Порецкого имеют существенные различия, описываемые более чем сотней патчей, и разные наборы дополнительных компонентов Emacs. Уместить их в одном пакете вряд ли возможно, поэтому предлагается прорабатывать именно схему упаковки их как двух отдельных пакетов. Ссылки по теме: * Репозиторий Emacspeak (форк Порецкого) на GitHub: https://github.com/poretsky/emacspeak * Информационная страница проекта средств невизуального доступа на базе Emacspeak Игоря Порецкого: https://poretsky.github.io/packages/index-ru.html * Страница пакета оригинального Emacspeak в Sisyphus: https://packages.altlinux.org/ru/sisyphus/srpms/emacspeak/