Estoy usando Nix para instalar paquetes en mi casa (por lo que no hay paquetes binarios) en un host compartido con recursos limitados. Estoy tratando de instalar git-annex. Al construir una de sus dependencias, la lente haskell, las pruebas unitarias consumen tanta memoria que se matan y la instalación falla.
¿Hay alguna forma de omitir las pruebas unitarias para instalar el paquete? Miré al constructor de Cabal haskell-packages.nix
y me parece que podría deshabilitar las pruebas estableciéndolo enableCheckPhase
en falso. Intenté lo siguiente ~/.nixpkgs/config.nix
, pero las pruebas aún se ejecutan:
{
packageOverrides = pkgs: with pkgs; {
# ...other customizations...
haskellPackages = haskellPackages.override {
extension = self : super : {
self.lens = self.disableTest self.lens;
};
};
};
}
fuente
nix-build --disable-check-phase
) sin cambiar el hash de derivación / salida?Una respuesta alternativa, abordar su preocupación desde un ángulo diferente, es construir sus paquetes con pruebas en una máquina más potente. Luego, cuando sea necesario, copie el cierre al host remoto.
Esto funciona bien si está en la misma arquitectura y el software en cuestión no está estrechamente acoplado a ningún hardware que sea diferente en las dos máquinas.
Lea sobre cómo compartir paquetes entre máquinas en el manual de nix.
Esta es una buena característica que habilita el enfoque de nix para la gestión de paquetes. A menudo he usado esta función en reversa, usando máquinas remotas más potentes para construir grandes cantidades de software para mi máquina local.
fuente