User:Nmariusp

From KDE Community Wiki

How to install kde-builder

How to install kde-builder fast

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

# Make sure that you have Python >= 3.9.
# Install Python packages from your OS. E.g. on:
# Debian family of Linux OSes. E.g. Kubuntu 23.10, KDE neon User Edition:
sudo apt install python3-dbus python3-promise python3-yaml python3-setproctitle
# Fedora.
dnf install python3-dbus python3-promise python3-pyyaml python3-setproctitle
# FreeBSD 14.0
pkg install py39-promise py39-yaml py39-setproctitle

./kde-builder --initial-setup
mv ~/.config/kdesrc-buildrc .
# Edit the file ./kdesrc-buildrc as needed.

# kde-builder is installed.
# Use ./kde-builder instead of ./kdesrc-build. The command lines are the same.

./kde-builder kconfig
./kde-builder kcalc
./kde-builder --run kcalc
# Run kcalc with the KDE theme that is used by your KDE Plasma desktop.
./kde-builder plasma-integration
./kde-builder --run kcalc
./kde-builder frameworks

Qt 6 installed using Qt online installer

The homepage of the Qt Framework is https://www.qt.io . Go to this web page, create an online account. https://www.qt.io/download-open-source > "Download the Qt Online Installer" > Linux > "Qt Online Installer for Linux (64-bit)" > download a file named e.g. qt-unified-linux-x64-4.6.1-online.run into the directory e.g. "~/Downloads".

ls -la ~/Downloads # The downloaded file needs to hace the "executable" chmod bit set.
chmod +x ~/Downloads/qt-unified-linux-x64-4.6.1-online.run
~/Downloads/qt-unified-linux-x64-4.6.1-online.run

Login using your Qt online account. Next > check the checkbox "I have read and agree to the terms and conditions of using OpenSource Qt", check the checkbox "I'm an individual and do not use Qt for any company" > Next > Next > enable "Help us improve" > Next > Custom installation, notice that the install directory is "~/Qt" > Next. Install the latest version of Qt6 and the latest version of the Qt Creator integrated development environment (IDE). There are some Qt6 components that are not used by KDE and can be left out when installing Qt6 e.g. WebAssembly, Android, Sources, Qt Quick 3D, Qt 3D, "Quick: 3D Physics", "Qt debug Information Files".

In the KDE Plasma app launcher you now have the application "Qt Maintenance Tool".

Set up kde-builder from scratch as usual.

Edit the file kdesrc-buildrc to look like:

global
...
    qt-install-dir  ~/Qt/6.6.0/gcc_64 # Where to install Qt6 if kdesrc-build supplies it
    libname lib
...
end global

Because we use libname lib, on the Linux OSes that use usr/lib/x86_64-linux-gnu/ instead of usr/lib/ some files are installed into ~/kde/usr/lib/x86_64-linux-gnu/, some files are installed into ~/kde/usr/lib/.

E.g. in prefix.sh, make sure to have both ~/kde/usr/lib/x86_64-linux-gnu/ and ~/kde/usr/lib/. E.g.:

export QT_PLUGIN_PATH=/home/username/kde/usr/lib/x86_64-linux-gnu/plugins:/home/username/kde/usr/lib/plugins:$QT_PLUGIN_PATH
export QML2_IMPORT_PATH=/home/username/kde/usr/lib/x86_64-linux-gnu/qml:/home/username/kde/usr/lib/qml:$QML2_IMPORT_PATH

export QT_QUICK_CONTROLS_STYLE_PATH=/home/username/kde/usr/lib/x86_64-linux-gnu/qml/QtQuick/Controls.2/:/home/username/kde/usr/lib/qml/QtQuick/Controls.2/:$QT_QUICK_CONTROLS_STYLE_PATH

Make gpgme build:

sudo su
mkdir -p /home/qt/work
chown -R username:username /home/qt/work
ln -s /home/username/Qt/6.6.0/gcc_64 /home/qt/work/install
ls -la /home/qt/work

More topics

How to write the entire verbose STDOUT and STDERR of kdesrc-build to a file

script -eq -c "kdesrc-build kconfig --no-src --no-include-dependencies --refresh-build --debug" ~/a.txt ;  sed -i $'s/\033\[[0-9]\+m//g' ~/a.txt

The sed part removes the terminal ANSI color escape codes.

script -eq -c "command" ~/a.txt is better than command |& tee ~/a.txt because kdesrc-build behaves differently if it is run in a user interactive terminal session (isatty).

If using tee, part of the output of kdesrc-build will not be written to file. E.g. the output of the cmake step, the final part of the make -j step, the final part of the make install step.

JetBrains CLion

How to start programming for KDE

I know how to program using C++. Can I do a KDE MR in less than 2 hours?

Advanced topics about how to start programming for KDE