User:Nmariusp: Difference between revisions

From KDE Community Wiki
(How to install kde-builder on KDE neon User Edition)
 
(7 intermediate revisions by the same user not shown)
Line 8: Line 8:
git clone https://invent.kde.org/sdk/kde-builder.git
git clone https://invent.kde.org/sdk/kde-builder.git
cd kde-builder
cd kde-builder
# Make sure that you have Python >= 3.11.
 
python3 -m venv .venv
# Make sure that you have Python >= 3.9.
# I use bash.
# Install Python packages from your OS. E.g. on:
source .venv/bin/activate
# Debian family of Linux OSes. E.g. Kubuntu 23.10, KDE neon User Edition:
pip install pipenv
sudo apt install python3-dbus python3-promise python3-yaml python3-setproctitle
pipenv install
# Fedora.
./kde-builder --initial-setup <<< 'N'
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 .
mv ~/.config/kdesrc-buildrc .
# Edit the file ./kdesrc-buildrc as needed.
# Edit the file ./kdesrc-buildrc as needed.
Line 28: Line 32:
./kde-builder --run kcalc
./kde-builder --run kcalc
./kde-builder frameworks
./kde-builder frameworks
</pre>
=== How to install kde-builder on KDE neon User Edition ===
<pre>
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.11
python3.11 -m pip install --user pipenv
# Restart the computer in order for the PATH environment variable to contain the directory "~/.local/bin".
# Make sure that the directory "~/.local/bin" is in $PATH.
echo $PATH
which pipenv
# Should say "~/.local/bin/pipenv".
# For building from source code the Python module dbus-python.
sudo apt install pkgconf cmake libdbus-1-dev libglib2.0-dev python3.11-dev
cd ~/.local/share
git clone https://invent.kde.org/sdk/kde-builder.git
cd ~/.local/share/kde-builder
pipenv install
kate ~/.local/bin/kde-builder
#!/bin/bash
cd ~/.local/share/kde-builder
pipenv run python kde-builder $@
chmod u+x ~/.local/bin/kde-builder
# etc. See https://invent.kde.org/sdk/kde-builder
</pre>
</pre>


Line 91: Line 59:
...
...
end global
end global
</pre>
Because we use <code>libname lib</code>, on the Linux OSes that use <code>usr/lib/x86_64-linux-gnu/</code> instead of <code>usr/lib/</code> some files are installed into 
<code>~/kde/usr/lib/x86_64-linux-gnu/</code>, some files are installed into <code>~/kde/usr/lib/</code>.
E.g. in <code>prefix.sh</code>, make sure to have both <code>~/kde/usr/lib/x86_64-linux-gnu/</code> and <code>~/kde/usr/lib/</code>. E.g.:
<pre>
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
</pre>
</pre>


Line 102: Line 82:
ls -la /home/qt/work
ls -la /home/qt/work
</pre>
</pre>
== More topics ==
=== How to write the entire verbose STDOUT and STDERR of kdesrc-build to a file ===
<pre>
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
</pre>
The <code>sed</code> part removes the terminal ANSI color escape codes.
<code>script -eq -c "command" ~/a.txt</code> is better than <code>command |& tee ~/a.txt</code> because kdesrc-build behaves differently if it is run in a user interactive terminal session (<code>isatty</code>).
If using <code>tee</code>, part of the output of kdesrc-build will not be written to file. E.g. the output of the <code>cmake</code> step, the final part of the <code>make -j</code> step, the final part of the <code>make install</code> step.
[[User:Nmariusp/Clion|JetBrains CLion]]

Latest revision as of 13:22, 21 March 2024

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