| 14 Jun 2026 |
Nonno Felice | Di base è come se stessi ricreando uno /usr/lib in X giusto? | 08:04:09 |
| 15 Jun 2026 |
gecko | Mmmmh, più /usr. È il prefix di installazione della build di libone. Ma non è un prefix globale (nel senso che X è solo per libone, non anche per libtwo). | 02:00:02 |
Luca | Hai provato a guardare https://nixos.wiki/wiki/CCache. Puoi fare override di stdenv per quelle due derivation e gli artefatti andranno in un punto comune di cui puoi anche monitorare lo stato e le statistiche | 06:18:14 |
Luca | Penso che configuri il servizio su nixos o darwin etc (ccache.enable più il resto tipo la directory della cache e i permessi) e poi
libone = pkgs.libone.override { stdenv = pkgs.ccacheStdenv; };
libtwo = pkgs.libtwo.override { stdenv = pkgs.ccacheStdenv; }; Se ha funzionato puoi fare ccache --show-stats Come bonus lo puoi usare anche per la configurazione, tipo per packages unfree non presenti nei substituter che devi sempre compilare oppure quando applichi patch con gli overlay | 06:24:01 |
Luca | Gli hash sono gestiti separati. Nix ha il suo hash della derivazione intera (file sorgente + compilatore + ...), mentre ccache ha gli hash dei singoli file sorgente quindi li riusa se non cambi i file di libone | 06:28:57 |
Luca | Se non ti funziona la cache per qualche file leggi https://ccache.dev/manual/4.7.4.html#:~:text=sloppiness
Tipo se hai usato __DATE__ nel codice allora l'hash di quell'artefatto cambierà ogni giorno, e ccache lo può evitare usando sempre lo stesso seed | 06:37:06 |
Luca | Ultima cosa: mozilla ha anche https://github.com/mozilla/sccache per avere cache distribuite su network | 06:42:57 |
gecko | CCache approaccia il problema ad un altro livello e ti aiuta solo in parte, devi comunque ri-linkare tutto, ri-runnare la fase di configure. Non sono veramente "build incrementali". | 07:38:13 |
gecko | Also, funziona solo con C/C | 07:38:40 |
gecko | * Also, funziona solo con C/C++, non funziona con progetti Python/TypeScript ad esempio | 07:38:54 |
gecko | * CCache approccia il problema ad un altro livello e ti aiuta solo in parte, devi comunque ri-linkare tutto, ri-runnare la fase di configure. Non sono veramente "build incrementali". | 08:06:06 |
Luca | Già già | 10:19:23 |
Luca | Grazie, su questo ci devo pensare. Mi fido, ma non so risponderti | 10:19:48 |
Luca | La fase di configure è gestita da cmake giusto? quindi con il tuo metodo si salvano anche gli artifatti che genera lui e velocizzi il configure.
Il linking è così lento? Forse se hai tante compilation unit inizia a pesare? | 10:25:28 |
gecko | Se fai build incrementali rebuildi il minimo necessario a seguito di un cambiamento nel sorgente. Quindi se non cambi CMakeLists.txt, cmake non gira. A volte lo è, soprattutto su progetti grossi (tipo LLVM). Ma overall fare una builda pulita ogni volta è sbatti: CMake + script non ccachabili + linking. A meno che ci sia un blocker insormontabile vorrei le build incrementali Vere™. | 11:15:57 |
Luca | https://github.com/pdtpartners/nix-ninja (?) | 11:36:40 |
Luca | Dubito sia meglio di come hai fatto tu comunque | 11:37:35 |
gecko | > Parses ninja.build files and generates a derivation per compilation unit.
Aggressivo. Però non risolverebbe il mio problema, io voglio sostanzialmente impurità. Ovvero poter cambiare una dipendenza upstream senza necessariamente ricompilare downstream. | 17:19:14 |
gecko | Però interessante | 17:19:17 |
| 17 Jun 2026 |
gecko |  Download image.png | 07:51:44 |
Nonno Felice | Siamo già arrivati alla AGI | 07:59:01 |
Alessandro 🤔➖☀️🖌 | SLOP | 10:59:00 |
| 29 Feb 2024 |
| @admin:nixos.org changed the history visibility to "world_readable" from "shared". | 12:19:16 |
| NixOS Moderation Bot joined the room. | 12:19:31 |
| @admin:nixos.orgchanged room power levels. | 12:20:33 |
| @admin:nixos.org left the room. | 12:20:52 |
| fgaz joined the room. | 15:24:24 |
| 1 Mar 2024 |
aciceri | Questa room ha ora come alias principale #milan:nixos.org ora. E siamo nello space di NixOS! | 11:39:05 |
aciceri | * Questa room ha ora come alias principale #milan:nixos.org. E siamo nello space di NixOS! | 13:29:32 |
| 2 Mar 2024 |
| Matteo Joliveau joined the room. | 09:58:50 |