Перейти до вмісту

Зібрати


Збирання 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

    # Нам потрібні файли .kateproject з ninja, вимикаємо елементи Qt 5, щоб зменшити перелік
    # залежностей
    cmake-options -G "Kate - 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.

Створення файлів .kateproject

# нам потрібні файли .kateproject з ninja
cmake-options -G "Kate - Ninja"

Таким чином ви отримаєте не лише файли для збирання Ninja (добрі, оскільки, наприклад, автоматично використовують декілька ядер процесора для компіляції), але і файли .kateproject у каталогах збирання для подальшого використання. За допомогою цих файлів додаток проєкту 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.