| 28 Jun 2023 |
@victor_mignot:matrix.org | Dac, je tente ça dès que j'ai mon PC sous la main ! | 06:39:46 |
@victor_mignot:matrix.org | Pour info, qu'est ce que vous appelez le splicing du coup ? | 06:40:34 |
Minijackson | pour Nix, deux paquets sont différents à partir du moment où les instructions de builds sont différents (globalement) | 06:41:20 |
Minijackson | du coup, le cmake natif et le cmake pour host devraient être différents paquets | 06:41:38 |
Minijackson | mais dans nixpkgs, les gens ne s'en soucient pas parce qu'il y a de la triche derrière | 06:41:58 |
@victor_mignot:matrix.org | Je vois haha | 06:42:10 |
Minijackson | un paquet "spliced" contient à l'intérieur de lui même sa variation native, et d'autres variations | 06:42:27 |
Minijackson | s'il est pas spliced, il ne contient rien de plus que lui-même, donc mkDerivation ne peut pas être intelligent avec nativeBuildInputs et autre | 06:42:58 |
@victor_mignot:matrix.org | Mais typiquement dans ce cas, il devrait pas se compiler pour l'architecture system uniquement ? | 06:43:56 |
Minijackson | quand tu spécifie la cross-compilation, tous les paquets sous pkgs sont ceux cross-compilé | 06:44:33 |
Minijackson | sinon, il faut spécifier pkgs.buildPackages.cmake | 06:44:47 |
@victor_mignot:matrix.org | Dac, ça explique tout | 06:44:53 |
@victor_mignot:matrix.org | Mais du coup, le stdenv sera pas lui aussi compilé pour ARM dans ce cas là ? | 06:46:59 |
Minijackson | stdenv est un peu particulier | 06:47:22 |
Minijackson | il est configuré pour la cross-compilation | 06:47:38 |
Minijackson | vu qu'il lui faut forcément le bash pour l'hôte pour exécuter les instructions de build | 06:48:14 |
@victor_mignot:matrix.org | Et dernière question, le system doit forcément build tout le stdenv lui même ?
Ça fait typiquement parti des choses où y'a pas de binary dispo pour la compilation directement ?
Ou une toolchain doit forcément être compilée spécifiquement pour chaque combinaison de Host et de Target | 06:52:46 |
Minijackson | souvent, les paquets dont dépend le stdenv sont dans le cache | 06:53:08 |
Minijackson | c'est valable je crois pour toutes les platforms pré-configurée dans nixpkgs | 06:53:32 |
Minijackson | ici: https://github.com/NixOS/nixpkgs/blob/master/lib/systems/examples.nix | 06:53:46 |
Minijackson | mais si tu fais la tienne, là il va très probablement compiler gcc et tout | 06:54:17 |
@victor_mignot:matrix.org | Je sais pas pour GCC spécifiquement, mais techniquement hier il allait me compiler pas mal de choses, après c'est potentiellement des dépendances de CMake. | 06:55:34 |
Minijackson | je pense que c'est ça | 06:55:45 |
@victor_mignot:matrix.org | Dac, merci pour toutes ces infos ! | 06:56:40 |
Minijackson | pas de soucis ! | 06:57:08 |
Gaël Reyrol | Super les explications :) | 07:05:26 |
Pol | Gaël Reyrol: https://github.com/NixOS/nixpkgs/commit/e1b3f7b15902d1f1b7560fd610f98a24821e1759#commitcomment-119900760 ????? | 07:58:35 |
Gaël Reyrol | wtf | 08:00:34 |
Pol | Beuh... je comprends pas | 08:02:38 |
Pol | J'ai ajoute un comm' :D | 08:04:53 |