emacs: Clear the environment while dumping
This reduces the closure size of Emacs from 575 to 279 MiB. Dumping Emacs had a chance of leaking parts of the environment (such as $PATH) into the dumped executable. This hopefully fixes it. (It's a bit hard to tell since the effect is not deterministic.)
This commit is contained in:
parent
8036ee50aa
commit
cf599d3f99
2 changed files with 20 additions and 1 deletions
15
pkgs/applications/editors/emacs/clean-env.patch
Normal file
15
pkgs/applications/editors/emacs/clean-env.patch
Normal file
|
@ -0,0 +1,15 @@
|
|||
Dump temacs in an empty environment to prevent -dev paths from ending
|
||||
up in the dumped image.
|
||||
|
||||
diff -ru -x '*~' emacs-25.3/src/Makefile.in emacs-25.3-new/src/Makefile.in
|
||||
--- emacs-25.3/src/Makefile.in 2017-04-14 17:02:47.000000000 +0200
|
||||
+++ emacs-25.3-new/src/Makefile.in 2017-09-25 19:03:02.173861038 +0200
|
||||
@@ -532,7 +532,7 @@
|
||||
ifeq ($(CANNOT_DUMP),yes)
|
||||
ln -f temacs$(EXEEXT) $@
|
||||
else
|
||||
- LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump
|
||||
+ env -i LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump
|
||||
ifneq ($(PAXCTL_dumped),)
|
||||
$(PAXCTL_dumped) $@
|
||||
endif
|
|
@ -34,7 +34,11 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "02y00y9q42g1iqgz5qhmsja75hwxd88yrn9zp14lanay0zkwafi5";
|
||||
};
|
||||
|
||||
patches = (lib.optional stdenv.isDarwin ./at-fdcwd.patch);
|
||||
enableParallelBuilding = true;
|
||||
|
||||
patches =
|
||||
[ ./clean-env.patch ]
|
||||
++ lib.optional stdenv.isDarwin ./at-fdcwd.patch;
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ]
|
||||
++ lib.optionals srcRepo [ autoconf automake texinfo ]
|
||||
|
|
Loading…
Reference in a new issue