📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
ページの作成:「== 概要 == kdesrc-buildスクリプトは、KDEソフトウェアの開発環境の構築と維持のプロセスを合理化するものである。<br> <br> これは、KDEソフトウェアのソースコードリポジトリからソースコードをダウンロードして、そのソースコードをビルドおよびインストールするプロセスを自動化する。<br> <br><br> == Perlのインストール == [https://www.perl.org/get.html#unix_l…」 |
|||
| (同じ利用者による、間の53版が非表示) | |||
| 1行目: | 1行目: | ||
== 概要 == | == 概要 == | ||
kdesrc-buildスクリプトは、KDEソフトウェアの開発環境の構築と維持のプロセスを合理化するものである。<br> | kdesrc-buildスクリプトは、KDEソフトウェアの開発環境の構築と維持のプロセスを合理化するものである。<br> | ||
これは、KDEソフトウェアのソースコードリポジトリからソースコードをダウンロードして、そのソースコードをビルドおよびインストールするプロセスを自動化する。<br> | |||
<br> | <br> | ||
* KDE Frameworkの公式ダウンロードサイト | |||
*: https://download.kde.org/Attic/frameworks/ (最新以外) | |||
*: https://download.kde.org/stable/frameworks/ (最新のみ) | |||
* Plasmaの公式ダウンロードサイト | |||
*: https://download.kde.org/stable/plasma/ | |||
<br><br> | <br><br> | ||
== Perlのインストール == | == Perlのインストール == | ||
[ | もし、必要となるPerlのバージョンより古い場合は、[[インストール - Perl]]のページにアクセスして、Perlをビルドおよびインストールする。<br> | ||
<br> | |||
まず、KDEソフトウェアのビルドに必要なPerlモジュールをインストールする。<br> | |||
perl cpan IO::Socket::SSL YAML::XS YAML::PP YAML::Syck URI::Escape JSON LWP Net::SSLeay XML::Parser | |||
<br> | <br> | ||
必要ならば、環境変数<code>PATH</code>および<code>PERL5LIB</code>を設定する。<br> | |||
<u> | export PATH="/<Perlのインストールディレクトリ>/bin:$PATH" | ||
./ | |||
PERL_LIBDIR="/<Perlのインストールディレクトリ>/lib/perl5" | |||
export PERL5LIB="${PERL_LIBDIR}/site_perl/<バージョン>/x86_64-linux:${PERL_LIBDIR}/site_perl/<バージョン>:${PERL_LIBDIR}/<バージョン>/x86_64-linux:${PERL_LIBDIR}/<バージョン>:${PERL_LIBDIR}/site_perl:${PERL5LIB}" | |||
<br><br> | |||
== libAppImageライブラリのインストール == | |||
KDEソフトウェアのビルドには、libAppImageライブラリが必要である。<br> | |||
<u>SUSEでは、パッケージ管理システムからlibAppImageライブラリは提供されていないため、ソースコードからビルドしてインストールする必要がある。</u><br> | |||
<br> | |||
まず、libAppImageライブラリのビルドに必要な依存関係のライブラリをインストールする。<br> | |||
sudo zypper install automake cmake libtool cairo-devel fuse-devel librsvg-devel libarchive-devel | |||
<br> | |||
次に、libAppImageライブラリのソースココードをダウンロードする。<br> | |||
git clone https://github.com/AppImage/libappimage --recursive | |||
cd libappimage | |||
<br> | |||
libAppImageライブラリをビルドおよびインストールする。<br> | |||
mkdir build && cd build | |||
cmake -DCMAKE_INSTALL_PREFIX=<libAppImageライブラリのインストールディレクトリ> -DBUILD_TESTING:bool=False .. | |||
make -j $(nproc) | make -j $(nproc) | ||
make install | make install | ||
<br> | <br> | ||
~/. | ~/.profileファイル等に、環境変数<code>LD_LIBRARY_PATH</code>および<code>CPPFLAGS</code>を追記する。<br> | ||
vi ~/.profile | vi ~/.profile | ||
<br> | <br> | ||
# ~/.profileファイル | # ~/.profileファイル | ||
export | export LD_LIBRARY_PATH="/<libAppImageライブラリのインストールディレクトリ>/lib64:$LD_LIBRARY_PATH" | ||
export | export CPPFLAGS="-L/<libAppImageライブラリのインストールディレクトリ>/include ${CPPFLAGS}" | ||
<br><br> | <br><br> | ||
| 32行目: | 53行目: | ||
KDEソフトウェアのビルドに必要な依存関係のライブラリをインストールする。<br> | KDEソフトウェアのビルドに必要な依存関係のライブラリをインストールする。<br> | ||
sudo zypper install libxslt-devel libxml2-devel polkit-devel wayland-devel wayland-protocols-devel \ | sudo zypper install libxslt-devel libxml2-devel polkit-devel wayland-devel wayland-protocols-devel \ | ||
xcb-util-keysyms-devel xcb-util-wm-devel | xcb-util-keysyms-devel xcb-util-wm-devel libplist-devel libimobiledevice-devel libonig4 \ | ||
phonon4qt5-devel libcanberra-devel lmdb lmdb-devel breezy libattr-devel giflib-devel libjpeg8-devel libjpeg62 \ | |||
qrencode-devel zxing-cpp-devel libdmtx-devel libSM-devel php7-phpunit8 NetworkManager-devel libgpgmepp-devel \ | |||
kwidgetsaddons-devel libqgpgme-devel qca-qt5-devel \ | |||
libqt5-qttools-devel libqt5-qtbase-devel libqt5-qtbase-common-devel libqt5-qtdeclarative-devel \ | |||
libQt5QuickControls2-devel libQt5QuickTemplates2-devel libQt5QuickTemplates2-devel libqt5-qtdoc-devel \ | |||
libqt5-qtlocation-devel libqt5-qtlocation-private-headers-devel libqt5-qtremoteobjects-devel \ | |||
libqt5-qtstyleplugins-devel libqt5-qtxmlpatterns-devel libqt5-qtscxml-devel libqt5-qtsvg-devel \ | |||
libqt5-qtscript-devel libqt5-qtx11extras-devel libqt5-qtwebview-devel libqt5-qtwayland-devel libqt5-qtwayland-private-headers-devel \ | |||
libqt5-qtmultimedia-devel libqt5-qtmultimedia-private-headers-devel libQt5Charts5-devel \ | |||
libexiv2-devel libpoppler-devel libpoppler-qt5-devel typelib-1_0-Poppler-0_18 libepub-devel mobipocket-devel \ | |||
ffmpeg-4-libavcodec-devel ffmpeg-4-libavdevice-devel ffmpeg-4-libavfilter-devel ffmpeg-4-libavformat-devel \ | |||
ffmpeg-4-libavresample-devel ffmpeg-4-libavutil-devel ffmpeg-4-libpostproc-devel ffmpeg-4-libswresample-devel \ | |||
ffmpeg-4-libswscale-devel ffmpeg-4-private-devel \ | |||
systemd-devel # SUSE 15.4の場合 | |||
libudev-devel # SUSE 15.3以前の場合 | |||
<br> | <br> | ||
KDEソフトウェアをビルドするためのツールであるkdesrc-buildをダウンロードする。<br> | KDEソフトウェアをビルドするためのツールであるkdesrc-buildをダウンロードする。<br> | ||
または、[https://github.com/KDE/kdesrc-build/tags kdesrc-buildのGithub]にアクセスして、任意のバージョンのkdesrc-buildをダウンロードする。<br> | |||
git clone https://invent.kde.org/sdk/kdesrc-build.git | git clone https://invent.kde.org/sdk/kdesrc-build.git | ||
cd kdesrc-build | cd kdesrc-build | ||
<br> | <br> | ||
まず、kdesrc-buildを設定する。<br> | 次に、~/.bashrcファイルや~/.zshrcファイルにおいて、kdesrc-buildに関する設定を行う。<br> | ||
vi ~/.bashrc | |||
または | |||
vi ~/.zshrc | |||
<br> | |||
# ~/.bashrcファイル または ~/.zshrcファイル | |||
export PATH="<kde-buildのディレクトリ>:$PATH" | |||
<br> | |||
<u>※注意</u><br> | |||
<u>Zshを使用しており、kdesrc-buildの初期設定時に自動補完をyesにした場合、以下に示す設定を~/.zshrcファイルに追記する。</u><br> | |||
autoload -U +X compinit && compinit | |||
autoload -U +X bashcompinit && bashcompinit | |||
<br> | |||
まず、kdesrc-buildが正常に実行できるかどうかを確認する。<br> | |||
kdesrc-buildファイルおよびkdesrc-build-setupファイルを実行する前に、<br> | |||
kdesrc-buildディレクトリにあるmodulesディレクトリを環境変数<code>PERL5LIB</code>に追加する必要がある。<br> | |||
cd kdesrc-build | |||
export PERL5LIB=$PWD/modules:$PERL5LIB | |||
./kdesrc-build --version | |||
<br> | |||
kdesrc-buildを設定する。<br> | |||
これは、ビルドおよびインストールするKDEソフトウェアのディレクトリの設定、および、ビルドするソフトウェア・ライブラリの設定を行うためのものである。<br> | これは、ビルドおよびインストールするKDEソフトウェアのディレクトリの設定、および、ビルドするソフトウェア・ライブラリの設定を行うためのものである。<br> | ||
この設定は、~/.config/kdesrc- | この設定は、~/.config/kdesrc-buildrcファイルに保存される。<br> | ||
./kdesrc-build --initial-setup | |||
<br> | |||
kdesrc-buildの設定を対話式に行う場合は、<code>kdesrc-build-setup</code>ファイルを実行する。<br> | |||
ただし、<code>--initial-setup</code>オプションとは異なり、ソフトウェアをコンパイルするためのパッケージは各ディストリビューションからインストールされないので、自身で行う必要がある。<br> | |||
./kdesrc-build-setup | ./kdesrc-build-setup | ||
<br> | <br> | ||
| 57行目: | 120行目: | ||
<code>stop-on-failure</code>オプションは、ビルドに失敗した時、依存関係が無い場合にkdesrc-buildを停止させるオプションである。<br> | <code>stop-on-failure</code>オプションは、ビルドに失敗した時、依存関係が無い場合にkdesrc-buildを停止させるオプションである。<br> | ||
このオプションを設定しない場合、kdesrc-buildのビルドに失敗しても、全てのモジュールをビルドしようとする。<br> | このオプションを設定しない場合、kdesrc-buildのビルドに失敗しても、全てのモジュールをビルドしようとする。<br> | ||
export CC=<GCC 8以降のgccファイルのパス>; export CXX=<GCC 8以降のg++ファイルのパス>; \ | |||
./kdesrc-build --stop-on-failure <KDEソフトウェア名> | ./kdesrc-build --stop-on-failure <KDEソフトウェア名> | ||
# Dolphinをビルドおよびインストールする場合 | |||
export CC=<GCC 8以降のgccファイルのパス>; export CXX=<GCC 8以降のg++ファイルのパス>; \ | |||
./kdesrc-build --stop-on-failure knewstuff kcmutils dolphin | |||
# KDE Plasmaデスクトップをビルドおよびインストールする場合 | |||
export CC=<GCC 8以降のgccファイルのパス>; export CXX=<GCC 8以降のg++ファイルのパス>; \ | |||
./kdesrc-build --include-dependencies plasma-desktop | |||
<br> | <br> | ||
ビルドされた各ライブラリや各ソフトウェアにおいて、kdesrc-buildは以下のステップを実行する。<br> | ビルドされた各ライブラリや各ソフトウェアにおいて、kdesrc-buildは以下のステップを実行する。<br> | ||
| 66行目: | 136行目: | ||
* 各ライブラリや各ソフトウェアのビルド | * 各ライブラリや各ソフトウェアのビルド | ||
* 各ライブラリや各ソフトウェアのインストール | * 各ライブラリや各ソフトウェアのインストール | ||
<br> | |||
KDEソフトウェアのビルドの詳細を知りたい場合は、[https://community.kde.org/Get_Involved/development KDEの公式Webサイト]を参照すること。<br> | |||
<br><br> | |||
== KDE PlasmaとKDE Plasmaシェルのビルド == | |||
KDE Plasmaは、ソフトウェアを実行するための環境である。<br> | |||
KDE Plasmaは、壁紙、ソフトウェアランチャー、ウィジェットを含むデスクトップの提供、通知の表示、有線および無線ネットワークの管理、オペレーティングシステムレベルのタスクの管理を行う。<br> | |||
<Br> | |||
KDE Plasmaの新バージョンは年に3回リリースされており、PC向けのKDE Plasma Desktop、モバイル向けのKDE Plasma Mobile、TV向けのKDE Plasma Bigscreen等のシェルが存在する。<br> | |||
これらのシェルは、ウィンドウマネージャ、ネットワークスタック、基本的なグラフィカルコンポーネント等、共通のコンポーネントを共有している。<br> | |||
<br> | |||
まず、KDE Plasmaのビルドに必要な依存関係のライブラリをインストールする。<br> | |||
sudo zypper install libnl3-devel libpcap-devel libcap-devel libsensors4-devel pipewire-devel xcb-util-cursor-devel liblcms2-devel \ | |||
intltool sassc libsass-devel pixmap gtk2-engines-devel gdk-pixbuf-xlib-devel python3-pycairo-devel \ | |||
xcb-proto-devel xcb-util-devel xcb-util-xrm-devel xcb-util-errors-devel ModemManager-devel \ | |||
libqt5-qtwebengine-devel libqt5-qtwebengine-private-headers-devel libqt5-qtwebchannel-devel libqaccessibilityclient-qt5-devel \ | |||
libqt5-qtsensors-devel libsignon-qt5-devel libaccounts-qt5-devel kqtquickcharts libqalculate-devel libAppStreamQt-devel iso-codes-devel \ | |||
appmenu-gtk3-module libappmenu-gtk3-parser-devel \ | |||
typelib-1_0-DbusmenuGtk3-0_4 wayland-devel wayland-protocols-devel \ | |||
wayland-amdgpu-devel wayland-protocols-amdgpu-devel | |||
<br> | |||
KDE Plasmaと関連するソフトウェアをビルドする。<br> | |||
export CC=<GCC 8以降のgccファイルのパス>; export CXX=<GCC 8以降のg++ファイルのパス>; \ | |||
./kdesrc-build --include-dependencies \ | |||
plasma-workspace plasma-framework plasma-integration bluedevil powerdevil plasma-nm plasma-pa plasma-thunderbolt plasma-vault \ | |||
plasma-firewall plasma-workspace-wallpapers kdeplasma-addons krunner milou kwin kscreen sddm-kcm plymouth-kcm breeze discover \ | |||
print-manager plasma-sdk kaccounts-integration kaccounts-providers kdeconnect-kde plasma-browser-integration \ | |||
xdg-desktop-portal-kde kde-gtk-config khotkeys kgamma5 breeze-gtk drkonqi | |||
<br> | |||
KDE Plasmaシェルと関連するソフトウェアをビルドする。<br> | |||
export CC=<GCC 8以降のgccファイルのパス>; export CXX=<GCC 8以降のg++ファイルのパス>; \ | |||
./kdesrc-build --include-dependencies \ | |||
plasma-desktop systemsettings ksysguard plasma-disks plasma-systemmonitor ksystemstats kinfocenter kmenuedit | |||
<br> | |||
ビルドしたKDE Plasmaに翻訳を取り込む場合は、plasma-workspaceプロジェクトにおいて、<br> | |||
<code>ccmake</code>コマンドに<code>-DKDE_L10N_SYNC_TRANSLATIONS=true</code>オプションを付加して、ビルドする必要がある。<br> | |||
<br> | |||
これを行うには、plasma-workspaceのビルドディレクトリ(/<KDEソフトウェアの作業ディレクトリ>/build/plasma-workspace)に移動して、plasma-workspaceプロジェクトを再構築する。<br> | |||
cd /<KDEソフトウェアの作業ディレクトリ>/build/plasma-workspace | |||
ccmake -DKDE_L10N_SYNC_TRANSLATIONS=true . | |||
<br> | |||
ビルドしたKDE PlasmaセッションをSDDMのログイン画面からアクセスできるようにするには、ビルドしたDBusソフトウェアをシステムパスから見える場所にコピーする必要がある。<br> | |||
/<KDEソフトウェアの作業ディレクトリ>/build/plasma/plasma-workspace/login-sessions/install-sessions.sh | |||
<br> | |||
<u>※注意</u><br> | |||
<u>SELinuxは、ビルドしたDBusサービスの動作を妨害する可能性がある。</u><br> | |||
<u>SELinuxの無効化を知りたい場合は、https://www.tecmint.com/disable-selinux-in-centos-rhel-fedora/ を参照すること。</u><br> | |||
<br> | |||
PCをログアウトまたは再起動することにより、SDDMのログイン画面(Breeze SDDMテーマを使用している場合は、画面左下隅)から新しいKDE Plasmaセッションが選択できる。<br> | |||
<br> | |||
また、ビルドしたKDE Plasmaを、以下に示すように動作確認することもできる。<br> | |||
source /<KDEソフトウェアの作業ディレクトリ>/build/plasma-desktop/prefix.sh | |||
/<KDEソフトウェアの作業ディレクトリ>/usr/bin/plasmashell --replace | |||
<br><br> | |||
== 単一プロジェクトでの繰り返し行うビルド == | |||
あるプロジェクトで作業をしていて、その変更を確認するためにプロジェクトを再構築する場合、スタック全体ではなく該当プロジェクトのみを再構築することにより、時間を節約することができる。<br> | |||
これは、<code>--no-src</code>オプションおよび<code>--no-include-dependenciesplasma-desktop</code>オプションを付加することにより、<br> | |||
全てのプロジェクトではなく、そのプロジェクトのみをリビルドすることができる。<br> | |||
./kdesrc-build --no-src --no-include-dependencies plasma-desktop | |||
<br><br> | |||
== 再ビルドの方法 == | |||
1つまたは複数のKDEソフトウェアがビルドに失敗した場合、<code>kdesrc-build</code>コマンドを実行して再ビルドを行う手順を示す。<br> | |||
<br> | |||
* 方法 1 | |||
*: 失敗したモジュールを最初から再ビルドする。 | |||
*: <code>./kdesrc-build --refresh-build <ビルドに失敗したKDEソフトウェア名></code> | |||
*: <br> | |||
* 方法 2 | |||
*: 時間を節約して失敗したKDEソフトウェアからビルドを再開する。 | |||
*: <code>./kdesrc-build --resume-from <失敗したKDEソフトウェア名></code> | |||
*: <br> | |||
* 方法 3 | |||
*: [https://build.kde.org/view/Failing/ KDEビルドサーバ]にアクセスして、現在壊れているモジュールのリストを確認する。 | |||
<br><br> | |||
== kdesrc-buildのアンインストール方法 == | |||
以下に示すディレクトリおよびファイルを削除する。<br> | |||
rm -r <kdesrc-buildのディレクトリ> \ | |||
<KDEソフトウェアの作業ディレクトリ> \ | |||
~/.kdesrc-buildrc ~/.config/kdesrc-buildrc ~/.config/kde-env-master.sh \ | |||
~/.config/fish/functions/kdesrc-build.fish # Fishを使用している場合 | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:SUSE]] | [[カテゴリ:SUSE]] | ||