Сборка
Сборка 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.