proposal: improve emacs lisp ports handling

Yoichi NAKAYAMA yoichi at geiin.org
Sun Jun 29 09:44:48 PDT 2003


Hi,
I'd like to propose a way to improve elisp ports handling
in FreeBSD ports system.

Abstract:
I will propose a way to handle elisp modules.
An elisp ports will be able to provide byte-compiled elisp
files for several emacsen without conflict.

Problems:
1) byte-compiled elisp files depend on the version of emacsen.
   So we should 
   * byte-compile by some specific emacsen.
       (one solution for this is to split the port into several
        ports and use bsd.emacs.mk respectively.)
  or
   * install without byte-compilation

   ** one example of the former is [1], where elisp directory is
    not version specific so we cannot install them simultaneously.

   ** another example of the former is [2], where elisp directory
    is version specific. The package generated by this may become
    different if bsd.emacs.mk is changed (e.g. release of newer
    version of emacsen) even if the version of the port itself is
    not changed. (related issue is described in [3])

   ** example for latter case is [4] but this cannot be accepted for
    larger modules, where byte-compilation will shorten their loading
    time.

2) conflict of binaries and documents (include info) [5]
   * one solution is to split port so that one is for elisp installation
     and the other for installation of binaries. [6]
   * splitting document part for every elisp ports is a stupid way.

I think we should find the solution to these problems
"without having many bunches of duplicate ports".

An idea:
1) a elisp port will install sources (*.el) with documents and binaries.
2) byte-compilation will be triggered by installation/deinstallation
  of emacsen ports and elisp ports

A tentative implementation of this idea can be found in

  http://cvs.arege.net/ports-elisp/

Comments and/or suggestions are welcome.

Reference:
[1] ports/editors/psgml and ports/editors/psgml-*
[2] ports/mail/wanderlust and ports/mail/wanderlust-*
[3] ports/50799: Lisp Packages install directory should not depend on minor emacs version
[4] ports/audio/mpg123.el
[5] ports/mail/mew2 and ports/mail/mew2-*
[6] ports/irc/liece-dcc and ports/irc/liece, or
    ports/japanese/migemo and ports/japanese/migemo-*
[7] The idea is inspired by emacsen-common package in Debian

Best regards,
-- 
Yoichi Nakayama
FreeBSD ports committer / yoichi at FreeBSD.org


More information about the freebsd-ports mailing list