From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: David Bremner Newsgroups: gmane.emacs.devel Subject: Re: Suppressing native compilation (short and long term) Date: Fri, 30 Sep 2022 11:33:29 -0300 Message-ID: <874jwpue2u.fsf@tethera.net> References: <87bkqxf1ij.fsf@tethera.net> <8335c9dkyf.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="13631"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org, akrl@sdf.org, rlb@defaultvalue.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Sep 30 17:43:21 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oeIAb-0003So-B5 for ged-emacs-devel@m.gmane-mx.org; Fri, 30 Sep 2022 17:43:21 +0200 Original-Received: from localhost ([::1]:46576 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oeIAa-0004UQ-AC for ged-emacs-devel@m.gmane-mx.org; Fri, 30 Sep 2022 11:43:20 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47330) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oeH53-0005Eu-Cc for emacs-devel@gnu.org; Fri, 30 Sep 2022 10:33:33 -0400 Original-Received: from fethera.tethera.net ([2607:5300:60:c5::1]:35782) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oeH51-0008NU-Lj; Fri, 30 Sep 2022 10:33:33 -0400 Original-Received: by fethera.tethera.net (Postfix, from userid 1001) id 2565C5FBC0; Fri, 30 Sep 2022 10:33:30 -0400 (EDT) Original-Received: (nullmailer pid 3180410 invoked by uid 1000); Fri, 30 Sep 2022 14:33:29 -0000 In-Reply-To: <8335c9dkyf.fsf@gnu.org> Received-SPF: pass client-ip=2607:5300:60:c5::1; envelope-from=david@tethera.net; helo=fethera.tethera.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Fri, 30 Sep 2022 11:41:39 -0400 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:296523 Archived-At: Eli Zaretskii writes: > > This is what I'm asking about: what exactly triggers the compilation? > Just installing a package shouldn't do that, only loading it into > Emacs should. When I talk about "package installation" I mean installing a Debian binary package. This is a more general notion than a package as defined by package.el We have one copy of the .elc files for all users. Because of this, and the cleanup issue I mentioned above, the elc files need to generated either at (Debian) package build time, or at (Debian) package installation time. > The other part of what I asked is that if for some reason installation > does need to compile files (something that I still need to understand > why it happens), there's nothing that hard-codes HOME in the directory > list used for that. You can set native-comp-eln-load-path to anything > you want, and only the directories in that list will be used. Does that restrict where eln files are written? Or just where emacs tries to read? > Emacs doesn't require a writable HOME, it requires a writable > directory to store *.eln files. It doesn't have to be HOME. Fair enough. I tried setting native-compile-target-directory, but that seemed to be ignored by the trampoline stuff. Maybe both variables need to be set. > And once again, I still don't understand why *.eln files are produced > at installation time in the first place. The short version is that we need to run emacs at Debian package build and install time. Byte-compilation is one reason. Running tests at build time is another.