From: Richard Riley <rileyrg@googlemail.com>
To: help-gnu-emacs@gnu.org
Subject: Re: Compiling emacs 24 under Debian
Date: Tue, 04 Jan 2011 11:51:37 +0100 [thread overview]
Message-ID: <ifuu3q$b6m$1@quimby.gnus.org> (raw)
In-Reply-To: 87ei8tgxmz.fsf@puma.rapttech.com.au
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
next prev parent reply other threads:[~2011-01-04 10:51 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-04 2:56 Compiling emacs 24 under Debian Richard Riley
2011-01-04 3:23 ` Tim X
2011-01-04 10:51 ` Richard Riley [this message]
2011-01-04 22:53 ` Tim X
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='ifuu3q$b6m$1@quimby.gnus.org' \
--to=rileyrg@googlemail.com \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.