Зібрати
Збирання Kate з початкового коду у Linux
На сьогодні, початковий код Kate зберігається у екземплярі invent.kde.org GitLab. У цих настановах пояснено як зібрати Kate, не вносячи змін до загального встановлення.
Усі дії виконуватимуться у додатковому каталозі для розробки. Таким чином, не знадобляться права адміністратора, і завжди можна буде повернутися до використання встановленої на загальносистемному рівні Kate, якщо поточна зібрана версія виявиться непрацездатною.
Оскільки у межах виконання цих настанов буде створено середовище, за допомогою якого можна розробляти інші частини стосу програмного забезпечення KDE, надалі ми говоритимемо про налаштовування середовища для розробки KDE. Буде зібрано відповідну версію KDE Frameworks на додачу до частин програми Kate. Це полегшить внесок до усіх рівнів стосу програмного забезпечення 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, наприклад, якщо у вас є локальний виконуваний файл користувача:
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) за допомогою Kate.
Інтеграція LSP
# набір інструментів clangd
compile-commands-export yes
compile-commands-linking yes
Ці рядки забезпечують створення файлів compile_commands.json за допомогою CMake, які потрібні для заснованої на clangd інтеграції LSP. Окрім простого створення цих файлів у каталозі збирання, під час компонування буде створено символічні посилання на ваші каталоги початкового коду. Це надає змогу використання додатка 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 з основної гілки розробки у вашому локальному каталозі виконуваних файлів:
#!/bin/bash
source ~/projects/kde/build/kate/prefix.sh
exec kate "$@"
Підтримання актуальності коду
Для підтримання актуальності вашої локальної версії ви можете просто скористатися наведеними вище командами знову. Ви отримаєте оновлені версії зі сховища KDE і зберете/встановите їх до вашого локального префікса.
Розробка!
Тепер, єдиним питанням, яке лишилося, є «Яким є найкращий спосіб розробки?»
Природно, якщо ви хочете попрацювати над кодом Kate, можливо, має сенс скористатися для цього Kate.
Враховуючи описані вище приготування, зробити це просто: достатньо запустити вашу нову версію Kate з основної гілки розробки і передати їй адресу каталогу збирання:
kate ~/projects/kde/build/kate
Крім того, ви можете перейти тут до термінала і запустити Kate звідти. Програма автоматично відкриє її:
cd ~/projects/kde/build/kate
kate
Щоб робота була якомога комфортнішою, переконайтеся, що увімкнено принаймні додатки проєкту і LSP. Якщо вам потрібна якась інтеграція збирання із графічним інтерфейсом, увімкніть також додаток збирання.
У результаті ви матимете нові вікна Kate, які будуть подібні до показаного нижче.
На нижній панелі інструмента «Поточний проєкт» типово ви побачите два термінали. Перший термінал працюватиме у вашому каталозі збирання. У ньому ви, наприклад, можете віддавати команди ninja і ninja install, а також інші. Другий термінал працює у вашому каталозі початкового коду. Чудовий інструмент, наприклад, для викликів команд git.
Враховуючи наведені нижче настанови, додаток LSP (якщо вами встановлено clangd) має працювати без додаткових команд.
Також мають працювати інші корисні речі, зокрема швидке відкриття, пошук і заміна у межах проєкту, належні цілі для збирання.
Вносьте свої пропозиції!
Не вагайтеся — створіть запит щодо надсилання коду на invent.kde.org. Щоб дізнатися більше, див. сторінку долучення до команди.
Підтримка?
Якщо у вас виникли питання, ви можете поставити їх у нашому списку листування kwrite-devel@kde.org і/або долучитися до каналу #kate на irc.libera.chat.
Для отримання додаткової інформації ознайомтеся із розділом довідки.
Збирання Kate з початкового коду у Windows
Щоб зібрати Kate/KWrite на основі KF5, ви можете скористатися настановами щодо KDE у Windows.
Збирання Kate з початкового коду у macOS
Щоб зібрати Kate/KWrite на основі KF5, ви можете скористатися настановами щодо KDE у macOS.