דילוג לתוכן

לבנות לבד

לבנות את Kate מקוד המקור בלינוקס

נכון להיום, קוד המקור של Kate נמצא בעותק ה־GitLab שב־invent.kde.org. המדריך הזה מסביר איך לבנות את Kate מבלי לגעת בהתקנה המקיפה שלך.

כל העניינים יתבצעו בתוך תיקיית פיתוח נוספת. כך אין צורך בהרשאות ניהוליות ותמיד אפשר לסגת לשימוש ב־Kate המותקן באופן עיקרי אם הגרסה שנבנתה פגומה.

כיוון שהמדריך הזה מציג אופן עבודה שמאפשר לפתח חלקים אחרים במכלול התוכנות של KDE בנוסף, אנו נדון במדריך הבא על הקמת סביבת פיתוח ל־KDE. תשתיות KDE הנחוצות תהודרנה בנוסף לחלקי היישום של 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 לתיקייה כלשהי בתוך הנתיב שלך, כלומר, אם יש לך בינרי מקומי של המשתמש:

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

הגדרת kdesrc-build

ל־kdesrc-build יש הגדרות אוטומטיות שעושות בשבילך דברים, מומלץ לעיין בהקדמה הזאת.

כאן אנחנו פשוט מציגים ‎~/.config/kdesrc-buildrc טוב מספיק לצורכי פיתוח Kate.

You can just copy and paste the below variant into your home directory as ~/.config/kdesrc-buildrc and adapt the paths to your needs. If you stick with the ~/projects/kde path we did choose above, this should be usable 1:1.

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

השורות החשובות ל

שילוב מול LSP

# ערכת הכלים clangd
compile-commands-export yes
compile-commands-linking yes

השורות האלו מוודאות ש־CMake ייצר או קובצי ה־compile_commands.json שנחוצים לשילוב LSP מבוסס clangd. חוץ מיצירתם בתוך תיקיית הבנייה (build), אפשרויות הקישור יצרו קישור סמלי ביניהם לבין תיקיות המקור שלך. כך אפשר להשתמש באפס הגדרות של תוסף ה־LSP בתוך Kate (ועורכי נוספים).

להתקין את התלויות ההכרחיות (רשות)

kdesrc-build provides some initial setup mode to install the needed packages for several common distributions to start developing. This is helpful if you are not sure if all needed development packages are installed on your system and you don't want to take care of this yourself manually. As this will try to install packages for your distribution, this step will require administrator rights for the package installation. To do that, just trigger:

kdesrc-build --initial-setup

כבר יצרנו ‎.config/kdesrc-buildrc, שיישאר כמו שהוא. להמשך השימוש אין צורך גם לשנות את הגדרות המסוף שלך.

בנייה של Kate ותלויות

כדי להזניק הידור של Kate וכל תלויות ה־KDE הנחוצות עכשיו צריך רק להקליד:

kdesrc-build --include-dependencies kate

That takes a few minutes on a recent machine. Time to grab some coffee or think about what you actually want to implement.

As long as the KF 6 version of our dependencies is not bundled with your distribution, it might make sense to build some more parts to have better styling and a terminal integration:

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

A nifty way to wrap this is to e.g. create yourself a small wrapper script to start your master branch version of Kate inside your local bin directory:

#!/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 כמו שמופיע להלן.

In the lower "Current Project" tool view you have per default two terminals. The first terminal is inside your build directory, here you can e.g. run your ninja and ninja install commands and such. The second terminal is inside your source directory, perfect for e.g. git command line calls.

Given the above setup, the LSP plugin (if you have clangd installed) should work out of the box.

Other nifty stuff like project wide quick open, search & replace and correct build targets should be setup, too.

לתרום בחזרה!

Feel free to create a merge request at invent.kde.org. For more information see Join Us.

לקבל תמיכה?

If you have questions you can ask them in our Kate section on the KDE discourse server and/or join our Kate Matrix channel (more general info about Matrix & KDE here).

למידע נוסף אפשר לפנות אל קבלת עזרה.

לבנות את Kate מקוד המקור ב־Windows

כדי לבנות את Kate/KWrite על בסיס KF5 אפשר לפעול לפי המדריך KDE על Windows.

לבנות את Kate מקוד המקור ב־macOS

כדי לבנות את Kate/KWrite על בסיס KF5 אפשר לפעול לפי המדריך KDE על macOS.