Ir al contenido

Compilación


Compilar el código fuente de Kate en Linux

En la actualidad, el código fuente de Kate está en la instancia de GitLab invent.kde.org. Este tutorial explica cómo compilar Kate sin necesidad de alterar su instalación global.

Todo el proceso tendrá lugar dentro de un directorio de desarrollo adicional. Esto evita la necesidad de disponer de permisos de administrador y permite volver a usar la versión de Kate instalada de forma global si la versión compilada no funciona correctamente.

Como este tutorial presentará una configuración que también permite desarrollar otras partes de la pila de software de KDE, a continuación hablaremos sobre cómo configurar un entorno de desarrollo de KDE. Además de las partes de la aplicación Kate, también se compilarán los componentes necesarios de KDE Frameworks. Esto facilita la contribución en todos los niveles de la pila de software de KDE.

Escoja un directorio para el desarrollo de Kate y KDE

Elija la ruta donde deberían terminar todas las cosas relacionadas con el desarrollo de Kate y de KDE. Aparte de los archivos de configuración locales del usuario, nada que esté fuera de este directorio acabará contaminado. Puede reutilizarlo para el desarrollo en cualquier parte de la pila de software de KDE.

Para el resto de partes de esta descripción usaremos:

~/projects/kde

Siéntase libre de personalizarlo.

Instalación de kdesrc-build

La instalación consiste más o menos en clonar la versión actual:

mkdir -p ~/projects/kde/src
cd ~/projects/kde/src
git clone https://invent.kde.org/sdk/kdesrc-build.git

Para facilitar su uso posterior, es mejor crear un enlace simbólico al script kdesrc-build en alguna carpeta que pertenezca al PATH. Por ejemplo, si dispone de la carpeta bin del usuario local:

ln -s ~/projects/kde/src/kdesrc-build/kdesrc-build ~/bin

Configuración de kdesrc-build

kdesrc-build tiene un paso previo que puede configurar varias cosas. Consulte esta introducción.

Aquí solo mostramos un ~/.config/kdesrc-buildrc que es lo bastante bueno para las necesidades de desarrollo de Kate.

Solo tiene que copiar y pegar la siguiente variante en el directorio personal como ~/.config/kdesrc-buildrc y adaptar las rutas según sus necesidades. Si se queda con la ruta ~/projects/kde que escogimos con anterioridad, debería poder usarlo directamente.

global
    # usar el último software basado en KF6 y Qt6.
    branch-group kf6-qt6

    # queremos archivos .kateproject con ninja, desactivamos algunas cosas de Qt 5 para tener menos
    # dependencias
    cmake-options -G "Kate - Ninja" -DBUILD_WITH_QT6=ON -DQT_MAJOR_VERSION=6 -DPHONON_BUILD_QT5=OFF -DBUILD_QT5=OFF

    # herramientas de clangd
    compile-commands-export yes
    compile-commands-linking yes

    # estructura plana
    directory-layout flat

    # Directorio de instalación para el software de KDE
    install-dir ~/projects/kde/usr

    # Directorio para el código fuente descargado
    source-dir ~/projects/kde/src

    # Directorio donde compilar KDE antes de instalarlo de forma relativa al directorio de código
    # fuente predeterminado
    build-dir ~/projects/kde/build
end global

include ${module-definitions-dir}/kf6-qt6.ksb

Las líneas importantes para una mejor experiencia desarrollando Kate (u otras cosas de KDE) con Kate se describen a continuación en detalle.

Creación de archivos .kateproject

# queremos archivos .kateproject con ninja
cmake-options -G "Kate - Ninja"

Esto asegura que no solo va a tener archivos de compilación para Ninja (interesante, ya que, por ejemplo, usará automáticamente múltiples núcleos del procesador durante las compilaciones), sino también archivos .kateproject dentro de los directorios de compilación para su uso posterior. Con estos archivos, el complemento de proyectos de Kate sabrá qué hacer (por ejemplo, dónde está el directorio de código fuente para la compilación y qué órdenes de compilación debe usar con el complemento de compilación).

Garantizar que funciona la integración con LSP

# herramientas de clangd
compile-commands-export yes
compile-commands-linking yes

Esto garantiza que CMake generará los archivos compile_commands.json necesarios para la integración de LSP basada en clangd. Además de generarlos dentro del directorio de compilación, la opción de enlace creará enlaces simbólicos a sus directorios de origen. Esto permite el uso sin configuración del complemento LSP dentro de Kate (y otros editores).

Instalar las dependencias necesarias (opcional)

kdesrc-build proporciona cierto modo de configuración inicial para instalar los paquetes necesarios para empezar a desarrollar en diversas distribuciones comunes. Esto es útil cuando no tiene la seguridad de haber instalado todos los paquetes de desarrollo necesarios en su sistema y tampoco desea encargarse de ello manualmente. Como esto intentará instalar paquetes de su distribución, este paso necesitará permisos de administrador para instalarlos. Para hacer esto, ejecute:

kdesrc-build --initial-setup

Ya hemos creado un .config/kdesrc-buildrc, que permanecerá sin cambios. Para futuro uso tampoco tendrá que modificar la configuración de su intérprete.

Compilar Kate y sus dependencias

Para lanzar la compilación de Kate y de todas las dependencias de KDE necesarias, escriba:

kdesrc-build --include-dependencies kate

Esto tarda varios minutos en una máquina reciente. Es la hora de prepararse un café o de pensar qué es lo que realmente quiere implementar.

Como la versión de KF 6 de nuestras dependencias no se empaqueta con su distribución, puede tener sentido que compilemos varias partes más para tener un mejor estilo y disponer de una terminal integrada.

kdesrc-build --include-dependencies breeze plasma-integration kwayland-integration konsole kate

Si solo quiere compilar Kate sin sus dependencias porque está seguro de que su sistema tiene versiones lo suficientemente recientes de todo lo necesario, puede probar:

kdesrc-build --no-include-dependencies kate

Pero como en las máquinas modernas los tiempos de compilación son cortos, resulta más conveniente compilar todo, lo que garantiza que también tenga, por ejemplo, ¡las mejores y más recientes bibliotecas KSyntaxHighlighting y KTextEditor!

Con esta configuración, podrá compilar todas las partes del software de KDE con un sencillo:

kdesrc-build

Recuerde que esto tardará algún tiempo (y espacio de disco).

Si durante la compilación ve algunos fallos que se muestran con texto en rojo, siga esta guía: Cómo resolver problemas de compilación.

¿Cómo se usa lo que se ha compilado?

Para iniciar la versión local de Kate, primero debe configurar el entorno correctamente para asegurarse de que se carguen los complementos y demás elementos adecuados. Afortunadamente, esto es muy sencillo:

source ~/projects/kde/build/kate/prefix.sh
kate

Una buena forma de hacerlo es, por ejemplo, crear un pequeño script que se encargue de iniciar la versión de la rama maestra de Kate dentro de su directorio bin local:

#!/bin/bash
source ~/projects/kde/build/kate/prefix.sh
exec kate "$@"

Manténgase al día

Para mantener la versión local actualizada, solo tiene que volver a usar las órdenes anteriores, que se encargarán de incorporar los nuevos cambios existentes en los repositorios de KDE y de compilarlos e instalarlos en el prefijo local.

¡Desarrolle!

Ahora, la pregunta que queda es: ¿cómo se desarrolla mejor?

Naturalmente, si quiere trastear con Kate, tiene sentido que use Kate para ello.

Teniendo en cuenta los preparativos anteriores, esto es fácil de hacer, solo tiene que lanzar su nueva versión maestra de Kate y pasarle el directorio de compilación:

kate ~/projects/kde/build/kate

De forma alternativa, puede ir hasta ahí en un terminal y arrancar Kate desde allí, con lo que se abrirá automáticamente:

cd ~/projects/kde/build/kate
kate

Para disfrutar de una mejor experiencia, asegúrese de haber activado como mínimo el complemento de proyectos y LSP. Si desea integrar la compilación en la interfaz gráfica, active también el proyecto de compilación.

Terminará con una nueva ventana Kate como la que se muestra a continuación.

En la vista inferior de la herramienta «Proyecto actual» tiene dos terminales de forma predeterminada. La primera terminal está dentro del directorio «build», donde puede, por ejemplo, ejecutar las órdenes ninja y ninja install, u otras similares. La segunda terminal está dentro del directorio del código fuente, donde resulta ideal para, por ejemplo, hacer llamadas a órdenes de git.

Con la configuración anterior, el complemento LSP debería funcionar directamente (si tiene instalado clangd).

También se deben configurar otras cosas interesantes, como la apertura rápida en todo el proyecto, la búsqueda y sustitución, o los objetivos de compilación correctos.

¡Vuelve a colaborar!

No dude en crear solicitudes de fusión en invent.kde.org. Para más información, consulte Unirse a nosotros.

¿Necesita ayuda?

Si tiene alguna pregunta, puede preguntar en nuestra lista de distribución kwrite-devel@kde.org o unirse a #kate en irc.libera.chat.

Para más información, consulte Obtener ayuda.

Compilar el código fuente de Kate en Windows

Para compilar Kate/KWrite basado en KF5 puede seguir la guía de KDE en Windows.

Compilar el código fuente de Kate en macOS

Para compilar Kate/KWrite basado en KF5 puede seguir la guía de KDE en macOS.