From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: How to ship native modules? Date: Tue, 21 Feb 2017 05:41:14 +0200 Message-ID: <83tw7onrc5.fsf@gnu.org> References: <83a89gq3us.fsf@gnu.org> <8360k4q0yx.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1487648524 5970 195.159.176.226 (21 Feb 2017 03:42:04 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 21 Feb 2017 03:42:04 +0000 (UTC) Cc: emacs-devel@gnu.org To: Elias =?utf-8?Q?M=C3=A5rtenson?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Feb 21 04:41:58 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cg1Kt-0000YJ-OH for ged-emacs-devel@m.gmane.org; Tue, 21 Feb 2017 04:41:55 +0100 Original-Received: from localhost ([::1]:42116 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cg1Kx-0000ZW-Sh for ged-emacs-devel@m.gmane.org; Mon, 20 Feb 2017 22:41:59 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54466) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cg1Kq-0000ZF-JT for emacs-devel@gnu.org; Mon, 20 Feb 2017 22:41:53 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cg1Kl-0002hC-NF for emacs-devel@gnu.org; Mon, 20 Feb 2017 22:41:52 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:55776) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cg1Kl-0002h8-JT; Mon, 20 Feb 2017 22:41:47 -0500 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1759 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1cg1Kk-00087P-Qr; Mon, 20 Feb 2017 22:41:47 -0500 In-reply-to: (message from Elias =?utf-8?Q?M=C3=A5rtenson?= on Tue, 21 Feb 2017 10:48:03 +0800) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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:212512 Archived-At: > From: Elias Mårtenson > Date: Tue, 21 Feb 2017 10:48:03 +0800 > Cc: emacs-devel > > Is it different from any other optional library in any significant > way? E.g., GPM or the image libraries? They all require to have the > library installed for Emacs to be able to be built with its support. > > Technically, it's the same thing. The difference is that most people don't have the krb5 packages installed, and > enabling the GSS feature would require packagers to add another dependency to Emacs, giving them two > alternatives: 1) Not include GSS in their prebuilt version of Emacs, or 2) add another dependency to Emacs, > resulting in another package being installed with it. > > Now, krb5 is not a big library, so option 2 above is IMHO the right way to go, but I worry that packagers won't > see it that way and we'll end up with a feature that users would have to rebuild their Emacs to use. > > However, there is an upside. Most people who need this feature are in corporate environments, usually on > Windows (Kerberos is the standard authentication mechanism in Active Directory) and the runtime libraries > are a standard part of Windows, so at on that platform there is no issue. Really? I was under the impression that one would need to install the Kerberos libraries from http://web.mit.edu/kerberos/dist/, and then have the GSSAPI library built for Windows. These all don't seem to be available out of the box on MS-Windows. Am I missing something? > You can provide a small Makefile that the user will have to invoke in > order to compile the C source. Same as in modules/mod-test/ in the > Emacs sources. > > I could, and I'd have to. But it would be very nice if this could be part of the M‍-‍x package‍-‍install process. I think that making package.el be able to compile programs in languages like C is an ambitious goal that is best left to end users at this stage. For simple enough modules, the Makefile can be made small and portable, so IMO it isn't worth the complexity to do more than that, at least not yet. > Installing in site‍-‍lisp requires root. Can I put it somewhere in $HOME/.emacs.d? Yes, like we do with Lisp packages. A module can live anywhere a Lisp package can live, in order for Emacs to find it.