This reverts a small commit [0] that adds the flag
"-disable-auto-upgrade-debug-info" as it requires an unreleased LLVM
version or the build will fail with the following error message:
```
ld.lld: error: -mllvm: ld.lld: Unknown command line argument '-disable-auto-upgrade-debug-info'. Try: '/nix/store/bx494s1r30zwa7zdsyg72sjryy0k0pyg-llvm-binutils-16.0.1/bin/ld.lld --help'
ld.lld: Did you mean '--disable-auto-paired-vec-st'?
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```
See [1] for a full example output.
Thanks to Lorenz Brun for the analysis/help [2].
[0]: 54969766fd
[1]: https://github.com/NixOS/nixpkgs/issues/213862#issuecomment-1542887001
[2]: https://github.com/NixOS/nixpkgs/issues/213862#issuecomment-1542927502
Given that Emacs 29 is considered beta, it will not be aliased to `emacs`.
And, given that Emacs 29 ships with Pure GTK feature, why not to make it
available?
A list of modifications:
- The calling handles at `top-level/all-packages.nix` were transferred to
`pkgs/applications/editors/emacs/default.nix` (the good old `recurseIntoAttrs`
design pattern);
- The files `macport.nix` and `28.nix` were removed, replaced by the bigger and
better `sources.nix`;
- Aliases for the most important derivations were put on `all-packages.nix`;
- The file `generic.nix` was refactored. Among its changes, the most noticeable:
- `pname` is decorated according to the selected UI options;
- Environment variables are explicitly under `env` set;
- The `null` defaults and (in)equality tests were removed;
- It obliged the addition of some Boolean flag guards;
- The flag `noGui` was added, allowing easier override for `emacs-nox`.
With this huge refactor, the emacs build functions become more sane and
maintainable, allowing future additions.
useVSCodeRipgrep = false interferes with macOS 13's notarization enforcement
and doesn't allow the app to start. Setting it to stdenv.isDarwin by default
fixes the package for general use while preserving the option to patch ripgrep
on older versions of macOS if required by someone's particular use case.