| 11 Dec 2022 |
Anderson Torres | In reply to @telegram_155706732:t2bot.io Entao da pra fazer o esquema de variável de ambiente pra passar onde tá o XML e usa o nix pra gerar o XML O problema é saber se isso é feito na hora de compilar ou na hora de usar. | 00:33:51 |
@baduhai:matrix.org | É na hora de usar | 00:34:05 |
Anderson Torres | Então é sussa - quer dizer, cê pode fazer um do zero se quisesse, né? | 00:34:48 |
Anderson Torres | * Então é sussa - quer dizer, cê poderia fazer um do zero se quisesse, né? | 00:34:58 |
@baduhai:matrix.org | É, tbm achei meio louco quando tava escrevendo o derivation | 00:35:20 |
Anderson Torres | Então dá para fazer assim: cria um wrapper que junte o teu programa mais os cores, e nesse wrapper inclui esse arquivo devidamente modificado. | 00:36:39 |
Anderson Torres | Dependendo do caso, dá para fazer o próprio Nix gerar esse arquivo. Mas na pior hipótese simplesmente usa um esquema de template. | 00:37:26 |
@baduhai:matrix.org | In reply to @baduhai:matrix.org Acho q o substituteInPlace tbm possa me ajudar, mas pelo o q eu entendi, como o retroarch é uma dependência opcional, o substituteInPlace só vai ser executado se o retroarch for instalado como dependência, fazendo com q se eu instalar o retroarch depois do emulationstation-de, o substituteInPlace nunca tenha executado, e os cores não serão encontrados Mas os cores são opcionais, ai eu vou ter a mesma situação q eu expliquei aqui | 00:37:39 |
Anderson Torres | Sim, os cores são opcionais. O wrapper vai ter um argumento para os cores então. | 00:38:17 |
@baduhai:matrix.org | Mas e se eu instalar o retroarch depois de já ter o emulationstation-de instalado, o wrapper nunca vai ter wrappado | 00:39:14 |
@baduhai:matrix.org | Vai ter uma situação onde mesmo eu tendo a dependência instalada, ela não vai ser reconhecida | 00:39:49 |
Anderson Torres | Isso é irrelevante. Não precisa ter "venda casada" no Nixpkgs. | 00:40:04 |
@baduhai:matrix.org | Não entendi | 00:40:41 |
Anderson Torres | Meia-noite eu te conto :)
Sério, vou ver outra coisa aqui ligeiro, depois eu volto.
Mas enquanto isso dá uma lida no código do mpv wrapper que linkei acima. | 00:41:48 |
@baduhai:matrix.org | Kkk, blz | 00:42:09 |
Anderson Torres | Enfim, a ideia é a se | 01:04:45 |
Anderson Torres | * Enfim, a ideia é a seguinte: | 01:05:28 |
Anderson Torres | O symlinkJoin mescla todos os paths que recebe em um só diretório, como se você tivesse movido todos para um mesmo lugar.
Se você tem A e B assim:
/nix/store/A/bin/a1 /nix/store/A/etc/e1 /nix/store/A/etc/e2
/nix/store/B/bin/b1 /nix/store/B/bin/b2 /nix/store/B/etc/h1
No fim o symlinkJoin vai criar algo como
/nix/store/C/bin/a1 /nix/store/C/bin/b1 /nix/store/C/bin/b2 /nix/store/C/etc/e1 /nix/store/C/etc/e2 /nix/store/C/etc/h1
| 01:10:33 |
Anderson Torres | * O symlinkJoin mescla todos os paths que recebe em um só diretório, como se você tivesse movido todos para um mesmo lugar.
Se você tem A e B assim:
/nix/store/A/bin/a1
/nix/store/A/etc/e1
/nix/store/A/etc/e2
/nix/store/B/bin/b1
/nix/store/B/bin/b2
/nix/store/B/etc/h1
No fim o symlinkJoin vai criar algo como
/nix/store/C/bin/a1
/nix/store/C/bin/b1
/nix/store/C/bin/b2
/nix/store/C/etc/e1
/nix/store/C/etc/e2
/nix/store/C/etc/h1
| 01:10:54 |
Anderson Torres | Além disso, ele tem um postBuild que te permite ajustar vários detalhes posteriores. | 01:12:30 |
Anderson Torres | * O symlinkJoin mescla todos os paths que recebe em um só diretório, como se você tivesse movido todos para um mesmo lugar.
Se você tem A e B assim:
/nix/store/A/bin/a1
/nix/store/A/etc/e1
/nix/store/A/etc/e2
/nix/store/B/bin/b1
/nix/store/B/bin/b2
/nix/store/B/etc/h1
No fim o symlinkJoin vai criar algo como
/nix/store/C/bin/a1
/nix/store/C/bin/b1
/nix/store/C/bin/b2
/nix/store/C/etc/e1
/nix/store/C/etc/e2
/nix/store/C/etc/h1
Com isso, do ponto de vista de C, parece que você fez uma mescla de vários programas que, nas CNTP, estão em diretórios separados.
| 01:14:56 |
Anderson Torres | A ideia que eu tenho, então, é fazer um symlinkJoin com o es-de e com os cores (como são opcionais, então precisa ter um parâmetro para eles, óbvio).
Com isso, você pode editar aquele XML, de forma que ele passe a apontar para o diretório onde estão todos os cores neste novo symlinkJoin.
| 01:15:48 |
Anderson Torres | E, já que o XML pode ser escrito do zero e ele é lido pelo programa já instalado, como se fosse um configfile, nem precisa de patch. | 01:16:57 |
@baduhai:matrix.org | Entendi. Acho q isso vai um poco alem das minha competencias com o Nix, mas é bom q eu aprendo, vou ver o q eu consigo fazer amanhã | 01:19:19 |
Lucas Eduardo | Symlink join não junta a nível de arquivo | 11:54:18 |
Lucas Eduardo | Melhor usar o buildEnv | 11:54:24 |
Anderson Torres | Pra quê? Para dobrar o tamanho do store? | 13:45:43 |
Lucas Eduardo | buildEnv só cria symlink | 14:40:22 |
| Vinícius Müller joined the room. | 16:27:54 |
Vinícius Müller | muito boa essa bridge pro matrix, parabens aos envolvidos | 16:27:53 |