La autoridad principal en requisitos de construcción debería ser <raíz del repo de nvda>/include/espeak/Makefile.am. Los archivos *.vcxproj en <raíz del repo de nvda>/include/espeak/src/windows/ pueden tenerse también en cuenta. Sin embargo, no siempre se mantienen actualizados. NVAccess no usa los archivos de automake o los archivos de Visual Studio, ellos mantienen su propio método para construir Espeak. Las modificaciones tendrán que hacerse en <raíz del repo de nvda>/nvdaHelper/espeak sconscript para el proceso de construcción. config.h para establecer la versión de eSpeak-NG que NVDA muestra en el archivo de registro.

Cómo hacer la actualización

  1. Comienza desde una rama limpia de NVDA master
    1. Haz checkout a la rama origin/master más reciente y crea una nueva rama.
    2. Ejecuta git clean para asegurarte de que el directorio de trabajo está limpio.
  2. Asegúrate de que los submódulos están actualizados
    1. Sincroniza los submódulos con git submodule sync
    2. Actualiza los submódulos con git submodule update --init --recursive
  3. Haz checkout en la nueva revisión de eSpeak-NG a probar.
    1. Navega al directorio include/espeak/
    2. Haz git fetch para obtener lo último del repositorio de espeak-ng
    3. Haz git checkout origin/master o cualquier otra referencia de espeak-ng en la que estés interesado.
  4. Actualiza el registro de versión de NVAccess y construye.
    1. Vuelve de nuevo a la raíz del repositorio de NVDA
    2. Actualiza la versión del paquete en <raíz del repo de nvda>/nvdaHelper/espeak/config.h. Puedes usar <raíz del repo de nvda>/include/espeak/src/windows/config.h para comprobar dos veces que es la versión que esperas.
    3. Construye NVDA
  5. Ejecuta NVDA (establece eSpeak-ng como sintetizador) y prueba.
  6. Asegúrate de que el archivo de registro contiene el nuevo número de versión para eSpeak-NG

Resolución de problemas

Si Python falla durante la construcción, comprueba el registro. Si la última cosa que se hacía era compilar un diccionario, intenta excluirlo. Esto puede hacerse en <raíz del repo de nvda>/nvdaHelper/espeak/sconscript. Recuerda informar sobre el fallo al proyecto eSpeak-ng. Si la construcción falla, toma nota del error, compara las diferencias con el archivo makefile.am y refleja cualquier cambio en el archivo sconscript.

Problemas conocidos

Debido a problemas con el soporte de emojis (que causaba errores fatales), los archivos de diccionarios de emojis se están excluyendo de la construcción, se eliminan antes de compilar los diccionarios en el archivo <raíz del repo de nvda>/nvdaHelper/espeak/sconscript.