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
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";
|
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 ]
|
nativeBuildInputs = [ pkgconfig ]
|
||||||
++ lib.optionals srcRepo [ autoconf automake texinfo ]
|
++ lib.optionals srcRepo [ autoconf automake texinfo ]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user