Ir al contenido

Desarrollo de software de KDE

KDE Linux es una excelente plataforma de desarrollo para software de KDE. Existen tres rutas principales, dependiendo de cómo se entrega en KDE Linux el software que quieres desarrollar:

Compilación de software de KDE que se entrega en la imagen base

Este flujo de trabajo se usa para desarrollar el software de KDE que se entrega en el sistema base, e incluso Qt. Una lista de dicho software está disponible aquí (ten en cuenta que «workspace» incluye Plasma, KWin y las aplicaciones alineadas con Plasma, como las «Preferencias del sistema» y «Discover»).

La mejor forma de hacer esto es mediante el uso de systemd-sysext, que permite superponer contenido creado a partir del código fuente encima de /usr/ sin tener impacto en el sistema base.

Configuración

Ejecuta el guion de configuración:

set-up-system-development

Uso

En resumen, vas a compilar e instalar software usando kde-builder, luego refrescarás la extensión de systemd y, finalmente, reiniciarás cualquier servicio que hayas modificado (por ejemplo, Plasma), o todo el sistema.

Por ejemplo, para compilar y probar un cambio en plasma-pa, haz lo siguiente:

kde-builder plasma-pa
sudo systemd-sysext refresh --always-refresh=yes
systemctl restart --user plasma-plasmashell.service

Si sustituyes un componente principal del sistema y encuentras que todo falla tras aplicar el refresco, prueba a reiniciar el sistema para que se vuelvan a cargar las nuevas dependencias de todo el software en ejecución.

Cuando hayas terminado de desarrollar o de probar las modificaciones, desactiva («un-merge») la extensión del sistema:

sudo systemd-sysext unmerge

Cuando hayas acabado de compilar tu software a partir del código fuente (por ejemplo, porque se haya aceptado como un parche y se haya fusionado), borra los archivos instalados:

rm -r ~/kde/usr/*
# Cuando pregunte por el borrado del archivo de solo lectura extension-release.kde, responde 'n'

Compilar una aplicación de KDE con un manifiesto de Flatpak

Para desarrollar o probar cambios en el propio código de la aplicación, compila la aplicación usando flatpak-builder para garantizar que el resultado sea funcionalmente idéntico a la compilación Flatpak nocturna de la aplicación.

Para desarrollar o probar cambios en una KDE Framework o en otra biblioteca usada por múltiples aplicaciones, la única aproximación relativamente indolora por el momento pasa por usar kde-builder para compilarlas todas. Consulta Desarrollo de software de KDE que se entrega en la imagen base.

Configuración

flatpak-builder instalará los paquetes flatpak del recurso remoto flathub-apps-built-locally. Este recurso remoto es la tienda oficial de Flathub.

flatpak remote-add --user --if-not-exists flathub-apps-built-locally https://flathub.org/repo/flathub.flatpakrepo

Hacer cambios solo en la aplicación

Primero, descarga el código fuente de la aplicación de KDE que quieres compilar. Por ejemplo, para Filelight:

# Crea una carpeta para el código fuente de KDE. Se puede omitir si ya existe.
mkdir -p ~/kde/src/

# Entra en dicha carpeta
cd ~/kde/src/

# Descarga el código fuente de Filelight
git clone git@invent.kde.org:utilities/filelight.git

# Ve a la carpeta del código fuente de Filelight
cd ~/kde/src/filelight

# Compila Filelight como un flatpak
flatpak-builder build --user --install-deps-from=flathub-apps-built-locally --force-clean --ccache --install .flatpak-manifest.json

flatpak-builder creará un repositorio flatpak y un remoto con el nombre filelight-origin, y exportará el flatpak de Filelight recién compilado a este repositorio flatpak.

Ahora, ejecútalo:

org.kde.filelight

Para más información, consulta:

Compilar cualquier software de KDE usando KDE Builder en Distrobox

Si necesitas trabajar en software de KDE que no esté preinstalado en el sistema base (con lo que sus dependencias tampoco estarán preinstaladas) y que tampoco tenga un Flatpak o no se pueda compilar como Flatpak, puedes compilarlo con kde-builder en una Distrobox:

# Según 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

# Instala kde-builder normalmente. https://develop.kde.org/docs/getting-started/building/kde-builder-setup

Artículo escrito por bajo las condiciones de la licencia CC-BY-4.0.