[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Process to build standalone Emacs + deps in Windows

From: Juan José García-Ripoll
Subject: Re: Process to build standalone Emacs + deps in Windows
Date: Wed, 25 Mar 2020 15:43:24 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (windows-nt)

Juan José García-Ripoll <address@hidden> 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

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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]