#nix
#nix
Вопрос:
Я пытаюсь связать свой проект со статическим openssl. Я заметил static
, что в пакете openssl есть флаг: https://github.com/NixOS/nixpkgs/blob/d6a12e8d9e0a4ac35ed401881e0d3160c764ac36/pkgs/development/libraries/openssl/default.nix#L5 но я понятия не имею, как его можно настроить при его использовании. ( pkgs.openssl ...
?).
В настоящее время я «решил» это с помощью pkgs.pkgsStatic.openssl
, но это имеет очень раздражающий побочный эффект при статической перекомпиляции form of gcc
и других не связанных зависимостей (какого черта?).
Как можно использовать openssl
пакет с включенным статическим флагом?
Ответ №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.nix
‘s или добавлено к nixpkgs.overlays
нему.