From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: Where should dynamic modules be installed? Date: Wed, 23 Oct 2019 17:31:30 -0700 Organization: UCLA Computer Science Department Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="227832"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.1 Cc: gnu-emacs@gentoo.org To: Ulrich Mueller , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Oct 24 02:31:48 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iNR2a-000x8e-7y for ged-emacs-devel@m.gmane.org; Thu, 24 Oct 2019 02:31:48 +0200 Original-Received: from localhost ([::1]:53546 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iNR2Z-0004Dq-1p for ged-emacs-devel@m.gmane.org; Wed, 23 Oct 2019 20:31:47 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48469) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iNR2Q-00049P-2p for emacs-devel@gnu.org; Wed, 23 Oct 2019 20:31:39 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iNR2O-00058y-KL for emacs-devel@gnu.org; Wed, 23 Oct 2019 20:31:37 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:50582) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iNR2O-00052M-DT for emacs-devel@gnu.org; Wed, 23 Oct 2019 20:31:36 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id E93AB16068A; Wed, 23 Oct 2019 17:31:31 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 9CoWvHpMQnEv; Wed, 23 Oct 2019 17:31:31 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 2C7A31606DE; Wed, 23 Oct 2019 17:31:31 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id TS0oGB3VJsBj; Wed, 23 Oct 2019 17:31:31 -0700 (PDT) Original-Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 0852616068A; Wed, 23 Oct 2019 17:31:31 -0700 (PDT) In-Reply-To: Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 131.179.128.68 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:241378 Archived-At: 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.