Estoy tratando de anular un paquete de python (uvloop) globalmente, en nix, de modo que el negro vea la anulación.
Las pruebas de uvloop (paquete de python) fallan porque estoy trabajando detrás de un firewall. Puedo construir cosas que usen uvloop editando la derivación de nixpkgs directamente (ugh) para establecer doCheck = false .
Estoy tratando de codificar esto en una superposición, pero sin éxito: se lee la superposición (por ejemplo, los errores de sintaxis causan fallas), pero nada de lo que hago en la superposición detiene la ejecución de las pruebas.
Intenté seguir los consejos de https://nixos.wiki/wiki/Overlays , https://nixos.org/manual/nixpkgs/stable/#how-to-override-a-python-package-using-overlays y ¿Cómo usar python personalizado con paquetes existentes - derivación nix? (superponiendo python usando packageOverrides; con pythonOverrides; y con y sin usar overridePythonAttrs); tanto para python3 como para python39; pero sin éxito.
P.ej,
self: super: { python3 = super.python3.override { packageOverrides = pyself: pysuper: { uvloop = pysuper.uvloop.overrideAttrs (_: { doCheck = false; }); }; }; }Para obtener puntos de bonificación, me gustaría lograr esto para todas las instancias del paquete python uvloop, no solo el de 3.9, pero aceptaré cualquier ayuda que pueda obtener.
Gracias,
Lo siguiente funcionó para mí. Aplica un parche a twitch-chat-downloader (aplicación de Python) y un parche a twitch-python (biblioteca de Python utilizada por twitch-chat-downloader). nix-env -iA nixpkgs.twitch-chat-downloader instaló una copia parcheada de twitch-chat-downloader que utiliza una copia parcheada de twitch-python.
{ packageOverrides = pkgs: { python3 = pkgs.python3.override { packageOverrides = python-self: python-super: { twitch-python = python-super.twitch-python.overrideAttrs (attrs: { patches = (attrs.patches or []) ++ [ ./twitch-allow-no-token.patch ]; }); }; }; twitch-chat-downloader = pkgs.twitch-chat-downloader.overrideAttrs (attrs: { patches = (attrs.patches or []) ++ [ ./twitch-chat-downloader-no-oauth.patch ]; }); }; }