Don't call pkg_info to get the installed Emacs version; always use the
version matching EMACS_TYPE set by users. Be DEPENDS to it. This should
address pkg/37146 by Aleksey Cheusov.
While here convert some emacs lisp packages to user-destdir.
then automatically generate a PLIST that says "${PKGNAME} has no files".
* If PLIST_SRC and GENERATE_PLIST are not set in a package Makefile,
and no PLIST files exist, then fail during the package build with
PKG_FAIL_REASON.
* Remove "intentionally empty" PLISTs again.
Now, the easy way to say that a package installs no files is to just
add the following to the package Makefile:
PLIST_SRC= # empty
that directly manipulate empty PLISTs.
Modify plist/plist.mk so that if the PLIST files are missing and no
GENERATE_PLIST is defined, then the package fails to build.
1) Simplify the way how an emacs version is picked when no emacs
is installed, but a user try to install an Emacs Lisp package.
Just pick up the version set as EMACS_TYPE than searching for
versions already installed etc. If the EMACS_TYPE version is
not supported by the Emacs Lisp Package, just fail. EMACS_TYPE
be default to GNU Emacs 21.
(In other words, users should set EMACS_TYPE as they want.
Otherwise GNU Emacs 21 is used.)
2) All Emacs Lisp Packages *must* prepend EMACS_PKGNAME_PREFIX to
a) the PKGNAME itself, and b) PKGNAME in its dependency lines.
EMACS_PKGNAME_PREFIX is expanded to "xemacs-" when XEmacs is
used. This keeps dependency graph of Emacs-Lisp-packages-
installed-for-XEmacs consistent.
3) Document EMACS_* variables as much as possible.
4) Provide more cookies for PLIST. Maybe utilized later.
Note that the 2) change doesn't affect the default, GNU Emacs 21
behaviour. So no version / revision bumps in this commit.