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: Wed, 25 Mar 2020 15:43:24 +0100 Message-ID: <86r1xgcx6b.fsf@csic.es> References: <86fte0pmnc.fsf@csic.es> <83sgi0cwxj.fsf@gnu.org> <86a748xxnx.fsf@csic.es> <87eetk1apz.fsf@russet.org.uk> <86d090ha3q.fsf@csic.es> 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="15542"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (windows-nt) To: emacs-devel@gnu.org Cancel-Lock: sha1:OnwHnqQeVetIWkPe7wi2zyjtTMc= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Mar 25 15:46:31 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 1jH7Id-0003so-KR for ged-emacs-devel@m.gmane-mx.org; Wed, 25 Mar 2020 15:46:31 +0100 Original-Received: from localhost ([::1]:37414 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jH7Ic-0002DJ-LN for ged-emacs-devel@m.gmane-mx.org; Wed, 25 Mar 2020 10:46:30 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:37212) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jH7Fl-0005Fa-CZ for emacs-devel@gnu.org; Wed, 25 Mar 2020 10:43:34 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jH7Fk-0006AT-5D for emacs-devel@gnu.org; Wed, 25 Mar 2020 10:43:33 -0400 Original-Received: from ciao.gmane.io ([159.69.161.202]:33796) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jH7Fj-00069b-VZ for emacs-devel@gnu.org; Wed, 25 Mar 2020 10:43:32 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1jH7Fh-000Xxc-Tu for emacs-devel@gnu.org; Wed, 25 Mar 2020 15:43:29 +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:245781 Archived-At: Juan José García-Ripoll writes: > Nevertheless, we could make further improvements: [...] > With all this, except the removal of *.exe files, we go down to 52Mb (60% > reduction) uncompressed data, as reported by unzip. I know that space is not > much of an issue in this world, but I think it is fair to keep just what is > needed, plus it makes Emacs even smaller than most Electron apps around. First > impressions matter. I attach a patch file that changes build-dep-zips.py with the following fixes 1. It no longer assumes that LANG is en_US. I am in Spain and pacman defaults to the system's locale, breaking the algorithm that build-dep-zips.py uses to identify dependencies. 2. Cleaning is a standalone operation. Formerly it would try to build all dependencies prior to cleaning. Since I have msys only for 64-bits that would fail in my system. 3. It shows what package pulls what. It has been helpful in understanding the dependencies. 4. It creates a zip file where many of the superfluous directories and executables have been removed. I would go for removing even more, since it seems that Emacs is built with zlib and we could get rid of b*zip*.exe, xz.exe, etc. Overall the dependencies are now about 42Mb uncompressed. As I said, it can be slightly smaller if we get rid of further command line tools, but I am currently worried that some of the TLS routines may be used. Some questions: a) Is there a way to test the resulting standalone distribution to verify that Emacs is running properly? b) I realized that Cairo is pulled in as a dependency, but Emacs is built without support for Cairo. Is this intentional? -- Juan José García Ripoll http://juanjose.garciaripoll.com http://quinfog.hbar.es