Переопределить FireFox makeFlags в Nixpkgs - PullRequest
1 голос
/ 21 июня 2019

Я хочу добавить makeFlag в пакет Firefox, используя оверлеи Nixpkgs, но это, кажется, нетривиально.

Переопределение w3m работает ...

(import <nixpkgs> {
  overlays = [
    (self: super: {
      w3m = super.w3m.overrideAttrs (oldAttrs: {
        # that makeFlag makes no sense for w3m, it's just for demonstration
        makeFlags = oldAttrs.makeFlags ++ [ "BUILD_OFFICIAL=1" ];
      });
    })
  ];
}).w3m

...но переопределение Firefox не делает.

(import <nixpkgs> {
  overlays = [
    (self: super: {
      firefox = super.firefox.overrideAttrs (oldAttrs: {
        makeFlags = oldAttrs.makeFlags ++ [ "BUILD_OFFICIAL=1" ];
      });
    })
  ];
}).firefox
$ nix build -f default.nix
error: attribute 'makeFlags' missing, at /path/to/default.nix:5:21
(use '--show-trace' to show detailed location information)

1 Ответ

2 голосов
/ 21 июня 2019

Оказалось, что нужно переопределить атрибут firefox-unwrapped:

(import <nixpkgs> {
  overlays = [
    (self: super: {
      firefox-unwrapped = super.firefox-unwrapped.overrideAttrs (oldAttrs: {
        makeFlags = oldAttrs.makeFlags ++ [ "BUILD_OFFICIAL=1" ];
      });
    })
  ];
}).firefox-unwrapped

Таким образом выражение оценивает.

...