Gentoo + DWM ; Portage Way

Fala pessoal, beleza?

Pessoal, estou começando agora com o DWM no Gentoo, nesse final de semana, e queria tirar uma dúvida.
Eu estou usando o DWM do jeito do Gentoo, Portage way, ou seja, usando o Portage para (re)compilar os arquivos do DWM e assim aplicar minhas modificações neste.

A questão toda começa quando vou fazer a adição dos .patches (ou .diff).
Segundo a documentação do próprio Gentoo o correto é adicionar o arquivo.patch (ou .diff) no diretório /etc/portage/patches/x11-wm/dwm.
Até ai ok, depois é preciso ir no diretório onde ficam os eBuilds do DWM, /var/db/repos/gentoo/x11-wm/dwm ;
E então rodar o comando " sudo ebuild dwm-x.y.ebuild clean prepare ".

Ok, nesse ponto, eu só tive sucesso com 1 único patch, o de AutoStart, isso porque eu peguei uma versão de 2016 super enxuta dele que tinha cerca de uma meia duzia de linhas de código apenas.
Agora, querendo adicionar o patch VanityGaps, por exemplo, cujo conteúdo passa das 100 linhas, o resultado foi negativo, não passou na verificação do eBuild.
(Aconteceu também, outro caso, de outro patch, de passar na verificação do eBuild, mas na compilação dar erro. Mas vamos um problema de cada vez hehe)

A sensação que tenho é que falta algum passo, algum arquivo que precisa ser alterado antes do eBuild/compilação.

Existe alguma manipulação mais minuciosa que eu preciso fazer nos patches?

O que será que estou errando no caminho?

Tem muito pouco conteúdo sobre Gentoo + DWM, o pouco que tem é muito bom, mas não aborda essa situação em específico.
E pra “ajudar” o fórum do Gentoo tá fora do ar =__=

Desde já, muito obrigado a todos pela atenção! =)

1 curtida

Eu uso Gentoo + DWM + st + dmenu, Nunca tive problemas com patchs, sendo que eu compilei meu DWM “normalmente”, Mas porque normalmente?
Instalar dwm pelo portage, acho muito desnecessário, porque você clonando direto e mais fácil, até para instalar patches no gentoo, eles usam meio diferenciado.
Atualmente, minha de config do dwm está assim

1 curtida

Pelo que eu testei aqui, o problema é o próprio patch de vanitygaps. Simplesmente não está funcionando em nenhum DWM depois do 6.2, mesmo no código-fonte recém-clonado.

Vai ser necessário downgrade ou corrigir o patch manualmente.


Eu soube de pessoas que tiveram que dar o “recarregar sem cache” (Ctrl + Shift + R no navegador, geralmente) para fazer a mensagem de “estamos migrando servidores” desaparecer.

1 curtida

Funcionou!

Realmente o VanityGaps não está funcionando, ai eu testei outros patches e percebi que alguns (de código mais enxuto) funcionavam;
Então decidi testar o FullGaps vendo o exemplo do amigo @iamBLC, e funcionou.
No caso eu tive só que adicionar na mão as inserções do dwm.x.y.h
Depois, rodei o eBuild, emerge e pronto. Working!

E só pra me contrariar, parece que o fórum do Gentoo voltou =__= kkkk

Mas é isso. Funcionando com o PortageWay, eu prefiro fazer dessa forma, porque foi a forma que o pessoal da distro pensou para ser usado, talvez fosse até melhor e mais prático compilar por fora, mas eu prefiro fazer a lá Gentoo mesmo. xD
O Importante é que tá funcionando.
Agora é fazer a lapidação da interface, e isso é com o tempo =D

Pessoal, MUITO obrigado pela ajuda! =)

Só me pergunto porque você usa especificamente cd /var/db/repos/gentoo/.../dwm && ebuild dwm... clean merge em vez de simplesmente emerge dwm.

Os patches também são aplicados na mesma ordem com emerge, e de bônus o pacote é protegido se você fizer um emerge --depclean.

Muito bom mano, parabéns…
Ainda bem que isso não lhe abalou de forma alguma.
Então mano, eu preferi fazer a instalação por fora porque, pra mim é mais ideal e mais fácil para arruma meu dotfile

1 curtida

Pelo que entendi, usar o comando ebuild seria o equivalente é usar o comando “patch -p1 < path/to/patch.diff” quando está fora do Gentoo.
É a forma que o Gentoo definiu para manipular e automatizar códigos que precisam ser alterados na fonte. Tipo, não deve ser assim só com o DWM.
E eu achei muito boa essa forma de lidar com o DWM.
Tanto que agora estou formatando o PC do escritório, que era um Debian, só pra usar com o DWM + Gentoo aqui também hahah xD

Mais info: dwm - Gentoo Wiki e /etc/portage/patches - Gentoo Wiki

A etapa de aplicação dos patches também rola ao rodar o emerge, e se falhar toda a instalação é cancelada. Tenho literalmente dezenas de pacotes com patches e nunca me foi necessário rodar ebuild separadamente.

Não é um passo obrigatório pelo que entendi, mas ele acusa erro quando o patch não vai passar, antes de compilar.
Então acabou virando procedimento padrão meu :rofl: haha
Mas não precisa fazer