It seems as Python will be fetched from $PATH in Vim 8.1:
```
stat("/home/ma27/bin/python", 0x7ffe57a317b0) = -1 ENOENT (No such file or directory)
stat("/run/wrappers/bin/python", 0x7ffe57a317b0) = -1 ENOENT (No such file or directory)
stat("/home/ma27/.nix-profile/bin/python", 0x7ffe57a317b0) = -1 ENOENT (No such file or directory)
stat("/nix/var/nix/profiles/default/bin/python", 0x7ffe57a317b0) = -1 ENOENT (No such file or directory)
stat("/run/current-system/sw/bin/python", {st_mode=S_IFREG|0555, st_size=291, ...}) = 0
readlink("/run/current-system/sw/bin/python", "/nix/store/ggjkqbvwnv7dflkmdgmmp"..., 4096) = 72
```
This breaks in cases where you want to use a modified Python derivation
for the VIM plugins you use in `vim_configurable`:
```
let
vim_configurable' = vim_configurable.override {
# python with modules for ensime
python = python.withPackages (ps: with ps; [ sexpdata websocket_client ]);
};
in
vim_configurable'.customize {
# ...
}
```
With VIM 8.0 this worked perfectly fine, now it's necessary to install
the modified `python` in $PATH to actually use it, otherwise an error
like this arises:
```
[ensime] A dependency is missing, please `pip2 install sexpdata websocket-client` and restart Vim.
Press ENTER or type command to continue
```
However it should be possible to pass the modified Python to the
modules, the easiest workaround is to write a wrapper which prefixes
$PATH to have the Python derivation available.
Also rewrote the derivation for easier maintencence.
(And added @ysndr as maintainer for atom-beta, kind of an implicit
result of joining the two. If you're not okay with that, I'll patch
you out, but I'll presume consent.)
Split `buildCommand`, provide `unpackCmd` and add `installPhase`.
Use autoPatchelfHook, we can get rid of all the manual hacking around
with patchelf.
Use install to install to $out
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/rust-bindgen/versions.
These checks were done:
- built on NixOS
- /nix/store/y7lbrcpy05c1br43257fj056p6vf269l-rust-bindgen-0.37.0/bin/bindgen passed the binary check.
- Warning: no invocation of /nix/store/y7lbrcpy05c1br43257fj056p6vf269l-rust-bindgen-0.37.0/bin/.bindgen-wrapped had a zero exit code or showed the expected version
- 1 of 2 passed binary check by having a zero exit code.
- 1 of 2 passed binary check by having the new version present in output.
- found 0.37.0 with grep in /nix/store/y7lbrcpy05c1br43257fj056p6vf269l-rust-bindgen-0.37.0
- directory tree listing: https://gist.github.com/dab90e1565932370211bc1cb47b526d9
- du listing: https://gist.github.com/1ea884a58cb25990e712703124f8a6da
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/mutt/versions.
These checks were done:
- built on NixOS
- /nix/store/ydny2lhs0idsg1hxzkgi198n9jn17rcw-mutt-1.10.0/bin/mutt passed the binary check.
- /nix/store/ydny2lhs0idsg1hxzkgi198n9jn17rcw-mutt-1.10.0/bin/pgpring passed the binary check.
- Warning: no invocation of /nix/store/ydny2lhs0idsg1hxzkgi198n9jn17rcw-mutt-1.10.0/bin/pgpewrap had a zero exit code or showed the expected version
- /nix/store/ydny2lhs0idsg1hxzkgi198n9jn17rcw-mutt-1.10.0/bin/muttbug passed the binary check.
- /nix/store/ydny2lhs0idsg1hxzkgi198n9jn17rcw-mutt-1.10.0/bin/flea passed the binary check.
- Warning: no invocation of /nix/store/ydny2lhs0idsg1hxzkgi198n9jn17rcw-mutt-1.10.0/bin/smime_keys had a zero exit code or showed the expected version
- 4 of 6 passed binary check by having a zero exit code.
- 0 of 6 passed binary check by having the new version present in output.
- found 1.10.0 with grep in /nix/store/ydny2lhs0idsg1hxzkgi198n9jn17rcw-mutt-1.10.0
- directory tree listing: https://gist.github.com/2b53d5dc44b600872e77911ba7099e1c
- du listing: https://gist.github.com/4caca5d9043a5281a6b192ebaf30065f
Ideally I'd like the whole `nixos`/`nixpkgs` channel distinction to disappear, but this is a step along that path. After a while being in this state, we can stop creating the magic `nixpkgs -> .` symlink inside our `nixos` channel tarballs and simplify that whole mess a bit.