unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Paul Eggert <eggert@cs.ucla.edu>
To: Ulrich Mueller <ulm@gentoo.org>, emacs-devel@gnu.org
Cc: gnu-emacs@gentoo.org
Subject: Re: Where should dynamic modules be installed?
Date: Wed, 23 Oct 2019 17:31:30 -0700	[thread overview]
Message-ID: <b3085e6a-53aa-1b62-38bf-e2546eec0ce3@cs.ucla.edu> (raw)
In-Reply-To: <w6gtv8274y9.fsf@kph.uni-mainz.de>

On 10/21/19 3:45 AM, Ulrich Mueller wrote:
> We are going to include the first package with a dynamically loaded
> module (emacs-libvterm) in Gentoo. The question arose where the .so file
> should be installed? Since it is a system dependent binary, installing
> it under /usr/share/emacs/ looks wrong. I cannot find anything about a
> recommended install location in the documentation.

There isn't one. We haven't thought through the issues here. Thanks for 
bringing up the topic.

> Would /usr/lib{,64}/emacs/site-modules/ be a reasonable place for this?

Where do you put executables like hexl, movemail, and profile? I suggest 
puting .so files near there. In Fedora 30, this directory is 
/usr/libexec/emacs/26.2/x86_64-redhat-linux-gnu (which is the value of 
the exec-directory variable). Since modules can be version-specific, it 
makes sense to have the Emacs version number somewhere in the directory 
name. Do you do that with other Emacs directories?

Also, why have "site-" in the name? Do you have "site-" in other 
Emacs-related directory names?

> Also, wouldn't it be cleaner if Emacs had a separate variable (analog to
> image-load-path, custom-theme-load-path, etc.) for loading of dynamic
> modules, instead of reusing load-path?

Emacs should do that, yes. How about if we use a variable named 
'module-directory' for that? It would work like exec-directory, except 
for modules.

I expect that the main reason Emacs doesn't have a variable like 
module-directory now, is that packagers haven't yet encountered the 
Emacs module system (it has been off by default, though that will change 
in Emacs 27) and so haven't run into problems like the one you mention.




  parent reply	other threads:[~2019-10-24  0:31 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-21 10:45 Where should dynamic modules be installed? Ulrich Mueller
2019-10-21 13:44 ` Eli Zaretskii
2019-10-21 14:36   ` Ulrich Mueller
2019-10-24  0:31 ` Paul Eggert [this message]
2019-10-24 12:02   ` Andy Moreton
2019-10-24 14:28     ` Stefan Monnier
2019-10-24 14:04   ` Eli Zaretskii
2019-10-24 15:39   ` Ulrich Mueller
     [not found] <mailman.96.1571932821.13349.emacs-devel@gnu.org>
2019-10-24 16:24 ` Ulrich Mueller
2019-10-24 18:36   ` Stefan Monnier

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b3085e6a-53aa-1b62-38bf-e2546eec0ce3@cs.ucla.edu \
    --to=eggert@cs.ucla.edu \
    --cc=emacs-devel@gnu.org \
    --cc=gnu-emacs@gentoo.org \
    --cc=ulm@gentoo.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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).