help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: Compiling emacs 24 under Debian


From: Richard Riley
Subject: Re: Compiling emacs 24 under Debian
Date: Tue, 04 Jan 2011 11:51:37 +0100
User-agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux)

Hi Tim,

Thanks for the reply. Some Qs below.

Tim X <timx@nospam.dev.null> writes:

> Richard Riley <rileyrg@googlemail.com> writes:
>
>> Could someone please share the secret for making emacs 24 under Debian
>> (testing) so that it can still see the system installed libraries that
>> are not part of emacs proper?
>>
>> I have this but I'm not altogether sure its good enough:-
>>
>> (setq load-path (append load-path '("/usr/local/emacs/site-lisp"
>> "/usr/share/emacs/site-lisp")))
>> (load-library "debian-startup")
>> (debian-startup 'emacs23)
>> (load-library "/etc/emacs/site-start")
>>
>
> The most reliable way I've found is to edit lisp/startuo.el and add the
> debian-emacs-flavor variable and modify the code further down where the
> site-start library is loaded. If you do a diff on the startup.el file
> from debian's emacs and the one from emacs bzr, you will quickly see the
> necessary changes. 

I just compiled and use only the above as the init : how do you feel
that compares? Certainly Emacs 24 loads and runs  (it compiled and
installed to /usr/local/bin). What would it lack do you think? It uses
the latest emacs installed as its "site lisp" after using the bzr one.

>
> There are some other differences, but I've found these to be cosmetic.
> The startup.el file rarely changes and bzr will auto merge if possible
> when you do a bzr pull to update. 

Thats cool.

>
> As there can be byte code issues between versions of emacs, I also tend
> to install the emacs-snapshot and set the debian-emacs-flavor to
> 'emacs-snapshot. I also have 2 simple bash script that I run to setup

Which repos do you use for emacs-snapshot? emacs-snapshot isn't a part
of Debian Testing, the orebokech one is gone,
http://www.emacswiki.org/emacs/EmacsSnapshotAndDebian isnt really a
snapshot (git head).

> appropriate symlinks and /etc/alternatives. Not necessary, but handy if
> you want to easily and consistently move between different versions of
> emacs such that running 'emacs' will give consistent version results. I
> install emacs into the default /usr/local tree. After running make
> install, I rm /usr/local/share/emacs/24.0.50/site-lisp and replace it
> with a sym link to /usr/share/emacs-snapshot/site-lisp
>
> I use load-path-shadow to verify everything is consistent and loading
> what I think it is after each new build of emacs. 

Crikey, certainly a lot more thorough than my way. I will give this a go
soon : certainly not what I would term simple ;)

>
> #!/bin/bash
>
> #       Filename: setup-emacs.sh
> #  Creation Date: Monday, 05 July 2010 10:33 AM EST
> #  Last Modified: Tuesday, 06 July 2010 06:06 PM EST
> #    Description: Simple script to setup emacs24 and make it the default 
> alterntaive
> # 
>
> if [ -f /usr/local/bin/b2m ]; then
>     if [ -f /usr/local/bin/b2m.emacs24 ]; then
>         rm /usr/local/bin/b2m.emacs24
>     fi
>     mv /usr/local/bin/b2m /usr/local/bin/b2m.emacs24
> fi
>
> if [ -f /usr/local/bin/ctags ]; then
>     if [ -f /usr/local/bin/ctags.emacs24 ]; then
>         rm /usr/local/bin/ctags.emacs24
>     fi
>     mv /usr/local/bin/ctags /usr/local/bin/ctags.emacs24
> fi
>
> if [ -f /usr/local/bin/ebrowse ]; then
>     if [ -f /usr/local/bin/ebrowse.emacs24 ]; then
>         rm /usr/local/bin/ebrowse.emacs24
>     fi
>     mv /usr/local/bin/ebrowse /usr/local/bin/ebrowse.emacs24
> fi
>
> if [ -f /usr/local/bin/emacs ]; then
>     if [ -f /usr/local/bin/emacs24-x ]; then
>         rm /usr/local/bin/emacs24-x
>     fi
>     mv /usr/local/bin/emacs /usr/local/bin/emacs24-x
> fi
>
> if [ -f /usr/local/bin/emacsclient ]; then
>     if [ -f /usr/local/bin/emacsclient.emacs24 ]; then
>         rm /usr/local/bin/emacsclient.emacs24
>     fi
>     mv /usr/local/bin/emacsclient /usr/local/bin/emacsclient.emacs24
> fi
>
> if [ -f /usr/local/bin/etags ]; then
>     if [ -f /usr/local/bin/etags.emacs24 ]; then
>         rm /usr/local/bin/etags.emacs24
>     fi
>     mv /usr/local/bin/etags /usr/local/bin/etags.emacs24
> fi
>
> if [ -f /usr/local/bin/grep-changelog ]; then
>     if [ -f /usr/local/bin/grep-changelog.emacs24 ]; then
>         rm /usr/local/bin/grep-changelog.emacs24
>     fi
>     mv /usr/local/bin/grep-changelog /usr/local/bin/grep-changelog.emacs24
> fi
>
> if [ -f /usr/local/bin/rcs-checkin ]; then
>     if [ -f /usr/local/bin/rcs-checkin.emacs24 ]; then
>         rm /usr/local/bin/rcs-checkin.emacs24
>     fi
>     mv /usr/local/bin/rcs-checkin /usr/local/bin/rcs-checkin.emacs24
> fi
>
> #!/bin/bash
> #       Filename: emacs-alternative.sh
> #  Creation Date: Monday, 05 July 2010 10:54 AM EST
> #  Last Modified: Monday, 05 July 2010 11:38 AM EST
> #    Description: Switch between alternative emacs versions
> # 
>
> if [ $# -ne 1 ]; then
>     echo "Error: Wrong # arguments"
>     echo "Usage: $0 < 23 | 24 | emacs-snapshot >"
>     exit 1
> fi
>
> EMACS_VERSION=$1
>
> echo "Configureing for emacs $EMACS_VERSION"
>
> cd /etc/alternatives
>
> if [ $EMACS_VERSION == "23" ]; then
>     echo "Configureing for Ubuntu emacs 23"
>     rm b2m
>     ln -s /usr/bin/b2m.emacs23 b2m
>     rm ctags
>     ln -s /usr/bin/ctags.emacs23 ctags
>     rm ebrowse
>     ln -s /usr/bin/ebrowse.emacs23 ebrowse
>     rm emacs
>     ln -s /usr/bin/emacs23-x emacs
>     rm emacsclient
>     ln -s /usr/bin/emacsclient.emacs23 emacsclient
>     rm etags
>     ln -s /usr/bin/etags.emacs23 etags
>     rm grep-changelog
>     ln -s /usr/bin/grep-changelog.emacs23 grep-changelog
>     rm rcs-checkin
>     ln -s /usr/bin/rcs-checkin.emacs23 rcs-checkin 
> elif [ $EMACS_VERSION == "emacs-snapshot" ]; then
>     echo "Configureing for Ubuntu emacs-snapshot"
>     rm b2m
>     ln -s /usr/bin/b2m.emacs-snapshot b2m
>     rm ctags
>     ln -s /usr/bin/ctags.emacs-snapshot ctags
>     rm ebrowse
>     ln -s /usr/bin/ebrowse.emacs-snapshot ebrowse
>     rm emacs
>     ln -s /usr/bin/emacs-snapshot-x emacs
>     rm emacsclient
>     ln -s /usr/bin/emacsclient.emacs-snapshot emacsclient
>     rm etags
>     ln -s /usr/bin/etags.emacs-snapshot etags
>     rm grep-changelog
>     ln -s /usr/bin/grep-changelog.emacs-snapshot grep-changelog
>     rm rcs-checkin
>     ln -s /usr/bin/rcs-checkin.emacs-snapshot rcs-checkin 
> elif [ $EMACS_VERSION == "24" ]; then
>     echo "Configuring for local emacs 24"
>     rm b2m
>     ln -s /usr/local/bin/b2m.emacs24 b2m
>     rm ctags
>     ln -s /usr/local/bin/ctags.emacs24 ctags
>     rm ebrowse
>     ln -s /usr/local/bin/ebrowse.emacs24 ebrowse
>     rm emacs
>     ln -s /usr/local/bin/emacs24-x emacs
>     rm emacsclient 
>     ln -s /usr/local/bin/emacsclient.emacs24 emacsclient
>     rm etags
>     ln -s /usr/local/bin/etags.emacs24 etags
>     rm grep-changelog
>     ln -s /usr/local/bin/grep-changelog.emacs24 grep-changelog
>     rm rcs-checkin
>     ln -s /usr/local/bin/rcs-checkin.emacs24 rcs-checkin
> else
>     echo "Unknown emacs version $EMACS_VERSION"
>     exit 1
> fi

-- 
☘ http://www.shamrockirishbar.com, http://splash-of-open-sauce.blogspot.com/ 
http://www.richardriley.net


reply via email to

[Prev in Thread] Current Thread [Next in Thread]