I've personally never found distro packages of emacspeak of any benefit. In fact, I've found they seem to take so much work to keep current that they are typically out of date and actually take more effort than just a simple git based workflow whhere all you have to do is git pull, make clean, make config and make. In the case of macOS, my experience has been that most of the challenges surround quirks associated with macOS and ensuring you have things like sox installed. The big hurdle seems to be mainly around the fact there are at least 3 different pathways to running Emacs and emacspeak on the mac i.e. starging Emacs from the dock or finder, starting emacs from a terminal in GUI mode and starting emacs from a terminal in text mode. Each of these startup methods have different configuration pre-requisites which are not only confusing for the end user, but often lead to even more ocnfusion when they ask for help as they will get different advice depending on which workflow others use. My suggestion would be that rather than starting with trying to create a brew package, perhaps a detailed and comprehensive macOS HOWTO document would be better. Such a document, once refined and after incorporating testing and feedback from users could then be a blueprint for developing a package if so desired. As to your specific questions .... > 1. Do distros routinely create emacspeak launchers? Yes, distros do frequently have an emacspeak launcher. However, there has been problems in the past due to such launchers. This is because often the launcher does something like emacs -q -e '(load-libarary "emacspeak-setup") or similar. However, this tends to cause problems with personal customization and use of things like Emacs' custom groups etc. It also doesn't help those who like to use things like the dock to launch emacs. > 2. Do distros ever touch the users init.el or config directly? No. I suspect one reason is because this is actually more complicated than it may seem. For one thing, you have 3 different 'standard' locations for the user's config and with recent emacs and the --init-directory command line switch, users can put their config anywhere. > 3. Is adding a script like "emacspeak-update-config" or something similar to the > users config acceptable? I suspect some people would say yes and others would say no. The problem with this is that getting this right is going to be very difficult and error prone. People use diverse methods to maintain their Emacs setup and the structure of that setup varies a lot. For example, many users spread their setup over multiple files or manage it via Org mode or some other system like stowe. If you were to add such a script, it would probably need to be optional. Suspect much easier to just have instructions like Raman has put at the end of the Makefile. > 4. I am currently planning on installing a version of emacs I know works well with > emacspeaks (emacs-plus) with full UI for low-vision users. Is it best to leave > the system emacs untouched and make another launcher or to update the > system emacs? I don't htink you should do anything here. Your package should just be configured to depend on one of the other existing Homebrew emacs packages. Allow the user to use the emacs package ersion they prefer. Whatever you do, don't do anything with the out of date default Emacs system package as this is likely to achieve little and will almost certainly create unnecessary complications for the user next time they try to update macOS. From memory, Hoebrew allows you to specify multiple version dependencies, so you should be able to define your homebrew package such that it simply requires you have at least one Homebrew based Emacs installed. If you decide to go ahead with a package, my advice would be to keep it as simple as possible. Don't try to satisfy everyone and don't try to make the package too clever. In fact, it might be worth thinking of it as more like a meta package. What it does is just ensure that all necessary dependencies are installed, checks out Emacspeak from git into some directory, builds it and then tells the user what to add to their init file. For example, ensures they have a hombrew version of emacs and sox installed, checkout git into an emacspeak directory, run config, make and provide some instructions for updating their init file (possibly including adding environment variables for DTK_PROGRAM and adding a load-path entgry).
|Full archive May 1995 - present by Year|Search the archive|
If you have questions about this archive or had problems using it, please contact us.