Перейти к содержимому

Сборка

Сборка Kate из исходных кодов в Linux

В настоящее время исходный код Kate находится на сервере GitLab invent.kde.org. В этом руководстве объясняется, как собрать Kate, не затрагивая установленную в системе версию.

Вся работа будет вестись в отдельном каталоге разработки. Это позволяет обойтись без прав администратора и всегда вернуться к установленной в системе версии Kate, если текущая сборка не работает.

Поскольку в этом руководстве будет представлена настройка, позволяющая разрабатывать и другие части программного стека KDE, далее речь пойдёт о настройке среды разработки KDE. Помимо частей приложения Kate, будут скомпилированы необходимые KDE Frameworks. Это упрощает внесение вклада на всех уровнях программного стека KDE.

Выберите каталог разработки Kate и KDE

Выберите каталог для размещения всех файлов разработки Kate и KDE. За исключением локальных файлов конфигурации пользователя, ничего за пределами этого каталога затронуто не будет. Его можно использовать для разработки любой части программного стека KDE.

В оставшейся части описания используется

~/projects/kde

Настройте по своему усмотрению.

Установите kdesrc-build

Установка сводится к клонированию текущей версии.

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

Для удобства использования рекомендуется создать символическую ссылку на сценарий kdesrc-build в папку, находящуюся в переменной окружения PATH, например, в локальную папку пользователя bin:

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

Настройка kdesrc-build

В kdesrc-build есть несколько этапов настройки, которые могут автоматически настроить некоторые параметры, см. введение.

Здесь приведён файл ~/.config/kdesrc-buildrc, достаточный для разработки Kate.

Просто скопируйте приведённый ниже вариант в домашний каталог как ~/.config/kdesrc-buildrc и настройте пути по необходимости. Если вы придерживаетесь пути ~/projects/kde, выбранного выше, этот вариант можно использовать без изменений.

global
    # использовать новейшее ПО на основе KF6 и Qt6.
    branch-group kf6-qt6

    # использовать ninja для ускорения инкрементной пересборки, отключить некоторые компоненты Qt 5,
    # чтобы уменьшить число зависимостей
    cmake-options -G "Ninja" -DBUILD_WITH_QT6=ON -DQT_MAJOR_VERSION=6 -DPHONON_BUILD_QT5=OFF -DBUILD_QT5=OFF

    # инструментарий clangd
    compile-commands-export yes
    compile-commands-linking yes

    # плоская структура
    directory-layout flat

    # Каталог установки ПО KDE
    install-dir ~/projects/kde/usr

    # Каталог для загруженного исходного кода
    source-dir ~/projects/kde/src

    # Каталог для сборки KDE перед установкой; по умолчанию задаётся относительно каталога исходного
    # кода
    build-dir ~/projects/kde/build
end global

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

Ниже подробно описаны важные строки для удобной разработки в Kate (или других приложений KDE).

Интеграция с LSP

# инструментарий clangd
compile-commands-export yes
compile-commands-linking yes

Эти строки гарантируют, что CMake сгенерирует файлы compile_commands.json, необходимые для интеграции LSP на основе clangd. Помимо их создания в каталоге сборки, параметр связывания создаст на них символические ссылки в каталогах исходного кода. Это позволяет использовать модуль LSP в Kate (и других редакторах) без дополнительной настройки.

Установите необходимые зависимости (необязательно)

kdesrc-build предоставляет режим начальной настройки для установки необходимых пакетов в нескольких распространённых дистрибутивах, чтобы начать разработку. Это полезно, если вы не уверены, что все нужные пакеты для разработки установлены в вашей системе, и не хотите заниматься этим вручную. Поскольку при этом будет предпринята попытка установить пакеты для вашего дистрибутива, для этого шага потребуются права администратора. Для этого просто выполните:

kdesrc-build --initial-setup

Файл .config/kdesrc-buildrc уже создан и не будет изменён. Для дальнейшего использования также не потребуется изменять настройки оболочки.

Сборка Kate и зависимостей

Для компиляции Kate и всех необходимых зависимостей KDE теперь достаточно ввести:

kdesrc-build --include-dependencies kate

На современных компьютерах это занимает несколько минут. Можно выпить кофе или подумать, что именно нужно реализовать.

Пока версия KF 6 наших зависимостей не входит в ваш дистрибутив, возможно, имеет смысл собрать дополнительные компоненты для улучшенного оформления и интеграции терминала:

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

Если требуется собрать только Kate без зависимостей, поскольку на системе уже установлены достаточно свежие версии, можно попробовать:

kdesrc-build --no-include-dependencies kate

Но учитывая, что на современных компьютерах время компиляции невелико, удобнее собрать всё сразу — это также гарантирует использование новейших и лучших версий фреймворков KSyntaxHighlighting и KTextEditor.

При такой настройке все компоненты программного обеспечения KDE можно собрать простой командой:

kdesrc-build

Учтите: это займёт некоторое время (и место на диске).

Если при сборке показываются ошибки красным шрифтом, следуйте этому руководству — Решение проблем со сборкой.

Как запустить собранное?

Для запуска локальной версии Kate необходимо сначала правильно настроить окружение, чтобы загружались нужные модули и прочие компоненты. К счастью, это очень просто:

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

Удобный способ обернуть это — создать небольшой сценарий-обёртку для запуска версии Kate из ветки master в локальном каталоге bin:

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

Обновление сборки

Для обновления локальной версии достаточно повторно выполнить указанные выше команды. Они загрузят новые изменения из репозиториев KDE и соберут/установят их в локальный префикс.

Разрабатывайте!

Остаётся вопрос: как лучше всего разрабатывать?

Разумеется, если вы хотите работать над кодом Kate, удобнее всего использовать для этого сам Kate.

После всех подготовительных действий это легко сделать: просто запустите свежую версию Kate из ветки master и передайте ей каталог сборки:

kate ~/projects/kde/build/kate

Также можно перейти в этот каталог в терминале и запустить Kate оттуда — проект откроется автоматически:

cd ~/projects/kde/build/kate
kate

Для наилучшего результата убедитесь, что включены как минимум модули проектов и LSP. Если нужна интеграция сборки в графический интерфейс, включите также модуль сборки.

В результате откроется новое окно Kate, как показано ниже.

На нижней панели «Текущий проект» по умолчанию открыты два терминала. Первый открыт в каталоге сборки, здесь можно выполнять, например, команды ninja и ninja install. Второй открыт в каталоге исходного кода — он удобен, например, для работы с git из командной строки.

При такой настройке модуль LSP (если установлен clangd) должен работать сразу.

Другие полезные возможности — быстрое открытие файлов проекта, поиск и замена, правильные цели сборки — тоже должны быть уже настроены.

Поделитесь своими изменениями!

Создайте запрос на слияние на invent.kde.org. Подробнее см. в разделе «Присоединяйтесь».

Нужна помощь?

Если возникли вопросы, их можно задать в разделе Kate на сервере обсуждений KDE и/или присоединиться к нашему каналу Kate в Matrix (более общая информация о Matrix и KDE доступна здесь).

Подробнее см. в разделе «Помощь».

Сборка Kate из исходных кодов в Windows

Для сборки Kate/KWrite на основе KF5 можно воспользоваться руководством на странице KDE для Windows.

Сборка Kate из исходных кодов в macOS

Для сборки Kate/KWrite на основе KF5 следуйте инструкции на странице KDE для macOS.