Desenvolver software para o KDE
Existem três opções, dependendo de como o software é distribuído no KDE Linux:
- Desenvolvendo software KDE que é distribuído na imagem base
- Desenvolvendo software KDE que pode ser compilado usando Flatpak
- Desenvolvendo qualquer software KDE usando o Distrobox
Criar software KDE para ser distribuído na imagem base
Este fluxo de trabalho é usado para desenvolver software KDE que é distribuído no sistema base, ou mesmo no Qt. Uma lista desse software pode ser encontrada aqui (observe que "workspace" inclui Plasma, KWin e aplicativos alinhados ao Plasma, como as Configurações do sistema e o Discover).
A melhor maneira de fazer isso é usando o systemd-sysext, que permite sobrepor conteúdo compilado a partir do código-fonte em cima de /usr/ sem afetar o sistema base.
Configuração
Execute o script de configuração:
set-up-system-development
Uso
Em resumo, você compilará e instalará o software usando o kde-builder, depois atualizará a extensão systemd e, finalmente, reiniciará quaisquer serviços que você tenha alterado (por exemplo, Plasma) ou todo o sistema.
Por exemplo, para compilar e testar uma alteração no plasma-pa, faça o seguinte:
kde-builder plasma-pa sudo systemd-sysext refresh --always-refresh=yes systemctl restart --user plasma-plasmashell.service
Se você substituir um componente essencial do sistema e perceber que tudo está travando após a atualização, tente reiniciar o computador para recarregar completamente a nova dependência em todos os softwares em execução.
Ao concluir o desenvolvimento ou teste da alteração, desative ("desfaça a mesclagem") da extensão do sistema:
sudo systemd-sysext unmerge
Quando terminar de usar o software compilado a partir do código-fonte (por exemplo, porque ele foi aceito como uma correção e incorporado ao código), exclua os arquivos instalados:
rm -r ~/kde/usr/* # Quando for solicitado que você exclua o arquivo somente leitura extension-release.kde, responda 'n'
Criar um aplicativo KDE com um manifesto Flatpak
Para desenvolver ou testar alterações no próprio código do aplicativo, compile o aplicativo usando o flatpak-builder, de forma que o resultado seja funcionalmente idêntico à versão Flatpak de desenvolvimento do aplicativo.
Para desenvolver ou testar alterações em um framework KDE ou outra biblioteca usada por vários aplicativos, a única abordagem relativamente simples no momento é usar o kde-builder para compilá-los todos. Veja Desenvolvendo software KDE que é distribuído na imagem base.
Configuração
O flatpak-builder instalará pacotes Flatpak do repositório remoto flathub-apps-built-locally. Este repositório remoto é a loja oficial do Flathub.
flatpak remote-add --user --if-not-exists flathub-apps-built-locally https://flathub.org/repo/flathub.flatpakrepo
Fazer alterações apenas no aplicativo
Primeiro, baixe o código-fonte do aplicativo KDE que você deseja compilar. Por exemplo, aqui está um exemplo com o Filelight:
# Crie uma pasta para armazenar o código-fonte do KDE. Pode ser ignorado se ela já existir. mkdir -p ~/kde/src/ # Acesse essa pasta. cd ~/kde/src/ # Baixe o código-fonte do Filelight. git clone git@invent.kde.org:utilities/filelight.git # Acesse a pasta do código-fonte do Filelight. cd ~/kde/src/filelight # Compile o Filelight como um Flatpak. flatpak-builder build --user --install-deps-from=flathub-apps-built-locally--force-clean --ccache --install .flatpak-manifest.json
O flatpak-builder criará um repositório Flatpak e um arquivo remoto chamado filelight-origin e exportará o Flatpak Filelight recém-criado para este repositório Flatpak.
Agora execute-o:
org.kde.filelight
Para obter mais informações, consulte:
- https://docs.flatpak.org/en/latest/getting-started.html
- https://develop.kde.org/docs/packaging/flatpak/packaging/
Criar qualquer software KDE usando o KDE Builder no Distrobox
Se você precisar trabalhar com algum software KDE que não esteja pré-instalado no sistema base (portanto, as dependências também não estejam pré-instaladas) e que não possa ou não seja possível compilá-lo como um Flatpak, você pode compilá-lo com o kde-builder em um Distrobox:
# De acordo com https://develop.kde.org/docs/getting-started/building/containers-distrobox
distrobox create --image docker.io/archlinux --name kdebuildercontainer --home ~/kdebuildercontainer_home
distrobox enter kdebuildercontainer
sudo pacman -Syu
sudo pacman -S nano
echo 'export PATH="$HOME/.local/bin:$PATH"' | tee --append ~/.{bash,zsh}rc
exit
distrobox enter kdebuildercontainer
# Instale o kde-builder normalmente. https://develop.kde.org/docs/getting-started/building/kde-builder-setup
Artigo contribuído por Nate Graham sob a licença CC-BY-4.0.