nixpkgs/pkgs
Maximilian Bosch c0bd479d77
zathura: improve overridability; set plugin dir through the environment
The current package setup has two issues:

* You can only access `pkgs.zathura` which is the "final" derivation,
  i.e. a wrapper. This is a problem if you want to apply a patch to
  `zathura(1)` in an overlay. To make this a bit easier, I decided to
  expose `zathuraPkgs` entirely and `zathura` is now
  `zathuraPkgs.zathuraWrapper`.

  With this change, patches can now be added like this:

  ```
  with import ./. {
    overlays = [
      (self: super: {
        zathura = super.zathura.override {
          zathura_core = super.zathuraPkgs.zathura_core.overrideAttrs (_: {
            patches = [
              ~/Projects/zathura/0001-Fix-remote-link-resolution-in-zathura.patch
            ];
          });
        };
      })
    ];
  };
  zathura
  ```

* As soon as you open another window in `zathura` from `zathura` (e.g.
  to follow a PDF-embedded link to another PDF), it currently fails
  because `--plugins-dir=` isn't passed along. This is because `zathura`
  uses `argv[0]`[1] to open another process and the GApps-wrapper inside
  `zathuraPkgs.zathura_core` does a `exec -a "$0"` which isn't the
  `bin/zathura` from the wrapper that appends `--plugins-dir=`:

  ```
  execve("/nix/var/nix/profiles/per-user/ma27/home-manager-140-link/home-path/bin/zathura", ["/nix/var/nix/profiles/per-user/ma27/home-manager-140-link/home-path/bin/zathura", "/home/ma27/Documents/Uni/Studium/Notepad/Aktuell/Index.pdf"], 0x7ffd7a4bf4b0 /* 108 vars */) = 0
  execve("/nix/store/2wjhxbgzcnn0qqdwqy0m01hw39dxwfmk-zathura-0.4.8-bin/bin/zathura", ["/nix/store/2wjhxbgzcnn0qqdwqy0m01hw39dxwfmk-zathura-0.4.8-bin/bin/zathura", "--plugins-dir=/nix/store/wcch63yzwykc9x5393dzjfdxsf80mrb8-zathura-with-plugins-0.4.8/lib/zathura", "/home/ma27/Documents/Uni/Studium/Notepad/Aktuell/Index.pdf"], 0x1442010 /* 107 vars */) = 0
  execve("/nix/store/2wjhxbgzcnn0qqdwqy0m01hw39dxwfmk-zathura-0.4.8-bin/bin/.zathura-wrapped", ["/nix/store/2wjhxbgzcnn0qqdwqy0m01hw39dxwfmk-zathura-0.4.8-bin/bin/zathura", "--plugins-dir=/nix/store/wcch63yzwykc9x5393dzjfdxsf80mrb8-zathura-with-plugins-0.4.8/lib/zathura", "/home/ma27/Documents/Uni/Studium/Notepad/Aktuell/Index.pdf"], 0x81d010 /* 108 vars */) = 0
  ```

  I figured it's way simpler to actually use the environment variable
  `ZATHURA_PLUGINS_PATH` for that purpose as the environment is
  inherited when a new process is started.

[1] 242329b534/zathura/links.c (L205-215)
2022-02-05 19:27:24 +01:00
..
applications zathura: improve overridability; set plugin dir through the environment 2022-02-05 19:27:24 +01:00
build-support streamLayeredImage: pass through passthru attributes 2022-01-31 10:10:10 +03:00
common-updater
data cozette: 1.8.3 -> 1.13.0 (#157590) 2022-02-01 09:04:38 -06:00
desktops Merge pull request #155061 from piegamesde/gnome 2022-02-01 20:53:10 +01:00
development Merge pull request #155061 from piegamesde/gnome 2022-02-01 20:53:10 +01:00
games openttd-nml: 0.5.3 -> 0.6.1 2022-01-31 10:00:46 -08:00
misc Merge pull request #157633 from AndersonTorres/new-misc 2022-02-01 09:18:58 -03:00
os-specific numatop: 2.1 -> 2.2, fix build errors from format strings 2022-01-31 12:53:54 -06:00
pkgs-lib
servers Merge pull request #157253 from LeSuisse/navidrome-0.47.5 2022-02-01 20:53:28 +01:00
shells oh-my-zsh: 2021-12-18 -> 2022-01-18 2022-01-31 10:01:00 -08:00
stdenv stdenv/check-meta: add note for Flake usage 2022-02-01 13:23:46 -05:00
test
tools chisel: 1.7.6 -> 1.7.7 (#157492) 2022-02-01 14:57:05 -05:00
top-level zathura: improve overridability; set plugin dir through the environment 2022-02-05 19:27:24 +01:00