[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: building and installing under $HOME

As another Debian user, I just wanted to mention a couple of things. 

As Raman mentions, there is no issue with running emacspeak out of a
directory in your home area. However, as Lukas points out, you need to
be careful that installed versions of emacspeak based on Debian
packages don't take precedence. 

Some points to mention -

Lukas mentions that emacspeak sources are placed in
/usr/share/emacs/site-lisp. However, you need to be slightly more
careful. While the source files are placed in that directory, the
compiled sources are placed in a version specific directory. For
example, if you are running emacs 21, the compiled versions of
emacspeak are placed in /usr/shae/emacs21/site-lisp.

I use a similar approach to Lukas, but use a startup file in
/etc/emacs. The way Debian works, is to load all the files in
/etc/emacs/site-lisp.d and then the files in the site specific
directory, such as /etc/emacs21/site-lisp.d. 

the other thing to note about emacspeak is that it tends to work more
reliably if emacspeak is loaded early in the startup process. For this
reason, rather than loading emacspeak from a shell script, I tend to
put a file in /etc/emacs/site-lisp.d with a name that starts with
00. For example, 00emacspeak. This ensure my emacspeak is loaded
before any other packages. 

While not using it at the moment, I have used a setup very similar to
Lukas in which the load script looks for an emacspeak_dir environment
variable and loads the emacspeak associated with that load
directory. this means I can change which emacspeak is loaded simply by
changing the load directory. However, I've found one additional
important variable is the emacs 'noninteractive' variable. This is
only true if emacs is being run in batch mode
(i.e. noninteractive). Its good to test this variable to nsure
emacspeak is not loaded when building other packages in
batch mode - for example, this is what Debian does when ou install an
emacs package. I've found you can get problems when building some
packages if emacspeak is loaded prior to the compilation of the
package. therefore, in my setup script for emacspeak, I test the
noninteractive variable and if it is not true (ie.e we are running in
interactive mode - which means we are NOT running in batch mode) it
loads emacspeak. Otherwise, it does not load emacspeak. This prevents
emacspeak from possibly interfering with the installation of
additional packages. 

If you want copies of any of my scripts, just let me know and I'll
post them.


Lukas Loehrer writes:
 > Hi Robert,
 > I can think of the following problem: You must make sure that the
 > system wide installation does not get into your way when running your
 > own.  The debian emacspeak package puts an configuration file under
 > /etc/emacs/site-start.d50emacspeak.el
 > which might interfere. You will have to make sure that when you start
 > your user installed version, no parts of the debian version are
 > used.  It would probably be worthwhile inspecting the above file for
 > possible trouble. 
 > I use the following in my .emacs file to be able to
 > run different versions:
 > ;; Load emacspeak if EMACSPEAK_DIR environement variable is defined
 > ;; and Load emacspeak config file
 > (let ((emacspeak-dir (getenv "EMACSPEAK_DIR")))
 >   (if emacspeak-dir 
 > 	  (progn 
 > 		(load (concat emacspeak-dir  "/lisp/emacspeak-setup.el"))
 > 		(load "~/emacs/.emacspeak.el")
 > 		)))
 > This allows me to start emacs without emacspeak when necessary. I
 >  use the follwoing script to start emacspeak:
 > #!/bin/sh
 > # emacspeak - execute emacs with speech enhancements
 > DTK_PROGRAM=/usr/bin/eflite
 > test -z "$EMACSPEAK_DIR" && EMACSPEAK_DIR="/home/luke/opt/emacspeak-23.0-mix1/share/emacs/site-lisp/emacspeak"
 > exec emacs $*
 > This loads a "known good" version emacspeak unless EMACSPEAK_DIR is
 > set to something else.
 > Lukas
 > > Hello all,
 > > 
 > > I know I can use options for make to insure that emacs and all the other
 > > programs that I will need (flite, eflite, emacspeak, etc.) install
 > >  under $HOME.  I also know that there are several on the list that are
 > >  using muultiple versions of emacs and/or emacspeak.  What I would like
 > >  to know is if there are any caveats to doing this.  
 > > 
 > > I am running debian sid.  Emacspeak is terribly out of date in debian.
 > > I am afraid of installing over a working install, as I really have no
 > > one here to readily help if/when things go south.
 > > 
 > > One of the issues I can think of that I might have to worry about is the
 > > info pages.  If I install everything under $HOME, can I add the system
 > > info dir to the info dir path so that the software that I install
 > > outside of my $HOME environment can still be reached?
 > > 
 > > Thanks in advance for any help or advice you can offer,
 > -----------------------------------------------------------------------------
 > To unsubscribe from the emacspeak list or change your address on the
 > emacspeak list send mail to "emacspeak-request@cs.vassar.edu" with a
 > subject of "unsubscribe" or "help"

To unsubscribe from the emacspeak list or change your address on the
emacspeak list send mail to "emacspeak-request@cs.vassar.edu" with a
subject of "unsubscribe" or "help"

Emacspeak Files | Subscribe | Unsubscribe | Search