[neon-notifications] Changes in repo-metadata

Neon CI noreply at kde.org
Sun Feb 18 18:46:27 GMT 2024


commit f16e9111b403ffe687ebf94e9a4f43683a9ecebc
Author: Andrew Shark <ashark at linuxcomp.ru>
Date:   Sun Feb 18 00:37:35 2024 +0300

    Move module-definitions and distro-dependencies from kdesrc-build/kde-builder
    
    This is a variable data, and not the kdesrc-build/kde-builder code itself.
    Keeping it in repo-metadata will eliminate the need of manual syncing of the common resource for kdesrc-build/kde-builder. The metadata is updated at each run of script. So this will additionally make these definitions considered as always updated at users side, without the need to remember to update the kdesrc-build/kde-builder from time to time.
    
    Later, something like "metadata version" could be introduced, for example when changes in metadata require the kdesrc-build/kde-builder update.

diff --git a/distro-dependencies/alpine.ini b/distro-dependencies/alpine.ini
new file mode 100644
index 00000000..3eef1ea4
--- /dev/null
+++ b/distro-dependencies/alpine.ini
@@ -0,0 +1,104 @@
+[pkg/alpine/unknown]
+alpine-sdk
+attr-dev
+autoconf
+automake
+bison
+boost-dev
+clang-extra-tools
+cmake
+corrosion
+curl-dev
+cyrus-sasl-dev
+doxygen
+eudev-dev
+exiv2-dev
+ffmpeg-dev
+flex
+giflib-dev
+gperf
+gpgme-dev
+grantlee-dev
+graphviz
+gst-plugins-base-dev
+gstreamer-dev
+kdsoap-dev
+lcms2-dev
+libaccounts-qt-dev
+libcanberra-dev
+libdbusmenu-qt-dev
+libdisplay-info-dev
+libdmtx-dev
+libepoxy-dev
+libgcrypt-dev
+libgit2-dev
+libical-dev
+libinput-dev
+libnl3-dev
+libqalculate-dev
+libqrencode-dev
+libsecret-dev
+libva-dev
+libxcvt-dev
+libxkbfile-dev
+libxmlb-dev
+libxrender-dev
+libxslt-dev
+libxtst-dev
+linux-pam-dev
+lm-sensors-dev
+lmdb-dev
+meson
+modemmanager-dev
+mpv-dev
+musl-fts-dev
+networkmanager-dev
+ninja
+olm-dev
+openjpeg-dev
+openldap-dev
+pcre-dev
+pipewire-dev
+polkit-elogind-dev
+pulseaudio-dev
+py3-sphinx
+py3-setuptools
+qca-dev
+qcoro-dev
+qt5-qtbase-dev
+qt5-qtdeclarative-dev
+qt5-qtmultimedia-dev
+qt5-qtnetworkauth-dev
+qt5-qtquickcontrols2-dev
+qt5-qtscript-dev
+qt5-qtsensors-dev
+qt5-qtsvg-dev
+qt5-qttools-dev
+qt5-qtwayland-dev
+qt5-qtx11extras-dev
+qt5-qtxmlpatterns-dev
+qt6-qt5compat-dev
+qt6-qtbase-dev
+qt6-qtmultimedia-dev
+qt6-qtpositioning-dev
+qt6-qtsensors-dev
+qt6-qtspeech-dev
+qt6-qtsvg-dev
+qt6-qttools-dev
+qt6-qtwayland-dev
+qt6-qtwebengine-dev
+qt6-qtwebview-dev
+qtkeychain-dev
+signond-dev
+stb
+texinfo
+utfcpp
+wayland-protocols
+xapian-core-dev
+xcb-util-cursor-dev
+xcb-util-image-dev
+xcb-util-keysyms-dev
+xcb-util-wm-dev
+xkeyboard-config-dev
+xmlto
+yaml-dev
diff --git a/distro-dependencies/arch.ini b/distro-dependencies/arch.ini
new file mode 100644
index 00000000..4a9077af
--- /dev/null
+++ b/distro-dependencies/arch.ini
@@ -0,0 +1,126 @@
+[pkg/arch/unknown]
+# Basic build tools
+
+# .. gnu
+autoconf
+automake
+bison
+flex
+gcc
+gperf
+make
+
+# .. llvm
+clang
+cmake
+
+# .. build systems
+ninja
+meson
+
+# .. rust
+corrosion
+
+# .. others
+boost
+docbook-xsl
+doxygen
+intltool
+pkg-config
+git
+gi-docgen
+
+# Qt-related
+qt6
+poppler-qt6
+qca-qt6
+qtkeychain-qt6
+qcoro-qt6
+qt5-base
+qt5-script
+qt5-websockets
+qt5-svg
+qt5-tools
+qt5-x11extras
+qca-qt5
+libaccounts-qt
+libdbusmenu-qt5
+poppler-qt5
+qtkeychain-qt5
+phonon-qt5
+packagekit
+
+# Others/Unsorted
+wayland-protocols
+qrencode
+signond
+xapian-core
+qgpgme
+kdsoap
+xsd
+xerces-c
+vlc
+ruby-sass
+eigen
+mlt
+freecell-solver
+sane
+vala
+check
+libolm
+xmlto
+itstool
+libdisplay-info
+python-sphinx
+python-setuptools
+enchant
+jasper
+openexr
+libutempter
+docbook-xsl
+shared-mime-info
+giflib
+libxss
+upower
+udisks2
+xorg-server-devel
+libpwquality
+libfakekey
+eigen
+xapian-core
+libdmtx
+ruby-test-unit
+plymouth
+libical
+openal
+libxmlb
+exiv2
+lmdb
+libqalculate
+libraw
+mpv
+sccache
+python-cairo
+python-pip
+flatpak
+xf86-input-wacom
+black-hole-solver
+fluidsynth
+libgit2
+microsoft-gsl
+power-profiles-daemon
+
+#plasma-desktop
+xdotool
+
+# appstream
+gobject-introspection
+xf86-input-evdev
+python-chai
+
+#okular
+libspectre
+libzip
+discount
+djvulibre
+ebook-tools
diff --git a/distro-dependencies/debian.ini b/distro-dependencies/debian.ini
new file mode 100644
index 00000000..fbce96cd
--- /dev/null
+++ b/distro-dependencies/debian.ini
@@ -0,0 +1,175 @@
+[pkg/debian/unknown]
+# Basic build tools
+bison
+build-essential
+cmake
+flex
+gettext
+git
+gperf
+libssl-dev
+intltool
+meson
+ninja-build
+shared-mime-info
+clang-format
+apt-file
+# Qt-related
+qtwayland5-private-dev
+libdbusmenu-qt5-dev
+libqt5svg5-dev
+libqt5waylandclient5-dev
+libqt5x11extras5-dev
+qtbase5-private-dev
+qtdeclarative5-dev
+qtmultimedia5-dev
+qtquickcontrols2-5-dev
+qtscript5-dev
+qttools5-dev
+qtwayland5-dev-tools
+qtxmlpatterns5-dev-tools
+qt6-tools-dev
+qt6-declarative-dev
+qt6-wayland
+qt6-wayland-dev
+qt6-wayland-dev-tools
+qt6-base-private-dev
+qt6-speech-dev
+qt6-multimedia-dev
+libqt6svg6-dev
+libqt6core5compat6-dev
+libqt6opengl6-dev
+libqt6shadertools6-dev
+packagekit
+# Frameworks dependencies
+# .. polkit-qt-1
+libpolkit-gobject-1-dev
+libpolkit-agent-1-dev
+# .. kdoctools
+libxml2-dev
+libxml2-utils
+libxslt-dev
+docbook
+docbook-xsl
+docbook-xml
+# .. libksysguard
+libnl-3-dev
+libnl-route-3-dev
+libsensors-dev
+# .. kwindowsystem
+libwayland-dev
+libxcb-icccm4-dev
+libxcb-keysyms1-dev
+libxcb-res0-dev
+libxcb-xfixes0-dev
+libxcb-xkb-dev
+libxcb-xtest0-dev
+libxfixes-dev
+libxrender-dev
+wayland-protocols
+# .. kwallet
+libgcrypt-dev
+libgpgme11-dev
+libgpgmepp-dev
+# .. kactivities
+libboost-dev
+# .. kfilemetadata
+libattr1-dev
+# .. kidletime
+libxcb-sync-dev
+libx11-xcb-dev
+# .. kcalendarcore
+libical-dev
+# .. khtml
+libjpeg-dev
+libgif-dev
+# .. kjs
+libpcre3-dev
+# .. kglobalaccel
+libxcb-record0-dev
+# .. knotifications
+libcanberra-dev
+# .. karchive
+liblzma-dev
+libbz2-dev
+# .. plasma-workspace
+libqalculate-dev
+libxft-dev
+libxtst-dev
+libappstreamqt-dev
+libpackagekitqt5-dev
+libxcursor-dev
+# And others
+qt5keychain-dev
+libopenal-dev
+libopenjp2-7-dev
+qtlocation5-dev
+libraw-dev
+libsane-dev
+libsndfile1-dev
+libxcb-glx0-dev
+liblmdb-dev
+libsm-dev
+libqrencode-dev
+python3-setuptools
+# .. optional discover backends
+libjcat-dev
+libfwupd-dev
+libsnapd-qt-dev
+libflatpak-dev
+# kwin
+libgbm-dev
+libdrm-dev
+libxcvt-dev
+libxcb-randr0-dev
+libepoxy-dev
+libxcb-composite0-dev
+libxcb-shm0-dev
+libxcb-cursor-dev
+libxcb-damage0-dev
+libxcb-image0-dev
+libxcb-util-dev
+libxcb-present-dev
+libxcb-xinerama0-dev
+libxkbcommon-x11-dev
+# plasma
+libqalculate-dev
+libxcb-randr0-dev
+libxft-dev
+libxtst-dev
+# powerdevil
+libxcb-dpms0-dev
+# plasma-nm
+libnm-dev
+modemmanager-dev
+# plasma-pa
+libpulse-dev
+# plymouth-kcm
+libplymouth-dev
+# kscreenlocker
+libpam0g-dev
+# kpipewire
+libpipewire-0.3-dev
+libavcodec-dev
+libavformat-dev
+libswscale-dev
+# libkexiv2
+libexiv2-dev
+# kcalc
+graphviz
+doxygen
+xsltproc
+xmlto
+# poppler
+libnss3-dev
+libtiff-dev
+# gpgme
+texinfo
+# appstream
+libyaml-dev
+libsystemd-dev
+libgirepository1.0-dev
+libstemmer-dev
+itstool
+gi-docgen
+libzstd-dev
diff --git a/distro-dependencies/fedora.ini b/distro-dependencies/fedora.ini
new file mode 100644
index 00000000..23784adc
--- /dev/null
+++ b/distro-dependencies/fedora.ini
@@ -0,0 +1,166 @@
+[pkg/fedora/unknown]
+appstream-qt-devel
+aha
+bison
+boost-devel
+bzip2
+cfitsio-devel
+chmlib-devel
+cmake
+cyrus-sasl-devel
+dbusmenu-qt5-devel
+djvulibre-devel
+docbook-style-xsl
+docbook-utils
+doxygen
+ebook-tools-devel
+eigen3-devel
+erfa-devel
+exiv2-devel
+flatpak-devel
+flex
+fuse3-devel
+fuse-devel
+gcc
+gcc-c++
+gettext
+gettext-devel
+giflib-devel
+git
+glew-devel
+gobject-introspection-devel
+gperf
+gpgmepp-devel
+gsl-devel
+gstreamer1-plugins-base-devel
+ibus-devel
+intltool
+itstool
+json-c-devel
+kcolorpicker-devel
+kdsoap-devel
+kf5-kdnssd-devel
+kf5-kplotting-devel
+kf5-libkdcraw-devel
+kimageannotator-devel
+libaccounts-qt5-devel
+libavcodec-free-devel
+libavfilter-free-devel
+libavformat-free-devel
+libavutil-free-devel
+libblack-hole-solver-devel
+libcap-devel
+libcanberra-devel
+libdisplay-info-devel
+libepoxy-devel
+libfakekey-devel
+libfreecell-solver-devel
+libgcrypt-devel
+libgit2-devel
+libical-devel
+libindi-devel
+libjpeg-turbo-devel
+libpcap-devel
+libqalculate-devel
+libmtp-devel
+libnl3-devel
+libnova-devel
+LibRaw-devel
+libsass-devel
+libsmbclient-devel
+libsndfile-devel
+libsodium-devel
+libspectre-devel
+libswscale-free-devel
+libssh-devel
+libtirpc-devel
+libuuid-devel
+libva-devel
+libwacom-devel
+libXcursor-devel
+libXft-devel
+libxcvt-devel
+libXext-devel
+libXtst-devel
+libXxf86vm-devel
+libxkbcommon-devel
+libxkbcommon-x11-devel
+libxkbfile-devel
+libxml2
+libzip-devel
+lm_sensors-devel
+make
+meson
+mpv-libs-devel
+openal-soft-devel
+openexr-devel
+openjpeg2-devel
+pam-devel
+pcre-devel
+phonon-qt5-devel
+pipewire-devel
+pipewire-utils
+pkgconfig(dbus-1)
+pkgconfig(gbm)
+pkgconfig(gl)
+pkgconfig(gstreamer-1.0)
+pkgconfig(libassuan)
+pkgconfig(libattr)
+pkgconfig(libnm)
+pkgconfig(libpng)
+pkgconfig(libqrencode)
+pkgconfig(libxml-2.0)
+pkgconfig(libxslt)
+pkgconfig(lmdb)
+pkgconfig(ModemManager)
+pkgconfig(openssl)
+pkgconfig(polkit-gobject-1)
+pkgconfig(sm)
+pkgconfig(wayland-client)
+pkgconfig(wayland-protocols)
+pkgconfig(xapian-core)
+pkgconfig(xcb-cursor)
+pkgconfig(xcb-ewmh)
+pkgconfig(xcb-keysyms)
+pkgconfig(xcb-util)
+pkgconfig(xfixes)
+pkgconfig(xrender)
+python
+python3-chai
+python3-psutil
+python3-sphinx
+python3-setuptools
+qaccessibilityclient-devel
+qcoro-qt5-devel
+qgpgme-devel
+plymouth-devel
+qt5-*-devel
+qt5-qtbase-static
+qt5-qttools-static
+qt6-*-devel
+qtkeychain-qt5-devel
+PackageKit
+SDL2-devel
+sassc
+shared-mime-info
+signon-devel
+stellarsolver-devel
+systemd-devel
+texinfo
+wcslib-devel
+xdotool
+xmlto
+xorg-x11-drv-evdev-devel
+xorg-x11-drv-libinput-devel
+xorg-x11-drv-wacom-devel
+xkeyboard-config-devel
+# wayland
+expat-devel
+# poppler
+nss-devel
+libcurl-devel
+# appstream
+libyaml-devel
+libstemmer-devel
+gi-docgen
+guidelines-support-library-devel
diff --git a/distro-dependencies/freebsd.ini b/distro-dependencies/freebsd.ini
new file mode 100644
index 00000000..0e636add
--- /dev/null
+++ b/distro-dependencies/freebsd.ini
@@ -0,0 +1,39 @@
+[pkg/freebsd/unknown]
+automake
+bison
+boost-all
+cmake
+docbook-xsl
+doxygen
+eigen
+gettext
+gettext-tools
+glib
+gmake
+gobject-introspection
+gperf
+gpgme
+gtk-doc
+intltool
+itstool
+libqrencode
+libxmlb
+libyaml
+lmdb
+meson
+mlt7
+ninja
+pkgconf
+py39-gi-docgen
+python3
+# Qt
+qt6
+qt5
+qt5-wayland
+snowballstemmer
+texinfo
+vala
+wayland-protocols
+xorg
+# wayland
+xmlto
diff --git a/distro-dependencies/gentoo.ini b/distro-dependencies/gentoo.ini
new file mode 100644
index 00000000..ca4ac056
--- /dev/null
+++ b/distro-dependencies/gentoo.ini
@@ -0,0 +1,32 @@
+[pkg/gentoo/unknown]
+dev-libs/icu
+dev-libs/libdbusmenu-qt
+dev-qt/designer:5
+dev-qt/linguist-tools:5
+dev-qt/linguist
+dev-qt/pixeltool
+dev-qt/qdoc:5
+dev-qt/qtconcurrent:5
+dev-qt/qtcore:5
+dev-qt/qtdbus:5
+dev-qt/qtdeclarative:5
+dev-qt/qtdiag:5
+dev-qt/qtgui:5
+dev-qt/qthelp:5
+dev-qt/qtmultimedia:5
+dev-qt/qtnetwork:5
+dev-qt/qtpaths:5
+dev-qt/qtprintsupport:5
+dev-qt/qtquickcontrols:5
+dev-qt/qtsql:5
+dev-qt/qttest:5
+dev-qt/qtwidgets:5
+dev-qt/qtx11extras:5
+dev-qt/qtxml:5
+dev-util/cmake
+dev-util/gperf
+dev-util/meson
+dev-util/ninja
+dev-vcs/git
+sys-devel/clang
+virtual/libintl
diff --git a/distro-dependencies/mageia.ini b/distro-dependencies/mageia.ini
new file mode 100644
index 00000000..2b881cbc
--- /dev/null
+++ b/distro-dependencies/mageia.ini
@@ -0,0 +1,36 @@
+[pkg/mageia/unknown]
+bison
+boost
+cmake
+docbook-style-xsl
+docbook-utils
+flex
+gcc
+gcc-c++
+gettext
+gettext-devel
+giflib
+git
+gperf
+intltool
+lib64lmdb-devel
+libdbusmenu-qt5-devel
+make
+pkgconfig(dbus-1)
+pkgconfig(gl)
+pkgconfig(gstreamer-1.0)
+pkgconfig(libattr)
+pkgconfig(libnm)
+pkgconfig(libpng)
+pkgconfig(libqrencode)
+pkgconfig(libxml-2.0)
+pkgconfig(libxslt)
+pkgconfig(ModemManager)
+pkgconfig(openssl)
+pkgconfig(polkit-gobject-1)
+pkgconfig(sm)
+pkgconfig(wayland-client)
+pkgconfig(xcb-keysyms)
+pkgconfig(xrender)
+python
+shared-mime-info
diff --git a/distro-dependencies/opensuse.ini b/distro-dependencies/opensuse.ini
new file mode 100644
index 00000000..5daa8537
--- /dev/null
+++ b/distro-dependencies/opensuse.ini
@@ -0,0 +1,158 @@
+[pkg/opensuse/unknown]
+bison
+clang
+cmake
+cmake(packagekitqt5)
+cmake(packagekitqt6)
+cmake(QCoro6)
+cmake(Qt5Core)
+cmake(Qt5Multimedia)
+cmake(Qt5Qml)
+cmake(Qt5QuickControls2)
+cmake(Qt5QuickTemplates2)
+cmake(Qt5Script)
+cmake(Qt5Sensors)
+cmake(Qt5Svg)
+cmake(Qt5UiTools)
+cmake(Qt5WaylandClient)
+cmake(Qt5WebEngine)
+cmake(Qt5WebView)
+cmake(Qt5X11Extras)
+cmake(Qt5XmlPatterns)
+cmake(Qt6Concurrent)
+cmake(Qt6Core)
+cmake(Qt6Core5Compat)
+cmake(Qt6DBus)
+cmake(Qt6Gui)
+cmake(Qt6LinguistTools)
+cmake(Qt6Multimedia)
+cmake(Qt6Network)
+cmake(Qt6PrintSupport)
+cmake(Qt6Qml)
+cmake(Qt6Quick)
+cmake(Qt6QuickControls2)
+cmake(Qt6QuickTemplates2)
+cmake(Qt6QuickTest)
+cmake(Qt6QuickWidgets)
+cmake(Qt6Sensors)
+cmake(Qt6ShaderTools)
+cmake(Qt6Sql)
+cmake(Qt6Svg)
+cmake(Qt6Test)
+cmake(Qt6TextToSpeech)
+cmake(Qt6ToolsTools)
+cmake(Qt6UiTools)
+cmake(Qt6WaylandClient)
+cmake(Qt6WaylandCompositor)
+cmake(Qt6WebSockets)
+cmake(Qt6Widgets)
+docbook-xsl-stylesheets
+docbook_4
+doxygen
+flex
+libsndfile-devel
+gettext-runtime
+gettext-tools
+giflib-devel
+git
+gperf
+graphviz
+gtk-doc
+gtk3-devel
+intltool
+itstool
+libAppStreamQt-devel
+libboost_headers-devel
+libdbusmenu-qt5-devel
+libdisplay-info-devel
+libepub-devel
+libqt5-qtbase-common-devel
+libqt5-qtbase-private-headers-devel
+libqt5-qtimageformats-devel
+libqt5-qtwayland-private-headers-devel
+libQt5Core-private-headers-devel
+libQt5DesignerComponents5
+libsensors4-devel
+libxml2-tools
+lmdb-devel
+make
+meson
+ninja
+olm-devel
+openjpeg2-devel
+pkgconfig(accounts-qt5)
+pkgconfig(epoxy)
+pkgconfig(exiv2)
+pkgconfig(gbm)
+pkgconfig(gobject-introspection-1.0)
+pkgconfig(libattr)
+pkgconfig(libavcodec)
+pkgconfig(libavfilter)
+pkgconfig(libavformat)
+pkgconfig(libcanberra)
+pkgconfig(libcec)
+pkgconfig(libevdev)
+pkgconfig(libfakekey)
+pkgconfig(libical)
+pkgconfig(libnl-3.0)
+pkgconfig(libnm)
+pkgconfig(libopenssl)
+pkgconfig(libpcre)
+pkgconfig(libpipewire-0.3)
+pkgconfig(libpng)
+pkgconfig(libqalculate)
+pkgconfig(libqrencode)
+pkgconfig(libsignon-qt5)
+pkgconfig(libswscale)
+pkgconfig(libudev)
+pkgconfig(libva)
+pkgconfig(libxcvt)
+pkgconfig(libxml-2.0)
+pkgconfig(libxslt)
+pkgconfig(ModemManager)
+pkgconfig(nss)
+pkgconfig(pam)
+pkgconfig(sm)
+pkgconfig(wayland-protocols)
+pkgconfig(wayland-server)
+pkgconfig(xcb-cursor)
+pkgconfig(xcb-ewmh)
+pkgconfig(xcb-keysyms)
+pkgconfig(xcb-util)
+pkgconfig(xcursor)
+pkgconfig(xfixes)
+pkgconfig(xft)
+pkgconfig(xkbfile)
+pkgconfig(xorg-evdev)
+pkgconfig(xorg-libinput)
+pkgconfig(xorg-server)
+pkgconfig(xorg-synaptics)
+pkgconfig(xrender)
+pkgconfig(xtst)
+pkgconfig(xxf86vm)
+pkgconfig(yaml-0.1)
+plymouth-devel
+polkit-devel
+python3-setuptools
+qcoro-qt5-devel
+qt6-core-private-devel
+qt6-gui-private-devel
+qt6-printsupport-private-devel
+qt6-quick-private-devel
+qt6-waylandclient-private-devel
+shared-mime-info
+snowball-devel
+vlc-devel
+qt6-multimediawidgets-devel
+openal-soft-devel
+libxapian-devel
+cyrus-sasl-devel
+qt6-webenginewidgets-devel
+qt6-networkauth-devel
+zxing-cpp-devel
+libpoppler-qt6-devel
+liblcms2-devel
+qt6-statemachine-devel
+AppStream-devel
+xdotool
+openldap2-devel
diff --git a/module-definitions/custom-qt5-libs.ksb b/module-definitions/custom-qt5-libs.ksb
new file mode 100644
index 00000000..c07cfdd7
--- /dev/null
+++ b/module-definitions/custom-qt5-libs.ksb
@@ -0,0 +1,144 @@
+# These libs are likely part of your distro
+# So you only need to include this module-set if you compile your own Qt5,
+# to avoid mixing your own Qt with the distro's Qt.
+
+module-set custom-qt5-libs
+    repository _  # just to allow the module-set to be validated
+    use-modules libgpg-error gpgme poppler libaccounts-glib libaccounts-qt signond packagekit-qt qtspeech quazip \
+        libomemo-c qxmpp qtkeychain libquotient cmark kdsoap qcoro appstream wayland wayland-protocols qmltermwidget
+end module-set
+
+# ---
+
+# keep libgpg-error in sync with gpgme, see below
+options libgpg-error
+    repository https://dev.gnupg.org/source/libgpg-error.git
+    branch master
+    # NOTE: you need to run ./autogen.sh before kdesrc-build runs configure.
+    # Maybe we can ask kdesrc-build do to that?
+    configure-flags --enable-maintainer-mode
+end options
+
+# qgpgme is part of gpgme...
+options gpgme
+    repository https://dev.gnupg.org/source/gpgme.git
+    branch master
+    # NOTE: you need to run ./autogen.sh before kdesrc-build runs configure.
+    # Maybe we can ask kdesrc-build do to that?
+    configure-flags --enable-maintainer-mode --enable-languages=cpp,qt5
+end options
+
+# For okular
+
+options poppler
+  repository https://gitlab.freedesktop.org/poppler/poppler.git
+  branch master
+  cmake-options -DWITH_GLIB=OFF -DLIB_SUFFIX=64 -DENABLE_UNSTABLE_API_ABI_HEADERS=1
+end options
+
+# For kaccounts-integration
+
+options libaccounts-glib
+  # doesn't depend on qt, but this way it's the right version for libaccounts-qt below
+  repository https://gitlab.com/accounts-sso/libaccounts-glib.git
+end options
+
+options libaccounts-qt
+  repository https://gitlab.com/accounts-sso/libaccounts-qt.git
+  qmake-options PREFIX=${install-dir}
+end options
+
+options signond
+  repository https://gitlab.com/accounts-sso/signond.git
+  qmake-options PREFIX=${install-dir}
+end options
+
+# For apper
+
+options packagekit-qt
+  repository https://github.com/PackageKit/PackageKit-Qt.git
+  branch main
+end options
+
+# Mandatory for kmouth, optional for kpimtextedit
+
+options qtspeech
+  repository https://code.qt.io/qt/qtspeech.git
+  branch 5.15.2
+end options
+
+# Mandatory for krita
+
+options quazip
+  repository https://github.com/stachenov/quazip.git
+  branch master
+end options
+
+# For kaidan
+
+options libomemo-c
+  repository https://github.com/dino/libomemo-c.git
+  cmake-options -DBUILD_SHARED_LIBS=ON
+end options
+
+options qxmpp
+  repository https://github.com/qxmpp-project/qxmpp.git
+  branch master
+  cmake-options -DBUILD_TESTS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_OMEMO=ON
+end options
+
+# For neochat
+
+options qtkeychain
+  repository https://github.com/frankosterfeld/qtkeychain.git
+  branch main
+end options
+
+options libquotient
+  repository https://github.com/quotient-im/libQuotient
+  branch dev
+  cmake-options -DBUILD_SHARED_LIBS=ON -DQuotient_ENABLE_E2EE=on
+end options
+
+options cmark
+  repository https://github.com/commonmark/cmark.git
+  branch master
+end options
+
+# for kio-extras
+options kdsoap
+  repository https://github.com/KDAB/KDSoap
+  branch master
+end options
+
+# For neochat, spacebar, possibly more
+options qcoro
+  repository https://github.com/danvratil/qcoro
+  cmake-options -DUSE_QT_VERSION=5 -DBUILD_SHARED_LIBS=ON
+  branch main
+end options
+
+options appstream
+  repository https://github.com/ximion/appstream
+  configure-flags -Dqt=true
+  branch main
+end options
+
+options wayland
+  repository https://gitlab.freedesktop.org/wayland/wayland
+  branch main
+end options
+
+options wayland-protocols
+  repository https://gitlab.freedesktop.org/wayland/wayland-protocols
+  branch main
+end options
+
+# For qmlkonsole
+options qmltermwidget
+  repository https://invent.kde.org/jbbgameich/qmltermwidget
+  branch master
+  cmake-options -DBUILD_SHARED_LIBS=ON
+end options
+
+# kate: syntax kdesrc-buildrc;
diff --git a/module-definitions/custom-qt6-libs.ksb b/module-definitions/custom-qt6-libs.ksb
new file mode 100644
index 00000000..a896a05c
--- /dev/null
+++ b/module-definitions/custom-qt6-libs.ksb
@@ -0,0 +1,154 @@
+# These libs are likely part of your distro
+# So you only need to include this module-set if you compile your own Qt6,
+# to avoid mixing your own Qt with the distro's Qt.
+
+module-set custom-qt6-libs
+    repository _  # just to allow the module-set to be validated
+    use-modules libgpg-error gpgme poppler libaccounts-qt signond packagekit-qt libsignon-glib qtkeychain libquotient cmark \
+        kdsoap qcoro appstream wayland wayland-protocols qmltermwidget kcolorpicker kimageannotator
+end module-set
+
+# ---
+
+# keep libgpg-error in sync with gpgme, see below
+options libgpg-error
+    repository https://dev.gnupg.org/source/libgpg-error.git
+    branch master
+    # NOTE: you need to run ./autogen.sh before kdesrc-build runs configure.
+    # Maybe we can ask kdesrc-build do to that?
+    configure-flags --enable-maintainer-mode
+end options
+
+# qgpgme is part of gpgme...
+options gpgme
+    repository https://dev.gnupg.org/source/gpgme.git
+    branch master
+    # NOTE: you need to run ./autogen.sh before kdesrc-build runs configure.
+    # Maybe we can ask kdesrc-build do to that?
+    configure-flags --enable-maintainer-mode --enable-languages=cpp,qt6
+end options
+
+# for KFileMetaData
+options poppler
+  repository https://gitlab.freedesktop.org/poppler/poppler.git
+  branch master
+  cmake-options -DWITH_GLIB=OFF -DENABLE_UNSTABLE_API_ABI_HEADERS=1 -DENABLE_QT5=OFF -DENABLE_QT6=ON
+end options
+
+# For kaccounts-integration
+
+# upstream isn't ported to Qt6 yet, use fork meanwhile
+options libaccounts-qt
+  repository https://gitlab.com/nicolasfella/libaccounts-qt.git
+  branch qt6
+  qmake-options PREFIX=${install-dir}
+  override-build-system qmake6
+end options
+
+# upstream isn't ported to Qt6 yet, use fork meanwhile
+options signond
+  repository https://gitlab.com/nicolasfella/signond.git
+  branch qt6
+  qmake-options PREFIX=${install-dir} CONFIG+=no_etc
+  override-build-system qmake6
+end options
+
+# For apper
+
+options packagekit-qt
+  repository https://github.com/PackageKit/PackageKit-Qt.git
+  cmake-options -DBUILD_WITH_QT6=ON
+  branch main
+end options
+
+options libsignon-glib
+  # this one does depend on qt, it seems
+  repository https://gitlab.com/accounts-sso/libsignon-glib.git
+  qmake-options PREFIX=${install-dir}
+end options
+
+# Mandatory for krita
+
+#options quazip
+#  repository https://github.com/stachenov/quazip.git
+#  branch master
+#end options
+
+# For kaidan
+
+#options qxmpp
+#  repository https://github.com/qxmpp-project/qxmpp.git
+#  branch master
+#  cmake-options -DBUILD_TESTS=OFF -DBUILD_EXAMPLES=OFF
+#end options
+
+# For neochat
+
+options qtkeychain
+  cmake-options -DBUILD_WITH_QT6=ON
+  repository https://github.com/frankosterfeld/qtkeychain.git
+  branch main
+end options
+
+options libquotient
+  repository https://github.com/quotient-im/libQuotient
+  branch dev
+  cmake-options -DBUILD_SHARED_LIBS=ON -DBUILD_WITH_QT6=ON -DQuotient_ENABLE_E2EE=on
+end options
+
+options cmark
+  repository https://github.com/commonmark/cmark.git
+  branch master
+end options
+
+# for kio-extras
+options kdsoap
+  repository https://github.com/KDAB/KDSoap
+  cmake-options -DKDSoap_QT6=true
+  branch master
+end options
+
+# For neochat, spacebar, possibly more
+options qcoro
+  repository https://github.com/danvratil/qcoro
+  cmake-options -DUSE_QT_VERSION=6 -DBUILD_SHARED_LIBS=ON
+  branch main
+end options
+
+options appstream
+  repository https://github.com/ximion/appstream
+  configure-flags -Dqt=true
+  set-env LDFLAGS -Wl,-rpath=${install-dir}/${libname}
+  branch main
+end options
+
+options wayland
+  repository https://gitlab.freedesktop.org/wayland/wayland
+  branch main
+end options
+
+options wayland-protocols
+  repository https://gitlab.freedesktop.org/wayland/wayland-protocols
+  branch main
+end options
+
+# For qmlkonsole
+options qmltermwidget
+  repository https://invent.kde.org/jbbgameich/qmltermwidget
+  branch master
+  cmake-options -DBUILD_SHARED_LIBS=ON -DBUILD_WITH_QT6=ON
+end options
+
+options kcolorpicker
+  repository https://github.com/ksnip/kColorPicker
+  branch master
+  cmake-options -DBUILD_SHARED_LIBS=ON -DBUILD_WITH_QT6=ON
+end options
+
+options kimageannotator
+  repository https://github.com/ksnip/kImageAnnotator
+  branch master
+  cmake-options -DBUILD_SHARED_LIBS=ON -DBUILD_WITH_QT6=ON
+end options
+
+# kate: syntax kdesrc-buildrc;
diff --git a/module-definitions/kf5-applications.ksb b/module-definitions/kf5-applications.ksb
new file mode 100644
index 00000000..ce483f45
--- /dev/null
+++ b/module-definitions/kf5-applications.ksb
@@ -0,0 +1,150 @@
+# Module definitions for building KDE Applications 5
+
+# This file uses "branch groups" to decide which git branch to use. If you
+# want to add your application here please be sure to update
+# kde-build-metadata repo's "logical-module-structure". It includes a simple
+# tool you can use to validate your change works (or just "kdesrc-build -p
+# your-module" and look for the right branch).
+
+module-set kf5-base-applications
+    repository kde-projects
+    use-modules konsole kate dolphin keditbookmarks kfind konqueror kdialog kio-extras
+end module-set
+
+# Required by gwenview
+module kcolorpicker
+    repository https://github.com/ksnip/kColorPicker.git
+end module
+module kimageannotator
+    repository https://github.com/ksnip/kImageAnnotator.git
+end module
+
+module-set kdegraphics
+    repository kde-projects
+    use-modules kdegraphics/*
+end module-set
+
+module-set kdevelop-kf5
+    repository kde-projects
+
+    # The foo.git syntax forces kdesrc-build to use matching git repositories
+    # even when the module name "foo" would also match a whole group of modules
+    # (you can use kdevelop/* if you wanted the group of modules instead).
+    use-modules kdevelop.git
+end module-set
+
+module-set kile
+    repository kde-projects
+    use-modules kile
+end module-set
+
+module-set kf5-scanner
+    repository kde-projects
+    use-modules ksanecore libksane skanlite
+end module-set
+
+module-set kf5-utils
+    repository kde-projects
+    use-modules okteta lokalize yakuake
+end module-set
+
+module-set kdeedu
+    repository kde-projects
+    use-modules libkeduvocdocument \
+        kdeedu-data \
+        analitza \
+        artikulate \
+        blinken \
+        cantor \
+        kalgebra \
+        kalzium \
+        kanagram \
+        kbruch \
+        kgeography \
+        khangman \
+        kig \
+        kiten \
+        klettres \
+        kmplot \
+        kstars \
+        kqtquickcharts \
+        ktouch \
+        kturtle \
+        kwordquiz \
+        labplot \
+        marble \
+        minuet \
+        parley \
+        rocs \
+        step
+end module-set
+
+module-set kdeaccessibility
+    repository kde-projects
+    use-modules kmag kmouth kmousetool
+end module-set
+
+module-set kdenetwork
+    repository kde-projects
+    use-modules krfb krdc kget
+end module-set
+
+module-set konversation
+    repository kde-projects
+    use-modules konversation
+end module-set
+
+module-set kdeutils
+    repository kde-projects
+    use-modules kdeutils/*
+end module-set
+
+module-set kdemultimedia
+    repository kde-projects
+    use-modules kdemultimedia/*
+end module-set
+
+module-set kdeadmin
+    repository kde-projects
+    use-modules kdeadmin/*
+end module-set
+
+module-set kmix
+    repository kde-projects
+    use-modules kmix
+    cmake-options -DKMIX_KF5_BUILD:STRING=TRUE
+end module-set
+
+module-set kdegames
+    repository kde-projects
+    use-modules kde/kdegames amor
+end module-set
+
+module-set kdewebdev
+    repository kde-projects
+    use-modules kimagemapeditor
+end module-set
+
+module-set kdeconnect
+    repository kde-projects
+    use-modules kdeconnect-kde
+end module-set
+
+module-set calligra-libs
+    repository kde-projects
+    use-modules kdiagram kdb kproperty kreport
+end module-set
+
+module-set calligra
+    repository kde-projects
+    # The foo.git syntax forces kdesrc-build to use matching git repositories
+    # even when the module name "foo" would also match a whole group of modules
+    use-modules calligra.git kexi calligraplan
+end module-set
+
+module-set krita
+    repository kde-projects
+    use-modules krita
+end module-set
+
+# kate: syntax kdesrc-buildrc;
diff --git a/module-definitions/kf5-common-options.ksb b/module-definitions/kf5-common-options.ksb
new file mode 100644
index 00000000..d94d5d7a
--- /dev/null
+++ b/module-definitions/kf5-common-options.ksb
@@ -0,0 +1,14 @@
+# This file should be used for any module options that should be set by default
+# for any kdesrc-build users if they build a given module.
+#
+# Even if the user doesn't use the other kf5-*.ksb files,
+# kdesrc-build can find the modules if include-dependencies is set and may need
+# to have the right options set to do the right thing.
+# See https://bugs.kde.org/show_bug.cgi?id=426219
+
+options bluez-qt
+    # Default udev rules dir /lib/udev/rules.d is not writable by regular user
+    cmake-options -DINSTALL_UDEV_RULE:BOOL=OFF
+end options
+
+# kate: syntax kdesrc-buildrc;
diff --git a/module-definitions/kf5-extragear.ksb b/module-definitions/kf5-extragear.ksb
new file mode 100644
index 00000000..a73be531
--- /dev/null
+++ b/module-definitions/kf5-extragear.ksb
@@ -0,0 +1,70 @@
+# Module definitions for building KDE Extragear applications which depend on Qt5/KF5
+
+# This file uses "branch groups" to decide which git branch to use. If you
+# want to add your application here please be sure to update
+# kde-build-metadata repo's "logical-module-structure". It includes a simple
+# tool you can use to validate your change works (or just "kdesrc-build -p
+# your-module" and look for the right branch).
+
+module-set extragear-libs
+    repository kde-projects
+    use-modules kdb kproperty kpublictransport kreport kuserfeedback libmediawiki libqaccessibilityclient
+end module-set
+
+module-set extragear-base
+    repository kde-projects
+    use-modules liquidshell plasma-pass
+end module-set
+
+module-set kmymoney
+    repository kde-projects
+    use-modules kdiagram alkimia kmymoney
+end module-set
+
+module-set xstitch
+    repository kde-projects
+    use-modules kxstitch symboleditor
+end module-set
+
+module-set extragear-graphics
+    repository kde-projects
+    use-modules kdiagram kgraphviewer kphotoalbum
+end module-set
+
+module-set extragear-multimedia
+    repository kde-projects
+    # Note that kdenlive contributions should be done via gitlab though...
+    use-modules k3b kdenlive amarok
+end module-set
+
+module-set extragear-office
+    repository kde-projects
+    use-modules kile
+end module-set
+
+module-set extragear-utils
+    repository kde-projects
+    use-modules krusader krename rsibreak ktrip
+end module-set
+
+module-set extragear-pim
+    repository kde-projects
+    use-modules zanshin
+end module-set
+
+module-set extragear-network
+    repository kde-projects
+    use-modules libktorrent ktorrent
+end module-set
+
+module-set extragear-sdk
+    repository kde-projects
+    use-modules kdesvn massif-visualizer libkomparediff2 kompare kcachegrind heaptrack
+end module-set
+
+module-set extragear-sysadmin
+    repository kde-projects
+    use-modules apper
+end module-set
+
+# kate: syntax kdesrc-buildrc;
diff --git a/module-definitions/kf5-frameworks.ksb b/module-definitions/kf5-frameworks.ksb
new file mode 100644
index 00000000..c279c913
--- /dev/null
+++ b/module-definitions/kf5-frameworks.ksb
@@ -0,0 +1,52 @@
+# Module definitions for building KDE Frameworks 5
+# (cmake, KF5's dependencies, KDE Frameworks 5)
+
+# This file uses "branch groups" to decide which git branch to use. If you
+# need to add your framework or library here please be sure to update
+# kde-build-metadata repo's "logical-module-structure". It includes a simple
+# tool you can use to validate your change works (or just "kdesrc-build -p
+# your-module" and look for the right branch).
+
+# ============================ Dependencies ==========================
+
+# some "kdesupport" modules needed by KF5, workspace or apps.
+module-set kf5-build-support
+    repository kde-projects
+    use-modules kde-dev-scripts extra-cmake-modules polkit-qt-1 qca
+end module-set
+
+module-set phonon
+    repository kde-projects
+    use-modules phonon phonon-vlc
+end module-set
+
+options phonon
+  cmake-options -DPHONON_BUILD_QT5=ON -DPHONON_BUILD_QT6=OFF
+end options
+
+module-set kdesupport
+   repository kde-projects
+   use-modules kdesupport/plasma-wayland-protocols
+end module-set
+
+# ============================= KDE Frameworks ========================
+
+module-set frameworks
+    repository kde-projects
+    use-modules frameworks
+
+    #tag v5.75.0-rc1
+    branch kf5
+    ignore-modules kdewebkit kuserfeedback
+end module-set
+
+module grantlee
+    repository https://github.com/steveire/grantlee.git
+    branch master
+end module
+
+# If you have options to set for frameworks modules, please set them in
+# kf5-common-options.ksb instead of here
+include kf5-common-options.ksb
+
+# kate: syntax kdesrc-buildrc;
diff --git a/module-definitions/kf5-kdepim.ksb b/module-definitions/kf5-kdepim.ksb
new file mode 100644
index 00000000..f046e84c
--- /dev/null
+++ b/module-definitions/kf5-kdepim.ksb
@@ -0,0 +1,31 @@
+# Module definitions for building kdepim framework
+
+# This file uses "branch groups" to decide which git branch to use. If you
+# want to add your application here please be sure to update
+# repo-metadata repo's "dependencies/logical-module-structure". It includes a simple
+# tool you can use to validate your change works (or just "kdesrc-build -p
+# your-module" and look for the right branch).
+
+module-set akonadi
+    repository kde-projects
+    use-modules akonadi
+end module-set
+
+module libkolabxml
+    repository https://git.kolab.org/diffusion/LKX/libkolabxml.git
+    cmake-options -DQT5_BUILD=true
+    branch libkolabxml-1.1
+end module
+
+module-set kde-pim
+    repository kde-projects
+
+    use-modules kde/pim libkgapi kdiagram ktextaddons
+end module-set
+
+module-set kdepim-runtime
+    repository kde-projects
+    use-modules kdepim-runtime
+end module-set
+
+# kate: syntax kdesrc-buildrc;
diff --git a/module-definitions/kf5-qt5.ksb b/module-definitions/kf5-qt5.ksb
new file mode 100644
index 00000000..7866a937
--- /dev/null
+++ b/module-definitions/kf5-qt5.ksb
@@ -0,0 +1,10 @@
+include qt5.ksb
+include kf5-common-options.ksb
+include custom-qt5-libs.ksb
+include kf5-frameworks.ksb
+include kf5-workspace.ksb
+include kf5-applications.ksb
+include kf5-kdepim.ksb
+include kf5-extragear.ksb
+
+# kate: syntax kdesrc-buildrc;
diff --git a/module-definitions/kf5-workspace.ksb b/module-definitions/kf5-workspace.ksb
new file mode 100644
index 00000000..6b4157c6
--- /dev/null
+++ b/module-definitions/kf5-workspace.ksb
@@ -0,0 +1,46 @@
+# Module definitions for building KDE Workspace 5
+
+# This file uses "branch groups" to decide which git branch to use. If you
+# want to add your application here please be sure to update
+# kde-build-metadata repo's "logical-module-structure". It includes a simple
+# tool you can use to validate your change works (or just "kdesrc-build -p
+# your-module" and look for the right branch).
+
+module-set kf5-workspace-modules
+    repository kde-projects # Required for branch-group
+
+    # Compile everything under kde/workspace
+    use-modules workspace
+
+    # kdesrc-build can build dependencies (that it knows about) even if you forget
+    # to list them all, if you uncomment this line.
+    # include-dependencies true
+
+    # Remove if you're somehow using Windows
+    ignore-modules kwindowsaddons
+    # This module doesn't have a buildsystem
+    ignore-modules breeze-grub
+    # Qt6-only modules
+    ignore-modules plasma5support
+end module-set
+
+# Update this module but don't install it, it requires write access to /usr
+# Left here instead of kf5-common-options.ksb as it is already tied
+# to the rest of these workspace modules.
+options breeze-plymouth
+    manual-build true
+end options
+
+# For some reason kwalletmanager is in kde/kdeutils, but is considered par of workspace
+module-set kf5-workspace-utils
+    repository kde-projects
+    use-modules kwalletmanager
+end module-set
+
+module-set kf5-baloo-widgets
+    repository kde-projects
+    # Temporarily here. Not workspace-specific.
+    use-modules baloo-widgets
+end module-set
+
+# kate: syntax kdesrc-buildrc
diff --git a/module-definitions/kf6-applications.ksb b/module-definitions/kf6-applications.ksb
new file mode 100644
index 00000000..db2c9da3
--- /dev/null
+++ b/module-definitions/kf6-applications.ksb
@@ -0,0 +1,153 @@
+# Module definitions for building KDE Applications 6
+
+# This file uses "branch groups" to decide which git branch to use. If you
+# want to add your application here please be sure to update
+# kde-build-metadata repo's "logical-module-structure". It includes a simple
+# tool you can use to validate your change works (or just "kdesrc-build -p
+# your-module" and look for the right branch).
+
+module-set kdeutils
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+    use-modules kdeutils/*
+end module-set
+
+module-set kdegraphics
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+    use-modules kdegraphics/*
+    # modules not yet KF6-ready
+    ignore-modules kipi-plugins
+end module-set
+
+module-set kdegames
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+    use-modules kde/kdegames
+end module-set
+
+module-set kdeadmin
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+    use-modules kdeadmin/*
+end module-set
+
+module-set kf6-base-applications
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+    use-modules keditbookmarks kate kdialog dolphin kfind konsole kio-extras konqueror
+end module-set
+
+module-set kdeedu
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+    use-modules kdeedu/*
+    # modules not yet KF6-ready
+    ignore-modules artikulate cantor kig kstars kqtquickcharts ktouch labplot marble rocs
+end module-set
+
+module-set kf6-scanner
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+    use-modules ksanecore libksane skanlite
+end module-set
+
+module-set kf6-utils
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+    use-modules  yakuake
+end module-set
+
+module-set kdemultimedia
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+    use-modules kdemultimedia/*
+    # modules not yet KF6-ready
+    ignore-modules juk kamoso kmix kwave
+end module-set
+
+module-set kdeaccessibility
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+    use-modules kmag kmouth kmousetool kontrast
+end module-set
+
+module-set kdenetwork
+    repository kde-projects
+    use-modules krfb krdc kget kio-zeroconf kio-gdrive kdenetwork-filesharing
+    cmake-options -DBUILD_WITH_QT6=ON
+end module-set
+
+module-set kdsoap-ws-discovery-client
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+    use-modules kdsoap-ws-discovery-client
+end module-set
+
+module-set kaccounts
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+    use-modules kaccounts-integration
+end module-set
+
+module-set dolphin-plugins
+    repository kde-projects
+    use-modules dolphin-plugins
+    cmake-options -DBUILD_WITH_QT6=ON
+end module-set
+
+module-set kweather
+    repository kde-projects
+    use-modules kweather
+    cmake-options -DBUILD_WITH_QT6=ON
+end module-set
+
+module-set keysmith
+    repository kde-projects
+    use-modules keysmith
+    cmake-options -DBUILD_WITH_QT6=ON
+end module-set
+
+module-set kdeconnect
+    repository kde-projects
+    use-modules kdeconnect-kde
+    cmake-options -DBUILD_WITH_QT6=ON
+end module-set
+
+module-set kclock
+    repository kde-projects
+    use-modules kclock
+    cmake-options -DBUILD_WITH_QT6=ON
+end module-set
+
+module-set print-manager
+    repository kde-projects
+    use-modules print-manager
+    cmake-options -DBUILD_WITH_QT6=ON
+end module-set
+
+module-set elisa
+    repository kde-projects
+    use-modules elisa
+    cmake-options -DBUILD_WITH_QT6=ON
+end module-set
+
+module-set futuresql
+    repository kde-projects
+    use-modules futuresql
+    cmake-options -DBUILD_WITH_QT6=ON
+end module-set
+
+module-set mpvqt
+    repository kde-projects
+    use-modules mpvqt
+    cmake-options -DBUILD_WITH_QT6=ON
+end module-set
+
+module-set kdewebdev
+    repository kde-projects
+    use-modules kimagemapeditor
+    cmake-options -DBUILD_WITH_QT6=ON
+end module-set
+
+# kate: syntax kdesrc-buildrc;
diff --git a/module-definitions/kf6-common-options.ksb b/module-definitions/kf6-common-options.ksb
new file mode 100644
index 00000000..2951cdf9
--- /dev/null
+++ b/module-definitions/kf6-common-options.ksb
@@ -0,0 +1,15 @@
+# This file should be used for any module options that should be set by default
+# for any kdesrc-build users if they build a given module.
+#
+# Even if the user doesn't use the other kf6-*.ksb files,
+# kdesrc-build can find the modules if include-dependencies is set and may need
+# to have the right options set to do the right thing.
+# See https://bugs.kde.org/show_bug.cgi?id=426219
+
+options kf6-extra
+    repository kde-projects
+    use-modules extragear playground libraries
+    cmake-options -DBUILD_WITH_QT6=ON
+end options
+
+# kate: syntax kdesrc-buildrc;
diff --git a/module-definitions/kf6-extragear.ksb b/module-definitions/kf6-extragear.ksb
new file mode 100644
index 00000000..a467c917
--- /dev/null
+++ b/module-definitions/kf6-extragear.ksb
@@ -0,0 +1,90 @@
+# Module definitions for building KDE Extragear applications which depend on Qt6/KF6
+
+# This file uses "branch groups" to decide which git branch to use. If you
+# want to add your application here please be sure to update
+# kde-build-metadata repo's "logical-module-structure". It includes a simple
+# tool you can use to validate your change works (or just "kdesrc-build -p
+# your-module" and look for the right branch).
+
+module-set extragear-libs
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+    use-modules kuserfeedback libqaccessibilityclient kpublictransport kcgroups # kdb kproperty  kreport libmediawiki
+end module-set
+
+module-set extragear-graphics
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+    use-modules kdiagram #kgraphviewer kphotoalbum
+end module-set
+
+
+# module-set extragear-base
+#     repository kde-projects
+#     use-modules liquidshell plasma-pass
+# end module-set
+
+# module-set kmymoney
+    # repository kde-projects
+    # use-modules kdiagram alkimia kmymoney
+# end module-set
+
+# module-set xstitch
+  #   repository kde-projects
+#     use-modules kxstitch symboleditor
+# end module-set
+
+module-set extragear-multimedia
+     repository kde-projects
+     use-modules k3b kdenlive
+     cmake-options -DBUILD_WITH_QT6=ON
+end module-set
+
+# module-set extragear-utils
+#     repository kde-projects
+#     use-modules krusader krename rsibreak ktrip
+# end module-set
+
+module-set extragear-network
+     repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+     use-modules libktorrent
+end module-set
+
+module-set extragear-sdk
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+    use-modules libkomparediff2 kompare selenium-webdriver-at-spi kcachegrind kdesdk-kio kdesdk-thumbnailers
+    ignore-modules kdesvn massif-visualizer heaptrack
+end module-set
+
+module-set heaptrack
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON -DHEAPTRACK_USE_QT6=ON
+    use-modules heaptrack
+end module-set
+
+module-set kirigami-addons
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+    use-modules kirigami-addons
+end module-set
+
+module-set xwaylandvideobridge
+    repository kde-projects
+    use-modules xwaylandvideobridge
+    cmake-options -DBUILD_WITH_QT6=ON
+end module-set
+
+module-set qrca
+    repository kde-projects
+    use-modules qrca
+    cmake-options -DBUILD_WITH_QT6=ON
+end module-set
+
+# module-set extragear-sysadmin
+    # repository kde-projects
+    # use-modules apper
+# end module-set
+
+# kate: syntax kdesrc-buildrc;
diff --git a/module-definitions/kf6-frameworks.ksb b/module-definitions/kf6-frameworks.ksb
new file mode 100644
index 00000000..acb6760d
--- /dev/null
+++ b/module-definitions/kf6-frameworks.ksb
@@ -0,0 +1,30 @@
+# Module definitions for building KDE Frameworks 6
+# (cmake, KF6's dependencies, KDE Frameworks 6)
+
+# This file uses "branch groups" to decide which git branch to use. If you
+# need to add your framework or library here please be sure to update
+# kde-build-metadata repo's "logical-module-structure". It includes a simple
+# tool you can use to validate your change works (or just "kdesrc-build -p
+# your-module" and look for the right branch).
+
+module-set kf6-support
+    repository kde-projects
+    use-modules polkit-qt-1 plasma-wayland-protocols kde-dev-scripts qca
+    cmake-options -DQT_MAJOR_VERSION=6 -DBUILD_WITH_QT6=ON
+end module-set
+
+module-set phonon
+    repository kde-projects
+    use-modules phonon phonon-vlc
+    ignore-modules phonon-gstreamer
+    cmake-options -DQT_MAJOR_VERSION=6 -DPHONON_BUILD_QT6=ON -DPHONON_BUILD_QT5=OFF
+end module-set
+
+module-set frameworks
+    repository kde-projects
+    use-modules frameworks
+    ignore-modules kdelibs4support kdewebkit khtml kjsembed kmediaplayer kinit kjs kross kdesignerplugin kemoticons kxmlrpcclient
+    cmake-options -DBUILD_WITH_QT6=ON
+end module-set
+
+# kate: syntax kdesrc-buildrc;
diff --git a/module-definitions/kf6-kdepim.ksb b/module-definitions/kf6-kdepim.ksb
new file mode 100644
index 00000000..99720011
--- /dev/null
+++ b/module-definitions/kf6-kdepim.ksb
@@ -0,0 +1,46 @@
+# Module definitions for building kdepim framework
+
+# This file uses "branch groups" to decide which git branch to use. If you
+# want to add your application here please be sure to update
+# repo-metadata repo's "dependencies/logical-module-structure". It includes a simple
+# tool you can use to validate your change works (or just "kdesrc-build -p
+# your-module" and look for the right branch).
+
+module-set akonadi
+    repository kde-projects
+    use-modules akonadi
+end module-set
+
+#module libkolabxml
+#    repository https://git.kolab.org/diffusion/LKX/libkolabxml.git
+#    cmake-options -DQT6_BUILD=true
+#    branch libkolabxml-1.1
+#end module
+
+module-set kde-pim
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+
+    use-modules kde/pim libkgapi
+end module-set
+
+module-set ktextaddons
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+
+    use-modules ktextaddons
+end module-set
+
+module-set kdepim-runtime
+    repository kde-projects
+    use-modules kdepim-runtime
+end module-set
+
+module-set kpeoplevcard
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON
+
+    use-modules kpeoplevcard
+end module-set
+
+# kate: syntax kdesrc-buildrc;
diff --git a/module-definitions/kf6-qt6.ksb b/module-definitions/kf6-qt6.ksb
new file mode 100644
index 00000000..fded17c5
--- /dev/null
+++ b/module-definitions/kf6-qt6.ksb
@@ -0,0 +1,10 @@
+include qt6.ksb
+include kf6-common-options.ksb
+include custom-qt6-libs.ksb
+include kf6-frameworks.ksb
+include kf6-workspace.ksb
+include kf6-applications.ksb
+include kf6-kdepim.ksb
+include kf6-extragear.ksb
+
+# kate: syntax kdesrc-buildrc;
diff --git a/module-definitions/kf6-workspace.ksb b/module-definitions/kf6-workspace.ksb
new file mode 100644
index 00000000..43343175
--- /dev/null
+++ b/module-definitions/kf6-workspace.ksb
@@ -0,0 +1,41 @@
+# Module definitions for building KDE Workspace 6
+
+# This file uses "branch groups" to decide which git branch to use. If you
+# want to add your application here please be sure to update
+# kde-build-metadata repo's "logical-module-structure". It includes a simple
+# tool you can use to validate your change works (or just "kdesrc-build -p
+# your-module" and look for the right branch).
+
+module-set kf6-workspace-modules
+    repository kde-projects
+    cmake-options -DBUILD_WITH_QT6=ON -DBUILD_QT5=OFF
+    use-modules workspace
+    # modules not yet KF6-ready
+    ignore-modules breeze-grub breeze-plymouth khotkeys plasma-mobile plasma-settings plasma-bigscreen aura-browser plank-player plasma-remotecontrollers
+end module-set
+
+module-set mobile
+    repository kde-projects
+    use-modules plasma-mobile plasma-settings
+end module-set
+
+module-set bigscreen
+    repository kde-projects
+    use-modules plasma-bigscreen aura-browser plank-player plasma-remotecontrollers
+end module-set
+
+module-set kf5-baloo-widgets
+    repository kde-projects
+    # Temporarily here. Not workspace-specific.
+    use-modules baloo-widgets
+    cmake-options -DBUILD_WITH_QT6=ON
+end module-set
+
+module-set kf6-ws-kgad
+    repository kde-projects
+    # Temporarily here. Not workspace-specific, but needed by kwin
+    use-modules kglobalacceld
+    cmake-options -DBUILD_WITH_QT6=ON
+end module-set
+
+# kate: syntax kdesrc-buildrc;
diff --git a/module-definitions/qt5.ksb b/module-definitions/qt5.ksb
new file mode 100644
index 00000000..d64b3da6
--- /dev/null
+++ b/module-definitions/qt5.ksb
@@ -0,0 +1,38 @@
+module-set qt5-set
+    repository qt-projects
+    branch kde/5.15 # The last Qt5 branch?
+
+    # init-repository supports catch-alls like "default" as well, in which case
+    # you will want to uncomment ignore-modules below to control which modules to
+    # leave out
+    use-modules qtbase qtdeclarative qtgraphicaleffects qtimageformats          \
+        qtmultimedia qtquickcontrols qtquickcontrols2 qtsensors qtsvg  \
+        qttools qtwayland qtwebchannel qtwebsockets qtwebview qtx11extras       \
+        qtnetworkauth qtspeech qtxmlpatterns qtlocation
+
+    # qtwebengine is very different to the rest of Qt. You can try ignoring it if
+    # you cannot get it to compile by uncommenting the next line.
+    # ignore-modules qtwebengine
+
+    # install path. This *MUST* match your qt-install-dir setting in kdesrc-buildrc!
+    install-dir ${qt-install-dir}
+
+    configure-flags -release -reduce-relocations -force-debug-info -separate-debug-info -skip qtdocgallery
+
+    # Applies to every make command run for Qt build, including Qt's own attempts to
+    # run make from its configure script.
+    set-env MAKEFLAGS -j${num-cores}
+end module-set
+
+# qtwebengine is essentially the Chromium Embedded Framework with Qt bindings
+# It has unusually complex source codes which require a lot of memory to compile..
+#
+# This module will eat a *ton* of RAM and can lockup your system if you have a
+# lot of CPU cores. qtwebengine uses a lower number of cores to compile by
+# default but you can change the setting to -j here (or in your global options)
+# to change that.
+options qtwebengine
+    set-env NINJAFLAGS -j${num-cores-low-mem}
+end options
+
+# kate: syntax kdesrc-buildrc;
diff --git a/module-definitions/qt6.ksb b/module-definitions/qt6.ksb
new file mode 100644
index 00000000..bb697cbf
--- /dev/null
+++ b/module-definitions/qt6.ksb
@@ -0,0 +1,48 @@
+# Downloads and installs Qt6 from the KDE mirror, using Qt6's CMake support
+# exclusively.  Consider this an unofficial build that won't be supported by Qt
+# upstream since we don't go through the init-repository script.
+# It is probably better to install from your local distribution devel packages
+# if possible!
+
+module-set qt6-set
+    override-build-system qt6 # technically optional for now
+
+    repository qt6-copy # as defined in "git-repository-base" in BuildContext
+    branch     6.6
+
+    # install path. This *MUST* match your qt-install-dir setting in kdesrc-buildrc!
+    install-dir ${qt-install-dir}
+
+    # These have been manually placed in dependency order based on the
+    # .gitmodules file in https://code.qt.io/cgit/qt/qt5.git/tree/.gitmodules
+    # in "essential" or "addons" categories with some additions
+    # qtdoc should be last to give it best opportunity to make needed docs
+    use-modules qtbase qttools qtshadertools qtdeclarative qtsvg \
+        qtimageformats qtmultimedia qtwayland                    \
+        qtwebsockets qtwebchannel qtwebview qtsensors            \
+        qtnetworkauth qt5compat qtdoc qtpositioning              \
+        qtlocation qtvirtualkeyboard qttranslations              \
+        qtlanguageserver qtspeech
+
+    # if you want qtwebengine, add it to use-modules after "qtwebchannel" and
+    # comment this out. Note qtwebengine has significant and different build
+    # requirements of its own.
+    ignore-modules qtwebengine
+
+    # Archiving API requires zstd support which may not be present in your CMake
+    cmake-options -DQT_BUILD_TESTS=FALSE -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+                  -DQT_AVOID_CMAKE_ARCHIVING_API=TRUE
+
+    cmake-generator Ninja # comment out if you want the default CMake generator
+end module-set
+
+options qtwebengine
+    # qtwebengine build system is weird, involving make as the top-level driver
+    # and then calling ninja for the bulk of the build.  qtwebengine is a bulky
+    # module and having ninja use all cores at once may run out of memory if
+    # not careful, so we use make to pass less aggressive Ninja flags.
+    # num-cores-low-mem needs to be defined in your kdesrc-buildrc.
+    make-options NINJAFLAGS=-j${num-cores-low-mem}
+end options
+
+# kate: syntax kdesrc-buildrc;



More information about the neon-notifications mailing list