From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Juan =?utf-8?Q?Jos=C3=A9_Garc=C3=ADa-Ripoll?= Newsgroups: gmane.emacs.devel Subject: Re: Process to build standalone Emacs + deps in Windows Date: Sun, 22 Mar 2020 15:38:10 +0100 Message-ID: <86a748xxnx.fsf@csic.es> References: <86fte0pmnc.fsf@csic.es> <83sgi0cwxj.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="78388"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.90 (windows-nt) To: emacs-devel@gnu.org Cancel-Lock: sha1:Od0DFqlJlj3K50Hd4OE9XuOdqNg= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Mar 22 15:39:07 2020 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 1jG1kp-000KG5-5Z for ged-emacs-devel@m.gmane-mx.org; Sun, 22 Mar 2020 15:39:07 +0100 Original-Received: from localhost ([::1]:46800 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jG1ko-00017f-8F for ged-emacs-devel@m.gmane-mx.org; Sun, 22 Mar 2020 10:39:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60683) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jG1k2-0000bk-Ti for emacs-devel@gnu.org; Sun, 22 Mar 2020 10:38:20 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jG1k1-0005uK-Jo for emacs-devel@gnu.org; Sun, 22 Mar 2020 10:38:18 -0400 Original-Received: from ciao.gmane.io ([159.69.161.202]:57592) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jG1k1-0005u3-E0 for emacs-devel@gnu.org; Sun, 22 Mar 2020 10:38:17 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1jG1jz-000JM8-Ml for emacs-devel@gnu.org; Sun, 22 Mar 2020 15:38:15 +0100 X-Injected-Via-Gmane: http://gmane.org/ X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 159.69.161.202 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:245669 Archived-At: Eli Zaretskii writes: >> I am trying to debug the process of building a distributable Emacs >> with dependencies on Windows 64 bits. [...] What are the steps or the >> scripts used to create the *.zip files that are found in the official >> repository? Is there a simple guide I can use to reproduce it? > > Did you look at the files in admin/nt/ ? No, I was focused on the 'nt/' folder and did not expect other locations. Thanks for the hint. Now, to motivate my intentions a bit better, I have built Emacs from savannah's git repository following a different set of instructions (https://gist.github.com/nauhygon/f3b44f51b34e89bc54f8). These instructions are hacky (cp /mingw64/bin/*.dll $target/bin). However, this seems to work, which shows that, out of the dependencies that Emacs tracks down during its build process, many can be dropped. The resulting directory is also leaner $ du -smc scoop/apps/emacs/26.3 # standard distribution 758 scoop/apps/emacs/26.3 $ du -smc scoop/apps/emacs/27 # from git 207 scoop/apps/emacs/27 The extra space seems to be: - Executables that come with the linked in libraries, such as tiff2bw.exe, minizip.exe, imginfo.exe, etc. - Dependencies that are needed by the libraries in development mode, but not in actual use, such as the python library brought in by glib, together with all their associated directories. - Secondary dependencies of those other libraries, such as tcl/tk brought in by python (once more, executables, DLL's and supporting directories) On a side note, what kind of solution would be acceptable? - Do we need to keep all the utilities supplied by the libraries Emacs links to? - Is a manual filter of second-level dependencies ok? - Is there a catalogue of utilities that Emacs expect laying around in the OS? I see the dependencies file contains bzip2.exe, xz.exe and other tools which are not coming from first-level dependencies. Finally, I am cleared by the FSF to contribute patches to AucTeX. Would I require a validation also to contribute fixes to Emacs? Cheers, -- Juan José García Ripoll Quantum Information and Foundations Group http://quinfog.hbar.es - http://juanjose.garciaripoll.com