In preparation for the deprecation of `stdenv.isX`.
These shorthands are not conducive to cross-compilation because they
hide the platforms.
Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way
One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059
There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.
```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
It seems a little odd to first generate an interpreter pointing to an
environment and then building a package from it. This commit alters the
build process so that
* dependencies are listed explicitly as in any normal python build.
* a PYTHONPATH is then generated out of all dependencies and $out. This
is injected into the package's entrypoint, the `audit.bash`.
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
* Fix URL type to a string
* Add extension option and replace cp by install -Dm755
* use nativeBuildInputs instead of buildInputs
* Add install -t option
* Remove useless mkdir
* Use let in construct for wrapperPath and clean exts declaration
* Add meta.mainProgram
password-store.el is on MELPA so it is available in Nixpkgs as
emacs.pkgs.password-store.
Using emacs.pkgs.password-store is preferred because of better package
quality:
- Emacs lisp package dependencies are automatically installed
- byte-compilation is done
- native-compilation is done
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
Mostly bug fixes, the following changes were required in the package:
* set-correct-program-name-for-sleep.patch needed to be rebased,
b08781e2a6e183986eb1c24f51cdeff879b7a6af partially implemented
the changes done in this patch, so we don't need to touch
password-store.sh anymore.
* Remove wayland patch since it is part of the release now
* Reworked assert logic wrt to x11-/wayland- and dmenuSupport:
passmenu now supports wayland as well via dmenu-wayland. Sadly
the choice of menu is not changeable, pending
https://lists.zx2c4.com/pipermail/password-store/2021-January/004363.html
* Rebased no-darwin-getopt.patch
* Note that f.el is no longer required
Reviews would be appreciated, I might've missed something.