Ir para o conteúdo

Desenvolver software para o KDE

Existem três opções, dependendo de como o software é distribuído no KDE Linux:

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:

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 sob a licença CC-BY-4.0.