nixpkgs/pkgs
Robert Helgesson 3247e75741
emacs: resolve wrapper load-path at build time
Since the included package set is determined at build time we can also
generate the `subdirs.el` file at build time. This improves startup
time somewhat since we don't have to traverse the directory to add to
`load-path`.

For example,

``` sh-session
$ bench './emacs-old -Q --batch --kill' './emacs-new -Q --batch --kill'
benchmarking bench/./emacs-old -Q --batch --kill
time                 72.77 ms   (71.66 ms .. 73.65 ms)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 72.49 ms   (72.06 ms .. 72.92 ms)
std dev              746.5 μs   (582.4 μs .. 1.008 ms)

benchmarking bench/./emacs-new -Q --batch --kill
time                 40.56 ms   (40.24 ms .. 40.86 ms)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 40.30 ms   (40.12 ms .. 40.51 ms)
std dev              401.9 μs   (311.1 μs .. 555.8 μs)
```

The change does not actually affect the content of `load-path`:

``` sh-session
$ diff -s <(./emacs-old --batch --eval '(prin1 load-path)' | sed -E 's!/nix/store/[[:alnum:]]{32}-!!g') \
          <(./emacs-new --batch --eval '(prin1 load-path)' | sed -E 's!/nix/store/[[:alnum:]]{32}-!!g')
Files /dev/fd/63 and /dev/fd/62 are identical
```

So in principle the only observable effect should be the improved
startup time.
2021-11-14 22:31:48 +01:00
..
applications ArchiSteamFarm: 4.3.1.0 -> 5.1.5.3, use buildDotnetModule (#145542) 2021-11-14 22:19:26 +01:00
build-support emacs: resolve wrapper load-path at build time 2021-11-14 22:31:48 +01:00
common-updater
data tela-icon-theme: remove darwin from platforms (#145997) 2021-11-14 16:29:49 -05:00
desktops Merge pull request #144960 from newAM/dash-to-panel 2021-11-14 13:13:55 +01:00
development python3Packages.pygame: fix source hash on HFS+ filesystems (#145986) 2021-11-14 16:28:28 -05:00
games Merge pull request #145464 from kurnevsky/wesnoth 2021-11-14 09:11:24 -05:00
misc Merge pull request #145959 from bandithedoge/master 2021-11-14 12:19:57 -05:00
os-specific Merge pull request #145827 from ncfavier/mediatek-bluetooth 2021-11-14 11:31:33 +00:00
pkgs-lib
servers Merge pull request #145127 from helsinki-systems/upd/mariadb 2021-11-14 17:21:02 +01:00
shells Merge pull request #145888 from sei40kr/zdharma-continuum-zinit 2021-11-14 11:54:41 +00:00
stdenv
test
tools Merge pull request #145992 from xzfc/cached-nix-shell-v0.1.5 2021-11-14 16:33:48 -03:00
top-level Merge pull request #145774 from smaret/fix-spectral-cube 2021-11-14 21:39:11 +01:00