On Fri, 2008-10-17 at 15:36 +0900, Stephen J. Turnbull wrote:
This is way less than ideal, actually, since the user may not have
the
same versions of packages installed as the sources expect. So now you
have completely lost control over the content of the installed .elcs.
This is a design problem with Emacs Lisp macros. Even with GNU Emacs
with its monolithic distribution of all Elisp they care about, if the
user has anything like a CVS version of APEL in their environment, you
will lose, because those guys monkey-patch the core.
We can handle the versioning in the Gentoo ebuilds, so we do know which
packages are installed. We already do this now for the pre-compiled
packages as well. Unfortunately this information (against which version
of other packages this package should be compiled) is not available in
the package file itself.
I'm not saying rebuilding in the user's environment is a bad
idea;
often it's a great idea. But there are potential problems with it,
it's not *ideal*.
My understanding is that if I compile the package against xemacs 21.5
instead of xemacs 21.4, I get better results since I may not need to use
compatibility code in 21.4 that is supported in 21.5. Perhaps that
assumption is incorrect?
> Right now that is not possible because I don't have the
source to
> properly install the package.
I don't understand what you mean by "properly install". Just cp -a
the contents of an unpacked -pkg.tar.gz, after any modifications you
like, and recompiling. Or tar it up. That is an "XEmacs package", in
the sense that it will work in any installed XEmacs package system
without screwing up the installations of other packages.[1]
The "recompiling" part is what makes this interesting. In CVS there is
an infrastructure to handle this using Makefiles, but that is not
available in the distributed packages. So I should just byte-compile all
the files again and hope that nothing special is done in these Makefiles
that I might be forgetting to apply?
What exactly do you want to "get working"? Compiling in
the user's
environment is trivial, but versioning any compiled Elisp is really,
really hard; we've never been able to get a complete handle on
dependencies (darn autoloads ...).
Compiling in the user's environment is nice to have since it keeps in
line with Gentoo's philosophy. The ability to patch the elisp code is
also very useful since that enables fix problems (security issues come
to mind) that might crop up without having to wait for official
packages.
Kind regards,
Hans
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta