This fixes cd-ing to `/sudo:localhost:` in eshell and executing
commands in that eshell via TRAMP.
Test case:
1. `M-x eshell`
2. `cd /sudo:localhost:`
3. Run any command that's not an eshell builtin
Advantages:
- info manual is built and installed
- conform to package.el
without any config, open a foo.ebuild file and its major-mode is set
to ebuild-mode.
This patch packages mu4e as an Emacs lisp package based on the mu4e
output of the multiple-output package mu, which makes mu4e a good
citizen of Emacs lisp packages in two aspects.
First, mu4e now utilizes the Emacs lisp package infrastructure in
Nixpkgs. This allows users who want to do AOT native compilation for
non-default Emacs variants[0] to build only mu4e itself instead of the
whole mu package[1].
Second, mu4e now conforms to the Emacs builtin package manager[2].
Without this patch, mu4e autoloaded commands do not work
out-of-the-box[3] because its directory is added to load-path by
site-start.el after the initialization of package-directory-list,
which causes package-activate-all to not load mu4e-autoloads.el. This
patch fixes this issue when mu4e is installed to Emacs using the
withPackages wrapper[4].
[0]: such as emacs-pgtk
[1]: mu.override { emacs = emacs-pgtk; }
[2]: package.el
[3]: either (require 'mu4e) or (require 'mu4e-autoloads) is needed to
be called before an autoloaded command is called
[4]: emacs-pgtk.pkgs.withPackages (epkgs: [ epkgs.mu4e ])
I do not think there is a good reason for it to be optional.
There were only two packages without a version attr. The version attr
is added to them in this patch.
Without libXi, the configure flag `--with-xinput2` has no effect.
This can be verified by looking up the variable `system-configuration-features` in Emacs.
Fixes regression caused by #252244.
`env` was first defined in its own attrset, which was merged with a
second attrset:
```nix
...
{
env = {
NATIVE_FULL_AOT = "1";
LIBRARY_PATH = lib.concatStringsSep ":" libGccJitLibraryPaths;
};
} // {
...
env.NIX_CFLAGS_COMPILE = ...
...
}
```
In this situation, the `env` from the first attrset is not preserved,
since `//` does a shallow merge.
Signed-off-by: Andrew Pan <a@tny.town>
- Build on `apple_sdk_11_0` to support `aarch64-darwin`
- Add frameworks required for building on newer SDKs
- `Accelerate`, `UniformTypeIdentifiers`
- Include header to work around `CF_NOESCAPE` issue circa LLVM 7.0
This patch does two things:
1. making user profiles preferred over system profiles
2. putting sub dirs of one profile to the right place
- before this patch, they are appended to the end of load-path
- after this patch, they are inserted right after the profile
Example value of load-path before this patch:
/run/current-system/sw/share/emacs/site-lisp/
/etc/profiles/per-user/user/share/emacs/site-lisp/
/nix/store/hash1-emacs-packages-deps/share/emacs/site-lisp
/nix/store/hash1-emacs-packages-deps/share/emacs/site-lisp/elpa
/nix/store/hash1-emacs-packages-deps/share/emacs/site-lisp/elpa/wgrep-20230203.1214
/nix/store/hash2-emacs-29.1-rc1/share/emacs/29.1/site-lisp
/nix/store/hash2-emacs-29.1-rc1/share/emacs/site-lisp
/nix/store/hash2-emacs-29.1-rc1/share/emacs/29.1/lisp
/nix/store/hash2-emacs-29.1-rc1/share/emacs/29.1/lisp/vc
...
/etc/profiles/per-user/user/share/emacs/site-lisp/elpa
/etc/profiles/per-user/user/share/emacs/site-lisp/elpa/jinx-20230730.1200
/run/current-system/sw/share/emacs/site-lisp/elpa
/run/current-system/sw/share/emacs/site-lisp/elpa/repology-1.2.3
after this patch:
/etc/profiles/per-user/user/share/emacs/site-lisp
/etc/profiles/per-user/user/share/emacs/site-lisp/elpa
/etc/profiles/per-user/user/share/emacs/site-lisp/elpa/jinx-20230730.1200
/run/current-system/sw/share/emacs/site-lisp
/run/current-system/sw/share/emacs/site-lisp/elpa
/run/current-system/sw/share/emacs/site-lisp/elpa/repology-1.2.3
/nix/store/hash1-emacs-packages-deps/share/emacs/site-lisp
/nix/store/hash1-emacs-packages-deps/share/emacs/site-lisp/elpa
/nix/store/hash1-emacs-packages-deps/share/emacs/site-lisp/elpa/wgrep-20230203.1214
/nix/store/hash2-emacs-29.1-rc1/share/emacs/29.1/site-lisp
/nix/store/hash2-emacs-29.1-rc1/share/emacs/site-lisp
/nix/store/hash2-emacs-29.1-rc1/share/emacs/29.1/lisp
/nix/store/hash2-emacs-29.1-rc1/share/emacs/29.1/lisp/vc
...