【问题标题】:Set flag in nix package在 nix 包中设置标志
【发布时间】:2020-09-30 14:31:46
【问题描述】:

我正在尝试将我的项目与静态 openssl 链接。我注意到openssl包中有static标志:https://github.com/NixOS/nixpkgs/blob/d6a12e8d9e0a4ac35ed401881e0d3160c764ac36/pkgs/development/libraries/openssl/default.nix#L5但我不知道在使用它时如何设置它。 (pkgs.openssl ...?)。

目前我通过使用pkgs.pkgsStatic.openssl“解决”了它,但它对gcc 的形式和其他不相关的依赖项被静态重新编译有非常烦人的副作用(到底是什么?)。

如何使用启用了静态标志的openssl 包?

【问题讨论】:

    标签: nix


    【解决方案1】:

    您可以使用override 更改传递给包的参数。如果你只想构建一个静态的openssl,这就足够了:

    pkgs.openssl.override {
        static = true;
    }
    

    要使用此自定义 openssl 构建其他包,必须使用覆盖将其添加回 nixpkgs

    self: super: {
        openssl = super.openssl.override {
            static = true;
        };
    }
    

    此叠加层可以放在~/.config/nixpkgs/overlays/openssl-static.nix 或添加到configuration.nixnixpkgs.overlays

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-28
      • 2013-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 2019-04-10
      • 1970-01-01
      相关资源
      最近更新 更多