summaryrefslogtreecommitdiffstats
path: root/source/kde
diff options
context:
space:
mode:
Diffstat (limited to 'source/kde')
-rw-r--r--source/kde/FTBFSlog10
-rw-r--r--source/kde/fcitx5-configtool/doinst.sh (renamed from source/kde/kcm-fcitx/doinst.sh)1
-rw-r--r--source/kde/fcitx5-configtool/fcitx5-configtool-5.1.5.tar.zstbin0 -> 148724 bytes
-rwxr-xr-xsource/kde/fcitx5-configtool/fcitx5-configtool.SlackBuild (renamed from source/kde/kcm-fcitx/kcm-fcitx.SlackBuild)48
-rw-r--r--source/kde/fcitx5-configtool/fcitx5-configtool.url1
-rw-r--r--source/kde/fcitx5-configtool/slack-desc19
-rwxr-xr-xsource/kde/fcitx5-theme-breeze/fcitx5-theme-breeze.SlackBuild67
-rw-r--r--source/kde/fcitx5-theme-breeze/fcitx5-theme-breeze.url1
-rw-r--r--source/kde/fcitx5-theme-breeze/slack-desc19
-rwxr-xr-xsource/kde/futuresql/futuresql.SlackBuild151
-rw-r--r--source/kde/futuresql/slack-desc19
-rwxr-xr-xsource/kde/kColorPicker/kColorPicker.SlackBuild151
-rw-r--r--source/kde/kColorPicker/kColorPicker.url1
-rw-r--r--source/kde/kColorPicker/slack-desc19
-rwxr-xr-xsource/kde/kImageAnnotator/kImageAnnotator.SlackBuild151
-rw-r--r--source/kde/kImageAnnotator/kImageAnnotator.url1
-rw-r--r--source/kde/kImageAnnotator/slack-desc19
-rw-r--r--source/kde/kcm-fcitx/destroy-erroroverlay-with-base-widget.patch46
-rw-r--r--source/kde/kcm-fcitx/kcm-fcitx.url1
-rw-r--r--source/kde/kcm-fcitx/slack-desc19
-rw-r--r--source/kde/kde/build/alligator (renamed from source/kde/kde/build/kdesdk-kioslaves)0
-rw-r--r--source/kde/kde/build/breeze-plymouth2
-rw-r--r--source/kde/kde/build/calligra2
-rw-r--r--source/kde/kde/build/calligraplan2
-rw-r--r--source/kde/kde/build/cantor2
-rw-r--r--source/kde/kde/build/colord-kde (renamed from source/kde/kde/build/zeroconf-ioslave)0
-rw-r--r--source/kde/kde/build/digikam2
-rw-r--r--source/kde/kde/build/discover2
-rw-r--r--source/kde/kde/build/falkon2
-rw-r--r--source/kde/kde/build/ghostwriter1
-rw-r--r--source/kde/kde/build/kaccounts-integration2
-rw-r--r--source/kde/kde/build/kaccounts-providers2
-rw-r--r--source/kde/kde/build/kajongg2
-rw-r--r--source/kde/kde/build/kalendar1
-rw-r--r--source/kde/kde/build/kalk1
-rw-r--r--source/kde/kde/build/kapidox2
-rw-r--r--source/kde/kde/build/kaudiocreator2
-rw-r--r--source/kde/kde/build/kcalcore2
-rw-r--r--source/kde/kde/build/kde-inotify-survey1
-rw-r--r--source/kde/kde/build/kde-wallpapers2
-rw-r--r--source/kde/kde/build/kdeaccessibility2
-rw-r--r--source/kde/kde/build/kdeedu2
-rw-r--r--source/kde/kde/build/kdegraphics2
-rw-r--r--source/kde/kde/build/kdenetwork2
-rw-r--r--source/kde/kde/build/kdepim2
-rw-r--r--source/kde/kde/build/kdepim-apps-libs2
-rw-r--r--source/kde/kde/build/kdesdk2
-rw-r--r--source/kde/kde/build/kdesdk-kio1
-rw-r--r--source/kde/kde/build/kdev-php2
-rw-r--r--source/kde/kde/build/kdevelop2
-rw-r--r--source/kde/kde/build/kdevelop-pg-qt2
-rw-r--r--source/kde/kde/build/kdevplatform2
-rw-r--r--source/kde/kde/build/kdewebdev2
-rw-r--r--source/kde/kde/build/kdiagram2
-rw-r--r--source/kde/kde/build/kdnssd2
-rw-r--r--source/kde/kde/build/keysmith1
-rw-r--r--source/kde/kde/build/kfilemetadata2
-rw-r--r--source/kde/kde/build/kig2
-rw-r--r--source/kde/kde/build/kile2
-rw-r--r--source/kde/kde/build/kio-admin1
-rw-r--r--source/kde/kde/build/kio-zeroconf1
-rw-r--r--source/kde/kde/build/kirigami-addons1
-rw-r--r--source/kde/kde/build/kitinerary2
-rw-r--r--source/kde/kde/build/kjots2
-rw-r--r--source/kde/kde/build/klettres2
-rw-r--r--source/kde/kde/build/kmymoney2
-rw-r--r--source/kde/kde/build/kopeninghours2
-rw-r--r--source/kde/kde/build/kpeoplevcard2
-rw-r--r--source/kde/kde/build/kpipewire1
-rw-r--r--source/kde/kde/build/krename2
-rw-r--r--source/kde/kde/build/krita2
-rw-r--r--source/kde/kde/build/kross-interpreters2
-rw-r--r--source/kde/kde/build/krusader2
-rw-r--r--source/kde/kde/build/ksanecore1
-rw-r--r--source/kde/kde/build/ksysguard2
-rw-r--r--source/kde/kde/build/ktextaddons1
-rw-r--r--source/kde/kde/build/ktimetracker2
-rw-r--r--source/kde/kde/build/ktp-accounts-kcm2
-rw-r--r--source/kde/kde/build/ktp-approver2
-rw-r--r--source/kde/kde/build/ktp-auth-handler2
-rw-r--r--source/kde/kde/build/ktp-call-ui2
-rw-r--r--source/kde/kde/build/ktp-common-internals2
-rw-r--r--source/kde/kde/build/ktp-contact-list2
-rw-r--r--source/kde/kde/build/ktp-contact-runner2
-rw-r--r--source/kde/kde/build/ktp-desktop-applets2
-rw-r--r--source/kde/kde/build/ktp-filetransfer-handler2
-rw-r--r--source/kde/kde/build/ktp-kded-module2
-rw-r--r--source/kde/kde/build/ktp-send-file2
-rw-r--r--source/kde/kde/build/ktp-text-ui2
-rw-r--r--source/kde/kde/build/ktuberling2
-rw-r--r--source/kde/kde/build/kuser2
-rw-r--r--source/kde/kde/build/kwebkitpart2
-rw-r--r--source/kde/kde/build/labplot2
-rw-r--r--source/kde/kde/build/libkgeomap2
-rw-r--r--source/kde/kde/build/merkuro1
-rw-r--r--source/kde/kde/build/okular2
-rw-r--r--source/kde/kde/build/oxygen-fonts2
-rw-r--r--source/kde/kde/build/oxygen-gtk22
-rw-r--r--source/kde/kde/build/oxygen-icons1
-rw-r--r--source/kde/kde/build/oxygen-sounds1
-rw-r--r--source/kde/kde/build/plasma-nano2
-rw-r--r--source/kde/kde/build/plasma-phone-components2
-rw-r--r--source/kde/kde/build/plasma-tests2
-rw-r--r--source/kde/kde/build/plasma-thunderbolt2
-rw-r--r--source/kde/kde/build/plasma-workspace2
-rw-r--r--source/kde/kde/build/plymouth-kcm2
-rw-r--r--source/kde/kde/build/sddm1
-rw-r--r--source/kde/kde/build/signon-kwallet-extension2
-rw-r--r--source/kde/kde/build/skanpage1
-rw-r--r--source/kde/kde/build/step2
-rw-r--r--source/kde/kde/build/tokodon1
-rw-r--r--source/kde/kde/build/user-manager2
-rw-r--r--source/kde/kde/build/wacomtablet2
-rw-r--r--source/kde/kde/build/zanshin1
-rw-r--r--source/kde/kde/cmake/alkimia26
-rw-r--r--source/kde/kde/cmake/analitza25
-rw-r--r--source/kde/kde/cmake/baloo24
-rw-r--r--source/kde/kde/cmake/calligra11
-rw-r--r--source/kde/kde/cmake/cmake2
-rw-r--r--source/kde/kde/cmake/digikam20
-rw-r--r--source/kde/kde/cmake/drkonqi (renamed from source/kde/kde/cmake/kopete)4
-rw-r--r--source/kde/kde/cmake/frameworkintegration27
-rw-r--r--source/kde/kde/cmake/frameworks22
-rw-r--r--source/kde/kde/cmake/gwenview2
-rw-r--r--source/kde/kde/cmake/k3b22
-rw-r--r--source/kde/kde/cmake/kde420
-rw-r--r--source/kde/kde/cmake/kdepim23
-rw-r--r--source/kde/kde/cmake/kdevelop (renamed from source/kde/kde/cmake/kcoreaddons)4
-rw-r--r--source/kde/kde/cmake/kget23
-rw-r--r--source/kde/kde/cmake/kid315
-rw-r--r--source/kde/kde/cmake/kitinerary23
-rw-r--r--source/kde/kde/cmake/kjots23
-rw-r--r--source/kde/kde/cmake/kmymoney (renamed from source/kde/kde/cmake/kross-interpreters)4
-rw-r--r--source/kde/kde/cmake/kpat4
-rw-r--r--source/kde/kde/cmake/kpmcore24
-rw-r--r--source/kde/kde/cmake/krdc38
-rw-r--r--source/kde/kde/cmake/krita14
-rw-r--r--source/kde/kde/cmake/krusader24
-rw-r--r--source/kde/kde/cmake/kscreenlocker29
-rw-r--r--source/kde/kde/cmake/kservice27
-rw-r--r--source/kde/kde/cmake/kwallet-pam18
-rw-r--r--source/kde/kde/cmake/kwave25
-rw-r--r--source/kde/kde/cmake/kwin29
-rw-r--r--source/kde/kde/cmake/marble49
-rw-r--r--source/kde/kde/cmake/messagelib23
-rw-r--r--source/kde/kde/cmake/okular (renamed from source/kde/kde/cmake/kajongg)4
-rw-r--r--source/kde/kde/cmake/partitionmanager24
-rw-r--r--source/kde/kde/cmake/plasma24
-rw-r--r--source/kde/kde/cmake/plasma-browser-integration12
-rw-r--r--source/kde/kde/cmake/sddm35
-rw-r--r--source/kde/kde/cmake/sddm-kcm13
-rw-r--r--source/kde/kde/cmake/solid20
-rw-r--r--source/kde/kde/cmake/umbrello (renamed from source/kde/kde/cmake/applications)6
-rw-r--r--source/kde/kde/cmake/xdg-desktop-portal-kde24
-rw-r--r--source/kde/kde/doinst.sh/kinit4
-rw-r--r--source/kde/kde/doinst.sh/plasma-workspace (renamed from source/kde/kde/doinst.sh/sddm)3
-rwxr-xr-xsource/kde/kde/kde.SlackBuild4
-rw-r--r--source/kde/kde/kde.options17
-rw-r--r--source/kde/kde/make/marble29
-rw-r--r--source/kde/kde/modules/all-packaged-applications35
-rw-r--r--source/kde/kde/modules/applications31
-rw-r--r--source/kde/kde/modules/applications-extra6
-rw-r--r--source/kde/kde/modules/frameworks3
-rw-r--r--source/kde/kde/modules/kdepim12
-rw-r--r--source/kde/kde/modules/plasma19
-rw-r--r--source/kde/kde/modules/plasma-extra4
-rw-r--r--source/kde/kde/noarch1
-rw-r--r--source/kde/kde/patch/calligra.patch12
-rw-r--r--source/kde/kde/patch/calligra/calligra-gcc11.patch48
-rw-r--r--source/kde/kde/patch/calligra/calligra-openexr3.patch89
-rw-r--r--source/kde/kde/patch/calligra/calligra.poppler.GfxFont.patch11
-rw-r--r--source/kde/kde/patch/calligra/poppler-22.03.0.patch46
-rw-r--r--source/kde/kde/patch/calligra/upstream_Fix-compile-with-newer-versions-of-poppler.patch22
-rw-r--r--source/kde/kde/patch/calligra/upstream_Fix-some-more-warnings.patch443
-rw-r--r--source/kde/kde/patch/calligra/upstream_Partial-update-of-Commit-62f51070-to-make-it-compile.patch (renamed from source/kde/kde/patch/calligra/0053-Partial-update-of-Commit-62f51070-to-make-it-compile.patch)6
-rw-r--r--source/kde/kde/patch/calligra/upstream_Remove-old-std-c-11-setting-for-Vc.patch32
-rw-r--r--source/kde/kde/patch/calligra/upstream_Small-CMake-modernization.patch128
-rw-r--r--source/kde/kde/patch/calligra/upstream_Update-Cmake-and-deps-Fix-Freetype-and-FontConfig-Li.patch38
-rw-r--r--source/kde/kde/patch/dolphin.patch2
-rw-r--r--source/kde/kde/patch/dolphin/dolphin_revert_noroot.patch23
-rw-r--r--source/kde/kde/patch/drkonqi.patch1
-rw-r--r--source/kde/kde/patch/drkonqi/drkonqi.disable.kuserfeedback.patch46
-rw-r--r--source/kde/kde/patch/falkon.patch2
-rw-r--r--source/kde/kde/patch/falkon/falkon.qt-5.15.diff20
-rw-r--r--source/kde/kde/patch/kapidox.patch4
-rw-r--r--source/kde/kde/patch/kapidox/kapidox.CMakeLists.txt.diff39
-rw-r--r--source/kde/kde/patch/kate.patch3
-rw-r--r--source/kde/kde/patch/kate/kate_runasroot.patch44
-rw-r--r--source/kde/kde/patch/kdeconnect-kde.patch2
-rw-r--r--source/kde/kde/patch/kdeconnect-kde/kdeconnect-kde_openssh-8.2.diff12
-rw-r--r--source/kde/kde/patch/kdewebkit.patch2
-rw-r--r--source/kde/kde/patch/kdewebkit/kdewebkit.ECMFeatureSummary.patch9
-rw-r--r--source/kde/kde/patch/kglobalaccel.patch1
-rw-r--r--source/kde/kde/patch/kglobalaccel/48c3376927e5e9c13377bf3cfc8b0c411783e7f3.patch235
-rw-r--r--source/kde/kde/patch/kid3.patch1
-rw-r--r--source/kde/kde/patch/kid3/build-with-qt5.patch15
-rw-r--r--source/kde/kde/patch/kinfocenter.patch2
-rw-r--r--source/kde/kde/patch/kinfocenter/kinfocenter_libpci.patch17
-rw-r--r--source/kde/kde/patch/kopeninghours.patch4
-rw-r--r--source/kde/kde/patch/kopeninghours/kopeninghours.x86_64.python.libdir.diff11
-rw-r--r--source/kde/kde/patch/krename.patch1
-rw-r--r--source/kde/kde/patch/krename/krename.exiv2-0.28.diff11
-rw-r--r--source/kde/kde/patch/krita.patch1
-rw-r--r--source/kde/kde/patch/krita/sip-6.8.patch13
-rw-r--r--source/kde/kde/patch/kross-interpreters.patch1
-rw-r--r--source/kde/kde/patch/kross-interpreters/dump-python2.patch42
-rw-r--r--source/kde/kde/patch/kstars.patch4
-rw-r--r--source/kde/kde/patch/ktorrent/ktorrent.geoip.revert.6c1ae6b2530c5f7c72611a95aea92275520a5aee.patch654
-rw-r--r--source/kde/kde/patch/kwave.patch1
-rw-r--r--source/kde/kde/patch/kwave/kwave.gcc11.limits.patch10
-rw-r--r--source/kde/kde/patch/plasma-desktop.patch2
-rw-r--r--source/kde/kde/patch/plasma-framework.patch2
-rw-r--r--source/kde/kde/patch/plasma-framework/837bb6975f6a0661d211107823b7587808fc3d4e.patch44
-rw-r--r--source/kde/kde/patch/plasma-sdk.patch2
-rw-r--r--source/kde/kde/patch/plasma-workspace.patch4
-rw-r--r--source/kde/kde/patch/plasma-workspace/0001-Revert-No-icons-on-the-desktop-by-default.patch127
-rw-r--r--source/kde/kde/patch/plasma-workspace/0001-Set-GTK_BACKEND-x11-in-a-wayland-session.patch30
-rw-r--r--source/kde/kde/patch/sddm.patch14
-rw-r--r--source/kde/kde/patch/sddm/sddm.do.not.source.HOME.xsession.diff18
-rw-r--r--source/kde/kde/patch/sddm/sddm.fix.build.diff11
-rw-r--r--source/kde/kde/patch/sddm/sddm.list.X11.sessions.before.Wayland.Sessions.diff12
-rw-r--r--source/kde/kde/patch/sddm/sddm_honor-PAM-supplemental-groups-v2.patch183
-rw-r--r--source/kde/kde/patch/sddm/sddm_revert-honor-PAM-supplemental-groups.patch88
-rw-r--r--source/kde/kde/post-install/kde-cli-tools.post-install6
-rw-r--r--source/kde/kde/post-install/kdesu.post-install4
-rw-r--r--source/kde/kde/post-install/kscreenlocker.post-install4
-rw-r--r--source/kde/kde/post-install/kservice.post-install9
-rw-r--r--source/kde/kde/post-install/kservice/profile.d/kde.csh15
-rw-r--r--source/kde/kde/post-install/kservice/profile.d/kde.sh16
-rw-r--r--source/kde/kde/post-install/plasma-workspace.post-install26
-rw-r--r--source/kde/kde/post-install/sddm.post-install55
-rw-r--r--source/kde/kde/post-install/sddm/pam.d/sddm26
-rw-r--r--source/kde/kde/post-install/sddm/pam.d/sddm-autologin25
-rw-r--r--source/kde/kde/post-install/sddm/pam.d/sddm-greeter19
-rw-r--r--source/kde/kde/post-install/wicd-kde.post-install2
-rw-r--r--source/kde/kde/slack-desc/alligator (renamed from source/kde/kde/slack-desc/kdesdk-kioslaves)24
-rw-r--r--source/kde/kde/slack-desc/audiocd-kio12
-rw-r--r--source/kde/kde/slack-desc/aura-browser19
-rw-r--r--source/kde/kde/slack-desc/bluedevil2
-rw-r--r--source/kde/kde/slack-desc/breeze-gtk4
-rw-r--r--source/kde/kde/slack-desc/colord-kde19
-rw-r--r--source/kde/kde/slack-desc/drkonqi4
-rw-r--r--source/kde/kde/slack-desc/extra-cmake-modules2
-rw-r--r--source/kde/kde/slack-desc/ghostwriter19
-rw-r--r--source/kde/kde/slack-desc/kalendar19
-rw-r--r--source/kde/kde/slack-desc/kalk19
-rw-r--r--source/kde/kde/slack-desc/kde-cli-tools2
-rw-r--r--source/kde/kde/slack-desc/kde-inotify-survey19
-rw-r--r--source/kde/kde/slack-desc/kdelibs4support2
-rw-r--r--source/kde/kde/slack-desc/kdesdk-kio19
-rw-r--r--source/kde/kde/slack-desc/keysmith19
-rw-r--r--source/kde/kde/slack-desc/kile2
-rw-r--r--source/kde/kde/slack-desc/kio-admin19
-rw-r--r--source/kde/kde/slack-desc/kio-zeroconf19
-rw-r--r--source/kde/kde/slack-desc/kirigami-addons19
-rw-r--r--source/kde/kde/slack-desc/kjots2
-rw-r--r--source/kde/kde/slack-desc/kpipewire19
-rw-r--r--source/kde/kde/slack-desc/ksanecore19
-rw-r--r--source/kde/kde/slack-desc/ktextaddons19
-rw-r--r--source/kde/kde/slack-desc/kwave2
-rw-r--r--source/kde/kde/slack-desc/kwayland2
-rw-r--r--source/kde/kde/slack-desc/kxmlrpcclient2
-rw-r--r--source/kde/kde/slack-desc/latte-dock2
-rw-r--r--source/kde/kde/slack-desc/merkuro19
-rw-r--r--source/kde/kde/slack-desc/oxygen-icons19
-rw-r--r--source/kde/kde/slack-desc/oxygen-sounds19
-rw-r--r--source/kde/kde/slack-desc/plank-player19
-rw-r--r--source/kde/kde/slack-desc/plasma-bigscreen19
-rw-r--r--source/kde/kde/slack-desc/plasma-remotecontrollers19
-rw-r--r--source/kde/kde/slack-desc/sddm19
-rw-r--r--source/kde/kde/slack-desc/skanpage19
-rw-r--r--source/kde/kde/slack-desc/tokodon19
-rw-r--r--source/kde/kde/slack-desc/xdg-desktop-portal-kde4
-rw-r--r--source/kde/kde/slack-desc/zanshin19
-rw-r--r--source/kde/kde/slack-desc/zeroconf-ioslave19
-rwxr-xr-xsource/kde/kquickimageeditor/kquickimageeditor.SlackBuild151
-rw-r--r--source/kde/kquickimageeditor/slack-desc19
-rwxr-xr-xsource/kde/kuserfeedback/kuserfeedback.SlackBuild151
-rw-r--r--source/kde/kuserfeedback/slack-desc19
-rwxr-xr-xsource/kde/libindi/libindi.SlackBuild136
-rw-r--r--source/kde/libindi/libindi.url1
-rw-r--r--source/kde/libindi/slack-desc19
-rwxr-xr-xsource/kde/libnova/libnova.SlackBuild146
-rw-r--r--source/kde/libnova/libnova.url1
-rw-r--r--source/kde/libnova/slack-desc19
-rwxr-xr-xsource/kde/qca/qca.SlackBuild128
-rw-r--r--source/kde/qca/qca.url1
-rw-r--r--source/kde/qca/slack-desc19
-rwxr-xr-xsource/kde/qcoro/qcoro.SlackBuild124
-rw-r--r--source/kde/qcoro/qcoro.url1
-rw-r--r--source/kde/qcoro/slack-desc19
-rw-r--r--source/kde/stellarsolver/slack-desc19
-rwxr-xr-xsource/kde/stellarsolver/stellarsolver.SlackBuild123
-rw-r--r--source/kde/stellarsolver/stellarsolver.url1
-rw-r--r--source/kde/wcslib/slack-desc19
-rwxr-xr-xsource/kde/wcslib/wcslib.SlackBuild150
-rw-r--r--source/kde/wcslib/wcslib.url1
297 files changed, 4415 insertions, 2110 deletions
diff --git a/source/kde/FTBFSlog b/source/kde/FTBFSlog
index 50cdd0dbe..af5f19911 100644
--- a/source/kde/FTBFSlog
+++ b/source/kde/FTBFSlog
@@ -1,2 +1,10 @@
-Sat Dec 5 23:01:14 UTC 2020
+Thu Mar 14 18:59:29 UTC 2024
+ qcoro: -DUSE_QT_VERSION=5
+ kid3: -DQT_MAJOR_VERSION=5 -DBUILD_WITH_QT6=OFF, and then patch it to actually do that
++--------------------------+
+Tue Apr 26 19:35:10 UTC 2022
+ kde/digikam: fix build with latest akonadi-contacts. Thanks to nobodino.
++--------------------------+
+Mon Feb 7 20:57:55 UTC 2022
All packages tested and found to compile properly.
++--------------------------+
diff --git a/source/kde/kcm-fcitx/doinst.sh b/source/kde/fcitx5-configtool/doinst.sh
index 5fb28930d..4e8ba7071 100644
--- a/source/kde/kcm-fcitx/doinst.sh
+++ b/source/kde/fcitx5-configtool/doinst.sh
@@ -1,3 +1,4 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
+
diff --git a/source/kde/fcitx5-configtool/fcitx5-configtool-5.1.5.tar.zst b/source/kde/fcitx5-configtool/fcitx5-configtool-5.1.5.tar.zst
new file mode 100644
index 000000000..24264e24e
--- /dev/null
+++ b/source/kde/fcitx5-configtool/fcitx5-configtool-5.1.5.tar.zst
Binary files differ
diff --git a/source/kde/kcm-fcitx/kcm-fcitx.SlackBuild b/source/kde/fcitx5-configtool/fcitx5-configtool.SlackBuild
index 6a39b0cdb..a2e67f5c3 100755
--- a/source/kde/kcm-fcitx/kcm-fcitx.SlackBuild
+++ b/source/kde/fcitx5-configtool/fcitx5-configtool.SlackBuild
@@ -1,9 +1,7 @@
#!/bin/bash
-# Slackware build script for kcm-fcitx
-
-# Copyright 2012 vvoody <vvoodywang@gmail.com>
-# Copyright 2016, 2020 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2017 Heinz Wiesinger, Amsterdam, The Netherlands
+# Copyright 2017, 2020, 2024 Patrick J. Volkerding, Sebeka, MN, USA
#
# All rights reserved.
#
@@ -26,9 +24,9 @@
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM=kcm-fcitx
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | cut -f 2- -d _ | rev)}
-BUILD=${BUILD:-4}
+PKGNAM=fcitx5-configtool
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.zst | rev | cut -f 3- -d . | cut -f 1 -d - | cut -f 2- -d _ | rev)}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -51,7 +49,7 @@ elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
@@ -70,14 +68,14 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
fi
TMP=${TMP:-/tmp}
-PKG=$TMP/package-fcitx
+PKG=$TMP/package-fcitx5
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf kcm-fcitx-$VERSION
-tar xvf $CWD/kcm-fcitx-${VERSION}.tar.?z || exit 1
-cd kcm-fcitx-$VERSION || exit 1
+rm -rf fcitx5-configtool-$VERSION
+tar xvf $CWD/fcitx5-configtool-${VERSION}.tar.zst || exit 1
+cd fcitx5-configtool-$VERSION || exit 1
chown -R root:root .
find . \
@@ -86,27 +84,25 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-zcat $CWD/destroy-erroroverlay-with-base-widget.patch.gz | patch -p1 --verbose || exit 1
-
mkdir build
cd build
- cmake -DCMAKE_C_FLAGS:STRING=${SLKCFLAGS} \
- -DCMAKE_CXX_FLAGS:STRING=${SLKCFLAGS} \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_INSTALL_DIR=/usr/lib${LIBDIRSUFFIX} \
- ..
- make $NUMJOBS
- make install DESTDIR=$PKG
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="${SLKCFLAGS}" \
+ -DCMAKE_CXX_FLAGS:STRING="${SLKCFLAGS}" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \
+ -DUSE_QT6=Off \
+ ..
+
+ make $NUMJOBS || make || exit 1
+ make install/strip DESTDIR=$PKG || exit 1
cd ..
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a COPYING README $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a LICENSES/* README* $PKG/usr/doc/$PKGNAM-$VERSION
mkdir -p $PKG/install
-zcat $CWD/doinst.sh > $PKG/install/doinst.sh
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
diff --git a/source/kde/fcitx5-configtool/fcitx5-configtool.url b/source/kde/fcitx5-configtool/fcitx5-configtool.url
new file mode 100644
index 000000000..e388e8909
--- /dev/null
+++ b/source/kde/fcitx5-configtool/fcitx5-configtool.url
@@ -0,0 +1 @@
+https://download.fcitx-im.org/fcitx5/fcitx5-configtool/
diff --git a/source/kde/fcitx5-configtool/slack-desc b/source/kde/fcitx5-configtool/slack-desc
new file mode 100644
index 000000000..1b4b69421
--- /dev/null
+++ b/source/kde/fcitx5-configtool/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+fcitx5-configtool: fcitx5-configtool (Plasma config module for Fcitx5)
+fcitx5-configtool:
+fcitx5-configtool: Plasma/Qt config module for Fcitx5.
+fcitx5-configtool:
+fcitx5-configtool: Homepage: https://fcitx-im.org/wiki/Fcitx_5
+fcitx5-configtool:
+fcitx5-configtool:
+fcitx5-configtool:
+fcitx5-configtool:
+fcitx5-configtool:
+fcitx5-configtool:
diff --git a/source/kde/fcitx5-theme-breeze/fcitx5-theme-breeze.SlackBuild b/source/kde/fcitx5-theme-breeze/fcitx5-theme-breeze.SlackBuild
new file mode 100755
index 000000000..f08ba8c97
--- /dev/null
+++ b/source/kde/fcitx5-theme-breeze/fcitx5-theme-breeze.SlackBuild
@@ -0,0 +1,67 @@
+#!/bin/sh
+
+# Copyright 2022 Heinz Wiesinger, Amsterdam, The Netherlands
+# Copyright 2022 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=fcitx5-theme-breeze
+VERSION=${VERSION:-$(echo fcitx5-breeze-prebuilt-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+ARCH=noarch
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+echo "Version: $VERSION"
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf fcitx5-breeze
+tar xvf $CWD/fcitx5-breeze-prebuilt-$VERSION.tar.?z || exit 1
+cd fcitx5-breeze || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+./install.sh "$PKG/usr"
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a LICENSE README* $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/kde/fcitx5-theme-breeze/fcitx5-theme-breeze.url b/source/kde/fcitx5-theme-breeze/fcitx5-theme-breeze.url
new file mode 100644
index 000000000..eda6d1b0b
--- /dev/null
+++ b/source/kde/fcitx5-theme-breeze/fcitx5-theme-breeze.url
@@ -0,0 +1 @@
+https://github.com/scratch-er/fcitx5-breeze/releases
diff --git a/source/kde/fcitx5-theme-breeze/slack-desc b/source/kde/fcitx5-theme-breeze/slack-desc
new file mode 100644
index 000000000..a06a3bc3e
--- /dev/null
+++ b/source/kde/fcitx5-theme-breeze/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+fcitx5-theme-breeze: fcitx5-theme-breeze (Fcitx5 breeze theme)
+fcitx5-theme-breeze:
+fcitx5-theme-breeze: Fcitx5 theme to match KDE's Breeze style.
+fcitx5-theme-breeze:
+fcitx5-theme-breeze: Homepage: https://github.com/scratch-er/fcitx5-breeze
+fcitx5-theme-breeze:
+fcitx5-theme-breeze:
+fcitx5-theme-breeze:
+fcitx5-theme-breeze:
+fcitx5-theme-breeze:
+fcitx5-theme-breeze:
diff --git a/source/kde/futuresql/futuresql.SlackBuild b/source/kde/futuresql/futuresql.SlackBuild
new file mode 100755
index 000000000..2b404e328
--- /dev/null
+++ b/source/kde/futuresql/futuresql.SlackBuild
@@ -0,0 +1,151 @@
+#!/bin/bash
+
+# Copyright 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=futuresql
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DBUILD_SHARED_LIBS=ON \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/kde/futuresql/slack-desc b/source/kde/futuresql/slack-desc
new file mode 100644
index 000000000..bbf3b06bc
--- /dev/null
+++ b/source/kde/futuresql/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+futuresql: futuresql (A non-blocking database framework for Qt)
+futuresql:
+futuresql: FutureSQL was in part inspired by Diesel, and provides a higher level
+futuresql: of abstraction than QtSql. Its features include non-blocking database
+futuresql: access by default, relatively boilderplate-free queries, automatic
+futuresql: database migrations and simple mapping to objects.
+futuresql:
+futuresql:
+futuresql:
+futuresql:
+futuresql:
diff --git a/source/kde/kColorPicker/kColorPicker.SlackBuild b/source/kde/kColorPicker/kColorPicker.SlackBuild
new file mode 100755
index 000000000..c90a5d737
--- /dev/null
+++ b/source/kde/kColorPicker/kColorPicker.SlackBuild
@@ -0,0 +1,151 @@
+#!/bin/bash
+
+# Copyright 2022 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=kColorPicker
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DBUILD_SHARED_LIBS=ON \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/kde/kColorPicker/kColorPicker.url b/source/kde/kColorPicker/kColorPicker.url
new file mode 100644
index 000000000..fc7ac4e46
--- /dev/null
+++ b/source/kde/kColorPicker/kColorPicker.url
@@ -0,0 +1 @@
+https://github.com/ksnip/kColorPicker
diff --git a/source/kde/kColorPicker/slack-desc b/source/kde/kColorPicker/slack-desc
new file mode 100644
index 000000000..dd3321513
--- /dev/null
+++ b/source/kde/kColorPicker/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kColorPicker: kColorPicker (popup color selector library)
+kColorPicker:
+kColorPicker: QToolButton with color popup menu with lets you select a color. The
+kColorPicker: popup features a color dialog button which can be used to add custom
+kColorPicker: colors to the popup menu.
+kColorPicker:
+kColorPicker:
+kColorPicker:
+kColorPicker:
+kColorPicker:
+kColorPicker:
diff --git a/source/kde/kImageAnnotator/kImageAnnotator.SlackBuild b/source/kde/kImageAnnotator/kImageAnnotator.SlackBuild
new file mode 100755
index 000000000..46a5332a0
--- /dev/null
+++ b/source/kde/kImageAnnotator/kImageAnnotator.SlackBuild
@@ -0,0 +1,151 @@
+#!/bin/bash
+
+# Copyright 2022 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=kImageAnnotator
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DBUILD_SHARED_LIBS=ON \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/kde/kImageAnnotator/kImageAnnotator.url b/source/kde/kImageAnnotator/kImageAnnotator.url
new file mode 100644
index 000000000..8a63d9749
--- /dev/null
+++ b/source/kde/kImageAnnotator/kImageAnnotator.url
@@ -0,0 +1 @@
+https://github.com/ksnip/kImageAnnotator
diff --git a/source/kde/kImageAnnotator/slack-desc b/source/kde/kImageAnnotator/slack-desc
new file mode 100644
index 000000000..f80b3c98a
--- /dev/null
+++ b/source/kde/kImageAnnotator/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kImageAnnotator: kImageAnnotator (library for annotating images)
+kImageAnnotator:
+kImageAnnotator: This package installs a library that is useful for annotating images.
+kImageAnnotator:
+kImageAnnotator:
+kImageAnnotator:
+kImageAnnotator:
+kImageAnnotator:
+kImageAnnotator:
+kImageAnnotator:
+kImageAnnotator:
diff --git a/source/kde/kcm-fcitx/destroy-erroroverlay-with-base-widget.patch b/source/kde/kcm-fcitx/destroy-erroroverlay-with-base-widget.patch
deleted file mode 100644
index dfb7c4513..000000000
--- a/source/kde/kcm-fcitx/destroy-erroroverlay-with-base-widget.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From b955a9fc005682ccde57aad3de68405e944f4cf7 Mon Sep 17 00:00:00 2001
-From: Weng Xuetian <wengxt@gmail.com>
-Date: Fri, 11 Dec 2020 12:44:32 -0800
-Subject: [PATCH] Destroy the error erroroverlay with base widget
-
-Fix #19
----
- src/erroroverlay.cpp | 3 ++-
- src/erroroverlay.h | 3 ++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/erroroverlay.cpp b/src/erroroverlay.cpp
-index efef8f5..0f85fbd 100644
---- a/src/erroroverlay.cpp
-+++ b/src/erroroverlay.cpp
-@@ -60,7 +60,8 @@ ErrorOverlay::ErrorOverlay(QWidget *baseWidget, QWidget *parent) :
- setAutoFillBackground(true);
-
- m_BaseWidget->installEventFilter(this);
--
-+ // Destory overlay with the base widget.
-+ connect(m_BaseWidget, SIGNAL(destroyed()), this, SLOT(deleteLater()));
- connect(Fcitx::Global::instance(), SIGNAL(connectStatusChanged(bool)), this, SLOT(onConnectStatusChanged(bool)));
- onConnectStatusChanged(Fcitx::Global::instance()->inputMethodProxy() != 0);
- }
-diff --git a/src/erroroverlay.h b/src/erroroverlay.h
-index cf8aeaf..847b456 100644
---- a/src/erroroverlay.h
-+++ b/src/erroroverlay.h
-@@ -21,6 +21,7 @@
- #define ERROROVERLAY_H
-
- #include <QWidget>
-+#include <QPointer>
-
- class ErrorOverlay : public QWidget
- {
-@@ -38,7 +39,7 @@ public slots:
- void reposition();
-
- private:
-- QWidget *m_BaseWidget;
-+ QPointer<QWidget> m_BaseWidget;
- bool m_enable;
- };
-
diff --git a/source/kde/kcm-fcitx/kcm-fcitx.url b/source/kde/kcm-fcitx/kcm-fcitx.url
deleted file mode 100644
index 31f0ec4ed..000000000
--- a/source/kde/kcm-fcitx/kcm-fcitx.url
+++ /dev/null
@@ -1 +0,0 @@
-http://github.com/fcitx/kcm-fcitx
diff --git a/source/kde/kcm-fcitx/slack-desc b/source/kde/kcm-fcitx/slack-desc
deleted file mode 100644
index a9eda5c2d..000000000
--- a/source/kde/kcm-fcitx/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.
-# Line up the first '|' above the ':' following the base package name, and
-# the '|' on the right side marks the last column you can put a character in.
-# You must make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':' except on otherwise blank lines.
-
- |-----handy-ruler------------------------------------------------------|
-kcm-fcitx: kcm-fcitx (KDE config module for Fcitx)
-kcm-fcitx:
-kcm-fcitx: kcm-fcitx is a configuration tool that is highly integrated with KDE.
-kcm-fcitx:
-kcm-fcitx: Features:
-kcm-fcitx: - Change input method list
-kcm-fcitx: - Change global configuration
-kcm-fcitx: - Change addon configuration and enable/disable addon.
-kcm-fcitx: - Download skin from kde-look.org
-kcm-fcitx:
-kcm-fcitx: Homepage: http://fcitx-im.org/wiki/Kcm
diff --git a/source/kde/kde/build/kdesdk-kioslaves b/source/kde/kde/build/alligator
index d00491fd7..d00491fd7 100644
--- a/source/kde/kde/build/kdesdk-kioslaves
+++ b/source/kde/kde/build/alligator
diff --git a/source/kde/kde/build/breeze-plymouth b/source/kde/kde/build/breeze-plymouth
index d00491fd7..0cfbf0888 100644
--- a/source/kde/kde/build/breeze-plymouth
+++ b/source/kde/kde/build/breeze-plymouth
@@ -1 +1 @@
-1
+2
diff --git a/source/kde/kde/build/calligra b/source/kde/kde/build/calligra
index b4de39476..e522732c7 100644
--- a/source/kde/kde/build/calligra
+++ b/source/kde/kde/build/calligra
@@ -1 +1 @@
-11
+38
diff --git a/source/kde/kde/build/calligraplan b/source/kde/kde/build/calligraplan
index 0cfbf0888..00750edc0 100644
--- a/source/kde/kde/build/calligraplan
+++ b/source/kde/kde/build/calligraplan
@@ -1 +1 @@
-2
+3
diff --git a/source/kde/kde/build/cantor b/source/kde/kde/build/cantor
index d00491fd7..7ed6ff82d 100644
--- a/source/kde/kde/build/cantor
+++ b/source/kde/kde/build/cantor
@@ -1 +1 @@
-1
+5
diff --git a/source/kde/kde/build/zeroconf-ioslave b/source/kde/kde/build/colord-kde
index d00491fd7..d00491fd7 100644
--- a/source/kde/kde/build/zeroconf-ioslave
+++ b/source/kde/kde/build/colord-kde
diff --git a/source/kde/kde/build/digikam b/source/kde/kde/build/digikam
index d00491fd7..0cfbf0888 100644
--- a/source/kde/kde/build/digikam
+++ b/source/kde/kde/build/digikam
@@ -1 +1 @@
-1
+2
diff --git a/source/kde/kde/build/discover b/source/kde/kde/build/discover
index d00491fd7..0cfbf0888 100644
--- a/source/kde/kde/build/discover
+++ b/source/kde/kde/build/discover
@@ -1 +1 @@
-1
+2
diff --git a/source/kde/kde/build/falkon b/source/kde/kde/build/falkon
index 00750edc0..d00491fd7 100644
--- a/source/kde/kde/build/falkon
+++ b/source/kde/kde/build/falkon
@@ -1 +1 @@
-3
+1
diff --git a/source/kde/kde/build/ghostwriter b/source/kde/kde/build/ghostwriter
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/source/kde/kde/build/ghostwriter
@@ -0,0 +1 @@
+1
diff --git a/source/kde/kde/build/kaccounts-integration b/source/kde/kde/build/kaccounts-integration
index 0cfbf0888..d00491fd7 100644
--- a/source/kde/kde/build/kaccounts-integration
+++ b/source/kde/kde/build/kaccounts-integration
@@ -1 +1 @@
-2
+1
diff --git a/source/kde/kde/build/kaccounts-providers b/source/kde/kde/build/kaccounts-providers
index 0cfbf0888..d00491fd7 100644
--- a/source/kde/kde/build/kaccounts-providers
+++ b/source/kde/kde/build/kaccounts-providers
@@ -1 +1 @@
-2
+1
diff --git a/source/kde/kde/build/kajongg b/source/kde/kde/build/kajongg
index 0cfbf0888..d00491fd7 100644
--- a/source/kde/kde/build/kajongg
+++ b/source/kde/kde/build/kajongg
@@ -1 +1 @@
-2
+1
diff --git a/source/kde/kde/build/kalendar b/source/kde/kde/build/kalendar
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/source/kde/kde/build/kalendar
@@ -0,0 +1 @@
+1
diff --git a/source/kde/kde/build/kalk b/source/kde/kde/build/kalk
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/source/kde/kde/build/kalk
@@ -0,0 +1 @@
+1
diff --git a/source/kde/kde/build/kapidox b/source/kde/kde/build/kapidox
index d00491fd7..0cfbf0888 100644
--- a/source/kde/kde/build/kapidox
+++ b/source/kde/kde/build/kapidox
@@ -1 +1 @@
-1
+2
diff --git a/source/kde/kde/build/kaudiocreator b/source/kde/kde/build/kaudiocreator
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/kaudiocreator
+++ b/source/kde/kde/build/kaudiocreator
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/kcalcore b/source/kde/kde/build/kcalcore
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/kcalcore
+++ b/source/kde/kde/build/kcalcore
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/kde-inotify-survey b/source/kde/kde/build/kde-inotify-survey
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/source/kde/kde/build/kde-inotify-survey
@@ -0,0 +1 @@
+1
diff --git a/source/kde/kde/build/kde-wallpapers b/source/kde/kde/build/kde-wallpapers
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/kde-wallpapers
+++ b/source/kde/kde/build/kde-wallpapers
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/kdeaccessibility b/source/kde/kde/build/kdeaccessibility
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/kdeaccessibility
+++ b/source/kde/kde/build/kdeaccessibility
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/kdeedu b/source/kde/kde/build/kdeedu
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/kdeedu
+++ b/source/kde/kde/build/kdeedu
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/kdegraphics b/source/kde/kde/build/kdegraphics
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/kdegraphics
+++ b/source/kde/kde/build/kdegraphics
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/kdenetwork b/source/kde/kde/build/kdenetwork
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/kdenetwork
+++ b/source/kde/kde/build/kdenetwork
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/kdepim b/source/kde/kde/build/kdepim
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/kdepim
+++ b/source/kde/kde/build/kdepim
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/kdepim-apps-libs b/source/kde/kde/build/kdepim-apps-libs
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/kdepim-apps-libs
+++ b/source/kde/kde/build/kdepim-apps-libs
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/kdesdk b/source/kde/kde/build/kdesdk
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/kdesdk
+++ b/source/kde/kde/build/kdesdk
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/kdesdk-kio b/source/kde/kde/build/kdesdk-kio
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/source/kde/kde/build/kdesdk-kio
@@ -0,0 +1 @@
+1
diff --git a/source/kde/kde/build/kdev-php b/source/kde/kde/build/kdev-php
index 0cfbf0888..d00491fd7 100644
--- a/source/kde/kde/build/kdev-php
+++ b/source/kde/kde/build/kdev-php
@@ -1 +1 @@
-2
+1
diff --git a/source/kde/kde/build/kdevelop b/source/kde/kde/build/kdevelop
index b8626c4cf..0cfbf0888 100644
--- a/source/kde/kde/build/kdevelop
+++ b/source/kde/kde/build/kdevelop
@@ -1 +1 @@
-4
+2
diff --git a/source/kde/kde/build/kdevelop-pg-qt b/source/kde/kde/build/kdevelop-pg-qt
index 00750edc0..d00491fd7 100644
--- a/source/kde/kde/build/kdevelop-pg-qt
+++ b/source/kde/kde/build/kdevelop-pg-qt
@@ -1 +1 @@
-3
+1
diff --git a/source/kde/kde/build/kdevplatform b/source/kde/kde/build/kdevplatform
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/kdevplatform
+++ b/source/kde/kde/build/kdevplatform
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/kdewebdev b/source/kde/kde/build/kdewebdev
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/kdewebdev
+++ b/source/kde/kde/build/kdewebdev
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/kdiagram b/source/kde/kde/build/kdiagram
index 00750edc0..7ed6ff82d 100644
--- a/source/kde/kde/build/kdiagram
+++ b/source/kde/kde/build/kdiagram
@@ -1 +1 @@
-3
+5
diff --git a/source/kde/kde/build/kdnssd b/source/kde/kde/build/kdnssd
index d00491fd7..0cfbf0888 100644
--- a/source/kde/kde/build/kdnssd
+++ b/source/kde/kde/build/kdnssd
@@ -1 +1 @@
-1
+2
diff --git a/source/kde/kde/build/keysmith b/source/kde/kde/build/keysmith
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/source/kde/kde/build/keysmith
@@ -0,0 +1 @@
+1
diff --git a/source/kde/kde/build/kfilemetadata b/source/kde/kde/build/kfilemetadata
index 0cfbf0888..00750edc0 100644
--- a/source/kde/kde/build/kfilemetadata
+++ b/source/kde/kde/build/kfilemetadata
@@ -1 +1 @@
-2
+3
diff --git a/source/kde/kde/build/kig b/source/kde/kde/build/kig
index d00491fd7..b8626c4cf 100644
--- a/source/kde/kde/build/kig
+++ b/source/kde/kde/build/kig
@@ -1 +1 @@
-1
+4
diff --git a/source/kde/kde/build/kile b/source/kde/kde/build/kile
index b4de39476..f5c89552b 100644
--- a/source/kde/kde/build/kile
+++ b/source/kde/kde/build/kile
@@ -1 +1 @@
-11
+32
diff --git a/source/kde/kde/build/kio-admin b/source/kde/kde/build/kio-admin
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/source/kde/kde/build/kio-admin
@@ -0,0 +1 @@
+1
diff --git a/source/kde/kde/build/kio-zeroconf b/source/kde/kde/build/kio-zeroconf
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/source/kde/kde/build/kio-zeroconf
@@ -0,0 +1 @@
+1
diff --git a/source/kde/kde/build/kirigami-addons b/source/kde/kde/build/kirigami-addons
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/source/kde/kde/build/kirigami-addons
@@ -0,0 +1 @@
+1
diff --git a/source/kde/kde/build/kitinerary b/source/kde/kde/build/kitinerary
index d00491fd7..00750edc0 100644
--- a/source/kde/kde/build/kitinerary
+++ b/source/kde/kde/build/kitinerary
@@ -1 +1 @@
-1
+3
diff --git a/source/kde/kde/build/kjots b/source/kde/kde/build/kjots
index 00750edc0..d00491fd7 100644
--- a/source/kde/kde/build/kjots
+++ b/source/kde/kde/build/kjots
@@ -1 +1 @@
-3
+1
diff --git a/source/kde/kde/build/klettres b/source/kde/kde/build/klettres
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/klettres
+++ b/source/kde/kde/build/klettres
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/kmymoney b/source/kde/kde/build/kmymoney
index d00491fd7..b8626c4cf 100644
--- a/source/kde/kde/build/kmymoney
+++ b/source/kde/kde/build/kmymoney
@@ -1 +1 @@
-1
+4
diff --git a/source/kde/kde/build/kopeninghours b/source/kde/kde/build/kopeninghours
index d00491fd7..b8626c4cf 100644
--- a/source/kde/kde/build/kopeninghours
+++ b/source/kde/kde/build/kopeninghours
@@ -1 +1 @@
-1
+4
diff --git a/source/kde/kde/build/kpeoplevcard b/source/kde/kde/build/kpeoplevcard
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/kpeoplevcard
+++ b/source/kde/kde/build/kpeoplevcard
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/kpipewire b/source/kde/kde/build/kpipewire
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/source/kde/kde/build/kpipewire
@@ -0,0 +1 @@
+1
diff --git a/source/kde/kde/build/krename b/source/kde/kde/build/krename
index 00750edc0..0cfbf0888 100644
--- a/source/kde/kde/build/krename
+++ b/source/kde/kde/build/krename
@@ -1 +1 @@
-3
+2
diff --git a/source/kde/kde/build/krita b/source/kde/kde/build/krita
index 0cfbf0888..45a4fb75d 100644
--- a/source/kde/kde/build/krita
+++ b/source/kde/kde/build/krita
@@ -1 +1 @@
-2
+8
diff --git a/source/kde/kde/build/kross-interpreters b/source/kde/kde/build/kross-interpreters
index d00491fd7..0cfbf0888 100644
--- a/source/kde/kde/build/kross-interpreters
+++ b/source/kde/kde/build/kross-interpreters
@@ -1 +1 @@
-1
+2
diff --git a/source/kde/kde/build/krusader b/source/kde/kde/build/krusader
index 00750edc0..d00491fd7 100644
--- a/source/kde/kde/build/krusader
+++ b/source/kde/kde/build/krusader
@@ -1 +1 @@
-3
+1
diff --git a/source/kde/kde/build/ksanecore b/source/kde/kde/build/ksanecore
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/source/kde/kde/build/ksanecore
@@ -0,0 +1 @@
+1
diff --git a/source/kde/kde/build/ksysguard b/source/kde/kde/build/ksysguard
index d00491fd7..0cfbf0888 100644
--- a/source/kde/kde/build/ksysguard
+++ b/source/kde/kde/build/ksysguard
@@ -1 +1 @@
-1
+2
diff --git a/source/kde/kde/build/ktextaddons b/source/kde/kde/build/ktextaddons
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/source/kde/kde/build/ktextaddons
@@ -0,0 +1 @@
+1
diff --git a/source/kde/kde/build/ktimetracker b/source/kde/kde/build/ktimetracker
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/ktimetracker
+++ b/source/kde/kde/build/ktimetracker
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/ktp-accounts-kcm b/source/kde/kde/build/ktp-accounts-kcm
index 0cfbf0888..d00491fd7 100644
--- a/source/kde/kde/build/ktp-accounts-kcm
+++ b/source/kde/kde/build/ktp-accounts-kcm
@@ -1 +1 @@
-2
+1
diff --git a/source/kde/kde/build/ktp-approver b/source/kde/kde/build/ktp-approver
index 0cfbf0888..d00491fd7 100644
--- a/source/kde/kde/build/ktp-approver
+++ b/source/kde/kde/build/ktp-approver
@@ -1 +1 @@
-2
+1
diff --git a/source/kde/kde/build/ktp-auth-handler b/source/kde/kde/build/ktp-auth-handler
index 0cfbf0888..d00491fd7 100644
--- a/source/kde/kde/build/ktp-auth-handler
+++ b/source/kde/kde/build/ktp-auth-handler
@@ -1 +1 @@
-2
+1
diff --git a/source/kde/kde/build/ktp-call-ui b/source/kde/kde/build/ktp-call-ui
index 0cfbf0888..d00491fd7 100644
--- a/source/kde/kde/build/ktp-call-ui
+++ b/source/kde/kde/build/ktp-call-ui
@@ -1 +1 @@
-2
+1
diff --git a/source/kde/kde/build/ktp-common-internals b/source/kde/kde/build/ktp-common-internals
index 0cfbf0888..d00491fd7 100644
--- a/source/kde/kde/build/ktp-common-internals
+++ b/source/kde/kde/build/ktp-common-internals
@@ -1 +1 @@
-2
+1
diff --git a/source/kde/kde/build/ktp-contact-list b/source/kde/kde/build/ktp-contact-list
index 0cfbf0888..d00491fd7 100644
--- a/source/kde/kde/build/ktp-contact-list
+++ b/source/kde/kde/build/ktp-contact-list
@@ -1 +1 @@
-2
+1
diff --git a/source/kde/kde/build/ktp-contact-runner b/source/kde/kde/build/ktp-contact-runner
index 0cfbf0888..d00491fd7 100644
--- a/source/kde/kde/build/ktp-contact-runner
+++ b/source/kde/kde/build/ktp-contact-runner
@@ -1 +1 @@
-2
+1
diff --git a/source/kde/kde/build/ktp-desktop-applets b/source/kde/kde/build/ktp-desktop-applets
index 0cfbf0888..d00491fd7 100644
--- a/source/kde/kde/build/ktp-desktop-applets
+++ b/source/kde/kde/build/ktp-desktop-applets
@@ -1 +1 @@
-2
+1
diff --git a/source/kde/kde/build/ktp-filetransfer-handler b/source/kde/kde/build/ktp-filetransfer-handler
index 0cfbf0888..d00491fd7 100644
--- a/source/kde/kde/build/ktp-filetransfer-handler
+++ b/source/kde/kde/build/ktp-filetransfer-handler
@@ -1 +1 @@
-2
+1
diff --git a/source/kde/kde/build/ktp-kded-module b/source/kde/kde/build/ktp-kded-module
index 0cfbf0888..d00491fd7 100644
--- a/source/kde/kde/build/ktp-kded-module
+++ b/source/kde/kde/build/ktp-kded-module
@@ -1 +1 @@
-2
+1
diff --git a/source/kde/kde/build/ktp-send-file b/source/kde/kde/build/ktp-send-file
index 0cfbf0888..d00491fd7 100644
--- a/source/kde/kde/build/ktp-send-file
+++ b/source/kde/kde/build/ktp-send-file
@@ -1 +1 @@
-2
+1
diff --git a/source/kde/kde/build/ktp-text-ui b/source/kde/kde/build/ktp-text-ui
index 0cfbf0888..d00491fd7 100644
--- a/source/kde/kde/build/ktp-text-ui
+++ b/source/kde/kde/build/ktp-text-ui
@@ -1 +1 @@
-2
+1
diff --git a/source/kde/kde/build/ktuberling b/source/kde/kde/build/ktuberling
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/ktuberling
+++ b/source/kde/kde/build/ktuberling
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/kuser b/source/kde/kde/build/kuser
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/kuser
+++ b/source/kde/kde/build/kuser
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/kwebkitpart b/source/kde/kde/build/kwebkitpart
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/kwebkitpart
+++ b/source/kde/kde/build/kwebkitpart
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/labplot b/source/kde/kde/build/labplot
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/labplot
+++ b/source/kde/kde/build/labplot
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/libkgeomap b/source/kde/kde/build/libkgeomap
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/libkgeomap
+++ b/source/kde/kde/build/libkgeomap
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/merkuro b/source/kde/kde/build/merkuro
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/source/kde/kde/build/merkuro
@@ -0,0 +1 @@
+1
diff --git a/source/kde/kde/build/okular b/source/kde/kde/build/okular
index d00491fd7..00750edc0 100644
--- a/source/kde/kde/build/okular
+++ b/source/kde/kde/build/okular
@@ -1 +1 @@
-1
+3
diff --git a/source/kde/kde/build/oxygen-fonts b/source/kde/kde/build/oxygen-fonts
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/oxygen-fonts
+++ b/source/kde/kde/build/oxygen-fonts
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/oxygen-gtk2 b/source/kde/kde/build/oxygen-gtk2
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/oxygen-gtk2
+++ b/source/kde/kde/build/oxygen-gtk2
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/oxygen-icons b/source/kde/kde/build/oxygen-icons
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/source/kde/kde/build/oxygen-icons
@@ -0,0 +1 @@
+1
diff --git a/source/kde/kde/build/oxygen-sounds b/source/kde/kde/build/oxygen-sounds
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/source/kde/kde/build/oxygen-sounds
@@ -0,0 +1 @@
+1
diff --git a/source/kde/kde/build/plasma-nano b/source/kde/kde/build/plasma-nano
index d00491fd7..0cfbf0888 100644
--- a/source/kde/kde/build/plasma-nano
+++ b/source/kde/kde/build/plasma-nano
@@ -1 +1 @@
-1
+2
diff --git a/source/kde/kde/build/plasma-phone-components b/source/kde/kde/build/plasma-phone-components
index d00491fd7..0cfbf0888 100644
--- a/source/kde/kde/build/plasma-phone-components
+++ b/source/kde/kde/build/plasma-phone-components
@@ -1 +1 @@
-1
+2
diff --git a/source/kde/kde/build/plasma-tests b/source/kde/kde/build/plasma-tests
index d00491fd7..0cfbf0888 100644
--- a/source/kde/kde/build/plasma-tests
+++ b/source/kde/kde/build/plasma-tests
@@ -1 +1 @@
-1
+2
diff --git a/source/kde/kde/build/plasma-thunderbolt b/source/kde/kde/build/plasma-thunderbolt
index d00491fd7..0cfbf0888 100644
--- a/source/kde/kde/build/plasma-thunderbolt
+++ b/source/kde/kde/build/plasma-thunderbolt
@@ -1 +1 @@
-1
+2
diff --git a/source/kde/kde/build/plasma-workspace b/source/kde/kde/build/plasma-workspace
index d00491fd7..0cfbf0888 100644
--- a/source/kde/kde/build/plasma-workspace
+++ b/source/kde/kde/build/plasma-workspace
@@ -1 +1 @@
-1
+2
diff --git a/source/kde/kde/build/plymouth-kcm b/source/kde/kde/build/plymouth-kcm
index d00491fd7..0cfbf0888 100644
--- a/source/kde/kde/build/plymouth-kcm
+++ b/source/kde/kde/build/plymouth-kcm
@@ -1 +1 @@
-1
+2
diff --git a/source/kde/kde/build/sddm b/source/kde/kde/build/sddm
deleted file mode 100644
index 45a4fb75d..000000000
--- a/source/kde/kde/build/sddm
+++ /dev/null
@@ -1 +0,0 @@
-8
diff --git a/source/kde/kde/build/signon-kwallet-extension b/source/kde/kde/build/signon-kwallet-extension
index 0cfbf0888..d00491fd7 100644
--- a/source/kde/kde/build/signon-kwallet-extension
+++ b/source/kde/kde/build/signon-kwallet-extension
@@ -1 +1 @@
-2
+1
diff --git a/source/kde/kde/build/skanpage b/source/kde/kde/build/skanpage
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/source/kde/kde/build/skanpage
@@ -0,0 +1 @@
+1
diff --git a/source/kde/kde/build/step b/source/kde/kde/build/step
index d00491fd7..0cfbf0888 100644
--- a/source/kde/kde/build/step
+++ b/source/kde/kde/build/step
@@ -1 +1 @@
-1
+2
diff --git a/source/kde/kde/build/tokodon b/source/kde/kde/build/tokodon
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/source/kde/kde/build/tokodon
@@ -0,0 +1 @@
+1
diff --git a/source/kde/kde/build/user-manager b/source/kde/kde/build/user-manager
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/user-manager
+++ b/source/kde/kde/build/user-manager
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/wacomtablet b/source/kde/kde/build/wacomtablet
index 00750edc0..d00491fd7 100644
--- a/source/kde/kde/build/wacomtablet
+++ b/source/kde/kde/build/wacomtablet
@@ -1 +1 @@
-3
+1
diff --git a/source/kde/kde/build/zanshin b/source/kde/kde/build/zanshin
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/source/kde/kde/build/zanshin
@@ -0,0 +1 @@
+1
diff --git a/source/kde/kde/cmake/alkimia b/source/kde/kde/cmake/alkimia
deleted file mode 100644
index aa5eaf686..000000000
--- a/source/kde/kde/cmake/alkimia
+++ /dev/null
@@ -1,26 +0,0 @@
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_BINARY_DIR=/usr \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DAPPDATA_INSTALL_DIR=/usr/share \
- -DDATA_INSTALL_DIR=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc/kde \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DBUILD_TESTING=OFF \
- -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
- ..
-
diff --git a/source/kde/kde/cmake/analitza b/source/kde/kde/cmake/analitza
deleted file mode 100644
index 995170e7c..000000000
--- a/source/kde/kde/cmake/analitza
+++ /dev/null
@@ -1,25 +0,0 @@
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_EXE_LINKER_FLAGS:STRING="-ltermcap" \
- -DCMAKE_EXE_LINKER_FLAGS_RELEASE:STRING="-ltermcap" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc/kde \
- -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DBUILD_TESTING=OFF \
- -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
- ..
-
diff --git a/source/kde/kde/cmake/baloo b/source/kde/kde/cmake/baloo
deleted file mode 100644
index 35943a870..000000000
--- a/source/kde/kde/cmake/baloo
+++ /dev/null
@@ -1,24 +0,0 @@
-# Change "-DKDEPIM_SUPPORT_BUILD=FALSE" to "-DKDEPIM_SUPPORT_BUILD=TRUE"
-# if we have a kdepimlibs-framework package.
-
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DBUILD_TESTING=OFF \
- -DKDEPIM_SUPPORT_BUILD=FALSE \
- ..
-
diff --git a/source/kde/kde/cmake/calligra b/source/kde/kde/cmake/calligra
index 87a381ca3..e680ddd8d 100644
--- a/source/kde/kde/cmake/calligra
+++ b/source/kde/kde/cmake/calligra
@@ -12,8 +12,13 @@ cd cmake-build
-DMAN_INSTALL_DIR=/usr/man \
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DIHAVEPATCHEDQT:BOOL=ON \
- -DOPENJPEG_INCLUDE_DIR=/usr/include/openmj2-2.1 \
- -DOPENJPEG_NAMES=openmj2 \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
+ -DCMAKE_CXX_STANDARD=17 \
..
diff --git a/source/kde/kde/cmake/cmake b/source/kde/kde/cmake/cmake
index d52f2db73..fc42943c0 100644
--- a/source/kde/kde/cmake/cmake
+++ b/source/kde/kde/cmake/cmake
@@ -13,11 +13,11 @@ cd cmake-build
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
-DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
-DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
-DBUILD_TESTING=OFF \
-DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
..
diff --git a/source/kde/kde/cmake/digikam b/source/kde/kde/cmake/digikam
index 2a44c815f..0f1d5ce33 100644
--- a/source/kde/kde/cmake/digikam
+++ b/source/kde/kde/cmake/digikam
@@ -1,35 +1,31 @@
-# https://bugs.kde.org/show_bug.cgi?id=377597 :
-# Don't try to compile documentation translations for the moment.
-# Only the English handbook compiles fine.
-# Use cmake option "-DDIGIKAMSC_COMPILE_DOC=OFF"
-
mkdir cmake-build
cd cmake-build
cmake \
$KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -std=c++11" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS -std=c++11" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DMAN_INSTALL_DIR=/usr/man \
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
-DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
-DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
-DBUILD_TESTING=OFF \
-DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
- -DENABLE_AKONADICONTACTSUPPORT=ON \
- -DENABLE_APPSTYLES=ON \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
-DENABLE_KFILEMETADATASUPPORT=ON \
-DENABLE_MEDIAPLAYER=ON \
+ -DENABLE_AKONADICONTACTSUPPORT=ON \
-DENABLE_MYSQLSUPPORT=ON \
- -DENABLE_OPENCV3=ON \
+ -DENABLE_APPSTYLES=ON \
-DENABLE_QWEBENGINE=ON \
- -DOpenGL_GL_PREFERENCE=GLVND \
+ -DSSE4_1_FOUND=OFF \
+ -DSSE4_2_FOUND=OFF \
..
diff --git a/source/kde/kde/cmake/kopete b/source/kde/kde/cmake/drkonqi
index 3b8c6b16a..27cd8fc15 100644
--- a/source/kde/kde/cmake/kopete
+++ b/source/kde/kde/cmake/drkonqi
@@ -13,12 +13,12 @@ cd cmake-build
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
-DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
-DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
-DBUILD_TESTING=OFF \
-DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
- -DWITH_wlm:BOOL=OFF \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
+ -DWITH_GDB12=ON \
..
diff --git a/source/kde/kde/cmake/frameworkintegration b/source/kde/kde/cmake/frameworkintegration
deleted file mode 100644
index 10e42ff06..000000000
--- a/source/kde/kde/cmake/frameworkintegration
+++ /dev/null
@@ -1,27 +0,0 @@
-# Workaround a bug in Qt 5.5.0 which makes OwnCloud crash when interacting
-# with the systray menu (and possibly other applications too)
-# by adding "-fno-strict-aliasing" to CFLAGS and CXXFLAGS
-# See also http://bugzilla.redhat.com/1255902
-# and https://bugreports.qt.io/browse/QTBUG-47863
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS -fno-strict-aliasing" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS -fno-strict-aliasing" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -fno-strict-aliasing" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS -fno-strict-aliasing" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc/kde \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -Dlconvert_executable=/usr/lib$LIBDIRSUFFIX/qt5/bin/lconvert \
- ..
-
diff --git a/source/kde/kde/cmake/frameworks b/source/kde/kde/cmake/frameworks
deleted file mode 100644
index 5dc9d4ff5..000000000
--- a/source/kde/kde/cmake/frameworks
+++ /dev/null
@@ -1,22 +0,0 @@
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc/kde \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -Dlconvert_executable=/usr/lib$LIBDIRSUFFIX/qt5/bin/lconvert \
- ..
-
diff --git a/source/kde/kde/cmake/gwenview b/source/kde/kde/cmake/gwenview
index 372a12c82..baf19ddba 100644
--- a/source/kde/kde/cmake/gwenview
+++ b/source/kde/kde/cmake/gwenview
@@ -13,12 +13,12 @@ cd cmake-build
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
-DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
-DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
-DBUILD_TESTING=OFF \
-DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
-DGWENVIEW_SEMANTICINFO_BACKEND="Baloo" \
..
diff --git a/source/kde/kde/cmake/k3b b/source/kde/kde/cmake/k3b
deleted file mode 100644
index 1db8970c9..000000000
--- a/source/kde/kde/cmake/k3b
+++ /dev/null
@@ -1,22 +0,0 @@
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc/kde \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DBUILD_TESTING:BOOL=OFF \
- -DK3B_ENABLE_HAL_SUPPORT:BOOL=OFF \
- -DK3B_ENABLE_PERMISSION_HELPER:BOOL=ON \
- -DKDE_INSTALL_LIBEXECDIR=/usr/lib$LIBDIRSUFFIX/kauth \
- ..
-
diff --git a/source/kde/kde/cmake/kde4 b/source/kde/kde/cmake/kde4
deleted file mode 100644
index ad52f43b5..000000000
--- a/source/kde/kde/cmake/kde4
+++ /dev/null
@@ -1,20 +0,0 @@
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE4_ENABLE_FINAL="ON" \
- -DKDE4_BUILD_TESTS=OFF \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc/kde \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DLIB_INSTALL_DIR=/usr/lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=/usr/lib$LIBDIRSUFFIX \
- ..
-
diff --git a/source/kde/kde/cmake/kdepim b/source/kde/kde/cmake/kdepim
deleted file mode 100644
index 16afbe719..000000000
--- a/source/kde/kde/cmake/kdepim
+++ /dev/null
@@ -1,23 +0,0 @@
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="-I/usr/include/grantlee-qt5 $SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="-I/usr/include/grantlee-qt5 $SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="-I/usr/include/grantlee-qt5 $SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="-I/usr/include/grantlee-qt5 $SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc/kde \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DBUILD_TESTING=OFF \
- -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
- ..
-
diff --git a/source/kde/kde/cmake/kcoreaddons b/source/kde/kde/cmake/kdevelop
index b1cc8566c..814d1d95d 100644
--- a/source/kde/kde/cmake/kcoreaddons
+++ b/source/kde/kde/cmake/kdevelop
@@ -13,12 +13,12 @@ cd cmake-build
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
-DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
-DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
-DBUILD_TESTING=OFF \
- -DCMAKE_DISABLE_FIND_PACKAGE_FAM=ON \
-DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
+ -DCLANG_BUILTIN_DIR=$(/bin/ls -d /usr/lib$LIBDIRSUFFIX/clang/*/include) \
..
diff --git a/source/kde/kde/cmake/kget b/source/kde/kde/cmake/kget
deleted file mode 100644
index f1107b0d6..000000000
--- a/source/kde/kde/cmake/kget
+++ /dev/null
@@ -1,23 +0,0 @@
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc/kde \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DLIB_INSTALL_DIR=/usr/lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=/usr/lib$LIBDIRSUFFIX \
- -DKDE4_BUILD_TESTS=OFF \
- -DWITH_NepomukCore=OFF \
- -DWITH_NepomukWidgets=OFF \
- -DWITH_KDE4Workspace=OFF \
- -DWITH_QGpgme=OFF \
- ..
-
diff --git a/source/kde/kde/cmake/kid3 b/source/kde/kde/cmake/kid3
index f893d9113..6776fac3d 100644
--- a/source/kde/kde/cmake/kid3
+++ b/source/kde/kde/cmake/kid3
@@ -2,21 +2,30 @@ mkdir cmake-build
cd cmake-build
cmake \
$KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DWITH_APPS="Qt;CLI;KDE" \
+ -DBUILD_TESTING=OFF \
+ -DBUILD_WITH_QT6=OFF \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
+ -DWITH_APPS="CLI;Qt;KDE" \
-DWITH_CHROMAPRINT=OFF \
- -DWITH_DOCDIR=share/kid3/doc \
-DWITH_FFMPEG=ON \
- -DWITH_GSTREAMER_VERSION="1.0" \
+ -DWITH_GSTREAMER=ON \
-DWITH_LIBDIR=lib$LIBDIRSUFFIX \
-DWITH_MANDIR=man \
+ -DWITH_DOCDIR=share/kid3/doc \
-DWITH_NO_MANCOMPRESS=ON \
..
diff --git a/source/kde/kde/cmake/kitinerary b/source/kde/kde/cmake/kitinerary
deleted file mode 100644
index 26bec90f6..000000000
--- a/source/kde/kde/cmake/kitinerary
+++ /dev/null
@@ -1,23 +0,0 @@
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="-I/usr/include/grantlee-qt5 $SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="-I/usr/include/grantlee-qt5 $SLKCFLAGS -fpermissive" \
- -DCMAKE_CXX_FLAGS:STRING="-I/usr/include/grantlee-qt5 $SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="-I/usr/include/grantlee-qt5 $SLKCFLAGS -fpermissive" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc/kde \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DBUILD_TESTING=OFF \
- -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
- ..
-
diff --git a/source/kde/kde/cmake/kjots b/source/kde/kde/cmake/kjots
deleted file mode 100644
index eb1da8e7e..000000000
--- a/source/kde/kde/cmake/kjots
+++ /dev/null
@@ -1,23 +0,0 @@
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="-I/usr/include/KF5/KTextWidgets $SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="-I/usr/include/KF5/KTextWidgets $SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="-I/usr/include/KF5/KTextWidgets $SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="-I/usr/include/KF5/KTextWidgets $SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc/kde \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DBUILD_TESTING=OFF \
- -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
- ..
-
diff --git a/source/kde/kde/cmake/kross-interpreters b/source/kde/kde/cmake/kmymoney
index 2fac2b13c..e46065418 100644
--- a/source/kde/kde/cmake/kross-interpreters
+++ b/source/kde/kde/cmake/kmymoney
@@ -2,7 +2,6 @@ mkdir cmake-build
cd cmake-build
cmake \
$KDE_OPT_ARGS \
- -DBUILD_ruby:BOOL=OFF \
-DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
@@ -14,11 +13,12 @@ cd cmake-build
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
-DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
-DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
-DBUILD_TESTING=OFF \
-DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
+ -DENABLE_WEBENGINE=ON \
..
diff --git a/source/kde/kde/cmake/kpat b/source/kde/kde/cmake/kpat
index 6776c972c..2798035e0 100644
--- a/source/kde/kde/cmake/kpat
+++ b/source/kde/kde/cmake/kpat
@@ -13,12 +13,12 @@ cd cmake-build
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
-DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
-DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
-DBUILD_TESTING=OFF \
- -DWITH_BH_SOLVER=OFF \
-DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
+ -DWITH_BH_SOLVER=OFF \
..
diff --git a/source/kde/kde/cmake/kpmcore b/source/kde/kde/cmake/kpmcore
deleted file mode 100644
index 86a37f9ae..000000000
--- a/source/kde/kde/cmake/kpmcore
+++ /dev/null
@@ -1,24 +0,0 @@
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DBUILD_TESTING=OFF \
- -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
- -DENABLE_UDISKS2=ON \
- ..
-
diff --git a/source/kde/kde/cmake/krdc b/source/kde/kde/cmake/krdc
deleted file mode 100644
index 3f694d163..000000000
--- a/source/kde/kde/cmake/krdc
+++ /dev/null
@@ -1,38 +0,0 @@
-# Since xfreerdp is a runtime dependency, krdc should not be looking for it
-# and disabling support for RDP if the binary is not found at compile-time...
-if which xfreerdp 1>/dev/null 2>&1 ; then
- AB_REMOVE_KLUDGE=0
-else
- AB_REMOVE_KLUDGE=1
- touch /usr/local/bin/xfreerdp
- chmod 755 /usr/local/bin/xfreerdp
-fi
-
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc/kde \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DBUILD_TESTING=OFF \
- -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
- ..
-
-# Cleanup:
-if [ $AB_REMOVE_KLUDGE -eq 1 ]; then
- rm -f /usr/local/bin/xfreerdp
-fi
-unset AB_REMOVE_KLUDGE
diff --git a/source/kde/kde/cmake/krita b/source/kde/kde/cmake/krita
index da7d063f3..6681d6b89 100644
--- a/source/kde/kde/cmake/krita
+++ b/source/kde/kde/cmake/krita
@@ -3,24 +3,22 @@ cd cmake-build
cmake \
$KDE_OPT_ARGS \
-DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS -fPIC" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS -fPIC" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -fPIC" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS -fPIC" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DMAN_INSTALL_DIR=/usr/man \
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
-DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
-DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
-DBUILD_TESTING=OFF \
- -DBUILD_KRITA_QT_DESIGNER_PLUGINS=ON \
-DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
- -DPACKAGERS_BUILD=ON \
- -DUSE_QT_XCB=ON \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
+ -DBUILD_KRITA_QT_DESIGNER_PLUGINS=ON \
..
diff --git a/source/kde/kde/cmake/krusader b/source/kde/kde/cmake/krusader
deleted file mode 100644
index 85364ffe5..000000000
--- a/source/kde/kde/cmake/krusader
+++ /dev/null
@@ -1,24 +0,0 @@
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc/kde \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DBUILD_TESTING=OFF \
- -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
- -DKDESU_PATH=/usr/lib${LIBDIRSUFFIX}/kf5/kdesu \
- ..
-
diff --git a/source/kde/kde/cmake/kscreenlocker b/source/kde/kde/cmake/kscreenlocker
deleted file mode 100644
index e505309b4..000000000
--- a/source/kde/kde/cmake/kscreenlocker
+++ /dev/null
@@ -1,29 +0,0 @@
-if [ "$SLACKPAM" == "no" ]; then
- DO_SLACKPAM="-DHAVE_SHADOW=TRUE -DPAM_REQUIRED=OFF"
-else
- DO_SLACKPAM=""
-fi
-
-mkdir cmake-build
-cd cmake-build
- cmake \
- $DO_SLACKPAM \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc/kde \
- -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
- ..
-
diff --git a/source/kde/kde/cmake/kservice b/source/kde/kde/cmake/kservice
deleted file mode 100644
index 414184589..000000000
--- a/source/kde/kde/cmake/kservice
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Need to append "-std=c99" to the # CMAKE_C_FLAGS, because of a bug in
-# flex-2.6.0 which generates a C code # with C++-style comments.
-# The bug has been fixed in flex 2.6.1 which is not part of Slackware.
-#
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS -std=c99" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS -std=c99" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc/kde \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DAPPLICATIONS_MENU_NAME="kf5-applications.menu" \
- ..
-
diff --git a/source/kde/kde/cmake/kwallet-pam b/source/kde/kde/cmake/kwallet-pam
index 641a4927b..321fca3cb 100644
--- a/source/kde/kde/cmake/kwallet-pam
+++ b/source/kde/kde/cmake/kwallet-pam
@@ -1,21 +1,23 @@
mkdir cmake-build
cd cmake-build
cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
- -DCMAKE_INSTALL_PREFIX=/ \
- -DKDE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
- -DKDE_INSTALL_LIBEXECDIR=lib$LIBDIRSUFFIX \
- -DKDE_INSTALL_MANDIR=/usr/man \
- -DKDE_INSTALL_QTPLUGINDIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DKDE_INSTALL_QMLDIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DKDE_INSTALL_SYSCONFDIR=/etc/kde \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
-DBUILD_TESTING=OFF \
-DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
+ -DCMAKE_INSTALL_PREFIX=/ \
..
diff --git a/source/kde/kde/cmake/kwave b/source/kde/kde/cmake/kwave
deleted file mode 100644
index 037bcd1f9..000000000
--- a/source/kde/kde/cmake/kwave
+++ /dev/null
@@ -1,25 +0,0 @@
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc/kde \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DBUILD_TESTING=OFF \
- -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
- -DWITH_MP3=ON \
- -DWITH_OGG_OPUS=OFF \
- ..
-
diff --git a/source/kde/kde/cmake/kwin b/source/kde/kde/cmake/kwin
deleted file mode 100644
index 7f5014a3a..000000000
--- a/source/kde/kde/cmake/kwin
+++ /dev/null
@@ -1,29 +0,0 @@
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DKDE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
- -DKDE_INSTALL_LIBEXECDIR=lib$LIBDIRSUFFIX \
- -DKDE_INSTALL_MANDIR=/usr/man \
- -DKDE_INSTALL_QTPLUGINDIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DKDE_INSTALL_QMLDIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DKDE_INSTALL_SYSCONFDIR=/etc/kde \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DBUILD_TESTING=OFF \
- -DHAVE_SHADOW=TRUE \
- -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
- ..
-
-# Nasty hack to fix something I could not fix in Qt5 package...
-# 9729: /usr/include/c++/9.1.0/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
-# 9733: make[2]: *** [plugins/qpa/CMakeFiles/KWinQpaPlugin.dir/build.make:63: plugins/qpa/CMakeFiles/KWinQpaPlugin.dir/KWinQpaPlugin_autogen/mocs_compilation.cpp.o] Error 1
-sed -i ./plugins/qpa/CMakeFiles/KWinQpaPlugin.dir/flags.make \
- -e "s/isystem/I/g"
diff --git a/source/kde/kde/cmake/marble b/source/kde/kde/cmake/marble
index 8778f2c90..9fc7c82d3 100644
--- a/source/kde/kde/cmake/marble
+++ b/source/kde/kde/cmake/marble
@@ -1,7 +1,6 @@
-function marble_configure()
-{
+mkdir cmake-build
+cd cmake-build
cmake \
- $* \
$KDE_OPT_ARGS \
-DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
@@ -11,44 +10,20 @@ function marble_configure()
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DMAN_INSTALL_DIR=/usr/man \
- -DKDE_INSTALL_SYSCONFDIR=/etc/kde \
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DBUILD_TESTING=OFF \
- ..
-}
-
-# Configure the Qt5 support first:
-mkdir cmake-build_qt5
-cd cmake-build_qt5
-marble_configure \
-DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DQT_PLUGINS_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
-DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
+ -DQT_PLUGINS_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DBUILD_TESTING=OFF \
+ -DBUILD_TOUCH=ON \
+ -DBUILD_MARBLE_EXAMPLES=OFF \
+ -DBUILD_MARBLE_TESTS=OFF \
+ -DMOBILE=OFF \
+ ..
-#
-#cd -
-#
-## Add Qt4 support (needed by libkgeomap):
-#mkdir cmake-build_qt4
-#cd cmake-build_qt4
-#QT5DIR="" \
-#QTDIR=/usr/lib${LIBDIRSUFFIX}/qt \
-#marble_configure \
-# -DQT_MOC_EXECUTABLE=/usr/lib${LIBDIRSUFFIX}/qt/bin/moc \
-# -DQT_QMAKE_EXECUTABLE=/usr/lib${LIBDIRSUFFIX}/qt/bin/qmake \
-# -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt/plugins \
-# -DQT_PLUGINS_DIR=lib$LIBDIRSUFFIX/qt/plugins \
-# -DMARBLE_PLUGIN_PATH=/usr/lib${LIBDIRSUFFIX}/marble4/plugins \
-# -DQT5BUILD=OFF \
-# -DCMAKE_DISABLE_FIND_PACKAGE_Qt5=ON \
-# -DCMAKE_DISABLE_FIND_PACKAGE_KF5=ON \
-# -DBUILD_MARBLE_TESTS=OFF \
-# -DBUILD_MARBLE_APPS=OFF
-#
-## make can pick up from here, and first build the Qt4, then Qt5 stuff.
-#
diff --git a/source/kde/kde/cmake/messagelib b/source/kde/kde/cmake/messagelib
deleted file mode 100644
index cfb135422..000000000
--- a/source/kde/kde/cmake/messagelib
+++ /dev/null
@@ -1,23 +0,0 @@
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -std=c++11" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS -std=c++11" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc/kde \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DBUILD_TESTING=OFF \
- -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
- ..
-
diff --git a/source/kde/kde/cmake/kajongg b/source/kde/kde/cmake/okular
index 907f021f1..deab6601e 100644
--- a/source/kde/kde/cmake/kajongg
+++ b/source/kde/kde/cmake/okular
@@ -13,12 +13,12 @@ cd cmake-build
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
-DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
-DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
-DBUILD_TESTING=OFF \
-DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
- -DINSTALL_KAJONGG=TRUE \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
+ -DFORCE_NOT_REQUIRED_DEPENDENCIES=Discount \
..
diff --git a/source/kde/kde/cmake/partitionmanager b/source/kde/kde/cmake/partitionmanager
deleted file mode 100644
index 86a37f9ae..000000000
--- a/source/kde/kde/cmake/partitionmanager
+++ /dev/null
@@ -1,24 +0,0 @@
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DBUILD_TESTING=OFF \
- -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
- -DENABLE_UDISKS2=ON \
- ..
-
diff --git a/source/kde/kde/cmake/plasma b/source/kde/kde/cmake/plasma
deleted file mode 100644
index 03067eef6..000000000
--- a/source/kde/kde/cmake/plasma
+++ /dev/null
@@ -1,24 +0,0 @@
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DKDE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
- -DKDE_INSTALL_LIBEXECDIR=lib$LIBDIRSUFFIX \
- -DKDE_INSTALL_MANDIR=/usr/man \
- -DKDE_INSTALL_QTPLUGINDIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DKDE_INSTALL_QMLDIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DKDE_INSTALL_SYSCONFDIR=/etc/kde \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DBUILD_TESTING=OFF \
- -DHAVE_SHADOW=TRUE \
- -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
- ..
-
diff --git a/source/kde/kde/cmake/plasma-browser-integration b/source/kde/kde/cmake/plasma-browser-integration
index 6e8d7d8cf..5ebecdb2e 100644
--- a/source/kde/kde/cmake/plasma-browser-integration
+++ b/source/kde/kde/cmake/plasma-browser-integration
@@ -9,16 +9,16 @@ cd cmake-build
-DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DKDE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
- -DKDE_INSTALL_LIBEXECDIR=lib$LIBDIRSUFFIX \
- -DKDE_INSTALL_MANDIR=/usr/man \
- -DKDE_INSTALL_QTPLUGINDIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DKDE_INSTALL_QMLDIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DKDE_INSTALL_SYSCONFDIR=/etc \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
-DBUILD_TESTING=OFF \
-DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
-DINSTALL_CHROME_MANIFEST=ON \
..
diff --git a/source/kde/kde/cmake/sddm b/source/kde/kde/cmake/sddm
deleted file mode 100644
index 8add3a98b..000000000
--- a/source/kde/kde/cmake/sddm
+++ /dev/null
@@ -1,35 +0,0 @@
-if [ "$SLACKPAM" == "no" ]; then
- DO_SLACKPAM="-DENABLE_PAM:BOOL=OFF"
-else
- DO_SLACKPAM="-DENABLE_PAM:BOOL=ON"
-fi
-
-if [ "$SLKELOGIND" == "no" ]; then
- DO_SLKELOGIND=""
-else
- DO_SLKELOGIND=" \
- -DNO_SYSTEMD:BOOL=TRUE \
- -DUSE_ELOGIND:BOOL=TRUE \
- "
-fi
-
-mkdir -p cmake-build
-cd cmake-build
- cmake \
- $DO_SLACKPAM \
- $DO_SLKELOGIND \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_MANDIR=/usr/man \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DBUILD_MAN_PAGES:BOOL=TRUE \
- -DDBUS_CONFIG_FILENAME="org.freedesktop.sddm.conf" \
- -DUSE_QT4:BOOL=FALSE \
- -DUSE_QT5:BOOL=TRUE \
- -DENABLE_JOURNALD:BOOL=FALSE \
- ..
-
diff --git a/source/kde/kde/cmake/sddm-kcm b/source/kde/kde/cmake/sddm-kcm
index 2c7f3ed01..3d8e2c35e 100644
--- a/source/kde/kde/cmake/sddm-kcm
+++ b/source/kde/kde/cmake/sddm-kcm
@@ -9,17 +9,16 @@ cd cmake-build
-DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DKDE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
- -DKDE_INSTALL_LIBEXECDIR=lib$LIBDIRSUFFIX \
- -DKDE_INSTALL_MANDIR=/usr/man \
- -DKDE_INSTALL_QTPLUGINDIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DKDE_INSTALL_QMLDIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DKDE_INSTALL_SYSCONFDIR=/etc/kde \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
-DBUILD_TESTING=OFF \
- -DHAVE_SHADOW=TRUE \
-DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
-DSDDM_CONFIG_DIR=/etc/sddm.conf.d \
-DSDDM_CONFIG_FILE=/etc/sddm.conf \
..
diff --git a/source/kde/kde/cmake/solid b/source/kde/kde/cmake/solid
index 7983cf159..30d5b647e 100644
--- a/source/kde/kde/cmake/solid
+++ b/source/kde/kde/cmake/solid
@@ -1,16 +1,10 @@
-#
-# Separate cmake file for solid is needed to append "-std=c99" to the
-# CMAKE_C_FLAGS, because of a bug in flex-2.6.0 which generates a C code
-# with C++-style comments. The bug has been fixed in flex 2.6.1 which
-# is not yet a part of Slackware.
-#
mkdir cmake-build
cd cmake-build
cmake \
$KDE_OPT_ARGS \
-DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS -std=c99" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS -std=c99" \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_BUILD_TYPE=Release \
@@ -19,10 +13,14 @@ cd cmake-build
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
-DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -Dlconvert_executable=/usr/lib$LIBDIRSUFFIX/qt5/bin/lconvert \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
+ -DWITH_NEW_POWER_ASYNC_API:BOOL=ON \
+ -DWITH_NEW_POWER_ASYNC_FREEDESKTOP:BOOL=ON \
+ -DWITH_NEW_SOLID_JOB:BOOL=ON \
..
diff --git a/source/kde/kde/cmake/applications b/source/kde/kde/cmake/umbrello
index ea4fc8488..c8c3ba960 100644
--- a/source/kde/kde/cmake/applications
+++ b/source/kde/kde/cmake/umbrello
@@ -13,13 +13,13 @@ cd cmake-build
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
- -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
-DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
-DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DBUILD_APIDOC=OFF \
-DBUILD_TESTING=OFF \
- -DBUILD_unittests=OFF \
-DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DBUILD_UNITTESTS=OFF \
+ -DBUILD_KF5=ON \
+ -DBUILD_APIDOC=OFF \
..
diff --git a/source/kde/kde/cmake/xdg-desktop-portal-kde b/source/kde/kde/cmake/xdg-desktop-portal-kde
deleted file mode 100644
index 78b9a7cea..000000000
--- a/source/kde/kde/cmake/xdg-desktop-portal-kde
+++ /dev/null
@@ -1,24 +0,0 @@
-mkdir cmake-build
-cd cmake-build
- cmake \
- $KDE_OPT_ARGS \
- -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DKDE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
- -DKDE_INSTALL_LIBEXECDIR=lib$LIBDIRSUFFIX \
- -DKDE_INSTALL_MANDIR=/usr/man \
- -DKDE_INSTALL_QTPLUGINDIR=lib$LIBDIRSUFFIX/qt5/plugins \
- -DKDE_INSTALL_QMLDIR=lib$LIBDIRSUFFIX/qt5/qml \
- -DKDE_INSTALL_SYSCONFDIR=/etc/kde \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DBUILD_TESTING=OFF \
- -DENABLE_PIPEWIRE=OFF \
- -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
- ..
-
diff --git a/source/kde/kde/doinst.sh/kinit b/source/kde/kde/doinst.sh/kinit
index 71da4cc7e..bbd35285c 100644
--- a/source/kde/kde/doinst.sh/kinit
+++ b/source/kde/kde/doinst.sh/kinit
@@ -1,4 +1,6 @@
# Run the 'setcap' command as standard Slackware packages do not store caps:
-if [ -f usr/lib/kf5/start_kdeinit ]; then
+if [ -f usr/lib/libexec/kf5/start_kdeinit ]; then
+ /sbin/setcap CAP_SYS_RESOURCE=+ep usr/lib/libexec/kf5/start_kdeinit
+elif [ -f usr/lib/kf5/start_kdeinit ]; then
/sbin/setcap CAP_SYS_RESOURCE=+ep usr/lib/kf5/start_kdeinit
fi
diff --git a/source/kde/kde/doinst.sh/sddm b/source/kde/kde/doinst.sh/plasma-workspace
index 13660d813..cb5080698 100644
--- a/source/kde/kde/doinst.sh/sddm
+++ b/source/kde/kde/doinst.sh/plasma-workspace
@@ -11,5 +11,4 @@ config() {
# Otherwise, we leave the .new copy for the admin to consider...
}
-config etc/sddm.conf.new
-config etc/default/sddm.new
+config etc/pam.d/kde.new
diff --git a/source/kde/kde/kde.SlackBuild b/source/kde/kde/kde.SlackBuild
index 459165b06..9cc3d21c3 100755
--- a/source/kde/kde/kde.SlackBuild
+++ b/source/kde/kde/kde.SlackBuild
@@ -396,7 +396,7 @@ build_mod_pkg () {
else
cp -a \
AUTHORS* CONTRIBUTING* COPYING* HACKING* \
- INSTALL* MAINTAINERS README* NEWS* TODO* \
+ INSTALL* LICENSE* MAINTAINERS README* NEWS* TODO* \
$PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
# If there's a ChangeLog, installing at least part of the recent
# history is useful, but don't let it get totally out of control:
@@ -568,5 +568,3 @@ do
done
exit 0
-
-
diff --git a/source/kde/kde/kde.options b/source/kde/kde/kde.options
index 4435ead77..38d0a01f8 100644
--- a/source/kde/kde/kde.options
+++ b/source/kde/kde/kde.options
@@ -53,16 +53,7 @@ export NUMJOBS
# Do not use "final build" unless we build an actual release.
export KDE_OPT_ARGS=" -Wno-dev -DBUILD_TESTING=OFF -DSITE=\"slackware.com\" -DKDE_DISTRIBUTION_TEXT=\"volkerdi@slackware.com\" "
-# Choose correct options depending on whether PAM is installed:
-if [ -L /lib${LIBDIRSUFFIX}/libpam.so.? ]; then
- SLACKPAM=${SLACKPAM:-"yes"}
-else
- SLACKPAM=${SLACKPAM:-"no"}
-fi
-
-# Choose correct options depending on whether elogind is installed:
-if [ -L /lib${LIBDIRSUFFIX}/libelogind.so.? ]; then
- SLKELOGIND=${SLKELOGIND:-"yes"}
-else
- SLKELOGIND=${SLKELOGIND:-"no"}
-fi
+# These options are no longer honored by anything shipped in Slackware, but
+# we'll keep setting them anyway for now:
+SLACKPAM=${SLACKPAM:-"yes"}
+SLKELOGIND=${SLKELOGIND:-"yes"}
diff --git a/source/kde/kde/make/marble b/source/kde/kde/make/marble
deleted file mode 100644
index 95ba2b1be..000000000
--- a/source/kde/kde/make/marble
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-## Marble's cmake left us in build_qt4,
-## so we build and install Qt4 support first:
-#make $NUMJOBS || make || exit 1
-#make install DESTDIR=$PKG || exit 1
-## Move the marble4 cmake file so that it will be found:
-#mkdir -p $PKG/usr/share/apps/cmake/modules
-#mv $PKG/usr/share/marble/cmake/FindMarble.cmake \
-# $PKG/usr/share/apps/cmake/modules/FindMarble.cmake
-## Rename the marble4 include dir to avoid a conflict with marble:
-#mv $PKG/usr/include/marble{,4}
-## And fix that include path in the cmake file too:
-#sed -i $PKG/usr/share/apps/cmake/modules/FindMarble.cmake \
-# -e 's,marble/MarbleModel.h,marble4/MarbleModel.h,'
-#
-## Go back to build_qt5 and build/install the Qt5 support:
-#cd ..
-## Fix installation of the designer plugins - only a problem for the Qt5 libs:
-#sed -i CMakeLists.txt \
-# -e 's,LIB_SUFFIX}/plugins,LIB_SUFFIX}/qt5/plugins,g'
-#cd build_qt5
-#
-
-# Fix installation of the designer plugins:
-sed -i ../CMakeLists.txt \
- -e 's,LIB_SUFFIX}/plugins,LIB_SUFFIX}/qt5/plugins,g'
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG || exit 1
-
diff --git a/source/kde/kde/modules/all-packaged-applications b/source/kde/kde/modules/all-packaged-applications
index 7b5551eb3..db2d4201f 100644
--- a/source/kde/kde/modules/all-packaged-applications
+++ b/source/kde/kde/modules/all-packaged-applications
@@ -17,23 +17,23 @@ akonadi-mime
akonadi-contacts
akonadi-notes
akonadi-search
-kalarmcal
kmailtransport
-akonadi-calendar
libkdepim
pimcommon
libgravatar
+messagelib
+akonadi-calendar
+calendarsupport
libksieve
mailimporter
-calendarsupport
eventviews
incidenceeditor
-messagelib
mailcommon
kleopatra
kpkpass
kopeninghours
kitinerary
+kaddressbook
kdepim-addons
kdepim-runtime
akonadi-calendar-tools
@@ -41,7 +41,6 @@ akonadiconsole
akonadi-import-wizard
akregator
grantlee-editor
-kaddressbook
kalarm
kmail
kmail-account-wizard
@@ -55,6 +54,8 @@ libkipi
kipi-plugins
libkexiv2
libkdcraw
+colord-kde
+ksanecore
libksane
gwenview
kio-extras
@@ -71,7 +72,7 @@ filelight
kcalc
kcharselect
kdf
-kfloppy
+#kfloppy
kgpg
print-manager
kbackup
@@ -87,14 +88,13 @@ dolphin-plugins
kcachegrind
kde-dev-scripts
kde-dev-utils
-kdesdk-kioslaves
+kdesdk-kio
kdesdk-thumbnailers
kross-interpreters
libkomparediff2
kompare
lokalize
poxml
-umbrello
kdegraphics-mobipocket
okular
kdegraphics-thumbnailers
@@ -120,7 +120,7 @@ k3b
kamoso
elisa
kdenetwork-filesharing
-zeroconf-ioslave
+kio-zeroconf
kget
kopete
krdc
@@ -141,6 +141,7 @@ kblocks
lskat
kreversi
bovo
+#kajongg
granatier
kmines
kiriki
@@ -207,3 +208,19 @@ ktorrent
kpmcore
partitionmanager
skanlite
+kdevelop
+kdev-php
+kdev-python
+umbrello
+zanshin
+falkon
+merkuro
+skanpage
+alligator
+ghostwriter
+#kalk
+kde-inotify-survey
+keysmith
+kio-admin
+# Sorry, the mpv/libass deps are getting this one yeeted
+#tokodon
diff --git a/source/kde/kde/modules/applications b/source/kde/kde/modules/applications
index f4d81d4d9..99e1900e1 100644
--- a/source/kde/kde/modules/applications
+++ b/source/kde/kde/modules/applications
@@ -5,6 +5,8 @@ libkipi
kipi-plugins
libkexiv2
libkdcraw
+colord-kde
+ksanecore
libksane
gwenview
@@ -30,7 +32,7 @@ filelight
kcalc
kcharselect
kdf
-kfloppy
+#kfloppy
kgpg
print-manager
kbackup
@@ -50,14 +52,13 @@ dolphin-plugins
kcachegrind
kde-dev-scripts
kde-dev-utils
-kdesdk-kioslaves
+kdesdk-kio
kdesdk-thumbnailers
kross-interpreters
libkomparediff2
kompare
lokalize
poxml
-umbrello
# Rest of kdegraphics:
kdegraphics-mobipocket
@@ -91,7 +92,7 @@ elisa
# kdenetwork:
kdenetwork-filesharing
-zeroconf-ioslave
+kio-zeroconf
kget
kopete
krdc
@@ -194,6 +195,7 @@ kdeconnect-kde
# New in 20.12.0:
markdownpart
kpublictransport
+kopeninghours
kosmindoormap
itinerary
kontrast
@@ -205,3 +207,24 @@ partitionmanager
# New in 21.08.0:
skanlite
+
+# kdevelop added to 21.12.0:
+kdevelop
+kdev-php
+kdev-python
+umbrello
+
+# New in 22.04.0:
+falkon
+#kalendar
+skanpage
+
+# New in 23.04.0:
+alligator
+ghostwriter
+#kalk
+kde-inotify-survey
+keysmith
+kio-admin
+# Sorry, the mpv/libass deps are getting this one yeeted
+#tokodon
diff --git a/source/kde/kde/modules/applications-extra b/source/kde/kde/modules/applications-extra
index a8e06a4d7..aaaab9f1b 100644
--- a/source/kde/kde/modules/applications-extra
+++ b/source/kde/kde/modules/applications-extra
@@ -3,10 +3,6 @@ calligra
calligraplan
digikam
krita
-falkon
-kdevelop-pg-qt
-kdevelop
-kdev-php
kdiagram
kjots
kstars
@@ -16,7 +12,6 @@ kile
kaudiocreator
kwebkitpart
oxygen-gtk2
-kdev-python
alkimia
kmymoney
okteta
@@ -24,3 +19,4 @@ krename
ktimetracker
labplot
kid3
+kdevelop-pg-qt
diff --git a/source/kde/kde/modules/frameworks b/source/kde/kde/modules/frameworks
index e2abbc3ea..6aa7fe3c2 100644
--- a/source/kde/kde/modules/frameworks
+++ b/source/kde/kde/modules/frameworks
@@ -35,7 +35,8 @@ kcontacts
breeze-icons
kapidox
kdnssd
-oxygen-icons5
+#oxygen-icons5
+oxygen-icons
kauth
kcrash
kjobwidgets
diff --git a/source/kde/kde/modules/kdepim b/source/kde/kde/modules/kdepim
index b36ce2582..831d75c8d 100644
--- a/source/kde/kde/modules/kdepim
+++ b/source/kde/kde/modules/kdepim
@@ -18,25 +18,23 @@ akonadi-mime
akonadi-contacts
akonadi-notes
akonadi-search
-kalarmcal
kmailtransport
-akonadi-calendar
-libkleo
-grantleetheme
libkdepim
pimcommon
libgravatar
+messagelib
+akonadi-calendar
+libkleo
+grantleetheme
libksieve
mailimporter
#kdepim-apps-libs
calendarsupport
eventviews
incidenceeditor
-messagelib
mailcommon
kleopatra
kpkpass
-kopeninghours
kitinerary
kdepim-addons
kdepim-runtime
@@ -55,3 +53,5 @@ korganizer
mbox-importer
pim-data-exporter
pim-sieve-editor
+zanshin
+merkuro
diff --git a/source/kde/kde/modules/plasma b/source/kde/kde/modules/plasma
index 8129d6289..ac873a3fd 100644
--- a/source/kde/kde/modules/plasma
+++ b/source/kde/kde/modules/plasma
@@ -1,4 +1,5 @@
# plasma
+kpipewire
kgamma5
kdecoration
breeze
@@ -6,21 +7,23 @@ breeze-gtk
breeze-grub
#breeze-plymouth
kwayland-integration
-kwayland-server
+# obsolete, removed:
+#kwayland-server
plasma-integration
kinfocenter
libksysguard
-ksysguard
+#ksysguard
layer-shell-qt
+libkscreen
kscreenlocker
kwin
kwrited
-libkscreen
milou
oxygen
+oxygen-sounds
plasma-workspace
kde-cli-tools
-# Circular dependency between plasma-workspace and kde-cli-tools
+# Circular dependency between plasma-workspace and kde-cli-tools:
plasma-workspace
systemsettings
plasma-desktop
@@ -40,7 +43,6 @@ plasma-sdk
plasma-pa
#plasma-tests
kactivitymanagerd
-user-manager
xdg-desktop-portal-kde
drkonqi
plasma-vault
@@ -51,8 +53,13 @@ plasma-disks
#discover
#plasma-thunderbolt
#plasma-nano
-#plasma-phone-components
+#plasma-mobile
plasma-firewall
plasma-systemmonitor
qqc2-breeze-style
ksystemstats
+# These need a few deps added first:
+#aura-browser
+#plank-player
+#plasma-bigscreen
+#plasma-remotecontrollers
diff --git a/source/kde/kde/modules/plasma-extra b/source/kde/kde/modules/plasma-extra
index e15d1a40b..bf207557b 100644
--- a/source/kde/kde/modules/plasma-extra
+++ b/source/kde/kde/modules/plasma-extra
@@ -1,8 +1,8 @@
-sddm
kpeoplevcard
pulseaudio-qt
latte-dock
oxygen-fonts
plasma-wayland-protocols
wacomtablet
-
+ktextaddons
+kirigami-addons
diff --git a/source/kde/kde/noarch b/source/kde/kde/noarch
index a1dd4c697..7e5f3e215 100644
--- a/source/kde/kde/noarch
+++ b/source/kde/kde/noarch
@@ -6,4 +6,5 @@ kde-wallpapers
oxygen-fonts
oxygen-icons
oxygen-icons5
+plasma-workspace-wallpapers
diff --git a/source/kde/kde/patch/calligra.patch b/source/kde/kde/patch/calligra.patch
index 380aaa942..a5a9d2047 100644
--- a/source/kde/kde/patch/calligra.patch
+++ b/source/kde/kde/patch/calligra.patch
@@ -1,4 +1,10 @@
-# Fix blank page in calligragemini
cat $CWD/patch/calligra/calligragemini_fix_blank_page_without_libgit2.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-cat $CWD/patch/calligra/0053-Partial-update-of-Commit-62f51070-to-make-it-compile.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-cat $CWD/patch/calligra/calligra-gcc11.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+cat $CWD/patch/calligra/calligra-openexr3.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+cat $CWD/patch/calligra/poppler-22.03.0.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+cat $CWD/patch/calligra/calligra.poppler.GfxFont.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+cat $CWD/patch/calligra/upstream_Partial-update-of-Commit-62f51070-to-make-it-compile.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+cat $CWD/patch/calligra/upstream_Fix-some-more-warnings.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+cat $CWD/patch/calligra/upstream_Small-CMake-modernization.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+cat $CWD/patch/calligra/upstream_Update-Cmake-and-deps-Fix-Freetype-and-FontConfig-Li.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+cat $CWD/patch/calligra/upstream_Remove-old-std-c-11-setting-for-Vc.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+cat $CWD/patch/calligra/upstream_Fix-compile-with-newer-versions-of-poppler.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/calligra/calligra-gcc11.patch b/source/kde/kde/patch/calligra/calligra-gcc11.patch
deleted file mode 100644
index c47895822..000000000
--- a/source/kde/kde/patch/calligra/calligra-gcc11.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff --git a/filters/sheets/excel/sidewinder/chartsubstreamhandler.cpp b/filters/sheets/excel/sidewinder/chartsubstreamhandler.cpp
-index feac1c6..5739328 100644
---- a/filters/sheets/excel/sidewinder/chartsubstreamhandler.cpp
-+++ b/filters/sheets/excel/sidewinder/chartsubstreamhandler.cpp
-@@ -19,6 +19,7 @@
- Boston, MA 02110-1301, USA
- */
-
-+#include <limits>
- #include "chartsubstreamhandler.h"
- #include "globalssubstreamhandler.h"
- #include "worksheetsubstreamhandler.h"
-diff --git a/filters/sheets/excel/sidewinder/objects.cpp b/filters/sheets/excel/sidewinder/objects.cpp
-index 7531dd7..6cbca37 100644
---- a/filters/sheets/excel/sidewinder/objects.cpp
-+++ b/filters/sheets/excel/sidewinder/objects.cpp
-@@ -17,6 +17,7 @@
- Boston, MA 02110-1301, USA
- */
-
-+#include <limits>
- #include "objects.h"
-
- #include "generated/simpleParser.h"
-diff --git a/filters/sheets/excel/sidewinder/utils.h b/filters/sheets/excel/sidewinder/utils.h
-index 6e012b2..61d7624 100644
---- a/filters/sheets/excel/sidewinder/utils.h
-+++ b/filters/sheets/excel/sidewinder/utils.h
-@@ -23,6 +23,7 @@
-
- #include "value.h"
- #include <map>
-+#include <limits>
-
- #include <QString>
- #include <QUuid>
-diff --git a/filters/sheets/excel/sidewinder/value.cpp b/filters/sheets/excel/sidewinder/value.cpp
-index bfa3351..3007058 100644
---- a/filters/sheets/excel/sidewinder/value.cpp
-+++ b/filters/sheets/excel/sidewinder/value.cpp
-@@ -17,6 +17,7 @@
- * Boston, MA 02110-1301, USA
- */
-
-+#include <limits>
- #include "value.h"
- #include "utils.h"
-
diff --git a/source/kde/kde/patch/calligra/calligra-openexr3.patch b/source/kde/kde/patch/calligra/calligra-openexr3.patch
new file mode 100644
index 000000000..98d8bf7fa
--- /dev/null
+++ b/source/kde/kde/patch/calligra/calligra-openexr3.patch
@@ -0,0 +1,89 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8955357ff97..ea56c84bb11 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -363,8 +363,13 @@ endif ()
+ ## Check for OpenEXR
+ ##
+
+-macro_optional_find_package(OpenEXR)
+-macro_bool_to_01(OPENEXR_FOUND HAVE_OPENEXR)
++macro_optional_find_package(Imath 3.0 CONFIG QUIET)
++if(TARGET Imath::Imath)
++ set(OPENEXR_LIBRARIES Imath::Imath)
++else()
++ macro_optional_find_package(OpenEXR)
++endif()
++macro_bool_to_01(OpenEXR_FOUND HAVE_OPENEXR)
+
+ ##
+ ## Test for GNU Scientific Library
+diff --git a/libs/pigment/CMakeLists.txt b/libs/pigment/CMakeLists.txt
+index a039251e2ad..6eb6a8e70b6 100644
+--- a/libs/pigment/CMakeLists.txt
++++ b/libs/pigment/CMakeLists.txt
+@@ -12,7 +12,7 @@ include_directories( ${PIGMENT_INCLUDES} ${Boost_INCLUDE_DIR})
+
+ set(FILE_OPENEXR_SOURCES)
+ set(LINK_OPENEXR_LIB)
+-if(OPENEXR_FOUND)
++if(OpenEXR_FOUND)
+ include_directories(${OPENEXR_INCLUDE_DIR})
+ set(LINK_OPENEXR_LIB ${OPENEXR_LIBRARIES})
+ add_definitions(${OPENEXR_DEFINITIONS})
+diff --git a/plugins/colorengines/lcms2/CMakeLists.txt b/plugins/colorengines/lcms2/CMakeLists.txt
+index 77807ff9702..920adbeaf87 100644
+--- a/plugins/colorengines/lcms2/CMakeLists.txt
++++ b/plugins/colorengines/lcms2/CMakeLists.txt
+@@ -31,7 +31,7 @@ include_directories(
+ ${CMAKE_CURRENT_SOURCE_DIR}/colorprofiles
+ )
+
+-if (HAVE_LCMS24 AND OPENEXR_FOUND)
++if (HAVE_LCMS24 AND OpenEXR_FOUND)
+ include_directories(
+ ${CMAKE_CURRENT_SOURCE_DIR}/colorspaces/gray_f16
+ ${CMAKE_CURRENT_SOURCE_DIR}/colorspaces/rgb_f16
+@@ -41,7 +41,7 @@ endif ()
+
+ set(FILE_OPENEXR_SOURCES)
+ set(LINK_OPENEXR_LIB)
+-if(OPENEXR_FOUND)
++if(OpenEXR_FOUND)
+ include_directories(${OPENEXR_INCLUDE_DIR})
+ set(LINK_OPENEXR_LIB ${OPENEXR_LIBRARIES})
+ add_definitions(${OPENEXR_DEFINITIONS})
+@@ -80,7 +80,7 @@ set ( lcmsengine_SRCS
+ LcmsEnginePlugin.cpp
+ )
+
+-if (HAVE_LCMS24 AND OPENEXR_FOUND)
++if (HAVE_LCMS24 AND OpenEXR_FOUND)
+ set ( lcmsengine_SRCS
+ ${lcmsengine_SRCS}
+ colorspaces/gray_f16/GrayF16ColorSpace.cpp
+diff --git a/plugins/colorengines/lcms2/tests/CMakeLists.txt b/plugins/colorengines/lcms2/tests/CMakeLists.txt
+index 2540acc834c..77bd0b3fe4a 100644
+--- a/plugins/colorengines/lcms2/tests/CMakeLists.txt
++++ b/plugins/colorengines/lcms2/tests/CMakeLists.txt
+@@ -12,7 +12,7 @@ include_directories( ../colorspaces/cmyk_u16
+ ../colorprofiles
+ ..
+ )
+-if(OPENEXR_FOUND)
++if(OpenEXR_FOUND)
+ include_directories(${OPENEXR_INCLUDE_DIR})
+ endif()
+ include_directories( ${PIGMENT_INCLUDES} ${LCMS2_INCLUDE_DIR} )
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4a77c4be50b..89636205c2b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -341,6 +341,7 @@ endif ()
+ macro_optional_find_package(Imath 3.0 CONFIG QUIET)
+ if(TARGET Imath::Imath)
+ set(OPENEXR_LIBRARIES Imath::Imath)
++ set(OpenEXR_FOUND TRUE)
+ else()
+ macro_optional_find_package(OpenEXR)
+ endif()
diff --git a/source/kde/kde/patch/calligra/calligra.poppler.GfxFont.patch b/source/kde/kde/patch/calligra/calligra.poppler.GfxFont.patch
new file mode 100644
index 000000000..071f6f6c8
--- /dev/null
+++ b/source/kde/kde/patch/calligra/calligra.poppler.GfxFont.patch
@@ -0,0 +1,11 @@
+--- ./filters/karbon/pdf/SvgOutputDev.cpp.orig 2020-05-14 01:51:30.000000000 -0500
++++ ./filters/karbon/pdf/SvgOutputDev.cpp 2022-05-02 01:24:57.902177123 -0500
+@@ -410,7 +410,7 @@
+ if (s->getLength() == 0)
+ return;
+
+- GfxFont * font = state->getFont();
++ std::shared_ptr<GfxFont> font = state->getFont();
+
+ QString str;
+
diff --git a/source/kde/kde/patch/calligra/poppler-22.03.0.patch b/source/kde/kde/patch/calligra/poppler-22.03.0.patch
new file mode 100644
index 000000000..a20747df5
--- /dev/null
+++ b/source/kde/kde/patch/calligra/poppler-22.03.0.patch
@@ -0,0 +1,46 @@
+diff -uprw calligra-3.2.1.orig/filters/karbon/pdf/CMakeLists.txt calligra-3.2.1/filters/karbon/pdf/CMakeLists.txt
+--- calligra-3.2.1.orig/filters/karbon/pdf/CMakeLists.txt 2020-05-14 09:51:30.000000000 +0300
++++ calligra-3.2.1/filters/karbon/pdf/CMakeLists.txt 2022-03-02 12:19:08.039939530 +0200
+@@ -14,6 +14,10 @@ if(Poppler_VERSION VERSION_LESS "0.83.0"
+ add_definitions("-DHAVE_POPPLER_PRE_0_83")
+ endif()
+
++if(Poppler_VERSION VERSION_LESS "22.3.0")
++ add_definitions("-DHAVE_POPPLER_PRE_22_3")
++endif()
++
+ set(pdf2svg_PART_SRCS PdfImportDebug.cpp PdfImport.cpp SvgOutputDev.cpp )
+
+ add_library(calligra_filter_pdf2svg MODULE ${pdf2svg_PART_SRCS})
+diff -uprw calligra-3.2.1.orig/filters/karbon/pdf/Pdf2OdgImport.cpp calligra-3.2.1/filters/karbon/pdf/Pdf2OdgImport.cpp
+--- calligra-3.2.1.orig/filters/karbon/pdf/Pdf2OdgImport.cpp 2020-05-14 09:51:30.000000000 +0300
++++ calligra-3.2.1/filters/karbon/pdf/Pdf2OdgImport.cpp 2022-03-02 12:20:35.125605950 +0200
+@@ -86,8 +86,12 @@ KoFilter::ConversionStatus Pdf2OdgImport
+ if (! globalParams)
+ return KoFilter::NotImplemented;
+
++#ifdef HAVE_POPPLER_PRE_22_3
+ GooString * fname = new GooString(QFile::encodeName(m_chain->inputFile()).data());
+ PDFDoc * pdfDoc = new PDFDoc(fname, 0, 0, 0);
++#else
++ PDFDoc * pdfDoc = new PDFDoc(std::make_unique<GooString>(QFile::encodeName(m_chain->inputFile()).data()));
++#endif
+ if (! pdfDoc) {
+ #ifdef HAVE_POPPLER_PRE_0_83
+ delete globalParams;
+diff -uprw calligra-3.2.1.orig/filters/karbon/pdf/PdfImport.cpp calligra-3.2.1/filters/karbon/pdf/PdfImport.cpp
+--- calligra-3.2.1.orig/filters/karbon/pdf/PdfImport.cpp 2020-05-14 09:51:30.000000000 +0300
++++ calligra-3.2.1/filters/karbon/pdf/PdfImport.cpp 2022-03-02 12:21:46.197510028 +0200
+@@ -73,8 +73,12 @@ KoFilter::ConversionStatus PdfImport::co
+ if (! globalParams)
+ return KoFilter::NotImplemented;
+
++#ifdef HAVE_POPPLER_PRE_22_3
+ GooString * fname = new GooString(QFile::encodeName(m_chain->inputFile()).data());
+ PDFDoc * pdfDoc = new PDFDoc(fname, 0, 0, 0);
++#else
++ PDFDoc * pdfDoc = new PDFDoc(std::make_unique<GooString>(QFile::encodeName(m_chain->inputFile()).data()));
++#endif
+ if (! pdfDoc) {
+ #ifdef HAVE_POPPLER_PRE_0_83
+ delete globalParams;
diff --git a/source/kde/kde/patch/calligra/upstream_Fix-compile-with-newer-versions-of-poppler.patch b/source/kde/kde/patch/calligra/upstream_Fix-compile-with-newer-versions-of-poppler.patch
new file mode 100644
index 000000000..7074bfcd1
--- /dev/null
+++ b/source/kde/kde/patch/calligra/upstream_Fix-compile-with-newer-versions-of-poppler.patch
@@ -0,0 +1,22 @@
+From 2f220c6d1418ce7fa509e0dc598a67e66908cbd3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=96mer=20Fad=C4=B1l=20Usta?= <omerusta@gmail.com>
+Date: Fri, 25 Feb 2022 15:52:31 +0000
+Subject: [PATCH] Fix compile with newer versions of poppler
+
+---
+ CMakeLists.txt | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -149,6 +149,10 @@ calligra_set_productset(${PRODUCTSET})
+ set(REQUIRED_KF5_VERSION "5.7.0")
+ set(REQUIRED_QT_VERSION "5.3.0")
+
++set(CMAKE_CXX_STANDARD 17)
++set(CMAKE_CXX_STANDARD_REQUIRED ON)
++set(CMAKE_CXX_EXTENSIONS OFF)
++
+ find_package(ECM 5.19 REQUIRED NO_MODULE)
+ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
+
diff --git a/source/kde/kde/patch/calligra/upstream_Fix-some-more-warnings.patch b/source/kde/kde/patch/calligra/upstream_Fix-some-more-warnings.patch
new file mode 100644
index 000000000..0b878b3bd
--- /dev/null
+++ b/source/kde/kde/patch/calligra/upstream_Fix-some-more-warnings.patch
@@ -0,0 +1,443 @@
+From 068cd9aec11052733e393976142516d2190e4564 Mon Sep 17 00:00:00 2001
+From: Pierre Ducroquet <pinaraf@pinaraf.info>
+Date: Sun, 28 Feb 2021 23:23:02 +0100
+Subject: [PATCH] Fix some more warnings
+
+---
+ filters/libmsooxml/MsooXmlDiagramReader_p.cpp | 1 +
+ filters/sheets/csv/csvimport.cc | 2 +-
+ filters/sheets/excel/sidewinder/excel.cpp | 1 +
+ filters/sheets/excel/sidewinder/formulas.cpp | 2 +-
+ filters/sheets/gnumeric/gnumericexport.cc | 5 ++---
+ filters/sheets/html/htmlexport.cc | 2 --
+ filters/sheets/latex/export/latexexport.cc | 1 -
+ filters/sheets/latex/export/table.cc | 1 +
+ filters/sheets/xlsx/XlsxXmlWorksheetReader.cpp | 1 -
+ filters/stage/pptx/PptxXmlDocumentReader.cpp | 2 +-
+ filters/words/msword-odf/texthandler.cpp | 2 ++
+ filters/words/msword-odf/wv2/src/parser9x.cpp | 4 +++-
+ filters/words/msword-odf/wv2/src/styles.cpp | 4 +---
+ filters/words/msword-odf/wv2/src/styles.h | 11 ++++++++---
+ gemini/lib/GeminiMainWindow.cpp | 2 ++
+ libs/pageapp/KoPAOdfPageSaveHelper.cpp | 2 +-
+ plugins/spacenavigator/SpaceNavigatorDevice.h | 6 ++----
+ plugins/spacenavigator/SpaceNavigatorEvent.h | 2 +-
+ plugins/spacenavigator/SpaceNavigatorPollingThread.h | 3 +--
+ plugins/vectorshape/VectorShape.cpp | 1 +
+ sheets/functions/datetime.cpp | 1 +
+ sheets/part/Digest.cpp | 8 ++++----
+ sheets/shape/TableToolFactory.h | 2 +-
+ sheets/tests/TestSort.cpp | 4 ++--
+ 24 files changed, 38 insertions(+), 32 deletions(-)
+
+diff --git a/filters/libmsooxml/MsooXmlDiagramReader_p.cpp b/filters/libmsooxml/MsooXmlDiagramReader_p.cpp
+index 14b08531262..14fc6ab9a71 100644
+--- a/filters/libmsooxml/MsooXmlDiagramReader_p.cpp
++++ b/filters/libmsooxml/MsooXmlDiagramReader_p.cpp
+@@ -872,6 +872,7 @@ void LayoutNodeAtom::finishBuild(Context* context) {
+ case AlgorithmAtom::UnknownAlg:
+ warnMsooXml << "Layout with name=" << m_name << "defines an unknown algorithm.";
+ // fall through and use the composite-algorithm
++ // fall through
+ case AlgorithmAtom::CompositeAlg: m_algorithmImpl = new CompositeAlgorithm; break;
+ case AlgorithmAtom::ConnectorAlg: m_algorithmImpl = new ConnectorAlgorithm; break;
+ case AlgorithmAtom::CycleAlg: m_algorithmImpl = new CycleAlgorithm; break;
+diff --git a/filters/sheets/csv/csvimport.cc b/filters/sheets/csv/csvimport.cc
+index 89fb7162e00..1008d186f18 100644
+--- a/filters/sheets/csv/csvimport.cc
++++ b/filters/sheets/csv/csvimport.cc
+@@ -97,8 +97,8 @@ KoFilter::ConversionStatus CSVFilter::convert(const QByteArray& from, const QByt
+ return KoFilter::FileNotFound;
+ }
+
+- QString csv_delimiter;
+ // ###### FIXME: disabled for now
++ //QString csv_delimiter;
+ //if (!config.isNull())
+ // csv_delimiter = config[0];
+
+diff --git a/filters/sheets/excel/sidewinder/excel.cpp b/filters/sheets/excel/sidewinder/excel.cpp
+index ab592225ca6..7fa5633d433 100644
+--- a/filters/sheets/excel/sidewinder/excel.cpp
++++ b/filters/sheets/excel/sidewinder/excel.cpp
+@@ -2449,6 +2449,7 @@ bool ExcelReader::load(Workbook* workbook, const char* filename)
+ } else {
+ bytes_read = combObjStream->read( buffer, markerOrLength );
+ QString ansiString = readByteString(buffer, markerOrLength);
++ Q_UNUSED(ansiString);
+ //TODO...
+ //printf( "markerOrLength=%i ansiString=%s\n",markerOrLength,ansiString.ascii() );
+ }
+diff --git a/filters/sheets/excel/sidewinder/formulas.cpp b/filters/sheets/excel/sidewinder/formulas.cpp
+index 62747469a49..0132d39e024 100644
+--- a/filters/sheets/excel/sidewinder/formulas.cpp
++++ b/filters/sheets/excel/sidewinder/formulas.cpp
+@@ -1513,7 +1513,7 @@ static void mergeTokens(UStringStack* stack, unsigned count, const QString &merg
+ if (!stack) return;
+ if (stack->size() < count) return;
+
+- QString s1, s2;
++ QString s1;
+
+ while (count) {
+ count--;
+diff --git a/filters/sheets/gnumeric/gnumericexport.cc b/filters/sheets/gnumeric/gnumericexport.cc
+index 1256c68bc74..2468548edb3 100644
+--- a/filters/sheets/gnumeric/gnumericexport.cc
++++ b/filters/sheets/gnumeric/gnumericexport.cc
+@@ -1293,15 +1293,13 @@ KoFilter::ConversionStatus GNUMERICExport::convert(const QByteArray& from, const
+ i = 0;
+ }
+
+- QString line;
+ for (int currentcolumn = 1; currentcolumn <= iMaxColumn; currentcolumn++) {
+ QDomElement cell_contents;
+ Cell cell(table, currentcolumn, currentrow);
+
+- QString text, style;
++ QString text;
+ QDomDocument domLink;
+ QDomElement domRoot;
+- QDomNode domNode;
+ QDomNodeList childNodes;
+
+ if (!cell.isDefault() && !cell.isEmpty()) {
+@@ -1342,6 +1340,7 @@ KoFilter::ConversionStatus GNUMERICExport::convert(const QByteArray& from, const
+ text = domNode.toElement().text();
+
+ while (!domNode.isNull()) {
++ QString style;
+ style = domNode.toElement().tagName();
+
+ if (style == "b")
+diff --git a/filters/sheets/html/htmlexport.cc b/filters/sheets/html/htmlexport.cc
+index 2d116e0608c..bf41a6f743e 100644
+--- a/filters/sheets/html/htmlexport.cc
++++ b/filters/sheets/html/htmlexport.cc
+@@ -242,7 +242,6 @@ void HTMLExport::convertSheet(Sheet *sheet, QString &str, int iMaxUsedRow, int i
+ i = 0;
+ }
+
+- QString separators;
+ QString line;
+ unsigned int nonempty_cells = 0;
+
+@@ -435,7 +434,6 @@ void HTMLExport::detectFilledCells(Sheet *sheet, int &rows, int &columns)
+ int iUsedColumn = 0;
+ for (int currentcolumn = 1 ; currentcolumn <= iMaxColumn ; currentcolumn++) {
+ cell = Cell(sheet, currentcolumn, currentrow);
+- QString text;
+ if (!cell.isDefault() && !cell.isEmpty()) {
+ iUsedColumn = currentcolumn;
+ }
+diff --git a/filters/sheets/latex/export/latexexport.cc b/filters/sheets/latex/export/latexexport.cc
+index 8d0698a3420..4f8caf235d9 100644
+--- a/filters/sheets/latex/export/latexexport.cc
++++ b/filters/sheets/latex/export/latexexport.cc
+@@ -38,7 +38,6 @@ LATEXExport::LATEXExport(QObject* parent, const QVariantList&) :
+
+ KoFilter::ConversionStatus LATEXExport::convert(const QByteArray& from, const QByteArray& to)
+ {
+- QString config;
+
+ if (to != "text/x-tex" || from != "application/x-kspread")
+ return KoFilter::NotImplemented;
+diff --git a/filters/sheets/latex/export/table.cc b/filters/sheets/latex/export/table.cc
+index 8d8b6701a39..e58827dfbc7 100644
+--- a/filters/sheets/latex/export/table.cc
++++ b/filters/sheets/latex/export/table.cc
+@@ -118,6 +118,7 @@ void Table::analyzePaper(const QDomNode node)
+
+ /* borders */
+ QDomNode border = getChild(node, "borders");
++ Q_UNUSED(border);
+ setBorderRight(getAttr(node, "right").toLong());
+ setBorderLeft(getAttr(node, "left").toLong());
+ setBorderBottom(getAttr(node, "bottom").toLong());
+diff --git a/filters/sheets/xlsx/XlsxXmlWorksheetReader.cpp b/filters/sheets/xlsx/XlsxXmlWorksheetReader.cpp
+index 782a5914729..eda8ffc6b47 100644
+--- a/filters/sheets/xlsx/XlsxXmlWorksheetReader.cpp
++++ b/filters/sheets/xlsx/XlsxXmlWorksheetReader.cpp
+@@ -872,7 +872,6 @@ KoFilter::ConversionStatus XlsxXmlWorksheetReader::read_conditionalFormatting()
+ while (index < m_conditionalIndices.size()) {
+ QString conditionalArea;
+ Condition examinedCondition = m_conditionalIndices.at(index);
+- QString sqrefOriginal = sqref;
+ int areaIndex = 0;
+ Condition previousCond;
+
+diff --git a/filters/stage/pptx/PptxXmlDocumentReader.cpp b/filters/stage/pptx/PptxXmlDocumentReader.cpp
+index 4cf86aea8c8..11b5ad266b9 100644
+--- a/filters/stage/pptx/PptxXmlDocumentReader.cpp
++++ b/filters/stage/pptx/PptxXmlDocumentReader.cpp
+@@ -316,7 +316,7 @@ KoFilter::ConversionStatus PptxXmlDocumentReader::read_sldId()
+
+ QString slideMasterPath, slideMasterFile;
+ MSOOXML::Utils::splitPathAndFile(m_context->relationships->targetForType(slidePath, slideFile, QLatin1String(MSOOXML::Schemas::officeDocument::relationships) + "/slideLayout"), &slideMasterPath, &slideMasterFile);
+- const QString slideMasterPathAndFile = m_context->relationships->targetForType(slideMasterPath, slideMasterFile, QLatin1String(MSOOXML::Schemas::officeDocument::relationships) + "/slideMaster");
++ // const QString slideMasterPathAndFile = m_context->relationships->targetForType(slideMasterPath, slideMasterFile, QLatin1String(MSOOXML::Schemas::officeDocument::relationships) + "/slideMaster");
+
+ // Delay the reading of a tableStyle until we find a table as we need the
+ // clrMap from the master slide
+diff --git a/filters/words/msword-odf/texthandler.cpp b/filters/words/msword-odf/texthandler.cpp
+index e167d86e028..89ef678961a 100644
+--- a/filters/words/msword-odf/texthandler.cpp
++++ b/filters/words/msword-odf/texthandler.cpp
+@@ -408,6 +408,7 @@ void WordsTextHandler::footnoteFound(wvWare::FootnoteData data,
+ }
+ case msonfcUCLetter:
+ letter = 'A';
++ // fall through
+ case msonfcLCLetter:
+ {
+ while (noteNumber / 25 > 0) {
+@@ -1064,6 +1065,7 @@ void WordsTextHandler::fieldStart(const wvWare::FLD* fld, wvWare::SharedPtr<cons
+ break;
+ case UNSUPPORTED:
+ warnMsDoc << "Warning: Fld data missing, ignoring!";
++ // fall through
+ default:
+ warnMsDoc << "Warning: unrecognized field type, ignoring!";
+ m_fld->m_type = UNSUPPORTED;
+diff --git a/filters/words/msword-odf/wv2/src/parser9x.cpp b/filters/words/msword-odf/wv2/src/parser9x.cpp
+index 9a6d1606ce9..e5d7d14691c 100644
+--- a/filters/words/msword-odf/wv2/src/parser9x.cpp
++++ b/filters/words/msword-odf/wv2/src/parser9x.cpp
+@@ -581,7 +581,8 @@ void Parser9x::processPiece( String* string, U32 fc, U32 limit, const Position&
+ // same ASCII code as TTP_MARK (0x0007), NOTE: table depth == 1
+ case CELL_MARK:
+ m_cellMarkFound = true;
+- // Fall-through intended. A row/cell end is also a paragraph end.
++ // A row/cell end is also a paragraph end.
++ // fall through
+ case PARAGRAPH_MARK:
+ {
+ // No "index - start + 1" here, as we don't want to copy the
+@@ -1064,6 +1065,7 @@ void Parser9x::emitSpecialCharacter( UChar character, U32 globalCP, SharedPtr<co
+ if (m_subDocument == Main) {
+ emitAnnotation( UString(character), globalCP, chp );
+ }
++ break;
+ }
+ case TextHandler::FieldEscapeChar:
+ wvlog << "Found an escape character ++++++++++++++++++++?" << endl;
+diff --git a/filters/words/msword-odf/wv2/src/styles.cpp b/filters/words/msword-odf/wv2/src/styles.cpp
+index f47c3dd8d51..d2c96e3d92b 100644
+--- a/filters/words/msword-odf/wv2/src/styles.cpp
++++ b/filters/words/msword-odf/wv2/src/styles.cpp
+@@ -42,7 +42,6 @@ STD::STD()
+ }
+
+ STD::STD( U16 baseSize, U16 totalSize, OLEStreamReader* stream, bool preservePos )
+-throw(InvalidFormatException)
+ {
+ clearInternal();
+ if (!read( baseSize, totalSize, stream, preservePos )) {
+@@ -112,7 +111,6 @@ STD& STD::operator=( const STD& rhs )
+ }
+
+ bool STD::read( const U16 cbStd, const U16 stdfSize, OLEStreamReader* stream, bool preservePos )
+-throw(InvalidFormatException)
+ {
+ U16 shifterU16;
+ S32 startOffset=stream->tell(); // address where the STD starts
+@@ -938,7 +936,7 @@ void Style::mergeUpechpx( const Style* parentStyle, WordVersion version )
+ }
+
+
+-StyleSheet::StyleSheet( OLEStreamReader* tableStream, U32 fcStshf, U32 lcbStshf ) throw(InvalidFormatException)
++StyleSheet::StyleSheet( OLEStreamReader* tableStream, U32 fcStshf, U32 lcbStshf )
+ : m_udsNum(0)
+ {
+ WordVersion version = Word8;
+diff --git a/filters/words/msword-odf/wv2/src/styles.h b/filters/words/msword-odf/wv2/src/styles.h
+index ba02def6845..41c8278dd21 100644
+--- a/filters/words/msword-odf/wv2/src/styles.h
++++ b/filters/words/msword-odf/wv2/src/styles.h
+@@ -58,8 +58,9 @@ struct STD
+ STD();
+ /**
+ * Simply calls read(...)
++ * @throw InvalidFormatException
+ */
+- STD( U16 stdfSize, U16 totalSize, OLEStreamReader* stream, bool preservePos = false ) throw(InvalidFormatException);
++ STD( U16 stdfSize, U16 totalSize, OLEStreamReader* stream, bool preservePos = false );
+ /**
+ * Attention: This struct allocates memory on the heap
+ */
+@@ -74,8 +75,9 @@ struct STD
+ * false the state of stream will be changed!
+ *
+ * @return true - success, false - failed
++ * @throw InvalidFormatException
+ */
+- bool read( const U16 cbStd, const U16 stdfSize, OLEStreamReader* stream, bool preservePos = false ) throw(InvalidFormatException);
++ bool read( const U16 cbStd, const U16 stdfSize, OLEStreamReader* stream, bool preservePos = false );
+
+ /**
+ * Same as reading :)
+@@ -365,7 +367,10 @@ private:
+ class WV2_EXPORT StyleSheet
+ {
+ public:
+- StyleSheet( OLEStreamReader* tableStream, U32 fcStshf, U32 lcbStshf ) throw(InvalidFormatException);
++ /**
++ * @throw InvalidFormatException
++ */
++ StyleSheet( OLEStreamReader* tableStream, U32 fcStshf, U32 lcbStshf );
+ ~StyleSheet();
+
+ /**
+diff --git a/gemini/lib/GeminiMainWindow.cpp b/gemini/lib/GeminiMainWindow.cpp
+index 3d05f6461e0..eb5f120c0f7 100644
+--- a/gemini/lib/GeminiMainWindow.cpp
++++ b/gemini/lib/GeminiMainWindow.cpp
+@@ -136,8 +136,10 @@ void GeminiMainWindow::setFullScreen(bool newState)
+ }
+
+
++
+ void GeminiMainWindow::changeState(GeminiMainWindow::GeminiState newState, bool lockNewState)
+ {
++ Q_UNUSED(lockNewState);
+ d->syncObject = new GeminiModeSynchronisationObject;
+
+ if(centralWidget()) {
+diff --git a/libs/pageapp/KoPAOdfPageSaveHelper.cpp b/libs/pageapp/KoPAOdfPageSaveHelper.cpp
+index 92c6dfd4cb4..068501c8af1 100644
+--- a/libs/pageapp/KoPAOdfPageSaveHelper.cpp
++++ b/libs/pageapp/KoPAOdfPageSaveHelper.cpp
+@@ -49,7 +49,7 @@ KoPAOdfPageSaveHelper::KoPAOdfPageSaveHelper( KoPADocument * doc, QList<KoPAPage
+ KoPAPage * p = static_cast<KoPAPage *>( page );
+ masterPages.insert( p->masterPage() );
+ }
+- m_masterPages = masterPages.toList();
++ m_masterPages = masterPages.values();
+ }
+ }
+
+diff --git a/plugins/spacenavigator/SpaceNavigatorDevice.h b/plugins/spacenavigator/SpaceNavigatorDevice.h
+index b9056ac98c1..ecd696e415f 100644
+--- a/plugins/spacenavigator/SpaceNavigatorDevice.h
++++ b/plugins/spacenavigator/SpaceNavigatorDevice.h
+@@ -31,10 +31,8 @@ public:
+ explicit SpaceNavigatorDevice(QObject *parent);
+ virtual ~SpaceNavigatorDevice();
+
+- /// reimplemented from KoInputDeviceHandler
+- virtual bool start();
+- /// reimplemented from KoInputDeviceHandler
+- virtual bool stop();
++ virtual bool start() override;
++ virtual bool stop() override;
+ private Q_SLOTS:
+ void slotMoveEvent( int x, int y, int z, int rx, int ry, int rz, Qt::MouseButtons );
+ void slotButtonEvent( int x, int y, int z, int rx, int ry, int rz, Qt::MouseButtons, Qt::MouseButton, int type );
+diff --git a/plugins/spacenavigator/SpaceNavigatorEvent.h b/plugins/spacenavigator/SpaceNavigatorEvent.h
+index 73751ec88ff..76ee8e2f880 100644
+--- a/plugins/spacenavigator/SpaceNavigatorEvent.h
++++ b/plugins/spacenavigator/SpaceNavigatorEvent.h
+@@ -33,7 +33,7 @@ public:
+ void setPosition( int x, int y, int z );
+ void setRotation( int rx, int ry, int rz );
+
+- virtual KoPointerEvent * pointerEvent();
++ virtual KoPointerEvent * pointerEvent() override;
+
+ private:
+ int m_x, m_y, m_z;
+diff --git a/plugins/spacenavigator/SpaceNavigatorPollingThread.h b/plugins/spacenavigator/SpaceNavigatorPollingThread.h
+index 62c4de8ab73..67d59177021 100644
+--- a/plugins/spacenavigator/SpaceNavigatorPollingThread.h
++++ b/plugins/spacenavigator/SpaceNavigatorPollingThread.h
+@@ -39,8 +39,7 @@ Q_SIGNALS:
+
+ protected:
+
+- /// reimplemented from QThread
+- virtual void run();
++ virtual void run() override;
+
+ private:
+ bool m_stopped;
+diff --git a/plugins/vectorshape/VectorShape.cpp b/plugins/vectorshape/VectorShape.cpp
+index a25ab3fc561..9acbd251c94 100644
+--- a/plugins/vectorshape/VectorShape.cpp
++++ b/plugins/vectorshape/VectorShape.cpp
+@@ -294,6 +294,7 @@ void VectorShape::saveOdf(KoShapeSavingContext & context) const
+ break;
+ case VectorTypeSvg:
+ mimeType = "image/svg+xml";
++ break;
+ default:
+ // FIXME: What here?
+ mimeType = "application/x-what";
+diff --git a/sheets/functions/datetime.cpp b/sheets/functions/datetime.cpp
+index 9f59fe2cf75..6157b0996c1 100644
+--- a/sheets/functions/datetime.cpp
++++ b/sheets/functions/datetime.cpp
+@@ -597,6 +597,7 @@ Value func_currentDate(valVector, ValueCalc * calc, FuncExtra *)
+ // Function: CURRENTTIME
+ Value func_currentTime(valVector, ValueCalc * calc, FuncExtra *)
+ {
++ Q_UNUSED(calc);
+ return Value(QTime::currentTime());
+ }
+
+diff --git a/sheets/part/Digest.cpp b/sheets/part/Digest.cpp
+index 8cd972db989..e9246ce6e7d 100644
+--- a/sheets/part/Digest.cpp
++++ b/sheets/part/Digest.cpp
+@@ -596,10 +596,10 @@ static void __rtl_digest_endSHA(DigestContextSHA *ctx)
+ }
+
+ switch (ctx->m_nDatLen & 0x03) {
+- case 0: X[i] = ((sal_uInt32)(*(p++))) << 0L;
+- case 1: X[i] |= ((sal_uInt32)(*(p++))) << 8L;
+- case 2: X[i] |= ((sal_uInt32)(*(p++))) << 16L;
+- case 3: X[i] |= ((sal_uInt32)(*(p++))) << 24L;
++ case 0: X[i] = ((sal_uInt32)(*(p++))) << 0L; /* fall through */
++ case 1: X[i] |= ((sal_uInt32)(*(p++))) << 8L; /* fall through */
++ case 2: X[i] |= ((sal_uInt32)(*(p++))) << 16L; /* fall through */
++ case 3: X[i] |= ((sal_uInt32)(*(p++))) << 24L; /* fall through */
+ }
+
+ __rtl_digest_swapLong(X, i + 1);
+diff --git a/sheets/shape/TableToolFactory.h b/sheets/shape/TableToolFactory.h
+index 679bfe14b8e..9412d8ffdc5 100644
+--- a/sheets/shape/TableToolFactory.h
++++ b/sheets/shape/TableToolFactory.h
+@@ -34,7 +34,7 @@ public:
+ TableToolFactory();
+ ~TableToolFactory();
+
+- KoToolBase* createTool(KoCanvasBase* canvas);
++ KoToolBase* createTool(KoCanvasBase* canvas) override;
+ };
+
+ } // namespace Sheets
+diff --git a/sheets/tests/TestSort.cpp b/sheets/tests/TestSort.cpp
+index b3f1e35169d..6354d79abc5 100644
+--- a/sheets/tests/TestSort.cpp
++++ b/sheets/tests/TestSort.cpp
+@@ -68,7 +68,7 @@ void TestSort::AscendingOrder()
+ command->setSheet(sheet);
+
+ // Parameters.
+- command->setSortRows(Qt::Vertical);
++ command->setSortRows(true);
+ command->setSkipFirst(false);
+ command->setCopyFormat(false);
+
+@@ -121,7 +121,7 @@ void TestSort::DescendingOrder()
+ command->setSheet(sheet);
+
+ // Parameters.
+- command->setSortRows(Qt::Vertical);
++ command->setSortRows(true);
+ command->setSkipFirst(false);
+ command->setCopyFormat(false);
+
+--
+2.35.1
+
diff --git a/source/kde/kde/patch/calligra/0053-Partial-update-of-Commit-62f51070-to-make-it-compile.patch b/source/kde/kde/patch/calligra/upstream_Partial-update-of-Commit-62f51070-to-make-it-compile.patch
index 46f6dd044..3715f3108 100644
--- a/source/kde/kde/patch/calligra/0053-Partial-update-of-Commit-62f51070-to-make-it-compile.patch
+++ b/source/kde/kde/patch/calligra/upstream_Partial-update-of-Commit-62f51070-to-make-it-compile.patch
@@ -1,8 +1,8 @@
From c7636fb343c848000300a9429410b74d17a4d54d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=96mer=20Fad=C4=B1l=20Usta?= <omerusta@gmail.com>
Date: Tue, 8 Jun 2021 05:13:23 +0000
-Subject: [PATCH 53/54] Partial update of Commit 62f51070 to make it
- compileable again
+Subject: [PATCH] Partial update of Commit 62f51070 to make it compileable
+ again
Cmake to 3.16
Fix Fontconfig's FOUND variable
@@ -82,5 +82,5 @@ index 16d7e066fa2..429afe79704 100644
--
-2.31.1
+2.33.0
diff --git a/source/kde/kde/patch/calligra/upstream_Remove-old-std-c-11-setting-for-Vc.patch b/source/kde/kde/patch/calligra/upstream_Remove-old-std-c-11-setting-for-Vc.patch
new file mode 100644
index 000000000..3ab8279c3
--- /dev/null
+++ b/source/kde/kde/patch/calligra/upstream_Remove-old-std-c-11-setting-for-Vc.patch
@@ -0,0 +1,32 @@
+From 19584bed9588860047e3bd04e3fd2cf7e36adc3a Mon Sep 17 00:00:00 2001
+From: Antonio Rojas <arojas@archlinux.org>
+Date: Sat, 8 Jan 2022 11:28:37 +0000
+Subject: [PATCH] Remove old -std=c++11 setting for Vc
+
+This is set by ECM nowadays, and causes issues when a newer standard is needed (eg. for latest poppler)
+---
+ CMakeLists.txt | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3a86ec88f7d..9e87b9bda89 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -520,14 +520,6 @@ if (BUILD_VC)
+ set(ADDITIONAL_VC_FLAGS "-Wabi -fabi-version=0 -ffp-contract=fast -fPIC")
+ endif()
+
+- #Handle Vc master
+- if(Vc_COMPILER_IS_GCC OR Vc_COMPILER_IS_CLANG)
+- AddCompilerFlag("-std=c++11" _ok)
+- if(NOT _ok)
+- AddCompilerFlag("-std=c++0x" _ok)
+- endif()
+- endif()
+-
+ macro(ko_compile_for_all_implementations_no_scalar _objs _src)
+ if(PACKAGERS_BUILD)
+ vc_compile_for_all_implementations(${_objs} ${_src} FLAGS ${ADDITIONAL_VC_FLAGS} ONLY SSE2 SSSE3 SSE4_1 AVX AVX2+FMA+BMI2)
+--
+2.35.1
+
diff --git a/source/kde/kde/patch/calligra/upstream_Small-CMake-modernization.patch b/source/kde/kde/patch/calligra/upstream_Small-CMake-modernization.patch
new file mode 100644
index 000000000..c309a99d6
--- /dev/null
+++ b/source/kde/kde/patch/calligra/upstream_Small-CMake-modernization.patch
@@ -0,0 +1,128 @@
+From 2ac46db52c6ad401f67ae5b5fcd859a5872f0311 Mon Sep 17 00:00:00 2001
+From: Pierre Ducroquet <pinaraf@pinaraf.info>
+Date: Sat, 1 May 2021 15:08:57 +0200
+Subject: [PATCH] Small CMake modernization
+
+Since we are now on CMake 3.2+, we can simplify policies.
+And in order to simplify further, remove our use of
+deprecated features in CMake.
+---
+ CMakeLists.txt | 21 +------------------
+ cmake/modules/MacroCalligraAddBenchmark.cmake | 2 +-
+ filters/words/msword-odf/wv2/CMakeLists.txt | 7 +------
+ .../wv2/src/generator/CMakeLists.txt | 7 +------
+ .../rtf/import/3rdparty/rtf-qt/CMakeLists.txt | 7 +------
+ 5 files changed, 5 insertions(+), 39 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fe6502493ed..b237f68fcb6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -4,24 +4,9 @@ project(calligra)
+
+ message(STATUS "Using CMake version: ${CMAKE_VERSION}")
+
+-if (POLICY CMP0002)
+- cmake_policy(SET CMP0002 OLD)
+-endif()
+-if (POLICY CMP0017)
+- cmake_policy(SET CMP0017 NEW)
+-endif ()
+ if (POLICY CMP0022)
+ cmake_policy(SET CMP0022 OLD)
+ endif ()
+-if (POLICY CMP0026)
+- cmake_policy(SET CMP0026 OLD)
+-endif()
+-if (POLICY CMP0046)
+- cmake_policy(SET CMP0046 OLD)
+-endif ()
+-if (POLICY CMP0059)
+- cmake_policy(SET CMP0059 OLD)
+-endif()
+ if (POLICY CMP0063)
+ cmake_policy(SET CMP0063 NEW)
+ endif()
+@@ -105,11 +90,7 @@ endif()
+ message(STATUS "Release build: ${RELEASE_BUILD}")
+
+ # use CPP-11
+-if (CMAKE_VERSION VERSION_LESS "3.1")
+- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+-else ()
+- set (CMAKE_CXX_STANDARD 11)
+-endif ()
++set (CMAKE_CXX_STANDARD 11)
+
+ ############
+ #############
+diff --git a/cmake/modules/MacroCalligraAddBenchmark.cmake b/cmake/modules/MacroCalligraAddBenchmark.cmake
+index bfd1e1dc938..ad428a8459d 100644
+--- a/cmake/modules/MacroCalligraAddBenchmark.cmake
++++ b/cmake/modules/MacroCalligraAddBenchmark.cmake
+@@ -41,7 +41,7 @@ macro (CALLIGRA_ADD_BENCHMARK _test_NAME)
+ endif()
+ endforeach(_filename)
+
+- get_target_property( loc ${_test_NAME} LOCATION )
++ set(loc $<TARGET_FILE:${_test_NAME}>)
+ if(WIN32)
+ if(MSVC_IDE)
+ string(REGEX REPLACE "\\$\\(.*\\)" "\${CTEST_CONFIGURATION_TYPE}" loc "${loc}")
+diff --git a/filters/words/msword-odf/wv2/CMakeLists.txt b/filters/words/msword-odf/wv2/CMakeLists.txt
+index 6f9cddfe018..421c20b60f1 100644
+--- a/filters/words/msword-odf/wv2/CMakeLists.txt
++++ b/filters/words/msword-odf/wv2/CMakeLists.txt
+@@ -1,12 +1,7 @@
+-cmake_minimum_required(VERSION 2.8.0)
++cmake_minimum_required(VERSION 3.2)
+
+ add_definitions(-DUNICODE -D_UNICODE)
+
+-#cmake_policy CMP0017 was introduced in version 2.8.4
+-if(${CMAKE_VERSION} VERSION_GREATER 2.8.3)
+- cmake_policy(SET CMP0017 NEW)
+-endif()
+-
+ # wv2 versioning
+ set( WV2_MAJOR_VERSION 0 )
+ set( WV2_MINOR_VERSION 9 )
+diff --git a/filters/words/msword-odf/wv2/src/generator/CMakeLists.txt b/filters/words/msword-odf/wv2/src/generator/CMakeLists.txt
+index 7d5086a0ebd..10d1c022e9e 100644
+--- a/filters/words/msword-odf/wv2/src/generator/CMakeLists.txt
++++ b/filters/words/msword-odf/wv2/src/generator/CMakeLists.txt
+@@ -1,10 +1,5 @@
+ # Generate parsers for some Word structures.
+-cmake_minimum_required(VERSION 2.8.0)
+-
+-#cmake_policy CMP0017 was introduced in version 2.8.4
+-if(${CMAKE_VERSION} VERSION_GREATER 2.8.3)
+- cmake_policy(SET CMP0017 NEW)
+-endif()
++cmake_minimum_required(VERSION 3.2.0)
+
+ set( scanner_word95
+ ${CMAKE_CURRENT_BINARY_DIR}/word95_generated.h
+diff --git a/filters/words/rtf/import/3rdparty/rtf-qt/CMakeLists.txt b/filters/words/rtf/import/3rdparty/rtf-qt/CMakeLists.txt
+index 41e932d5869..cbd6ad9a83e 100644
+--- a/filters/words/rtf/import/3rdparty/rtf-qt/CMakeLists.txt
++++ b/filters/words/rtf/import/3rdparty/rtf-qt/CMakeLists.txt
+@@ -1,14 +1,9 @@
+ project( RtfReader )
+
+-cmake_minimum_required(VERSION 2.8.12)
++cmake_minimum_required(VERSION 3.2)
+
+ include(GenerateExportHeader)
+
+-#cmake_policy CMP0017 was introduced in version 2.8.4
+-if(${CMAKE_VERSION} VERSION_GREATER 2.8.3)
+- cmake_policy(SET CMP0017 NEW)
+-endif()
+-
+ find_package(Qt5 5.2.0 REQUIRED Gui)
+
+ add_subdirectory( src )
+--
+2.35.1
+
diff --git a/source/kde/kde/patch/calligra/upstream_Update-Cmake-and-deps-Fix-Freetype-and-FontConfig-Li.patch b/source/kde/kde/patch/calligra/upstream_Update-Cmake-and-deps-Fix-Freetype-and-FontConfig-Li.patch
new file mode 100644
index 000000000..5f2718875
--- /dev/null
+++ b/source/kde/kde/patch/calligra/upstream_Update-Cmake-and-deps-Fix-Freetype-and-FontConfig-Li.patch
@@ -0,0 +1,38 @@
+From 62f510702ef9c34ac50f8d8601a4290ab558464c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=96mer=20Fad=C4=B1l=20Usta?= <omerusta@gmail.com>
+Date: Sun, 6 Jun 2021 08:41:05 +0000
+Subject: [PATCH] Update Cmake and deps, Fix Freetype and FontConfig Linkage
+
+Cmake to 3.16
+KF to 5.76
+QT to 5.12
+ECM follow KF's version
+Update CALLIGRA_YEAR to 2021
+Fix Fontconfig's FOUND variable
+Fix Fontconfig's include_dirs variable
+Use Correct Target to link FontConfig and Freetype
+---
+ CMakeLists.txt | 20 +++++++-------------
+ libs/text/CMakeLists.txt | 4 ++--
+ 2 files changed, 9 insertions(+), 15 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b237f68fcb6..cdcc02f0236 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -89,9 +89,6 @@ if(NOT DEFINED RELEASE_BUILD)
+ endif()
+ message(STATUS "Release build: ${RELEASE_BUILD}")
+
+-# use CPP-11
+-set (CMAKE_CXX_STANDARD 11)
+-
+ ############
+ #############
+ ## Options ##
+ endif()
+
+
+--
+2.35.1
+
diff --git a/source/kde/kde/patch/dolphin.patch b/source/kde/kde/patch/dolphin.patch
deleted file mode 100644
index 02a7950c8..000000000
--- a/source/kde/kde/patch/dolphin.patch
+++ /dev/null
@@ -1,2 +0,0 @@
-# Let the user decide whether she wants to run Dolphin as root:
-cat $CWD/patch/dolphin/dolphin_revert_noroot.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/dolphin/dolphin_revert_noroot.patch b/source/kde/kde/patch/dolphin/dolphin_revert_noroot.patch
deleted file mode 100644
index 423e17074..000000000
--- a/source/kde/kde/patch/dolphin/dolphin_revert_noroot.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-# Let the user decide whether she wants to run Dolphin as root:
-
-diff -uar dolphin-18.08.0.orig/src/main.cpp dolphin-18.08.0/src/main.cpp
---- dolphin-18.08.0.orig/src/main.cpp 2018-08-06 22:41:40.000000000 +0200
-+++ dolphin-18.08.0/src/main.cpp 2018-08-11 00:32:48.073913157 +0200
-@@ -43,14 +43,12 @@
- extern "C" Q_DECL_EXPORT int kdemain(int argc, char **argv)
- {
- #ifndef Q_OS_WIN
-- // Prohibit using sudo or kdesu (but allow using the root user directly)
-+ // Warn using sudo or kdesu (but allow using the root user directly)
- if (getuid() == 0) {
- if (!qEnvironmentVariableIsEmpty("SUDO_USER")) {
-- std::cout << "Executing Dolphin with sudo is not possible due to unfixable security vulnerabilities." << std::endl;
-- return EXIT_FAILURE;
-+ std::cout << "Executing Dolphin with sudo is UNSAFE due to unfixable security vulnerabilities." << std::endl;
- } else if (!qEnvironmentVariableIsEmpty("KDESU_USER")) {
-- std::cout << "Executing Dolphin with kdesu is not possible due to unfixable security vulnerabilities." << std::endl;
-- return EXIT_FAILURE;
-+ std::cout << "Executing Dolphin with kdesu is UNSAFE due to unfixable security vulnerabilities." << std::endl;
- }
- }
- #endif
diff --git a/source/kde/kde/patch/drkonqi.patch b/source/kde/kde/patch/drkonqi.patch
new file mode 100644
index 000000000..bec49c925
--- /dev/null
+++ b/source/kde/kde/patch/drkonqi.patch
@@ -0,0 +1 @@
+cat $CWD/patch/drkonqi/drkonqi.disable.kuserfeedback.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/drkonqi/drkonqi.disable.kuserfeedback.patch b/source/kde/kde/patch/drkonqi/drkonqi.disable.kuserfeedback.patch
new file mode 100644
index 000000000..fa53e86fd
--- /dev/null
+++ b/source/kde/kde/patch/drkonqi/drkonqi.disable.kuserfeedback.patch
@@ -0,0 +1,46 @@
+--- ./CMakeLists.txt.orig 2023-02-09 05:58:46.000000000 -0600
++++ ./CMakeLists.txt 2023-02-14 16:05:41.083008231 -0600
+@@ -57,9 +57,6 @@
+ SyntaxHighlighting
+ )
+
+-find_package(KUserFeedback)
+-set_package_properties(KUserFeedback PROPERTIES TYPE REQUIRED PURPOSE "Checking whether feedback is enabled or not")
+-
+ ecm_find_qmlmodule(org.kde.kirigami 2.19)
+ ecm_find_qmlmodule(org.kde.kitemmodels 1.0)
+ ecm_find_qmlmodule(org.kde.kcm 1.6)
+--- ./src/CMakeLists.txt.orig 2023-02-14 16:05:41.083008231 -0600
++++ ./src/CMakeLists.txt 2023-02-14 16:05:55.423007438 -0600
+@@ -103,7 +103,6 @@
+ KF5::SyntaxHighlighting # Backtrace Highlighting
+ drkonqi_backtrace_parser
+ qbugzilla
+- KUserFeedbackCore
+ )
+
+ if(Systemd_FOUND)
+--- ./src/bugzillaintegration/reportinterface.cpp.orig 2023-02-09 05:58:46.000000000 -0600
++++ ./src/bugzillaintegration/reportinterface.cpp 2023-02-14 16:05:41.083008231 -0600
+@@ -14,7 +14,6 @@
+
+ #include <KIO/TransferJob>
+ #include <KLocalizedString>
+-#include <KUserFeedback/Provider>
+
+ #include "backtracegenerator.h"
+ #include "bugzillalib.h"
+@@ -58,13 +57,6 @@
+ m_sentryUserFeedbackSent = true;
+ maybeDone();
+ });
+- if (KUserFeedback::Provider provider; provider.isEnabled() && provider.telemetryMode() == KUserFeedback::Provider::DetailedUsageStatistics
+- && !DrKonqi::isTestingBugzilla() && qgetenv("DRKONQI_KDE_BUGZILLA_URL").isEmpty() && !DrKonqi::crashedApplication()->hasDeletedFiles()) {
+- metaObject()->invokeMethod(this, [this] {
+- // Send crash event ASAP, if applicable. Trace quality doesn't matter for it.
+- sendCrashEvent();
+- });
+- }
+ }
+
+ void ReportInterface::setBugAwarenessPageData(bool rememberSituation, Reproducible reproducible, bool actions, bool unusual, bool configuration)
diff --git a/source/kde/kde/patch/falkon.patch b/source/kde/kde/patch/falkon.patch
deleted file mode 100644
index 27a466836..000000000
--- a/source/kde/kde/patch/falkon.patch
+++ /dev/null
@@ -1,2 +0,0 @@
-# Fix build against Qt 5.15:
-cat $CWD/patch/falkon/falkon.qt-5.15.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/falkon/falkon.qt-5.15.diff b/source/kde/kde/patch/falkon/falkon.qt-5.15.diff
deleted file mode 100644
index 60f1699e8..000000000
--- a/source/kde/kde/patch/falkon/falkon.qt-5.15.diff
+++ /dev/null
@@ -1,20 +0,0 @@
---- ./src/lib/tools/qztools.cpp.orig 2019-03-19 13:06:45.000000000 -0500
-+++ ./src/lib/tools/qztools.cpp 2020-07-18 15:00:08.881313780 -0500
-@@ -25,6 +25,7 @@
- #include <QByteArray>
- #include <QPixmap>
- #include <QPainter>
-+#include <QPainterPath>
- #include <QBuffer>
- #include <QFile>
- #include <QDir>
---- ./src/plugins/VerticalTabs/verticaltabsplugin.cpp.orig 2019-03-19 13:06:45.000000000 -0500
-+++ ./src/plugins/VerticalTabs/verticaltabsplugin.cpp 2020-07-18 15:03:16.468303404 -0500
-@@ -31,6 +31,7 @@
- #include "desktopfile.h"
-
- #include <QSettings>
-+#include <QFile>
-
- VerticalTabsPlugin::VerticalTabsPlugin()
- : QObject()
diff --git a/source/kde/kde/patch/kapidox.patch b/source/kde/kde/patch/kapidox.patch
new file mode 100644
index 000000000..d0dc7d79b
--- /dev/null
+++ b/source/kde/kde/patch/kapidox.patch
@@ -0,0 +1,4 @@
+# Clear this first:
+echo > CMakeLists.txt
+
+cat $CWD/patch/kapidox/kapidox.CMakeLists.txt.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/kapidox/kapidox.CMakeLists.txt.diff b/source/kde/kde/patch/kapidox/kapidox.CMakeLists.txt.diff
new file mode 100644
index 000000000..592df2eb4
--- /dev/null
+++ b/source/kde/kde/patch/kapidox/kapidox.CMakeLists.txt.diff
@@ -0,0 +1,39 @@
+--- ./CMakeLists.txt.orig 2022-03-13 13:25:35.004123460 -0500
++++ ./CMakeLists.txt 2022-03-13 13:25:28.609123316 -0500
+@@ -0,0 +1,36 @@
++cmake_minimum_required(VERSION 3.16)
++project(KApiDox NONE)
++
++find_package(Python3 COMPONENTS Interpreter)
++
++if(WIN32)
++ # Needs native path and extra escaping of spaces
++ file(TO_NATIVE_PATH "${CMAKE_BINARY_DIR}" BINARY_DIR)
++else()
++ set(BINARY_DIR ${CMAKE_BINARY_DIR})
++endif()
++
++add_custom_target(build ALL
++ COMMAND ${Python3_EXECUTABLE} setup.py build --build-base ${BINARY_DIR}
++ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
++ )
++
++# DESTDIR may be set at install time (eg: `make DESTDIR=/tmp/package install`)
++# so we need to check for it when the install code is run and pass the appropriate
++# argument to distutils.
++#
++# Note that if(\$ENV{DESTDIR}) always fails, regardless of the value of the DESTDIR
++# environment variable, hence the STREQUAL test.
++# See https://public.kitware.com/Bug/view.php?id=14737
++install(CODE
++ "set(_root_arg)
++ if (NOT \$ENV{DESTDIR} STREQUAL \"\")
++ file(TO_NATIVE_PATH \$ENV{DESTDIR} DESTDIR)
++ set(_root_arg --root \"\${DESTDIR}\")
++ endif()
++ file(TO_NATIVE_PATH ${CMAKE_INSTALL_PREFIX} INSTALL_PREFIX)
++ execute_process(
++ COMMAND ${Python3_EXECUTABLE} setup.py install --prefix \"\${INSTALL_PREFIX}\" \${_root_arg}
++ WORKING_DIRECTORY \"${CMAKE_SOURCE_DIR}\"
++ )"
++ )
diff --git a/source/kde/kde/patch/kate.patch b/source/kde/kde/patch/kate.patch
deleted file mode 100644
index 59df062a0..000000000
--- a/source/kde/kde/patch/kate.patch
+++ /dev/null
@@ -1,3 +0,0 @@
-# Allow Kate to be started by the root user; disallowing this is not
-# a decision that a developer should make for the user, it is patronizing:
-cat $CWD/patch/kate/kate_runasroot.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/kate/kate_runasroot.patch b/source/kde/kde/patch/kate/kate_runasroot.patch
deleted file mode 100644
index 3cc919faf..000000000
--- a/source/kde/kde/patch/kate/kate_runasroot.patch
+++ /dev/null
@@ -1,44 +0,0 @@
---- ./kwrite/main.cpp.orig 2021-08-12 21:30:09.752256555 -0500
-+++ ./kwrite/main.cpp 2021-08-12 21:32:05.046259134 -0500
-@@ -41,17 +41,15 @@
- // Prohibit using sudo or kdesu (but allow using the root user directly)
- if (getuid() == 0) {
- if (!qEnvironmentVariableIsEmpty("SUDO_USER")) {
-- std::cout << "Executing KWrite with sudo is not possible due to unfixable security vulnerabilities. "
-+ std::cout << "Executing KWrite with sudo is UNSAFE due to unfixable security vulnerabilities. "
- "It is also not necessary; simply use KWrite normally, and you will be prompted for "
- "elevated privileges when saving documents if needed."
- << std::endl;
-- return EXIT_FAILURE;
- } else if (!qEnvironmentVariableIsEmpty("KDESU_USER")) {
-- std::cout << "Executing KWrite with kdesu is not possible due to unfixable security vulnerabilities. "
-+ std::cout << "Executing KWrite with kdesu is UNSAFE due to unfixable security vulnerabilities. "
- "It is also not necessary; simply use KWrite normally, and you will be prompted for "
- "elevated privileges when saving documents if needed."
- << std::endl;
-- return EXIT_FAILURE;
- }
- }
- #endif
---- ./kate/main.cpp.orig 2021-08-04 21:13:14.000000000 -0500
-+++ ./kate/main.cpp 2021-08-12 21:30:09.753256555 -0500
-@@ -49,17 +49,15 @@
- // Prohibit using sudo or kdesu (but allow using the root user directly)
- if (getuid() == 0) {
- if (!qEnvironmentVariableIsEmpty("SUDO_USER")) {
-- std::cout << "Executing Kate with sudo is not possible due to unfixable security vulnerabilities. "
-+ std::cout << "Executing Kate with sudo is UNSAFE due to unfixable security vulnerabilities. "
- "It is also not necessary; simply use Kate normally, and you will be prompted for "
- "elevated privileges when saving documents if needed."
- << std::endl;
-- return EXIT_FAILURE;
- } else if (!qEnvironmentVariableIsEmpty("KDESU_USER")) {
-- std::cout << "Executing Kate with kdesu is not possible due to unfixable security vulnerabilities. "
-+ std::cout << "Executing Kate with kdesu is UNSAFE due to unfixable security vulnerabilities. "
- "It is also not necessary; simply use Kate normally, and you will be prompted for "
- "elevated privileges when saving documents if needed."
- << std::endl;
-- return EXIT_FAILURE;
- }
- }
- #endif
diff --git a/source/kde/kde/patch/kdeconnect-kde.patch b/source/kde/kde/patch/kdeconnect-kde.patch
deleted file mode 100644
index 122440d2a..000000000
--- a/source/kde/kde/patch/kdeconnect-kde.patch
+++ /dev/null
@@ -1,2 +0,0 @@
-# Fix remote device browsing with openssh 8.2:
-cat $CWD/patch/kdeconnect-kde/kdeconnect-kde_openssh-8.2.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/kdeconnect-kde/kdeconnect-kde_openssh-8.2.diff b/source/kde/kde/patch/kdeconnect-kde/kdeconnect-kde_openssh-8.2.diff
deleted file mode 100644
index ff067aa8e..000000000
--- a/source/kde/kde/patch/kdeconnect-kde/kdeconnect-kde_openssh-8.2.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/plugins/sftp/mounter.cpp b/plugins/sftp/mounter.cpp
-index fca9907c..f673c9f7 100644
---- a/plugins/sftp/mounter.cpp
-+++ b/plugins/sftp/mounter.cpp
-@@ -145,6 +145,7 @@ void Mounter::onPackageReceived(const NetworkPacket& np)
- << QStringLiteral("-o") << QStringLiteral("reconnect")
- << QStringLiteral("-o") << QStringLiteral("ServerAliveInterval=30")
- << QStringLiteral("-o") << QStringLiteral("password_stdin")
-+ << QStringLiteral("-o") << QStringLiteral("KexAlgorithms=+diffie-hellman-group14-sha1")
- ;
-
- m_proc->setProgram(program, arguments);
diff --git a/source/kde/kde/patch/kdewebkit.patch b/source/kde/kde/patch/kdewebkit.patch
new file mode 100644
index 000000000..52bf69a6f
--- /dev/null
+++ b/source/kde/kde/patch/kdewebkit.patch
@@ -0,0 +1,2 @@
+# Smite the accidental backport:
+cat $CWD/patch/kdewebkit/kdewebkit.ECMFeatureSummary.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/kdewebkit/kdewebkit.ECMFeatureSummary.patch b/source/kde/kde/patch/kdewebkit/kdewebkit.ECMFeatureSummary.patch
new file mode 100644
index 000000000..13ff8ce89
--- /dev/null
+++ b/source/kde/kde/patch/kdewebkit/kdewebkit.ECMFeatureSummary.patch
@@ -0,0 +1,9 @@
+--- ./CMakeLists.txt.orig 2024-02-03 08:23:17.000000000 -0600
++++ ./CMakeLists.txt 2024-02-10 13:12:28.148883115 -0600
+@@ -76,5 +76,4 @@
+ DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KDEWebKit COMPONENT Devel
+ )
+
+-include(ECMFeatureSummary)
+-ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
++feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
diff --git a/source/kde/kde/patch/kglobalaccel.patch b/source/kde/kde/patch/kglobalaccel.patch
new file mode 100644
index 000000000..a7dfeb06e
--- /dev/null
+++ b/source/kde/kde/patch/kglobalaccel.patch
@@ -0,0 +1 @@
+cat $CWD/patch/kglobalaccel/48c3376927e5e9c13377bf3cfc8b0c411783e7f3.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/kglobalaccel/48c3376927e5e9c13377bf3cfc8b0c411783e7f3.patch b/source/kde/kde/patch/kglobalaccel/48c3376927e5e9c13377bf3cfc8b0c411783e7f3.patch
new file mode 100644
index 000000000..05b2f2c52
--- /dev/null
+++ b/source/kde/kde/patch/kglobalaccel/48c3376927e5e9c13377bf3cfc8b0c411783e7f3.patch
@@ -0,0 +1,235 @@
+From 48c3376927e5e9c13377bf3cfc8b0c411783e7f3 Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Sat, 10 Apr 2021 17:08:58 +0200
+Subject: [PATCH] Prevent kglobalaccel5 getting activated on non-Plasma systems
+
+While in theory kglobalaccel works on any X11 system we don't want it to run on non-Plasma systems. It isn't very useful and may interfere with the desktop's native shortcut system.
+
+Calling some API of KGlobalAccel may result in a DBus call to the daemon which then may launch by DBus activation. Prevent that from happening on non-Plasma systems.
+
+BUG: 435420
+CCBUG: 430691
+---
+ src/kglobalaccel.cpp | 80 ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 80 insertions(+)
+
+--- ./src/kglobalaccel.cpp.orig 2022-01-01 06:30:27.000000000 -0600
++++ ./src/kglobalaccel.cpp 2022-01-15 23:01:56.683914925 -0600
+@@ -30,6 +30,11 @@
+ #endif
+ #endif
+
++bool active()
++{
++ return qgetenv("XDG_CURRENT_DESKTOP") == QByteArrayLiteral("KDE");
++}
++
+ org::kde::kglobalaccel::Component *KGlobalAccelPrivate::getComponent(const QString &componentUnique, bool remember = false)
+ {
+ // Check if we already have this component
+@@ -150,6 +155,11 @@
+ void KGlobalAccel::activateGlobalShortcutContext(const QString &contextUnique, const QString &contextFriendly, const QString &programName)
+ {
+ Q_UNUSED(contextFriendly);
++
++ if (!active()) {
++ return;
++ }
++
+ // TODO: provide contextFriendly
+ self()->d->iface()->activateGlobalShortcutContext(programName, contextUnique);
+ }
+@@ -157,6 +167,10 @@
+ // static
+ bool KGlobalAccel::cleanComponent(const QString &componentUnique)
+ {
++ if (!active()) {
++ return false;
++ }
++
+ org::kde::kglobalaccel::Component *component = self()->getComponent(componentUnique);
+ if (!component) {
+ return false;
+@@ -168,6 +182,10 @@
+ // static
+ bool KGlobalAccel::isComponentActive(const QString &componentUnique)
+ {
++ if (!active()) {
++ return false;
++ }
++
+ org::kde::kglobalaccel::Component *component = self()->getComponent(componentUnique);
+ if (!component) {
+ return false;
+@@ -185,6 +203,10 @@
+
+ org::kde::kglobalaccel::Component *KGlobalAccel::getComponent(const QString &componentUnique)
+ {
++ if (!active()) {
++ return nullptr;
++ }
++
+ return d->getComponent(componentUnique);
+ }
+
+@@ -528,6 +550,10 @@
+ #if KGLOBALACCEL_BUILD_DEPRECATED_SINCE(4, 2)
+ QList<QStringList> KGlobalAccel::allMainComponents()
+ {
++ if (!active()) {
++ return {};
++ }
++
+ return d->iface()->allMainComponents();
+ }
+ #endif
+@@ -535,6 +561,9 @@
+ #if KGLOBALACCEL_BUILD_DEPRECATED_SINCE(4, 2)
+ QList<QStringList> KGlobalAccel::allActionsForComponent(const QStringList &actionId)
+ {
++ if (!active()) {
++ return {};
++ }
+ return d->iface()->allActionsForComponent(actionId);
+ }
+ #endif
+@@ -543,6 +572,10 @@
+ #if KGLOBALACCEL_BUILD_DEPRECATED_SINCE(4, 2)
+ QStringList KGlobalAccel::findActionNameSystemwide(const QKeySequence &seq)
+ {
++ if (!active()) {
++ return {};
++ }
++
+ return self()->d->iface()->actionList(seq);
+ }
+ #endif
+@@ -550,6 +583,10 @@
+ #if KGLOBALACCEL_BUILD_DEPRECATED_SINCE(5, 90)
+ QList<KGlobalShortcutInfo> KGlobalAccel::getGlobalShortcutsByKey(const QKeySequence &seq)
+ {
++ if (!active()) {
++ return {};
++ }
++
+ return globalShortcutsByKey(seq);
+ }
+ #endif
+@@ -561,6 +598,10 @@
+
+ bool KGlobalAccel::isGlobalShortcutAvailable(const QKeySequence &seq, const QString &comp)
+ {
++ if (!active()) {
++ return false;
++ }
++
+ return self()->d->iface()->globalShortcutAvailable(seq, comp);
+ }
+
+@@ -568,6 +609,10 @@
+ #if KGLOBALACCEL_BUILD_DEPRECATED_SINCE(4, 2)
+ bool KGlobalAccel::promptStealShortcutSystemwide(QWidget *parent, const QStringList &actionIdentifier, const QKeySequence &seq)
+ {
++ if (!active()) {
++ return false;
++ }
++
+ if (actionIdentifier.size() < 4) {
+ return false;
+ }
+@@ -590,6 +635,10 @@
+ // static
+ bool KGlobalAccel::promptStealShortcutSystemwide(QWidget *parent, const QList<KGlobalShortcutInfo> &shortcuts, const QKeySequence &seq)
+ {
++ if (!active()) {
++ return false;
++ }
++
+ if (shortcuts.isEmpty()) {
+ // Usage error. Just say no
+ return false;
+@@ -622,6 +671,10 @@
+ // static
+ void KGlobalAccel::stealShortcutSystemwide(const QKeySequence &seq)
+ {
++ if (!active()) {
++ return;
++ }
++
+ // get the shortcut, remove seq, and set the new shortcut
+ const QStringList actionId = self()->d->iface()->actionList(seq);
+ if (actionId.size() < 4) { // not a global shortcut
+@@ -659,6 +712,10 @@
+
+ bool KGlobalAccel::setDefaultShortcut(QAction *action, const QList<QKeySequence> &shortcut, GlobalShortcutLoading loadFlag)
+ {
++ if (!active()) {
++ return false;
++ }
++
+ if (checkGarbageKeycode(shortcut)) {
+ return false;
+ }
+@@ -674,6 +731,10 @@
+
+ bool KGlobalAccel::setShortcut(QAction *action, const QList<QKeySequence> &shortcut, GlobalShortcutLoading loadFlag)
+ {
++ if (!active()) {
++ return false;
++ }
++
+ if (checkGarbageKeycode(shortcut)) {
+ return false;
+ }
+@@ -699,6 +760,9 @@
+
+ QList<QKeySequence> KGlobalAccel::globalShortcut(const QString &componentName, const QString &actionId) const
+ {
++ if (!active()) {
++ return {};
++ }
+ // see also d->updateGlobalShortcut(action, KGlobalAccelPrivate::ActiveShortcut, KGlobalAccel::Autoloading);
+
+ // how componentName and actionId map to QAction, e.g:
+@@ -711,11 +775,19 @@
+
+ void KGlobalAccel::removeAllShortcuts(QAction *action)
+ {
++ if (!active()) {
++ return;
++ }
++
+ d->remove(action, KGlobalAccelPrivate::UnRegister);
+ }
+
+ bool KGlobalAccel::hasShortcut(const QAction *action) const
+ {
++ if (!active()) {
++ return false;
++ }
++
+ return d->actionShortcuts.contains(action) || d->actionDefaultShortcuts.contains(action);
+ }
+
+@@ -728,6 +800,10 @@
+
+ bool KGlobalAccel::setGlobalShortcut(QAction *action, const QList<QKeySequence> &shortcut)
+ {
++ if (!active()) {
++ return false;
++ }
++
+ KGlobalAccel *g = KGlobalAccel::self();
+ return g->d->setShortcutWithDefault(action, shortcut, Autoloading);
+ }
+@@ -739,6 +815,10 @@
+
+ bool KGlobalAccelPrivate::setShortcutWithDefault(QAction *action, const QList<QKeySequence> &shortcut, KGlobalAccel::GlobalShortcutLoading loadFlag)
+ {
++ if (!active()) {
++ return false;
++ }
++
+ if (checkGarbageKeycode(shortcut)) {
+ return false;
+ }
diff --git a/source/kde/kde/patch/kid3.patch b/source/kde/kde/patch/kid3.patch
new file mode 100644
index 000000000..fdb8e61ef
--- /dev/null
+++ b/source/kde/kde/patch/kid3.patch
@@ -0,0 +1 @@
+cat $CWD/patch/kid3/build-with-qt5.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/kid3/build-with-qt5.patch b/source/kde/kde/patch/kid3/build-with-qt5.patch
new file mode 100644
index 000000000..5287c4c36
--- /dev/null
+++ b/source/kde/kde/patch/kid3/build-with-qt5.patch
@@ -0,0 +1,15 @@
+--- ./CMakeLists.txt.orig 2024-02-23 16:50:39.000000000 -0000
++++ ./CMakeLists.txt 2024-03-14 20:49:46.015432993 -0000
+@@ -271,11 +271,7 @@
+ endif()
+ endif()
+ endif()
+-if(BUILD_WITH_QT6)
+- find_package(QT NAMES Qt6 COMPONENTS Core REQUIRED)
+-else()
+- find_package(QT NAMES Qt5 Qt6 COMPONENTS Core REQUIRED)
+-endif()
++find_package(QT NAMES Qt5 COMPONENTS Core REQUIRED)
+ if(QT_VERSION_MAJOR EQUAL 6 AND QT_VERSION_MINOR LESS 2)
+ set(WITH_MULTIMEDIA OFF)
+ endif()
diff --git a/source/kde/kde/patch/kinfocenter.patch b/source/kde/kde/patch/kinfocenter.patch
deleted file mode 100644
index b57d434fc..000000000
--- a/source/kde/kde/patch/kinfocenter.patch
+++ /dev/null
@@ -1,2 +0,0 @@
-# Fix linking error :
-cat $CWD/patch/kinfocenter/kinfocenter_libpci.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/kinfocenter/kinfocenter_libpci.patch b/source/kde/kde/patch/kinfocenter/kinfocenter_libpci.patch
deleted file mode 100644
index a2bc00796..000000000
--- a/source/kde/kde/patch/kinfocenter/kinfocenter_libpci.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- kinfocenter-5.5.5/cmake/FindPCIUTILS.cmake.orig 2016-03-01 14:32:01.000000000 +0100
-+++ kinfocenter-5.5.5/cmake/FindPCIUTILS.cmake 2016-03-11 13:00:12.412315320 +0100
-@@ -19,6 +19,14 @@
- else(RESOLV_LIBRARY)
- set(PCIUTILS_LIBRARIES ${PCIUTILS_LIBRARY})
- endif(RESOLV_LIBRARY)
-+ FIND_LIBRARY(UDEV_LIBRARY NAMES udev)
-+ if(UDEV_LIBRARY)
-+ set(PCIUTILS_LIBRARIES ${PCIUTILS_LIBRARIES} ${UDEV_LIBRARY})
-+ endif(UDEV_LIBRARY)
-+ FIND_LIBRARY(ZLIB_LIBRARY NAMES z)
-+ if(ZLIB_LIBRARY)
-+ set(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
-+ endif(ZLIB_LIBRARY)
- endif(PCIUTILS_LIBRARY)
-
-
diff --git a/source/kde/kde/patch/kopeninghours.patch b/source/kde/kde/patch/kopeninghours.patch
new file mode 100644
index 000000000..8579bf764
--- /dev/null
+++ b/source/kde/kde/patch/kopeninghours.patch
@@ -0,0 +1,4 @@
+# Fix install dir for Python module if $LIBDIRSUFFIX = 64:
+if [ "$LIBDIRSUFFIX" = "64" ]; then
+ cat $CWD/patch/kopeninghours/kopeninghours.x86_64.python.libdir.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+fi
diff --git a/source/kde/kde/patch/kopeninghours/kopeninghours.x86_64.python.libdir.diff b/source/kde/kde/patch/kopeninghours/kopeninghours.x86_64.python.libdir.diff
new file mode 100644
index 000000000..883e4296f
--- /dev/null
+++ b/source/kde/kde/patch/kopeninghours/kopeninghours.x86_64.python.libdir.diff
@@ -0,0 +1,11 @@
+--- ./PyKOpeningHours/CMakeLists.txt.orig 2021-11-02 10:24:56.000000000 -0500
++++ ./PyKOpeningHours/CMakeLists.txt 2021-11-24 14:36:44.808100571 -0600
+@@ -24,7 +24,7 @@
+ target_link_libraries(PyKOpeningHours PUBLIC ${Boost_LIBRARIES} ${PYTHON_LIBRARIES} KOpeningHours)
+ target_include_directories(PyKOpeningHours PRIVATE ${PYTHON_INCLUDE_DIRS})
+
+-set(_install_dir lib/python${PYTHONLIBS_VERSION_MAJOR}.${PYTHONLIBS_VERSION_MINOR}/site-packages)
++set(_install_dir lib64/python${PYTHONLIBS_VERSION_MAJOR}.${PYTHONLIBS_VERSION_MINOR}/site-packages)
+
+ install(TARGETS PyKOpeningHours DESTINATION ${_install_dir}/PyKOpeningHours)
+ install(FILES PyKOpeningHours.pyi __init__.py DESTINATION ${_install_dir}/PyKOpeningHours)
diff --git a/source/kde/kde/patch/krename.patch b/source/kde/kde/patch/krename.patch
index 6e79ecb66..9581a5060 100644
--- a/source/kde/kde/patch/krename.patch
+++ b/source/kde/kde/patch/krename.patch
@@ -1 +1,2 @@
cat $CWD/patch/krename/krename.taglib.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+cat $CWD/patch/krename/krename.exiv2-0.28.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/krename/krename.exiv2-0.28.diff b/source/kde/kde/patch/krename/krename.exiv2-0.28.diff
new file mode 100644
index 000000000..bf095aea2
--- /dev/null
+++ b/source/kde/kde/patch/krename/krename.exiv2-0.28.diff
@@ -0,0 +1,11 @@
+--- ./src/exiv2plugin.cpp.orig 2022-08-31 16:22:21.000000000 -0500
++++ ./src/exiv2plugin.cpp 2023-10-27 13:53:53.697705529 -0500
+@@ -395,7 +395,7 @@
+ std::string strFilename(asc.constData(), asc.length());
+
+ try {
+- Image::AutoPtr image = Exiv2::ImageFactory::open(strFilename);
++ Image::UniquePtr image = Exiv2::ImageFactory::open(strFilename);
+ if (image.get() != nullptr && image->good()) {
+ image->readMetadata();
+
diff --git a/source/kde/kde/patch/krita.patch b/source/kde/kde/patch/krita.patch
new file mode 100644
index 000000000..df5259ebd
--- /dev/null
+++ b/source/kde/kde/patch/krita.patch
@@ -0,0 +1 @@
+cat $CWD/patch/krita/sip-6.8.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/krita/sip-6.8.patch b/source/kde/kde/patch/krita/sip-6.8.patch
new file mode 100644
index 000000000..9579e4f3c
--- /dev/null
+++ b/source/kde/kde/patch/krita/sip-6.8.patch
@@ -0,0 +1,13 @@
+diff --git a/cmake/modules/pyproject.toml.in b/cmake/modules/pyproject.toml.in
+index 090b2d4b0c..085ddf4179 100644
+--- a/cmake/modules/pyproject.toml.in
++++ b/cmake/modules/pyproject.toml.in
+@@ -9,7 +9,7 @@ name = "@module_name_toml@"
+ sip-module = "@sip_name@"
+ sip-include-dirs = @sip_include_dirs@
+ sip-files-dir = "@module_srcs@"
+-abi-version = "12"
++abi-version = "12.8"
+
+ [tool.sip.bindings.@module_name_toml@]
+ tags = @module_tags@
diff --git a/source/kde/kde/patch/kross-interpreters.patch b/source/kde/kde/patch/kross-interpreters.patch
new file mode 100644
index 000000000..0c0038b19
--- /dev/null
+++ b/source/kde/kde/patch/kross-interpreters.patch
@@ -0,0 +1 @@
+cat $CWD/patch/kross-interpreters/dump-python2.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/kross-interpreters/dump-python2.patch b/source/kde/kde/patch/kross-interpreters/dump-python2.patch
new file mode 100644
index 000000000..c4fa64268
--- /dev/null
+++ b/source/kde/kde/patch/kross-interpreters/dump-python2.patch
@@ -0,0 +1,42 @@
+--- ./CMakeLists.txt.orig 2024-01-11 15:29:12.000000000 -0600
++++ ./CMakeLists.txt 2024-03-19 22:59:23.005420760 -0500
+@@ -16,28 +16,6 @@
+ find_package(Qt5 5.2.0 CONFIG REQUIRED Core Gui Widgets)
+ find_package(KF5 5.11.0 REQUIRED Kross)
+
+-# ========================= Find Python 2 =========================
+-
+-# TODO: CMake's FindPythonLibs.cmake needs fixing, because without the
+-# following hack find_package(PythonLibs 3) would find the previously found
+-# version 2.7. Due to this hack one cannot predefine PYTHON_LIBRARY and/or
+-# PYTHON_INCLUDE_DIR by editing CMakeCache.txt.
+-unset(PYTHON_INCLUDE_DIR CACHE)
+-unset(PYTHON_LIBRARY CACHE)
+-unset(PYTHON_LIBRARY_DEBUG CACHE)
+-# Unset variables set by find_package(PythonInterp) which is called by KI18n
+-unset(PYTHON_VERSION_MAJOR)
+-unset(PYTHON_VERSION_MINOR)
+-find_package(PythonLibs 2 EXACT)
+-
+-set(PYTHON2_LIBS_FOUND ${PYTHONLIBS_FOUND})
+-set(PYTHON2_LIBRARIES ${PYTHON_LIBRARIES})
+-set(PYTHON2_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS})
+-set(PYTHON2_LIBS_VERSION_STRING ${PYTHONLIBS_VERSION_STRING})
+-if(PYTHON2_LIBS_FOUND)
+- message(STATUS "Found Python 2: ${PYTHON2_LIBRARIES} (found version \"${PYTHON2_LIBS_VERSION_STRING}\")")
+-endif()
+-
+ # ========================= Find FALCON =========================
+
+ ### Falcon support disabled because it does not work with most modern falcon-0.9.x
+@@ -61,10 +39,6 @@
+
+ # ========================= Traverse subdirectories for actual targets =========================
+
+-if(PYTHON2_LIBS_FOUND)
+- ecm_optional_add_subdirectory(python)
+-endif(PYTHON2_LIBS_FOUND)
+-
+ ### Falcon support disabled because it does not work with most modern falcon-0.9.x
+ # if(FALCON_FOUND)
+ # ecm_optional_add_subdirectory(falcon)
diff --git a/source/kde/kde/patch/kstars.patch b/source/kde/kde/patch/kstars.patch
deleted file mode 100644
index bc1dec632..000000000
--- a/source/kde/kde/patch/kstars.patch
+++ /dev/null
@@ -1,4 +0,0 @@
-# Fix kstars-3.5.4 not building due to a docbook error:
-if [ "${MODULAR_PACKAGE_VERSION}" = "3.5.4" ]; then
- rm -f po/de/docs/kstars/index.docbook
-fi
diff --git a/source/kde/kde/patch/ktorrent/ktorrent.geoip.revert.6c1ae6b2530c5f7c72611a95aea92275520a5aee.patch b/source/kde/kde/patch/ktorrent/ktorrent.geoip.revert.6c1ae6b2530c5f7c72611a95aea92275520a5aee.patch
index b23a20e12..b29f8289f 100644
--- a/source/kde/kde/patch/ktorrent/ktorrent.geoip.revert.6c1ae6b2530c5f7c72611a95aea92275520a5aee.patch
+++ b/source/kde/kde/patch/ktorrent/ktorrent.geoip.revert.6c1ae6b2530c5f7c72611a95aea92275520a5aee.patch
@@ -1,5 +1,85 @@
---- ./plugins/infowidget/GeoIP.h.orig 2021-08-15 00:18:01.329498947 -0500
-+++ ./plugins/infowidget/GeoIP.h 2021-08-15 00:18:01.329498947 -0500
+--- ./plugins/infowidget/peerviewmodel.h.orig 2022-04-13 21:50:05.000000000 -0500
++++ ./plugins/infowidget/peerviewmodel.h 2022-04-22 13:03:03.206722648 -0500
+@@ -61,12 +61,7 @@
+ QString country;
+ QIcon flag;
+
+- Item(bt::PeerInterface *peer
+-#if BUILD_WITH_GEOIP
+- ,
+- GeoIPManager *geo_ip
+-#endif
+- );
++ Item(bt::PeerInterface *peer, GeoIPManager *geo_ip);
+
+ bool changed() const;
+ QVariant data(int col) const;
+@@ -76,9 +71,7 @@
+
+ private:
+ QVector<Item *> items;
+-#if BUILD_WITH_GEOIP
+- GeoIPManager *geo_ip = nullptr;
+-#endif
++ GeoIPManager *geo_ip;
+ };
+
+ }
+--- ./plugins/infowidget/geoipmanager.h.orig 2022-04-13 21:50:05.000000000 -0500
++++ ./plugins/infowidget/geoipmanager.h 2022-04-22 13:03:03.206722648 -0500
+@@ -7,7 +7,21 @@
+ #define KT_GEOIPMANAGER_H
+
+ #include <QObject>
++#include <QThread>
++#include <QUrl>
++
++#ifdef USE_SYSTEM_GEOIP
+ #include <GeoIP.h>
++#else
++#include "GeoIP.h"
++#endif
++
++class KJob;
++
++namespace bt
++{
++class DecompressThread;
++}
+
+ namespace kt
+ {
+@@ -42,8 +56,28 @@
+ */
+ QString countryCode(int country_id);
+
++ /// Get the database URL
++ static QUrl geoIPUrl()
++ {
++ return geoip_url;
++ }
++
++ /// Set the database URL
++ static void setGeoIPUrl(const QUrl &url);
++
++ /// Download the database
++ void downloadDataBase();
++
++private Q_SLOTS:
++ void databaseDownloadFinished(KJob *job);
++ void decompressFinished();
++
+ private:
+ GeoIP *geo_ip;
++ QString geoip_data_file;
++ QString download_destination;
++ bt::DecompressThread *decompress_thread;
++ static QUrl geoip_url;
+ };
+
+ }
+--- ./plugins/infowidget/GeoIP.h.orig 2022-04-22 13:03:03.205722648 -0500
++++ ./plugins/infowidget/GeoIP.h 2022-04-22 13:03:03.205722648 -0500
@@ -0,0 +1,148 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 2; tab-width: 2 -*- */
+/* GeoIP.h
@@ -149,125 +229,153 @@
+#endif
+
+#endif /* GEOIP_H */
---- ./plugins/infowidget/geoipmanager.cpp.orig 2021-08-04 21:50:44.000000000 -0500
-+++ ./plugins/infowidget/geoipmanager.cpp 2021-08-15 00:18:01.329498947 -0500
-@@ -20,16 +20,47 @@
+--- ./plugins/infowidget/peerviewmodel.cpp.orig 2022-04-13 21:50:05.000000000 -0500
++++ ./plugins/infowidget/peerviewmodel.cpp 2022-04-22 13:03:03.206722648 -0500
+@@ -13,13 +13,10 @@
+ #include <KLocalizedString>
+
+ #include "flagdb.h"
++#include "geoipmanager.h"
+ #include <interfaces/torrentinterface.h>
+ #include <util/functions.h>
+
+-#if BUILD_WITH_GEOIP
+-#include "geoipmanager.h"
+-#endif
+-
+ using namespace bt;
namespace kt
+@@ -28,12 +25,7 @@
+ static bool icons_loaded = false;
+ static FlagDB flagDB(22, 18);
+
+-PeerViewModel::Item::Item(bt::PeerInterface *peer
+-#if BUILD_WITH_GEOIP
+- ,
+- GeoIPManager *geo_ip
+-#endif
+- )
++PeerViewModel::Item::Item(bt::PeerInterface *peer, GeoIPManager *geo_ip)
+ : peer(peer)
{
-+QUrl GeoIPManager::geoip_url = QUrl(QStringLiteral("http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz"));
-+
- GeoIPManager::GeoIPManager(QObject *parent)
- : QObject(parent)
-+ , geo_ip(nullptr)
-+ , decompress_thread(nullptr)
- {
-+#ifdef USE_SYSTEM_GEOIP
- geo_ip = GeoIP_open_type(GEOIP_COUNTRY_EDITION, GEOIP_STANDARD);
-+#else
-+ geoip_data_file = QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("geoip.dat"));
-+ if (geoip_data_file.isEmpty())
-+ geoip_data_file = QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("GeoIP.dat"));
-+
-+ if (geoip_data_file.isEmpty()) {
-+ downloadDataBase();
-+ } else {
-+ geo_ip = GeoIP_open(QFile::encodeName(geoip_data_file).data(), 0);
-+ if (geo_ip) {
-+ QFileInfo fi(geoip_data_file);
-+ QDateTime now = QDateTime::currentDateTime();
-+ if (fi.lastModified().daysTo(now) >= 30) {
-+ // if the last time the geoip file was modified, was more then
-+ // 30 days ago, redownload it
-+ downloadDataBase();
-+ }
+ stats = peer->getStats();
+@@ -47,13 +39,13 @@
+ flagDB.addFlagSource(path + QStringLiteral("/%1/flag.png"));
+ }
+
+-#if BUILD_WITH_GEOIP
+- int country_id = geo_ip->findCountry(stats.ip_address);
+- if (country_id > 0) {
+- country = geo_ip->countryName(country_id);
+- flag = flagDB.getFlag(geo_ip->countryCode(country_id));
++ if (geo_ip) {
++ int country_id = geo_ip->findCountry(stats.ip_address);
++ if (country_id > 0) {
++ country = geo_ip->countryName(country_id);
++ flag = flagDB.getFlag(geo_ip->countryCode(country_id));
+ }
-+ }
-+#endif
+ }
+-#endif
}
- GeoIPManager::~GeoIPManager()
+ bool PeerViewModel::Item::changed() const
+@@ -191,10 +183,9 @@
+
+ PeerViewModel::PeerViewModel(QObject *parent)
+ : QAbstractTableModel(parent)
++ , geo_ip(nullptr)
{
- if (geo_ip)
- GeoIP_delete(geo_ip);
-+
-+ if (decompress_thread) {
-+ decompress_thread->cancel();
-+ decompress_thread->wait();
-+ delete decompress_thread;
-+ }
+-#if BUILD_WITH_GEOIP
+ geo_ip = new GeoIPManager(this);
+-#endif
}
- int GeoIPManager::findCountry(const QString &addr)
-@@ -56,4 +87,66 @@
- return QString();
+ PeerViewModel::~PeerViewModel()
+@@ -204,12 +195,7 @@
+
+ void PeerViewModel::peerAdded(bt::PeerInterface *peer)
+ {
+- items.append(new Item(peer
+-#if BUILD_WITH_GEOIP
+- ,
+- geo_ip
+-#endif
+- ));
++ items.append(new Item(peer, geo_ip));
+ insertRow(items.count() - 1);
}
-+void GeoIPManager::downloadDataBase()
-+{
-+#ifndef USE_SYSTEM_GEOIP
-+ Out(SYS_INW | LOG_NOTICE) << "Downloading GeoIP database: " << geoip_url << endl;
-+ download_destination = kt::DataDir(CreateIfNotExists) + geoip_url.fileName();
-+ KIO::CopyJob *job = KIO::copy(geoip_url, QUrl::fromLocalFile(download_destination), KIO::Overwrite | KIO::HideProgressInfo);
-+ connect(job, &KIO::CopyJob::result, this, &GeoIPManager::databaseDownloadFinished);
-+#endif
-+}
-+
-+void GeoIPManager::databaseDownloadFinished(KJob *job)
-+{
-+ if (job->error()) {
-+ Out(SYS_INW | LOG_IMPORTANT) << "Failed to download GeoIP database: " << job->errorString() << endl;
-+ return;
-+ }
-+
-+ if (download_destination.endsWith(QLatin1String(".dat")) || download_destination.endsWith(QLatin1String(".DAT"))) {
-+ Out(SYS_INW | LOG_NOTICE) << "GeoIP database downloaded, opening ... " << endl;
-+ geoip_data_file = download_destination;
-+ if (geo_ip) {
-+ GeoIP_delete(geo_ip);
-+ geo_ip = nullptr;
-+ }
-+ geo_ip = GeoIP_open(QFile::encodeName(geoip_data_file).data(), 0);
-+ if (!geo_ip)
-+ Out(SYS_INW | LOG_NOTICE) << "Failed to open GeoIP database " << endl;
-+ } else {
-+ Out(SYS_INW | LOG_NOTICE) << "GeoIP database downloaded, decompressing ... " << endl;
-+ // decompress the file
-+ decompress_thread = new bt::DecompressThread(download_destination, kt::DataDir() + QLatin1String("geoip.dat"));
-+ connect(decompress_thread, &bt::DecompressThread::finished, this, &GeoIPManager::decompressFinished, Qt::QueuedConnection);
-+ decompress_thread->start(QThread::IdlePriority);
-+ }
-+}
-+
-+void GeoIPManager::decompressFinished()
-+{
-+ Out(SYS_INW | LOG_NOTICE) << "GeoIP database decompressed, opening ... " << endl;
-+ if (!decompress_thread->error()) {
-+ geoip_data_file = kt::DataDir() + QLatin1String("geoip.dat");
-+ if (geo_ip) {
-+ GeoIP_delete(geo_ip);
-+ geo_ip = nullptr;
-+ }
-+ geo_ip = GeoIP_open(QFile::encodeName(geoip_data_file).data(), 0);
-+ if (!geo_ip)
-+ Out(SYS_INW | LOG_NOTICE) << "Failed to open GeoIP database " << endl;
-+ }
-+
-+ decompress_thread->wait();
-+ delete decompress_thread;
-+ decompress_thread = nullptr;
-+}
-+
-+void GeoIPManager::setGeoIPUrl(const QUrl &url)
-+{
-+ geoip_url = url;
-+}
+--- ./plugins/infowidget/CMakeLists.txt.orig 2022-04-13 21:50:05.000000000 -0500
++++ ./plugins/infowidget/CMakeLists.txt 2022-04-22 13:06:19.029711817 -0500
+@@ -1,23 +1,31 @@
+-# Add an option to compile & link against system GeoIP
++# Add an option to compile & link against system GeoIP (off by default)
+ option(BUILD_WITH_GEOIP
+ "Link InfoWidget plugin against system GeoIP library and use system-wide default GeoIP Country database"
+- ON)
++ OFF)
+
+-if (BUILD_WITH_GEOIP)
++if (WITH_SYSTEM_GEOIP)
+ find_path(GEOIP_INCLUDE_DIR NAMES GeoIP.h PATHS / ${INCLUDE_INSTALL_DIR}/)
+- find_library(GEOIP_LIBRARY NAMES GeoIP PATHS ${LIB_INSTALL_DIR})
++ find_library(GEOIP_LIBRARY NAMES GeoIP PATHS ${KDE4_LIB_DIR} ${LIB_INSTALL_DIR})
+
+ if (NOT GEOIP_INCLUDE_DIR OR NOT GEOIP_LIBRARY)
+- set(BUILD_WITH_GEOIP OFF CACHE BOOL
++ set(WITH_SYSTEM_GEOIP OFF CACHE BOOL
+ "GeoIP development files could not be found on this system. Forcing this option to OFF"
+ FORCE)
+- message(WARNING "GeoIP library development files could not be found on your system.")
+- else()
+- message(STATUS " Linking InfoWidget against system GeoIP library")
+- include_directories(${GEOIP_INCLUDE_DIR})
+- set(geoip_link ${GEOIP_LIBRARY})
+- endif()
+-endif(BUILD_WITH_GEOIP)
++ message(SEND_ERROR
++ "GeoIP library development files could not be found on your system. Embedding a local copy of GeoIP instead")
++ endif(NOT GEOIP_INCLUDE_DIR OR NOT GEOIP_LIBRARY)
++endif(WITH_SYSTEM_GEOIP)
+
-+///////////////////////////////////
++if (WITH_SYSTEM_GEOIP)
++ message(STATUS " Linking InfoWidget against system GeoIP library")
++ add_definitions( -DUSE_SYSTEM_GEOIP )
++ include_directories(GEOIP_INCLUDE_DIR)
++ set(geoip_link ${GEOIP_LIBRARY})
++else(WITH_SYSTEM_GEOIP)
++ message(STATUS " Compiling GeoIP support directly into InfoWidget plugin")
++ set(geoip_src GeoIP.c)
++endif(WITH_SYSTEM_GEOIP)
+
- }
---- ./plugins/infowidget/GeoIP.c.orig 2021-08-15 00:18:01.329498947 -0500
-+++ ./plugins/infowidget/GeoIP.c 2021-08-15 00:18:01.329498947 -0500
+
+ ktorrent_add_plugin(ktorrent_infowidget)
+
+@@ -36,19 +44,14 @@
+ trackerview.cpp
+ trackermodel.cpp
+ addtrackersdialog.cpp
++ ${geoip_src}
++ geoipmanager.cpp
+ flagdb.cpp
+ iwfiletreemodel.cpp
+ iwfilelistmodel.cpp
+ webseedstab.cpp
+ webseedsmodel.cpp)
+
+-if (BUILD_WITH_GEOIP)
+- target_sources(ktorrent_infowidget PRIVATE geoipmanager.cpp)
+- add_definitions(-DBUILD_WITH_GEOIP=1)
+-else()
+- add_definitions(-DBUILD_WITH_GEOIP=0)
+-endif()
+-
+ ki18n_wrap_ui(ktorrent_infowidget iwprefpage.ui statustab.ui chunkdownloadview.ui trackerview.ui webseedstab.ui)
+ kconfig_add_kcfg_files(ktorrent_infowidget infowidgetpluginsettings.kcfgc)
+
+--- ./plugins/infowidget/GeoIP.c.orig 2022-04-22 13:03:03.206722648 -0500
++++ ./plugins/infowidget/GeoIP.c 2022-04-22 13:03:03.206722648 -0500
@@ -0,0 +1,968 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 2; tab-width: 2 -*- */
+/* GeoIP.c
@@ -1237,238 +1345,130 @@
+{
+ return gi->databaseType;
+}
---- ./plugins/infowidget/CMakeLists.txt.orig 2021-08-04 21:50:44.000000000 -0500
-+++ ./plugins/infowidget/CMakeLists.txt 2021-08-15 00:20:25.218503074 -0500
-@@ -1,23 +1,30 @@
--# Add an option to compile & link against system GeoIP
--option(BUILD_WITH_GEOIP
-+# Add an option to compile & link against system GeoIP (off by default)
-+option(WITH_SYSTEM_GEOIP
- "Link InfoWidget plugin against system GeoIP library and use system-wide default GeoIP Country database"
-- ON)
-+ OFF)
-
--if (BUILD_WITH_GEOIP)
-+if (WITH_SYSTEM_GEOIP)
- find_path(GEOIP_INCLUDE_DIR NAMES GeoIP.h PATHS / ${INCLUDE_INSTALL_DIR}/)
-- find_library(GEOIP_LIBRARY NAMES GeoIP PATHS ${LIB_INSTALL_DIR})
-+ find_library(GEOIP_LIBRARY NAMES GeoIP PATHS ${KDE4_LIB_DIR} ${LIB_INSTALL_DIR})
-
- if (NOT GEOIP_INCLUDE_DIR OR NOT GEOIP_LIBRARY)
-- set(BUILD_WITH_GEOIP OFF CACHE BOOL
-+ set(WITH_SYSTEM_GEOIP OFF CACHE BOOL
- "GeoIP development files could not be found on this system. Forcing this option to OFF"
- FORCE)
-- message(WARNING "GeoIP library development files could not be found on your system.")
-- else()
-- message(STATUS " Linking InfoWidget against system GeoIP library")
-- include_directories(GEOIP_INCLUDE_DIR)
-- set(geoip_link ${GEOIP_LIBRARY})
-- endif()
--endif(BUILD_WITH_GEOIP)
-+ message(SEND_ERROR
-+ "GeoIP library development files could not be found on your system. Embedding a local copy of GeoIP instead")
-+ endif(NOT GEOIP_INCLUDE_DIR OR NOT GEOIP_LIBRARY)
-+endif(WITH_SYSTEM_GEOIP)
-+
-+if (WITH_SYSTEM_GEOIP)
-+ message(STATUS " Linking InfoWidget against system GeoIP library")
-+ add_definitions( -DUSE_SYSTEM_GEOIP )
-+ include_directories(GEOIP_INCLUDE_DIR)
-+ set(geoip_link ${GEOIP_LIBRARY})
-+else(WITH_SYSTEM_GEOIP)
-+ message(STATUS " Compiling GeoIP support directly into InfoWidget plugin")
-+ set(geoip_src GeoIP.c)
-+endif(WITH_SYSTEM_GEOIP)
-
- add_library(ktorrent_infowidget MODULE)
-
-@@ -36,19 +43,14 @@
- trackerview.cpp
- trackermodel.cpp
- addtrackersdialog.cpp
-+ ${geoip_src}
-+ geoipmanager.cpp
- flagdb.cpp
- iwfiletreemodel.cpp
- iwfilelistmodel.cpp
- webseedstab.cpp
- webseedsmodel.cpp)
-
--if (BUILD_WITH_GEOIP)
-- target_sources(ktorrent_infowidget PRIVATE geoipmanager.cpp)
-- add_definitions(-DBUILD_WITH_GEOIP=1)
--else()
-- add_definitions(-DBUILD_WITH_GEOIP=0)
--endif()
--
- ki18n_wrap_ui(ktorrent_infowidget iwprefpage.ui statustab.ui chunkdownloadview.ui trackerview.ui webseedstab.ui)
- kconfig_add_kcfg_files(ktorrent_infowidget infowidgetpluginsettings.kcfgc)
+--- ./plugins/infowidget/infowidgetplugin.cpp.orig 2022-04-13 21:50:05.000000000 -0500
++++ ./plugins/infowidget/infowidgetplugin.cpp 2022-04-22 13:03:03.206722648 -0500
+@@ -18,6 +18,7 @@
---- ./plugins/infowidget/geoipmanager.h.orig 2021-08-04 21:50:44.000000000 -0500
-+++ ./plugins/infowidget/geoipmanager.h 2021-08-15 00:18:01.330498947 -0500
-@@ -7,7 +7,21 @@
- #define KT_GEOIPMANAGER_H
+ #include "chunkdownloadview.h"
+ #include "fileview.h"
++#include "geoipmanager.h"
+ #include "infowidgetpluginsettings.h"
+ #include "iwprefpage.h"
+ #include "monitor.h"
+--- ./plugins/infowidget/geoipmanager.cpp.orig 2022-04-13 21:50:05.000000000 -0500
++++ ./plugins/infowidget/geoipmanager.cpp 2022-04-22 13:03:03.206722648 -0500
+@@ -20,16 +20,47 @@
- #include <QObject>
-+#include <QThread>
-+#include <QUrl>
+ namespace kt
+ {
++QUrl GeoIPManager::geoip_url = QUrl(QStringLiteral("http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz"));
+
+ GeoIPManager::GeoIPManager(QObject *parent)
+ : QObject(parent)
++ , geo_ip(nullptr)
++ , decompress_thread(nullptr)
+ {
+#ifdef USE_SYSTEM_GEOIP
- #include <GeoIP.h>
+ geo_ip = GeoIP_open_type(GEOIP_COUNTRY_EDITION, GEOIP_STANDARD);
+#else
-+#include "GeoIP.h"
++ geoip_data_file = QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("geoip.dat"));
++ if (geoip_data_file.isEmpty())
++ geoip_data_file = QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("GeoIP.dat"));
++
++ if (geoip_data_file.isEmpty()) {
++ downloadDataBase();
++ } else {
++ geo_ip = GeoIP_open(QFile::encodeName(geoip_data_file).data(), 0);
++ if (geo_ip) {
++ QFileInfo fi(geoip_data_file);
++ QDateTime now = QDateTime::currentDateTime();
++ if (fi.lastModified().daysTo(now) >= 30) {
++ // if the last time the geoip file was modified, was more then
++ // 30 days ago, redownload it
++ downloadDataBase();
++ }
++ }
++ }
+#endif
+ }
+
+ GeoIPManager::~GeoIPManager()
+ {
+ if (geo_ip)
+ GeoIP_delete(geo_ip);
+
-+class KJob;
++ if (decompress_thread) {
++ decompress_thread->cancel();
++ decompress_thread->wait();
++ delete decompress_thread;
++ }
+ }
+
+ int GeoIPManager::findCountry(const QString &addr)
+@@ -56,4 +87,66 @@
+ return QString();
+ }
+
++void GeoIPManager::downloadDataBase()
++{
++#ifndef USE_SYSTEM_GEOIP
++ Out(SYS_INW | LOG_NOTICE) << "Downloading GeoIP database: " << geoip_url << endl;
++ download_destination = kt::DataDir(CreateIfNotExists) + geoip_url.fileName();
++ KIO::CopyJob *job = KIO::copy(geoip_url, QUrl::fromLocalFile(download_destination), KIO::Overwrite | KIO::HideProgressInfo);
++ connect(job, &KIO::CopyJob::result, this, &GeoIPManager::databaseDownloadFinished);
++#endif
++}
+
-+namespace bt
++void GeoIPManager::databaseDownloadFinished(KJob *job)
+{
-+class DecompressThread;
++ if (job->error()) {
++ Out(SYS_INW | LOG_IMPORTANT) << "Failed to download GeoIP database: " << job->errorString() << endl;
++ return;
++ }
++
++ if (download_destination.endsWith(QLatin1String(".dat")) || download_destination.endsWith(QLatin1String(".DAT"))) {
++ Out(SYS_INW | LOG_NOTICE) << "GeoIP database downloaded, opening ... " << endl;
++ geoip_data_file = download_destination;
++ if (geo_ip) {
++ GeoIP_delete(geo_ip);
++ geo_ip = nullptr;
++ }
++ geo_ip = GeoIP_open(QFile::encodeName(geoip_data_file).data(), 0);
++ if (!geo_ip)
++ Out(SYS_INW | LOG_NOTICE) << "Failed to open GeoIP database " << endl;
++ } else {
++ Out(SYS_INW | LOG_NOTICE) << "GeoIP database downloaded, decompressing ... " << endl;
++ // decompress the file
++ decompress_thread = new bt::DecompressThread(download_destination, kt::DataDir() + QLatin1String("geoip.dat"));
++ connect(decompress_thread, &bt::DecompressThread::finished, this, &GeoIPManager::decompressFinished, Qt::QueuedConnection);
++ decompress_thread->start(QThread::IdlePriority);
++ }
+}
-
- namespace kt
- {
-@@ -42,8 +56,28 @@
- */
- QString countryCode(int country_id);
-
-+ /// Get the database URL
-+ static QUrl geoIPUrl()
-+ {
-+ return geoip_url;
++
++void GeoIPManager::decompressFinished()
++{
++ Out(SYS_INW | LOG_NOTICE) << "GeoIP database decompressed, opening ... " << endl;
++ if (!decompress_thread->error()) {
++ geoip_data_file = kt::DataDir() + QLatin1String("geoip.dat");
++ if (geo_ip) {
++ GeoIP_delete(geo_ip);
++ geo_ip = nullptr;
++ }
++ geo_ip = GeoIP_open(QFile::encodeName(geoip_data_file).data(), 0);
++ if (!geo_ip)
++ Out(SYS_INW | LOG_NOTICE) << "Failed to open GeoIP database " << endl;
+ }
+
-+ /// Set the database URL
-+ static void setGeoIPUrl(const QUrl &url);
++ decompress_thread->wait();
++ delete decompress_thread;
++ decompress_thread = nullptr;
++}
+
-+ /// Download the database
-+ void downloadDataBase();
++void GeoIPManager::setGeoIPUrl(const QUrl &url)
++{
++ geoip_url = url;
++}
+
-+private Q_SLOTS:
-+ void databaseDownloadFinished(KJob *job);
-+ void decompressFinished();
++///////////////////////////////////
+
- private:
- GeoIP *geo_ip;
-+ QString geoip_data_file;
-+ QString download_destination;
-+ bt::DecompressThread *decompress_thread;
-+ static QUrl geoip_url;
- };
-
- }
---- ./plugins/infowidget/peerviewmodel.cpp.orig 2021-08-04 21:50:44.000000000 -0500
-+++ ./plugins/infowidget/peerviewmodel.cpp 2021-08-15 00:18:01.330498947 -0500
-@@ -13,13 +13,10 @@
- #include <KLocalizedString>
-
- #include "flagdb.h"
-+#include "geoipmanager.h"
- #include <interfaces/torrentinterface.h>
- #include <util/functions.h>
-
--#if BUILD_WITH_GEOIP
--#include "geoipmanager.h"
--#endif
--
- using namespace bt;
-
- namespace kt
-@@ -28,12 +25,7 @@
- static bool icons_loaded = false;
- static FlagDB flagDB(22, 18);
-
--PeerViewModel::Item::Item(bt::PeerInterface *peer
--#if BUILD_WITH_GEOIP
-- ,
-- GeoIPManager *geo_ip
--#endif
-- )
-+PeerViewModel::Item::Item(bt::PeerInterface *peer, GeoIPManager *geo_ip)
- : peer(peer)
- {
- stats = peer->getStats();
-@@ -47,13 +39,13 @@
- flagDB.addFlagSource(path + QStringLiteral("/%1/flag.png"));
- }
-
--#if BUILD_WITH_GEOIP
-- int country_id = geo_ip->findCountry(stats.ip_address);
-- if (country_id > 0) {
-- country = geo_ip->countryName(country_id);
-- flag = flagDB.getFlag(geo_ip->countryCode(country_id));
-+ if (geo_ip) {
-+ int country_id = geo_ip->findCountry(stats.ip_address);
-+ if (country_id > 0) {
-+ country = geo_ip->countryName(country_id);
-+ flag = flagDB.getFlag(geo_ip->countryCode(country_id));
-+ }
- }
--#endif
- }
-
- bool PeerViewModel::Item::changed() const
-@@ -191,10 +183,9 @@
-
- PeerViewModel::PeerViewModel(QObject *parent)
- : QAbstractTableModel(parent)
-+ , geo_ip(nullptr)
- {
--#if BUILD_WITH_GEOIP
- geo_ip = new GeoIPManager(this);
--#endif
- }
-
- PeerViewModel::~PeerViewModel()
-@@ -204,12 +195,7 @@
-
- void PeerViewModel::peerAdded(bt::PeerInterface *peer)
- {
-- items.append(new Item(peer
--#if BUILD_WITH_GEOIP
-- ,
-- geo_ip
--#endif
-- ));
-+ items.append(new Item(peer, geo_ip));
- insertRow(items.count() - 1);
- }
-
---- ./plugins/infowidget/infowidgetplugin.cpp.orig 2021-08-04 21:50:44.000000000 -0500
-+++ ./plugins/infowidget/infowidgetplugin.cpp 2021-08-15 00:18:01.330498947 -0500
-@@ -18,6 +18,7 @@
-
- #include "chunkdownloadview.h"
- #include "fileview.h"
-+#include "geoipmanager.h"
- #include "infowidgetpluginsettings.h"
- #include "iwprefpage.h"
- #include "monitor.h"
---- ./plugins/infowidget/peerviewmodel.h.orig 2021-08-04 21:50:44.000000000 -0500
-+++ ./plugins/infowidget/peerviewmodel.h 2021-08-15 00:18:01.331498947 -0500
-@@ -61,12 +61,7 @@
- QString country;
- QIcon flag;
-
-- Item(bt::PeerInterface *peer
--#if BUILD_WITH_GEOIP
-- ,
-- GeoIPManager *geo_ip
--#endif
-- );
-+ Item(bt::PeerInterface *peer, GeoIPManager *geo_ip);
-
- bool changed() const;
- QVariant data(int col) const;
-@@ -76,9 +71,7 @@
-
- private:
- QVector<Item *> items;
--#if BUILD_WITH_GEOIP
-- GeoIPManager *geo_ip = nullptr;
--#endif
-+ GeoIPManager *geo_ip;
- };
-
}
diff --git a/source/kde/kde/patch/kwave.patch b/source/kde/kde/patch/kwave.patch
deleted file mode 100644
index e2c07b02d..000000000
--- a/source/kde/kde/patch/kwave.patch
+++ /dev/null
@@ -1 +0,0 @@
-cat $CWD/patch/kwave/kwave.gcc11.limits.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/kwave/kwave.gcc11.limits.patch b/source/kde/kde/patch/kwave/kwave.gcc11.limits.patch
deleted file mode 100644
index 09df72a97..000000000
--- a/source/kde/kde/patch/kwave/kwave.gcc11.limits.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- ./plugins/codec_wav/WavDecoder.cpp.orig 2021-07-05 14:10:02.000000000 -0500
-+++ ./plugins/codec_wav/WavDecoder.cpp 2021-08-05 11:47:18.353814614 -0500
-@@ -18,6 +18,7 @@
- #include "config.h"
- #include <stdlib.h>
- #include <new>
-+#include <limits>
-
- #include <audiofile.h>
-
diff --git a/source/kde/kde/patch/plasma-desktop.patch b/source/kde/kde/patch/plasma-desktop.patch
index fddf562e8..eddacf9b6 100644
--- a/source/kde/kde/patch/plasma-desktop.patch
+++ b/source/kde/kde/patch/plasma-desktop.patch
@@ -1,2 +1,4 @@
# Don't include Discover or Konqueror launchers on the taskbar (thanks to alienBOB):
cat $CWD/patch/plasma-desktop/plasma-desktop.default_launcher_tasks.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+# Don't leave an .orig file to be packaged:
+rm -f ./applets/taskmanager/package/contents/config/main.xml.orig
diff --git a/source/kde/kde/patch/plasma-framework.patch b/source/kde/kde/patch/plasma-framework.patch
deleted file mode 100644
index b10b4a5e3..000000000
--- a/source/kde/kde/patch/plasma-framework.patch
+++ /dev/null
@@ -1,2 +0,0 @@
-# Fix icon sizing regression:
-cat $CWD/patch/plasma-framework/837bb6975f6a0661d211107823b7587808fc3d4e.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/plasma-framework/837bb6975f6a0661d211107823b7587808fc3d4e.patch b/source/kde/kde/patch/plasma-framework/837bb6975f6a0661d211107823b7587808fc3d4e.patch
deleted file mode 100644
index 9c0e90464..000000000
--- a/source/kde/kde/patch/plasma-framework/837bb6975f6a0661d211107823b7587808fc3d4e.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 837bb6975f6a0661d211107823b7587808fc3d4e Mon Sep 17 00:00:00 2001
-From: Nate Graham <nate@kde.org>
-Date: Sun, 15 Aug 2021 09:33:10 -0600
-Subject: [PATCH] Fix Plasma (non-Qt) icon scaling with integer scale factors
-
-An embarrassing error in 4edb830f53aac4833ece024df59441029b01fde6
-caused the function which returns an appropriate scale factor for icons
-to both take and return integer values rather than floating point
-values, preventing it from working properly with any scale factor other
-than an integer scale factor (e.g. 200%). This commit fixes that issue.
----
- src/declarativeimports/core/units.cpp | 2 +-
- src/declarativeimports/core/units.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/declarativeimports/core/units.cpp b/src/declarativeimports/core/units.cpp
-index 6788ed952..fbcc6d888 100644
---- a/src/declarativeimports/core/units.cpp
-+++ b/src/declarativeimports/core/units.cpp
-@@ -174,7 +174,7 @@ int Units::roundToIconSize(int size)
- }
- }
-
--int Units::bestIconScaleForDevicePixelRatio(const int ratio)
-+qreal Units::bestIconScaleForDevicePixelRatio(const qreal ratio)
- {
- if (ratio < 1.5) {
- return 1;
-diff --git a/src/declarativeimports/core/units.h b/src/declarativeimports/core/units.h
-index c19cf0dd8..855738e7d 100644
---- a/src/declarativeimports/core/units.h
-+++ b/src/declarativeimports/core/units.h
-@@ -271,7 +271,7 @@ private:
- * Note that this function is only relevant when using Plasma scaling and
- * when using Qt scaling, it always returns 1.
- */
-- static int bestIconScaleForDevicePixelRatio(const int ratio);
-+ static qreal bestIconScaleForDevicePixelRatio(const qreal ratio);
-
- /**
- * @return The dpi-adjusted size for a given icon size
---
-GitLab
-
diff --git a/source/kde/kde/patch/plasma-sdk.patch b/source/kde/kde/patch/plasma-sdk.patch
new file mode 100644
index 000000000..c232fca2c
--- /dev/null
+++ b/source/kde/kde/patch/plasma-sdk.patch
@@ -0,0 +1,2 @@
+# Remove mistakenly packaged directory to fix build:
+rm -rf po/sv/docs/plasma-sdk
diff --git a/source/kde/kde/patch/plasma-workspace.patch b/source/kde/kde/patch/plasma-workspace.patch
index 975f72785..77645b0cb 100644
--- a/source/kde/kde/patch/plasma-workspace.patch
+++ b/source/kde/kde/patch/plasma-workspace.patch
@@ -1,3 +1 @@
-# Set GTK_BACKEND=x11 in a wayland session
-# Works around missing window decorations and broken config file reading
-cat $CWD/patch/plasma-workspace/0001-Set-GTK_BACKEND-x11-in-a-wayland-session.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+cat $CWD/patch/plasma-workspace/0001-Revert-No-icons-on-the-desktop-by-default.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/plasma-workspace/0001-Revert-No-icons-on-the-desktop-by-default.patch b/source/kde/kde/patch/plasma-workspace/0001-Revert-No-icons-on-the-desktop-by-default.patch
new file mode 100644
index 000000000..554632be6
--- /dev/null
+++ b/source/kde/kde/patch/plasma-workspace/0001-Revert-No-icons-on-the-desktop-by-default.patch
@@ -0,0 +1,127 @@
+From a437cb34a3cacc0daae012a26cb5a28407a6f873 Mon Sep 17 00:00:00 2001
+From: Fabian Vogt <fabian@ritter-vogt.de>
+Date: Wed, 28 Feb 2018 17:10:14 +0100
+Subject: [PATCH] Revert "No icons on the desktop by default"
+
+This reverts commit 240d0d6fe1e5db88e304199339396bd48c23e130.
+
+We want those icons in openSUSE. They've always been there and there is no
+reason not to have them.
+---
+ kioworkers/desktop/CMakeLists.txt | 1 +
+ kioworkers/desktop/Home.desktop | 88 ++++++++++++++++++++++++++++++++++++++++
+ kioworkers/desktop/kio_desktop.cpp | 4 ++
+ 3 files changed, 93 insertions(+)
+ create mode 100644 kioworkers/desktop/Home.desktop
+
+--- ./kioworkers/desktop/Home.desktop.orig 2023-02-14 12:08:58.205793836 -0600
++++ ./kioworkers/desktop/Home.desktop 2023-02-14 12:08:58.205793836 -0600
+@@ -0,0 +1,88 @@
++[Desktop Entry]
++Encoding=UTF-8
++Name=Home
++Name[ca]=Inici
++Name[ca@valencia]=Inici
++Name[cs]=Můj adresář
++Name[da]=Hjem
++Name[de]=Persönlicher Ordner
++Name[el]=Προσωπικός φάκελος
++Name[en_GB]=Home
++Name[es]=Inicio
++Name[et]=Kodu
++Name[eu]=Etxea
++Name[fi]=Koti
++Name[fr]=Dossier personnel
++Name[gl]=Persoal
++Name[he]=בית
++Name[hu]=Saját mappa
++Name[is]=Heimamappa
++Name[it]=Home
++Name[ja]=ホーム
++Name[ko]=홈
++Name[lt]=Pradžia
++Name[nl]=Home
++Name[nn]=Heim
++Name[pa]=ਘਰ
++Name[pl]=Katalog domowy
++Name[pt]=Pasta Pessoal
++Name[pt_BR]=Pasta Pessoal
++Name[ru]=Домашняя папка
++Name[se]=Ruoktu
++Name[sk]=Domov
++Name[sl]=Dom
++Name[sr]=Домаће
++Name[sr@ijekavian]=Домаће
++Name[sr@ijekavianlatin]=Domaće
++Name[sr@latin]=Domaće
++Name[sv]=Hem
++Name[tr]=Başlangıç
++Name[uk]=Домівка
++Name[x-test]=xxHomexx
++Name[zh_CN]=主文件夹
++Name[zh_TW]=家目錄
++GenericName=Personal Files
++GenericName[ca]=Fitxers personals
++GenericName[ca@valencia]=Fitxers personals
++GenericName[cs]=Osobní soubory
++GenericName[da]=Personlige filer
++GenericName[de]=Persönliche Dateien
++GenericName[el]=Προσωπικά αρχεία
++GenericName[en_GB]=Personal Files
++GenericName[es]=Archivos personales
++GenericName[et]=Isiklikud failid
++GenericName[eu]=Fitxategi pertsonalak
++GenericName[fi]=Omat tiedostot
++GenericName[fr]=Fichiers personnels
++GenericName[gl]=Ficheiros persoais
++GenericName[he]=קבצים אישיים
++GenericName[hu]=Személyes fájlok
++GenericName[is]=Einkaskrár
++GenericName[it]=File personali
++GenericName[ja]=個人のファイル
++GenericName[ko]=개인적인 파일
++GenericName[lt]=Asmeniniai failai
++GenericName[nl]=Persoonlijke bestanden
++GenericName[nn]=Personlege filer
++GenericName[pa]=ਨਿੱਜੀ ਫਾਇਲਾਂ
++GenericName[pl]=Pliki osobiste
++GenericName[pt]=Ficheiros Pessoais
++GenericName[pt_BR]=Arquivos pessoais
++GenericName[ru]=Личные файлы
++GenericName[se]=Iežat fiillat
++GenericName[sk]=Osobné súbory
++GenericName[sl]=Osebne datoteke
++GenericName[sr]=Лични фајлови
++GenericName[sr@ijekavian]=Лични фајлови
++GenericName[sr@ijekavianlatin]=Lični fajlovi
++GenericName[sr@latin]=Lični fajlovi
++GenericName[sv]=Personliga filer
++GenericName[tr]=Kişisel Dosyalar
++GenericName[uk]=Особисті файли
++GenericName[x-test]=xxPersonal Filesxx
++GenericName[zh_CN]=个人文件
++GenericName[zh_TW]=個人檔案
++URL[$e]=$HOME
++Icon=user-home
++Type=Link
++
+--- ./kioworkers/desktop/CMakeLists.txt.orig 2023-02-13 10:02:12.000000000 -0600
++++ ./kioworkers/desktop/CMakeLists.txt 2023-02-14 12:08:58.205793836 -0600
+@@ -24,3 +24,4 @@
+ ########### install files ###############
+
+ install(FILES directory.desktop directory.trash DESTINATION ${KDE_INSTALL_DATADIR}/kio_desktop)
++install(FILES Home.desktop DESTINATION ${KDE_INSTALL_DATADIR}/kio_desktop/DesktopLinks)
+--- ./kioworkers/desktop/kio_desktop.cpp.orig 2023-02-13 10:02:12.000000000 -0600
++++ ./kioworkers/desktop/kio_desktop.cpp 2023-02-14 12:08:58.205793836 -0600
+@@ -76,6 +76,10 @@
+ // Copy the .directory file
+ QFile::copy(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kio_desktop/directory.desktop")), desktopPath + "/.directory");
+
++ // Copy the trash link
++ QFile::copy(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kio_desktop/directory.trash")),
++ desktopPath + "/trash.desktop");
++
+ // Copy the desktop links
+ QSet<QString> links;
+ const auto dirs =
diff --git a/source/kde/kde/patch/plasma-workspace/0001-Set-GTK_BACKEND-x11-in-a-wayland-session.patch b/source/kde/kde/patch/plasma-workspace/0001-Set-GTK_BACKEND-x11-in-a-wayland-session.patch
deleted file mode 100644
index 8bd445da7..000000000
--- a/source/kde/kde/patch/plasma-workspace/0001-Set-GTK_BACKEND-x11-in-a-wayland-session.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 3deadbfcdf776eb0c994bb4d719e601160943bfa Mon Sep 17 00:00:00 2001
-From: Fabian Vogt <fabian@ritter-vogt.de>
-Date: Wed, 28 Aug 2019 15:09:49 +0200
-Subject: [PATCH] Set GTK_BACKEND=x11 in a wayland session
-
-Works around missing window decorations and broken config file reading
----
- startkde/startplasma-waylandsession.cpp | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/startkde/startplasma-waylandsession.cpp b/startkde/startplasma-waylandsession.cpp
-index 87c71c6b3..5d0b3f65f 100644
---- a/startkde/startplasma-waylandsession.cpp
-+++ b/startkde/startplasma-waylandsession.cpp
-@@ -45,6 +45,11 @@ int main(int /*argc*/, char** /*argv*/)
- out << "startplasma-waylandsession: Starting up...";
-
- if (qEnvironmentVariableIsSet("DISPLAY")) {
-+ // GTK3 uses the wayland backend by default, but its implementation is not correct
-+ // enough to work well here. Window decorations are missing, for instance.
-+ if (!qEnvironmentVariableIsSet("GDK_BACKEND")) {
-+ qputenv("GDK_BACKEND", "x11");
-+ }
- setupX11();
- } else {
- qWarning() << "running kwin without Xwayland support";
---
-2.22.0
-
-
diff --git a/source/kde/kde/patch/sddm.patch b/source/kde/kde/patch/sddm.patch
deleted file mode 100644
index 319bad684..000000000
--- a/source/kde/kde/patch/sddm.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-# Properly honor supplemental groups, https://github.com/sddm/sddm/issues/1159 :
-cat $CWD/patch/sddm/sddm_revert-honor-PAM-supplemental-groups.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-cat $CWD/patch/sddm/sddm_honor-PAM-supplemental-groups-v2.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-
-# Don't source $HOME/.xession in SDDM's Xsession script. It may cause the
-# wrong session type to launch, or run a second copy of dbus-run-session which
-# will break logout:
-cat $CWD/patch/sddm/sddm.do.not.source.HOME.xsession.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-
-# List Wayland sessions after X11 sessions since Wayland is more experimental:
-cat $CWD/patch/sddm/sddm.list.X11.sessions.before.Wayland.Sessions.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-
-# Fix build with Qt from git:
-cat $CWD/patch/sddm/sddm.fix.build.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/sddm/sddm.do.not.source.HOME.xsession.diff b/source/kde/kde/patch/sddm/sddm.do.not.source.HOME.xsession.diff
deleted file mode 100644
index c14b266d6..000000000
--- a/source/kde/kde/patch/sddm/sddm.do.not.source.HOME.xsession.diff
+++ /dev/null
@@ -1,18 +0,0 @@
---- ./data/scripts/Xsession.orig 2020-11-03 01:41:06.000000000 -0600
-+++ ./data/scripts/Xsession 2020-12-15 14:16:30.968724577 -0600
-@@ -94,9 +94,12 @@
- if [ -f "$USERXSESSIONRC" ]; then
- . "$USERXSESSIONRC"
- fi
--if [ -f "$USERXSESSION" ]; then
-- . "$USERXSESSION"
--fi
-+
-+# Commented out because $HOME/.xsession may start the wrong session type or
-+# cause dbus-run-session to start twice.
-+#if [ -f "$USERXSESSION" ]; then
-+# . "$USERXSESSION"
-+#fi
-
- if [ -z "$*" ]; then
- exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session."
diff --git a/source/kde/kde/patch/sddm/sddm.fix.build.diff b/source/kde/kde/patch/sddm/sddm.fix.build.diff
deleted file mode 100644
index b481cfa6a..000000000
--- a/source/kde/kde/patch/sddm/sddm.fix.build.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./src/daemon/XorgDisplayServer.cpp.orig 2020-11-03 03:49:10.000000000 -0600
-+++ ./src/daemon/XorgDisplayServer.cpp 2021-08-29 11:36:20.356811948 -0500
-@@ -65,7 +65,7 @@
- // create a random hexadecimal number
- const char *digits = "0123456789abcdef";
- for (int i = 0; i < 32; ++i)
-- m_cookie[i] = digits[dis(gen)];
-+ m_cookie[i] = QLatin1Char(digits[dis(gen)]);
- }
-
- XorgDisplayServer::~XorgDisplayServer() {
diff --git a/source/kde/kde/patch/sddm/sddm.list.X11.sessions.before.Wayland.Sessions.diff b/source/kde/kde/patch/sddm/sddm.list.X11.sessions.before.Wayland.Sessions.diff
deleted file mode 100644
index 78a6c966b..000000000
--- a/source/kde/kde/patch/sddm/sddm.list.X11.sessions.before.Wayland.Sessions.diff
+++ /dev/null
@@ -1,12 +0,0 @@
---- ./src/greeter/SessionModel.cpp.orig 2020-11-03 01:41:06.000000000 -0600
-+++ ./src/greeter/SessionModel.cpp 2021-04-26 12:54:48.558769977 -0500
-@@ -41,8 +41,8 @@
- SessionModel::SessionModel(QObject *parent) : QAbstractListModel(parent), d(new SessionModelPrivate()) {
- // initial population
- beginResetModel();
-- populate(Session::WaylandSession, mainConfig.Wayland.SessionDir.get());
- populate(Session::X11Session, mainConfig.X11.SessionDir.get());
-+ populate(Session::WaylandSession, mainConfig.Wayland.SessionDir.get());
- endResetModel();
-
- // refresh everytime a file is changed, added or removed
diff --git a/source/kde/kde/patch/sddm/sddm_honor-PAM-supplemental-groups-v2.patch b/source/kde/kde/patch/sddm/sddm_honor-PAM-supplemental-groups-v2.patch
deleted file mode 100644
index bf3bfd255..000000000
--- a/source/kde/kde/patch/sddm/sddm_honor-PAM-supplemental-groups-v2.patch
+++ /dev/null
@@ -1,183 +0,0 @@
-From 75e6e00d9e1ecf25e3a9c8332530a1e40d737cdb Mon Sep 17 00:00:00 2001
-From: "J. Konrad Tegtmeier-Rottach" <jktr@0x16.de>
-Date: Thu, 9 May 2019 03:06:48 +0200
-Subject: [PATCH] Honor PAM's supplemental groups (v2) (#834, #1159)
-
-This moves the supplemental group initialization step from
-UserSession.cpp to the Backend system, so that the Pam Backend can
-inject additional supplemental groups via modules like pam_group.so.
-
-pam_setcred(3) assumes that it operates on an already initialized
-supplemental group list. However, PamBackend calls
-pam_setcred(PAM_ESTABLISH_CRED) earlier, at the start
-PamBackend::openSession, so a pam_setcred(PAM_REINITIALIZE_CRED) call
-must be issued to repeat the injection of PAM's supplemental groups.
----
- src/helper/Backend.cpp | 5 +++++
- src/helper/Backend.h | 3 +++
- src/helper/HelperApp.cpp | 4 ++++
- src/helper/HelperApp.h | 1 +
- src/helper/UserSession.cpp | 13 ++++++++-----
- src/helper/backend/PamBackend.cpp | 18 ++++++++++++++++++
- src/helper/backend/PamBackend.h | 2 ++
- 7 files changed, 41 insertions(+), 5 deletions(-)
-
-diff --git a/src/helper/Backend.cpp b/src/helper/Backend.cpp
-index d6bb4d0a..35ae2bdf 100644
---- a/src/helper/Backend.cpp
-+++ b/src/helper/Backend.cpp
-@@ -29,6 +29,7 @@
- #include <QtCore/QProcessEnvironment>
-
- #include <pwd.h>
-+#include <grp.h>
-
- namespace SDDM {
- Backend::Backend(HelperApp* parent)
-@@ -79,4 +80,8 @@ namespace SDDM {
- bool Backend::closeSession() {
- return true;
- }
-+
-+ bool Backend::setupSupplementalGroups(struct passwd *pw) {
-+ return !initgroups(pw->pw_name, pw->pw_gid);
-+ }
- }
-diff --git a/src/helper/Backend.h b/src/helper/Backend.h
-index b790e001..3caf1592 100644
---- a/src/helper/Backend.h
-+++ b/src/helper/Backend.h
-@@ -22,6 +22,7 @@
- #define BACKEND_H
-
- #include <QtCore/QObject>
-+#include <pwd.h>
-
- namespace SDDM {
- class HelperApp;
-@@ -38,6 +39,8 @@ namespace SDDM {
- void setAutologin(bool on = true);
- void setGreeter(bool on = true);
-
-+ virtual bool setupSupplementalGroups(struct passwd *pw);
-+
- public slots:
- virtual bool start(const QString &user = QString()) = 0;
- virtual bool authenticate() = 0;
-diff --git a/src/helper/HelperApp.cpp b/src/helper/HelperApp.cpp
-index cad93bd8..d0891d75 100644
---- a/src/helper/HelperApp.cpp
-+++ b/src/helper/HelperApp.cpp
-@@ -253,6 +253,10 @@ namespace SDDM {
- return m_session;
- }
-
-+ Backend *HelperApp::backend() {
-+ return m_backend;
-+ }
-+
- const QString& HelperApp::user() const {
- return m_user;
- }
-diff --git a/src/helper/HelperApp.h b/src/helper/HelperApp.h
-index 3742df12..cb5959a7 100644
---- a/src/helper/HelperApp.h
-+++ b/src/helper/HelperApp.h
-@@ -39,6 +39,7 @@ namespace SDDM {
- virtual ~HelperApp();
-
- UserSession *session();
-+ Backend *backend();
- const QString &user() const;
- const QString &cookie() const;
-
-diff --git a/src/helper/UserSession.cpp b/src/helper/UserSession.cpp
-index f71fd358..62fd4d70 100644
---- a/src/helper/UserSession.cpp
-+++ b/src/helper/UserSession.cpp
-@@ -19,6 +19,7 @@
- *
- */
-
-+#include "Backend.h"
- #include "Configuration.h"
- #include "UserSession.h"
- #include "HelperApp.h"
-@@ -129,7 +130,8 @@ namespace SDDM {
- #endif
-
- // switch user
-- const QByteArray username = qobject_cast<HelperApp*>(parent())->user().toLocal8Bit();
-+ HelperApp* app = qobject_cast<HelperApp*>(parent());
-+ const QByteArray username = app->user().toLocal8Bit();
- struct passwd pw;
- struct passwd *rpw;
- long bufsize = sysconf(_SC_GETPW_R_SIZE_MAX);
-@@ -146,12 +148,13 @@ namespace SDDM {
- qCritical() << "getpwnam_r(" << username << ") failed with error: " << strerror(err);
- exit(Auth::HELPER_OTHER_ERROR);
- }
-- if (setgid(pw.pw_gid) != 0) {
-- qCritical() << "setgid(" << pw.pw_gid << ") failed for user: " << username;
-+
-+ if (!app->backend()->setupSupplementalGroups(&pw)) {
-+ qCritical() << "failed to set up supplemental groups for user: " << username;
- exit(Auth::HELPER_OTHER_ERROR);
- }
-- if (initgroups(pw.pw_name, pw.pw_gid) != 0) {
-- qCritical() << "initgroups(" << pw.pw_name << ", " << pw.pw_gid << ") failed for user: " << username;
-+ if (setgid(pw.pw_gid) != 0) {
-+ qCritical() << "setgid(" << pw.pw_gid << ") failed for user: " << username;
- exit(Auth::HELPER_OTHER_ERROR);
- }
- if (setuid(pw.pw_uid) != 0) {
-diff --git a/src/helper/backend/PamBackend.cpp b/src/helper/backend/PamBackend.cpp
-index f86d77d6..cccfa258 100644
---- a/src/helper/backend/PamBackend.cpp
-+++ b/src/helper/backend/PamBackend.cpp
-@@ -289,6 +289,24 @@ namespace SDDM {
- return QString::fromLocal8Bit((const char*) m_pam->getItem(PAM_USER));
- }
-
-+ bool PamBackend::setupSupplementalGroups(struct passwd *pw) {
-+ if (!Backend::setupSupplementalGroups(pw))
-+ return false;
-+
-+ // pam_setcred(3) may inject additional groups into the user's
-+ // list of supplemental groups, and assumes that the user's
-+ // supplemental groups have already been initialized before
-+ // its invocation. Since pam_setcred was already called at the
-+ // start of openSession, we need to repeat this step here as
-+ // the user's groups have only just now been initialized.
-+
-+ if (!m_pam->setCred(PAM_REINITIALIZE_CRED)) {
-+ m_app->error(m_pam->errorString(), Auth::ERROR_AUTHENTICATION);
-+ return false;
-+ }
-+ return true;
-+ }
-+
- int PamBackend::converse(int n, const struct pam_message **msg, struct pam_response **resp) {
- qDebug() << "[PAM] Conversation with" << n << "messages";
-
-diff --git a/src/helper/backend/PamBackend.h b/src/helper/backend/PamBackend.h
-index 4c8b4b35..5b079099 100644
---- a/src/helper/backend/PamBackend.h
-+++ b/src/helper/backend/PamBackend.h
-@@ -28,6 +28,7 @@
- #include <QtCore/QObject>
-
- #include <security/pam_appl.h>
-+#include <pwd.h>
-
- namespace SDDM {
- class PamHandle;
-@@ -61,6 +62,7 @@ namespace SDDM {
- explicit PamBackend(HelperApp *parent);
- virtual ~PamBackend();
- int converse(int n, const struct pam_message **msg, struct pam_response **resp);
-+ virtual bool setupSupplementalGroups(struct passwd *pw);
-
- public slots:
- virtual bool start(const QString &user = QString());
-
diff --git a/source/kde/kde/patch/sddm/sddm_revert-honor-PAM-supplemental-groups.patch b/source/kde/kde/patch/sddm/sddm_revert-honor-PAM-supplemental-groups.patch
deleted file mode 100644
index 2391c80ce..000000000
--- a/source/kde/kde/patch/sddm/sddm_revert-honor-PAM-supplemental-groups.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From d3953e88a94ec25a87d3c5136517b3d1009cb1fd Mon Sep 17 00:00:00 2001
-From: "J. Konrad Tegtmeier-Rottach" <jktr@0x16.de>
-Date: Wed, 8 May 2019 18:58:53 +0200
-Subject: [PATCH] Revert "Honor PAM's ambient supplemental groups. (#834)"
-
-This reverts commit 1bc813d08b8130e458a6550ec47fb2bfbe6de080, which
-misuses PAM and leads to pulling in all of root's supplemental groups
-during session initialization instead of only adding PAM's extra
-groups. The problem was masked due to the root user not having any
-supplemental groups in some common contexts, like running sddm from a
-systemd unit.
----
- src/helper/UserSession.cpp | 57 --------------------------------------
- 1 file changed, 57 deletions(-)
-
-diff --git a/src/helper/UserSession.cpp b/src/helper/UserSession.cpp
-index b3aec356..f71fd358 100644
---- a/src/helper/UserSession.cpp
-+++ b/src/helper/UserSession.cpp
-@@ -150,67 +150,10 @@ namespace SDDM {
- qCritical() << "setgid(" << pw.pw_gid << ") failed for user: " << username;
- exit(Auth::HELPER_OTHER_ERROR);
- }
--
--#ifdef USE_PAM
--
-- // fetch ambient groups from PAM's environment;
-- // these are set by modules such as pam_groups.so
-- int n_pam_groups = getgroups(0, NULL);
-- gid_t *pam_groups = NULL;
-- if (n_pam_groups > 0) {
-- pam_groups = new gid_t[n_pam_groups];
-- if ((n_pam_groups = getgroups(n_pam_groups, pam_groups)) == -1) {
-- qCritical() << "getgroups() failed to fetch supplemental"
-- << "PAM groups for user:" << username;
-- exit(Auth::HELPER_OTHER_ERROR);
-- }
-- } else {
-- n_pam_groups = 0;
-- }
--
-- // fetch session's user's groups
-- int n_user_groups = 0;
-- gid_t *user_groups = NULL;
-- if (-1 == getgrouplist(username.constData(), pw.pw_gid,
-- NULL, &n_user_groups)) {
-- user_groups = new gid_t[n_user_groups];
-- if ((n_user_groups = getgrouplist(username.constData(),
-- pw.pw_gid, user_groups,
-- &n_user_groups)) == -1 ) {
-- qCritical() << "getgrouplist(" << username << ", " << pw.pw_gid
-- << ") failed";
-- exit(Auth::HELPER_OTHER_ERROR);
-- }
-- }
--
-- // set groups to concatenation of PAM's ambient
-- // groups and the session's user's groups
-- int n_groups = n_pam_groups + n_user_groups;
-- if (n_groups > 0) {
-- gid_t *groups = new gid_t[n_groups];
-- memcpy(groups, pam_groups, (n_pam_groups * sizeof(gid_t)));
-- memcpy((groups + n_pam_groups), user_groups,
-- (n_user_groups * sizeof(gid_t)));
--
-- // setgroups(2) handles duplicate groups
-- if (setgroups(n_groups, groups) != 0) {
-- qCritical() << "setgroups() failed for user: " << username;
-- exit (Auth::HELPER_OTHER_ERROR);
-- }
-- delete[] groups;
-- }
-- delete[] pam_groups;
-- delete[] user_groups;
--
--#else
--
- if (initgroups(pw.pw_name, pw.pw_gid) != 0) {
- qCritical() << "initgroups(" << pw.pw_name << ", " << pw.pw_gid << ") failed for user: " << username;
- exit(Auth::HELPER_OTHER_ERROR);
- }
--
--#endif /* USE_PAM */
--
- if (setuid(pw.pw_uid) != 0) {
- qCritical() << "setuid(" << pw.pw_uid << ") failed for user: " << username;
- exit(Auth::HELPER_OTHER_ERROR);
-
diff --git a/source/kde/kde/post-install/kde-cli-tools.post-install b/source/kde/kde/post-install/kde-cli-tools.post-install
new file mode 100644
index 000000000..5a5646d82
--- /dev/null
+++ b/source/kde/kde/post-install/kde-cli-tools.post-install
@@ -0,0 +1,6 @@
+# Create a symlink in /usr/bin to the kdesu binary:
+KDESUBIN="$(cd $PKG ; find usr -type f -name kdesu)"
+if [ -r $PKG/$KDESUBIN ]; then
+ mkdir -p $PKG/usr/bin
+ ( cd $PKG/usr/bin ; ln -s /$KDESUBIN kdesu )
+fi
diff --git a/source/kde/kde/post-install/kdesu.post-install b/source/kde/kde/post-install/kdesu.post-install
deleted file mode 100644
index 52402f52c..000000000
--- a/source/kde/kde/post-install/kdesu.post-install
+++ /dev/null
@@ -1,4 +0,0 @@
-# Create a symlink in /usr/bin to the KF5 kdesu binary
-mkdir -p $PKG/usr/bin
-( cd $PKG/usr/bin ; ln -s /usr/lib${LIBDIRSUFFIX}/kf5/kdesu kdesu )
-
diff --git a/source/kde/kde/post-install/kscreenlocker.post-install b/source/kde/kde/post-install/kscreenlocker.post-install
deleted file mode 100644
index 203cff041..000000000
--- a/source/kde/kde/post-install/kscreenlocker.post-install
+++ /dev/null
@@ -1,4 +0,0 @@
-if [ "$SLACKPAM" == "no" ]; then
- # For shadow, this file needs to be setuid root:
- chmod +s $PKG/usr/lib$LIBDIRSUFFIX/kcheckpass
-fi
diff --git a/source/kde/kde/post-install/kservice.post-install b/source/kde/kde/post-install/kservice.post-install
index a014f3ba3..8da6bcb67 100644
--- a/source/kde/kde/post-install/kservice.post-install
+++ b/source/kde/kde/post-install/kservice.post-install
@@ -1,4 +1,4 @@
-# Add profile scripts
+# Add profile scripts:
mkdir -p $PKG/etc/profile.d
cat $CWD/post-install/kservice/profile.d/kde.sh \
| sed -e "s#/lib/#/lib${LIBDIRSUFFIX}/#g" \
@@ -7,3 +7,10 @@ cat $CWD/post-install/kservice/profile.d/kde.csh \
| sed -e "s#/lib/#/lib${LIBDIRSUFFIX}/#g" \
> $PKG/etc/profile.d/kde.csh
chmod 0755 $PKG/etc/profile.d/*
+
+# We still have a couple of things looking in the old location,
+# so we'll kludge it with a link (hopefully not forever):
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/libexec/kf5
+if [ ! -e $PKG/usr/lib${LIBDIRSUFFIX}/kf5 ]; then
+ ( cd $PKG/usr/lib${LIBDIRSUFFIX} ; ln -sf libexec/kf5 . )
+fi
diff --git a/source/kde/kde/post-install/kservice/profile.d/kde.csh b/source/kde/kde/post-install/kservice/profile.d/kde.csh
index 59de8963e..6884c0f12 100644
--- a/source/kde/kde/post-install/kservice/profile.d/kde.csh
+++ b/source/kde/kde/post-install/kservice/profile.d/kde.csh
@@ -5,18 +5,21 @@ if ( ! $?KDEDIRS ) then
endif
# Add KDE paths if they exist:
-if ( -d /usr/lib/kf5 ) then
- setenv PATH ${PATH}:/usr/lib/kf5
+if ( -d /usr/lib/libexec/kf5 ) then
+ setenv PATH ${PATH}:/usr/lib/libexec/kf5
endif
if ( -d /usr/lib/kde4/libexec ) then
setenv PATH ${PATH}:/usr/lib/kde4/libexec
endif
-# Add /etc/kde/xdg to $XDG_CONFIG_DIRS:
-if ( $?XDG_CONFIG_DIRS ) then
+# If there's no $XDG_CONFIG_DIRS variable, set it to /etc/xdg:
+if ( ! $?XDG_CONFIG_DIRS ) then
+ setenv XDG_CONFIG_DIRS /etc/xdg
+endif
+
+# Add /etc/kde/xdg to $XDG_CONFIG_DIRS (if it exists):
+if ( -d /etc/kde/xdg ) then
setenv XDG_CONFIG_DIRS ${XDG_CONFIG_DIRS}:/etc/kde/xdg
-else
- setenv XDG_CONFIG_DIRS /etc/xdg:/etc/kde/xdg
endif
# Commented out, since PAM should take care of this:
diff --git a/source/kde/kde/post-install/kservice/profile.d/kde.sh b/source/kde/kde/post-install/kservice/profile.d/kde.sh
index 48bf44090..8b7c3e37b 100644
--- a/source/kde/kde/post-install/kservice/profile.d/kde.sh
+++ b/source/kde/kde/post-install/kservice/profile.d/kde.sh
@@ -4,20 +4,24 @@ KDEDIRS=/usr
export KDEDIRS
# Add KDE paths if they exist:
-if [ -d /usr/lib/kf5 ]; then
- PATH="$PATH:/usr/lib/kf5"
+if [ -d /usr/lib/libexec/kf5 ]; then
+ PATH="$PATH:/usr/lib/libexec/kf5"
fi
if [ -d /usr/lib/kde4/libexec ]; then
PATH="$PATH:/usr/lib/kde4/libexec"
fi
export PATH
-# Add /etc/kde/xdg to $XDG_CONFIG_DIRS:
-if [ ! "$XDG_CONFIG_DIRS" = "" ]; then
+# If there's no $XDG_CONFIG_DIRS variable, set it to /etc/xdg:
+if [ -z "$XDG_CONFIG_DIRS" ]; then
+ XDG_CONFIG_DIRS=/etc/xdg
+fi
+
+# Add /etc/kde/xdg to $XDG_CONFIG_DIRS (if it exists):
+if [ -d /etc/kde/xdg ]; then
XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:/etc/kde/xdg
-else
- XDG_CONFIG_DIRS=/etc/xdg:/etc/kde/xdg
fi
+
export XDG_CONFIG_DIRS
# Commented out, since PAM should take care of this:
diff --git a/source/kde/kde/post-install/plasma-workspace.post-install b/source/kde/kde/post-install/plasma-workspace.post-install
index 4ba279a20..633d16274 100644
--- a/source/kde/kde/post-install/plasma-workspace.post-install
+++ b/source/kde/kde/post-install/plasma-workspace.post-install
@@ -35,23 +35,9 @@ rmdir $PKG/usr/lib$LIBDIRSUFFIX/qt5/plugins/plugins
mkdir -p $PKG/etc
mv $PKG/etc/kde/dbus-1 $PKG/etc/
-if [ "$SLACKPAM" == "no" ]; then
- # For shadow, this file needs to be setuid root just like the KDE4 version:
- if [ -f $PKG/usr/lib$LIBDIRSUFFIX/kcheckpass ]; then
- chmod +s $PKG/usr/lib$LIBDIRSUFFIX/kcheckpass
- fi
-
- # ck-launch-session is needed for a Wayland session, since we do not have PAM:
- sed -e 's/^Exec=dbus-launch/Exec=ck-launch-session dbus-launch --sh-syntax/' \
- -i $PKG/usr/share/wayland-sessions/plasmawayland.desktop
-else
- # Install a PAM file for Plasma5 workspace:
- install -Dm644 $CWD/post-install/plasma-workspace/pam.d/kde $PKG/etc/pam.d/kde
-fi
-
-if [ "$SLKELOGIND" == "yes" ]; then
- # Since elogind does not set DBUS_SESSION_BUS_ADDRESS we need to start
- # Plasma X11 session through dbus-run-session like Wayland is launched:
- sed -i $PKG/usr/share/xsessions/plasma.desktop \
- -e "s,^Exec=/,Exec=dbus-run-session /,"
-fi
+# Install a PAM file for Plasma5 workspace:
+install -Dm644 $CWD/post-install/plasma-workspace/pam.d/kde $PKG/etc/pam.d/kde.new
+
+# Since elogind does not set DBUS_SESSION_BUS_ADDRESS we need to start
+# Plasma X11 session through dbus-run-session like Wayland is launched:
+sed -i $PKG/usr/share/xsessions/plasma.desktop -e "s,^Exec=/,Exec=dbus-run-session /,"
diff --git a/source/kde/kde/post-install/sddm.post-install b/source/kde/kde/post-install/sddm.post-install
deleted file mode 100644
index b69fdcd78..000000000
--- a/source/kde/kde/post-install/sddm.post-install
+++ /dev/null
@@ -1,55 +0,0 @@
-# Replace systemd-centric files with ours:
-rm -f $PKG/etc/pam.d/sddm*
-for FILE in sddm sddm-autologin sddm-greeter ; do
- install -Dm644 $CWD/post-install/sddm/pam.d/$FILE $PKG/etc/pam.d/$FILE
-done
-
-# Create the SDDM home directory:
-mkdir -p $PKG/var/lib/sddm
-chmod 755 $PKG/var/lib/sddm
-chown sddm:sddm $PKG/var/lib/sddm
-
-# D-Bus configs should be under /usr, not /etc:
-mkdir -p $PKG/usr/share/dbus-1/system.d
-mv $PKG/etc/dbus-1/system.d/* $PKG/usr/share/dbus-1/system.d
-rmdir --parents $PKG/etc/dbus-1/system.d
-
-# Remove the sddm.conf file because we will generate our own in doinst.sh:
-rm -f $PKG/etc/sddm.conf
-
-# Generate the default sddm.conf:
-$PKG/usr/bin/sddm --example-config > $PKG/etc/sddm.conf
-
-# Set the KDE5 theme 'breeze' as default (integrates better with Plasma 5):
-sed -i -e "/\[Theme\]/,/^\[/s/^Current.*/Current=breeze/" $PKG/etc/sddm.conf
-
-# Move the default config file to .new:
-mv $PKG/etc/sddm.conf $PKG/etc/sddm.conf.new
-
-# Make sure that Plasma and SDDM work on older GPUs,
-# by forcing Qt5 to use software GL rendering:
-cat << "EOF" >> $PKG/usr/share/sddm/scripts/Xsetup
-# Make sure that Plasma and SDDM work on older GPUs by forcing Qt5 to use
-# software GL rendering if the OpenGL version is not new enough:
-OPENGL_VERSION=$(LANG=C glxinfo |grep '^OpenGL version string: ' |head -n 1 |sed -e 's/^OpenGL version string: \([0-9]\).*$/\1/g')
-if [ "$OPENGL_VERSION" -lt 2 ]; then
- QT_XCB_FORCE_SOFTWARE_OPENGL=1
- export QT_XCB_FORCE_SOFTWARE_OPENGL
-fi
-EOF
-
-# Add a wrapper for the sddm binary, to enable a custom environment:
-mv $PKG/usr/bin/sddm $PKG/usr/bin/sddm.bin
-cat <<"EOT" > $PKG/usr/bin/sddm
-#!/bin/sh
-# Customized environment (LANG definition):
-if [ -f /etc/default/sddm ]; then
- . /etc/default/sddm
-fi
-/usr/bin/sddm.bin "$*"
-EOT
-chmod 0755 $PKG/usr/bin/sddm
-
-# Let's also add an example customization (localization of the UI):
-mkdir -p $PKG/etc/default
-echo ". /etc/profile.d/lang.sh" > $PKG/etc/default/sddm.new
diff --git a/source/kde/kde/post-install/sddm/pam.d/sddm b/source/kde/kde/post-install/sddm/pam.d/sddm
deleted file mode 100644
index df016a7ec..000000000
--- a/source/kde/kde/post-install/sddm/pam.d/sddm
+++ /dev/null
@@ -1,26 +0,0 @@
-#%PAM-1.0
-
-auth substack system-auth
-
-# Uncomment this line to restrict login to users with a UID greater
-# than 999 (in other words, don't allow login for root):
-#auth required pam_succeed_if.so uid >= 1000 quiet
-
--auth optional pam_gnome_keyring.so
--auth optional pam_kwallet5.so
-auth include postlogin
-
-account include system-auth
-
-password substack system-auth
--password optional pam_gnome_keyring.so use_authtok
--password optional pam_kwallet5.so use_authtok
-
-session optional pam_keyinit.so force revoke
-session substack system-auth
-session required pam_loginuid.so
--session optional pam_ck_connector.so nox11
--session optional pam_elogind.so
--session optional pam_gnome_keyring.so auto_start
--session optional pam_kwallet5.so auto_start
-session include postlogin
diff --git a/source/kde/kde/post-install/sddm/pam.d/sddm-autologin b/source/kde/kde/post-install/sddm/pam.d/sddm-autologin
deleted file mode 100644
index 360239544..000000000
--- a/source/kde/kde/post-install/sddm/pam.d/sddm-autologin
+++ /dev/null
@@ -1,25 +0,0 @@
-#%PAM-1.0
-auth requisite pam_nologin.so
-auth required pam_env.so
-auth required pam_shells.so
-
-# Uncomment this line to restrict autologin to users with a UID greater
-# than 999 (in other words, don't allow autologin for root):
-#auth required pam_succeed_if.so uid >= 1000 quiet
-
-auth required pam_permit.so
--auth optional pam_gnome_keyring.so
--auth optional pam_kwallet5.so
-
-account include system-auth
-
-password include system-auth
-
-session substack system-auth
-session required pam_loginuid.so
--session optional pam_ck_connector.so nox11
--session optional pam_elogind.so
--session optional pam_gnome_keyring.so auto_start
--session optional pam_kwallet5.so auto_start
-session include postlogin
-
diff --git a/source/kde/kde/post-install/sddm/pam.d/sddm-greeter b/source/kde/kde/post-install/sddm/pam.d/sddm-greeter
deleted file mode 100644
index fe30e60c2..000000000
--- a/source/kde/kde/post-install/sddm/pam.d/sddm-greeter
+++ /dev/null
@@ -1,19 +0,0 @@
-#%PAM-1.0
-
-# Load environment from /etc/environment and ~/.pam_environment
-auth required pam_env.so
-
-# Always let the greeter start without authentication
-auth required pam_permit.so
-
-# No action required for account management
-account required pam_permit.so
-
-# Can't change password
-password required pam_deny.so
-
-# Setup session
-session required pam_unix.so
--session optional pam_systemd.so
--session optional pam_ck_connector.so nox11
--session optional pam_elogind.so
diff --git a/source/kde/kde/post-install/wicd-kde.post-install b/source/kde/kde/post-install/wicd-kde.post-install
deleted file mode 100644
index 881011489..000000000
--- a/source/kde/kde/post-install/wicd-kde.post-install
+++ /dev/null
@@ -1,2 +0,0 @@
-# Move the dbus configuration files to the proper place:
-mv $PKG/etc/kde/dbus-1 $PKG/etc/
diff --git a/source/kde/kde/slack-desc/kdesdk-kioslaves b/source/kde/kde/slack-desc/alligator
index 70d7d75d4..0be616ff4 100644
--- a/source/kde/kde/slack-desc/kdesdk-kioslaves
+++ b/source/kde/kde/slack-desc/alligator
@@ -5,15 +5,15 @@
# exactly 11 lines for the formatting to be correct. It's also customary to
# leave one space after the ':'.
- |-----handy-ruler------------------------------------------------------|
-kdesdk-kioslaves: kdesdk-kioslaves (KIO-slaves for KDE SDK)
-kdesdk-kioslaves:
-kdesdk-kioslaves: This package contains KIO-slaves for KDE SDK.
-kdesdk-kioslaves:
-kdesdk-kioslaves:
-kdesdk-kioslaves:
-kdesdk-kioslaves:
-kdesdk-kioslaves:
-kdesdk-kioslaves:
-kdesdk-kioslaves:
-kdesdk-kioslaves:
+ |-----handy-ruler------------------------------------------------------|
+alligator: alligator (RSS/Atom feed reader)
+alligator:
+alligator: Alligator is a convergent RSS/Atom feed reader.
+alligator:
+alligator: Homepage: https://apps.kde.org/alligator
+alligator:
+alligator:
+alligator:
+alligator:
+alligator:
+alligator:
diff --git a/source/kde/kde/slack-desc/audiocd-kio b/source/kde/kde/slack-desc/audiocd-kio
index c666c9f79..b388035f6 100644
--- a/source/kde/kde/slack-desc/audiocd-kio
+++ b/source/kde/kde/slack-desc/audiocd-kio
@@ -6,13 +6,13 @@
# leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
-audiocd-kio: audiocd-kio (audiocd kio slave)
-audiocd-kio:
-audiocd-kio: Audiocd kio slave.
-audiocd-kio:
-audiocd-kio:
-audiocd-kio:
+audiocd-kio: audiocd-kio (audiocd KIO worker)
audiocd-kio:
+audiocd-kio: KIO AudioCD is a KIO worker that enables KIO-aware applications (such
+audiocd-kio: as Dolphin or k3b) to access audio and CD text data on audio compact
+audiocd-kio: disks. It allows transparent drag and drop conversion of audio data
+audiocd-kio: into the popular formats and has a configuration System Settings
+audiocd-kio: module available in the "Multimedia" section.
audiocd-kio:
audiocd-kio:
audiocd-kio:
diff --git a/source/kde/kde/slack-desc/aura-browser b/source/kde/kde/slack-desc/aura-browser
new file mode 100644
index 000000000..5e3eeabbf
--- /dev/null
+++ b/source/kde/kde/slack-desc/aura-browser
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+aura-browser: aura-browser (Big Screen remote control browser)
+aura-browser:
+aura-browser: Aura Browser offers a fully immersed Big Screen experience allowing
+aura-browser: you to navigate the world wide web using just your remote control.
+aura-browser:
+aura-browser:
+aura-browser:
+aura-browser:
+aura-browser:
+aura-browser:
+aura-browser:
diff --git a/source/kde/kde/slack-desc/bluedevil b/source/kde/kde/slack-desc/bluedevil
index 9ddca55b9..13ffeb0d3 100644
--- a/source/kde/kde/slack-desc/bluedevil
+++ b/source/kde/kde/slack-desc/bluedevil
@@ -10,7 +10,7 @@ bluedevil: bluedevil (bluetooth stack for KDE)
bluedevil:
bluedevil: BlueDevil is the bluetooth stack for KDE.
bluedevil:
-bluedevil: Homepage: http://www.afiestas.org/
+bluedevil: Homepage: https://invent.kde.org/plasma/bluedevil
bluedevil:
bluedevil:
bluedevil:
diff --git a/source/kde/kde/slack-desc/breeze-gtk b/source/kde/kde/slack-desc/breeze-gtk
index ebb67640b..0f215b17a 100644
--- a/source/kde/kde/slack-desc/breeze-gtk
+++ b/source/kde/kde/slack-desc/breeze-gtk
@@ -6,9 +6,9 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-breeze-gtk: breeze-gtk (Breeze widget theme for GTK 2 and 3)
+breeze-gtk: breeze-gtk (Breeze widget theme for GTK)
breeze-gtk:
-breeze-gtk: Breeze widget theme for GTK 2 and 3.
+breeze-gtk: Breeze widget theme for GTK.
breeze-gtk:
breeze-gtk:
breeze-gtk:
diff --git a/source/kde/kde/slack-desc/colord-kde b/source/kde/kde/slack-desc/colord-kde
new file mode 100644
index 000000000..08ae1cf16
--- /dev/null
+++ b/source/kde/kde/slack-desc/colord-kde
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+colord-kde: colord-kde (color management for KDE)
+colord-kde:
+colord-kde: Provides interfaces and session daemon for colord.
+colord-kde:
+colord-kde:
+colord-kde:
+colord-kde:
+colord-kde:
+colord-kde:
+colord-kde:
+colord-kde:
diff --git a/source/kde/kde/slack-desc/drkonqi b/source/kde/kde/slack-desc/drkonqi
index ff94b7c83..94fb3860c 100644
--- a/source/kde/kde/slack-desc/drkonqi
+++ b/source/kde/kde/slack-desc/drkonqi
@@ -6,9 +6,9 @@
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
-drkonqi: drkonqi (crash handler for plasma5)
+drkonqi: drkonqi (crash handler for Plasma)
drkonqi:
-drkonqi: Drkonqi is the crash handler for KDE Frameworks 5 / Plasma5.
+drkonqi: Drkonqi is the crash handler for KDE Frameworks / Plasma.
drkonqi:
drkonqi:
drkonqi:
diff --git a/source/kde/kde/slack-desc/extra-cmake-modules b/source/kde/kde/slack-desc/extra-cmake-modules
index c1a0aa68e..93bcd92f9 100644
--- a/source/kde/kde/slack-desc/extra-cmake-modules
+++ b/source/kde/kde/slack-desc/extra-cmake-modules
@@ -9,7 +9,7 @@
extra-cmake-modules: extra-cmake-modules (extra KDE CMake modules)
extra-cmake-modules:
extra-cmake-modules: This package contains additional CMake modules required for compiling
-extra-cmake-modules: KDE Frameworks 5.
+extra-cmake-modules: KDE Frameworks.
extra-cmake-modules:
extra-cmake-modules:
extra-cmake-modules:
diff --git a/source/kde/kde/slack-desc/ghostwriter b/source/kde/kde/slack-desc/ghostwriter
new file mode 100644
index 000000000..acfba68cc
--- /dev/null
+++ b/source/kde/kde/slack-desc/ghostwriter
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ghostwriter: ghostwriter (Markdown editor)
+ghostwriter:
+ghostwriter: Ghostwriter is a text editor for Markdown, which is a plain text
+ghostwriter: markup format created by John Gruber. Ghostwriter provides a relaxing,
+ghostwriter: distraction-free writing environment.
+ghostwriter:
+ghostwriter: Homepage: https://ghostwriter.kde.org
+ghostwriter:
+ghostwriter:
+ghostwriter:
+ghostwriter:
diff --git a/source/kde/kde/slack-desc/kalendar b/source/kde/kde/slack-desc/kalendar
new file mode 100644
index 000000000..410d824f1
--- /dev/null
+++ b/source/kde/kde/slack-desc/kalendar
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kalendar: kalendar (calendar and task management application)
+kalendar:
+kalendar: Kalendar is a Kirigami-based calendar and task management application
+kalendar: that uses Akonadi. It lets you add, edit and delete events and tasks
+kalendar: from local and remote accounts of your choice, while keeping changes
+kalendar: synchronised across your Plasma desktop or phone.
+kalendar:
+kalendar:
+kalendar:
+kalendar:
+kalendar:
diff --git a/source/kde/kde/slack-desc/kalk b/source/kde/kde/slack-desc/kalk
new file mode 100644
index 000000000..6a98d43e0
--- /dev/null
+++ b/source/kde/kde/slack-desc/kalk
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kalk: kalk (calculator application)
+kalk:
+kalk: Kalk is a convergent calculator application built with the Kirigami
+kalk: framework. Although it is mainly targeted for mobile platforms, it can
+kalk: also be used on the desktop.
+kalk:
+kalk: Homepage: https://invent.kde.org/plasma-mobile/kalk
+kalk:
+kalk:
+kalk:
+kalk:
diff --git a/source/kde/kde/slack-desc/kde-cli-tools b/source/kde/kde/slack-desc/kde-cli-tools
index e191d2712..0c8a23bb3 100644
--- a/source/kde/kde/slack-desc/kde-cli-tools
+++ b/source/kde/kde/slack-desc/kde-cli-tools
@@ -8,7 +8,7 @@
|-----handy-ruler------------------------------------------------------|
kde-cli-tools: kde-cli-tools (KDE command-line tools)
kde-cli-tools:
-kde-cli-tools: Tools based on KDE Frameworks 5 to better interact with the system.
+kde-cli-tools: Tools based on KDE Frameworks to better interact with the system.
kde-cli-tools:
kde-cli-tools:
kde-cli-tools:
diff --git a/source/kde/kde/slack-desc/kde-inotify-survey b/source/kde/kde/slack-desc/kde-inotify-survey
new file mode 100644
index 000000000..39086ee8d
--- /dev/null
+++ b/source/kde/kde/slack-desc/kde-inotify-survey
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kde-inotify-survey: kde-inotify-survey (check inotify resources)
+kde-inotify-survey:
+kde-inotify-survey: Have you ever wondered why dolphin or any other application stopped
+kde-inotify-survey: noticing file changes? Chances are you ran out of inotify resources.
+kde-inotify-survey: kde-inotify-survey to the rescue! Sporting a kded module to tell you
+kde-inotify-survey: when things are getting dicey and a CLI tool to inspect the state of
+kde-inotify-survey: affairs.
+kde-inotify-survey:
+kde-inotify-survey: Homepage: https://invent.kde.org/sitter/kde-inotify-survey
+kde-inotify-survey:
+kde-inotify-survey:
diff --git a/source/kde/kde/slack-desc/kdelibs4support b/source/kde/kde/slack-desc/kdelibs4support
index d4cf9b67b..498e9315d 100644
--- a/source/kde/kde/slack-desc/kdelibs4support
+++ b/source/kde/kde/slack-desc/kdelibs4support
@@ -10,7 +10,7 @@ kdelibs4support: kdelibs4support (KDE 4 support)
kdelibs4support:
kdelibs4support: kdelibs4support provides legacy support for kdelibs 4 compatibility
kdelibs4support: such as code and utilities to ease the transition from kdelibs 4 to
-kdelibs4support: KDE Frameworks 5. This includes CMake macros and C++ classes whose
+kdelibs4support: KDE Frameworks. This includes CMake macros and C++ classes whose
kdelibs4support: functionality has been replaced by code in CMake, Qt and other
kdelibs4support: frameworks.
kdelibs4support:
diff --git a/source/kde/kde/slack-desc/kdesdk-kio b/source/kde/kde/slack-desc/kdesdk-kio
new file mode 100644
index 000000000..a8a475401
--- /dev/null
+++ b/source/kde/kde/slack-desc/kdesdk-kio
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdesdk-kio: kdesdk-kio (KIO workers useful for software development)
+kdesdk-kio:
+kdesdk-kio: This package includes the svn and svn+ssh KIO plugins, which allows
+kdesdk-kio: KDE applications to browse remote Subversion repositories, and the
+kdesdk-kio: perldoc KIO plugin, which can be used to browse the Perl documentation
+kdesdk-kio: within Konqueror.
+kdesdk-kio:
+kdesdk-kio:
+kdesdk-kio:
+kdesdk-kio:
+kdesdk-kio:
diff --git a/source/kde/kde/slack-desc/keysmith b/source/kde/kde/slack-desc/keysmith
new file mode 100644
index 000000000..168bfb417
--- /dev/null
+++ b/source/kde/kde/slack-desc/keysmith
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+keysmith: keysmith (2FA token generator)
+keysmith:
+keysmith: Keysmith is an application to generate two-factor authentication (2FA)
+keysmith: tokens when logging in to your (online) accounts. Currently it
+keysmith: supports both HOTP and TOTP tokens.
+keysmith:
+keysmith: Homepage: https://invent.kde.org/bshah/keysmith
+keysmith:
+keysmith:
+keysmith:
+keysmith:
diff --git a/source/kde/kde/slack-desc/kile b/source/kde/kde/slack-desc/kile
index 40ba95e3e..6d90fa8d9 100644
--- a/source/kde/kde/slack-desc/kile
+++ b/source/kde/kde/slack-desc/kile
@@ -6,7 +6,7 @@
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
-kile: kile (TeX/LaTeX frontend for Plasma5)
+kile: kile (TeX/LaTeX frontend for Plasma)
kile:
kile: kile is a user-friendly TeX/LaTeX editor for the KDE desktop environment.
kile:
diff --git a/source/kde/kde/slack-desc/kio-admin b/source/kde/kde/slack-desc/kio-admin
new file mode 100644
index 000000000..2d874ab2b
--- /dev/null
+++ b/source/kde/kde/slack-desc/kio-admin
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kio-admin: kio-admin (administrative file access KIO)
+kio-admin:
+kio-admin: kio-admin implements a new protocol `admin:///` which gives
+kio-admin: administrative access to the entire system. This is achieved by
+kio-admin: talking, over dbus, with a root-level helper binary that in turn uses
+kio-admin: existing KIO infrastructure to run file:// operations in root-scope.
+kio-admin: Or simply put: `admin://` is exactly like `file://` but redirected
+kio-admin: over dbus to gain administrative privileges.
+kio-admin:
+kio-admin:
+kio-admin:
diff --git a/source/kde/kde/slack-desc/kio-zeroconf b/source/kde/kde/slack-desc/kio-zeroconf
new file mode 100644
index 000000000..1df605ec8
--- /dev/null
+++ b/source/kde/kde/slack-desc/kio-zeroconf
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kio-zeroconf: kio-zeroconf (network monitor for zeroconf)
+kio-zeroconf:
+kio-zeroconf: A network monitor for DNS-SD services (Zeroconf).
+kio-zeroconf:
+kio-zeroconf:
+kio-zeroconf:
+kio-zeroconf:
+kio-zeroconf:
+kio-zeroconf:
+kio-zeroconf:
+kio-zeroconf:
diff --git a/source/kde/kde/slack-desc/kirigami-addons b/source/kde/kde/slack-desc/kirigami-addons
new file mode 100644
index 000000000..c0e270167
--- /dev/null
+++ b/source/kde/kde/slack-desc/kirigami-addons
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kirigami-addons: kirigami-addons (Kirigami framework addons)
+kirigami-addons:
+kirigami-addons: A set of widgets providing a native experience with any QQC2 style.
+kirigami-addons:
+kirigami-addons: Homepage: https://invent.kde.org/libraries/kirigami-addons
+kirigami-addons:
+kirigami-addons:
+kirigami-addons:
+kirigami-addons:
+kirigami-addons:
+kirigami-addons:
diff --git a/source/kde/kde/slack-desc/kjots b/source/kde/kde/slack-desc/kjots
index 055f8c188..a793524d7 100644
--- a/source/kde/kde/slack-desc/kjots
+++ b/source/kde/kde/slack-desc/kjots
@@ -11,7 +11,7 @@ kjots:
kjots: KJots is a note-taking application that organises all of your notes
kjots: into separate books.
kjots:
-kjots: Homepage: https://www.kde.org/applications/utilities/kjots/
+kjots: Homepage: https://www.kde.org/applications/utilities/kjots/
kjots:
kjots:
kjots:
diff --git a/source/kde/kde/slack-desc/kpipewire b/source/kde/kde/slack-desc/kpipewire
new file mode 100644
index 000000000..5dc7e05cc
--- /dev/null
+++ b/source/kde/kde/slack-desc/kpipewire
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kpipewire: kpipewire (Qt classes for PipeWire)
+kpipewire:
+kpipewire: KPipeWire offers a set of convenient classes to use PipeWire
+kpipewire: (https://pipewire.org/) in Qt projects. It is developed in C++ and
+kpipewire: its main use target is QML components.
+kpipewire:
+kpipewire:
+kpipewire:
+kpipewire:
+kpipewire:
+kpipewire:
diff --git a/source/kde/kde/slack-desc/ksanecore b/source/kde/kde/slack-desc/ksanecore
new file mode 100644
index 000000000..3d728d2b8
--- /dev/null
+++ b/source/kde/kde/slack-desc/ksanecore
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ksanecore: ksanecore (Qt scanner interface library)
+ksanecore:
+ksanecore: KSaneCore is a library that provides a Qt interface for the SANE
+ksanecore: library to control scanner hardware.
+ksanecore:
+ksanecore:
+ksanecore:
+ksanecore:
+ksanecore:
+ksanecore:
+ksanecore:
diff --git a/source/kde/kde/slack-desc/ktextaddons b/source/kde/kde/slack-desc/ktextaddons
new file mode 100644
index 000000000..a7d1c3ac2
--- /dev/null
+++ b/source/kde/kde/slack-desc/ktextaddons
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+ktextaddons: ktextaddons (text handling addons)
+ktextaddons:
+ktextaddons: Various text handling addons for Plasma.
+ktextaddons:
+ktextaddons:
+ktextaddons:
+ktextaddons:
+ktextaddons:
+ktextaddons:
+ktextaddons:
+ktextaddons:
diff --git a/source/kde/kde/slack-desc/kwave b/source/kde/kde/slack-desc/kwave
index 2bf0ac2f9..59cf2a6dd 100644
--- a/source/kde/kde/slack-desc/kwave
+++ b/source/kde/kde/slack-desc/kwave
@@ -8,7 +8,7 @@
|-----handy-ruler------------------------------------------------------|
kwave: kwave (A sound editor for KDE)
kwave:
-kwave: Kwave is a sound editor built on the KDE Frameworks 5. With Kwave you
+kwave: Kwave is a sound editor built on the KDE Frameworks. With Kwave you
kwave: can record, play back, import and edit many sorts of audio files
kwave: including multi channel files. Kwave includes some plugins to
kwave: transform audio files in several ways and presents a graphical view
diff --git a/source/kde/kde/slack-desc/kwayland b/source/kde/kde/slack-desc/kwayland
index ad0eb2652..adf1e89e9 100644
--- a/source/kde/kde/slack-desc/kwayland
+++ b/source/kde/kde/slack-desc/kwayland
@@ -8,7 +8,7 @@
|-----handy-ruler------------------------------------------------------|
kwayland: kwayland (wayland wrapper library for KDE)
kwayland:
-kwayland: Kwayland is a KDE Frameworks 5 library that wraps Client and Server
+kwayland: Kwayland is a KDE Frameworks library that wraps Client and Server
kwayland: Wayland libraries.
kwayland:
kwayland:
diff --git a/source/kde/kde/slack-desc/kxmlrpcclient b/source/kde/kde/slack-desc/kxmlrpcclient
index d9697706b..83af27213 100644
--- a/source/kde/kde/slack-desc/kxmlrpcclient
+++ b/source/kde/kde/slack-desc/kxmlrpcclient
@@ -8,7 +8,7 @@
|-----handy-ruler------------------------------------------------------|
kxmlrpcclient: kxmlrpcclient (library providing API to access XML RPC)
kxmlrpcclient:
-kxmlrpcclient: Tier 3 KDE Frameworks 5 library providing API to access XML RPC.
+kxmlrpcclient: Tier 3 KDE Frameworks library providing API to access XML RPC.
kxmlrpcclient:
kxmlrpcclient:
kxmlrpcclient:
diff --git a/source/kde/kde/slack-desc/latte-dock b/source/kde/kde/slack-desc/latte-dock
index 7ab73ac31..3fd045400 100644
--- a/source/kde/kde/slack-desc/latte-dock
+++ b/source/kde/kde/slack-desc/latte-dock
@@ -6,7 +6,7 @@
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
-latte-dock: latte-dock (alternative dock for Plasma5)
+latte-dock: latte-dock (alternative dock for Plasma)
latte-dock:
latte-dock: Latte is a dock based on Plasma Frameworks providing an elegant and
latte-dock: intuitive experience for your tasks and plasmoids. It animates its
diff --git a/source/kde/kde/slack-desc/merkuro b/source/kde/kde/slack-desc/merkuro
new file mode 100644
index 000000000..f2cedf85e
--- /dev/null
+++ b/source/kde/kde/slack-desc/merkuro
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+merkuro: merkuro (calendar and task management application)
+merkuro:
+merkuro: Merkuro Kalendar is a Kirigami-based calendar and task management
+merkuro: application merkuro: that uses Akonadi. It lets you add, edit and
+merkuro: delete events and tasks from local and remote accounts of your choice,
+merkuro: while keeping changes synchronised across your Plasma desktop or
+merkuro: phone.
+merkuro:
+merkuro:
+merkuro:
+merkuro:
diff --git a/source/kde/kde/slack-desc/oxygen-icons b/source/kde/kde/slack-desc/oxygen-icons
new file mode 100644
index 000000000..a28949a4f
--- /dev/null
+++ b/source/kde/kde/slack-desc/oxygen-icons
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+oxygen-icons: oxygen-icons (Oxygen theme for KDE)
+oxygen-icons:
+oxygen-icons: Oxygen provides a complete and modern icon theme for KDE.
+oxygen-icons:
+oxygen-icons:
+oxygen-icons:
+oxygen-icons:
+oxygen-icons:
+oxygen-icons:
+oxygen-icons:
+oxygen-icons:
diff --git a/source/kde/kde/slack-desc/oxygen-sounds b/source/kde/kde/slack-desc/oxygen-sounds
new file mode 100644
index 000000000..c8bf62ac8
--- /dev/null
+++ b/source/kde/kde/slack-desc/oxygen-sounds
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+oxygen-sounds: oxygen-sounds (KDE Oxygen sound pack)
+oxygen-sounds:
+oxygen-sounds: This package contains the KDE Oxygen sound pack.
+oxygen-sounds:
+oxygen-sounds:
+oxygen-sounds:
+oxygen-sounds:
+oxygen-sounds:
+oxygen-sounds:
+oxygen-sounds:
+oxygen-sounds:
diff --git a/source/kde/kde/slack-desc/plank-player b/source/kde/kde/slack-desc/plank-player
new file mode 100644
index 000000000..6936d98c5
--- /dev/null
+++ b/source/kde/kde/slack-desc/plank-player
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+plank-player: plank-player (Big Screen multimedia player)
+plank-player:
+plank-player: Multimedia Player for playing local files on Plasma Big Screen.
+plank-player:
+plank-player:
+plank-player:
+plank-player:
+plank-player:
+plank-player:
+plank-player:
+plank-player:
diff --git a/source/kde/kde/slack-desc/plasma-bigscreen b/source/kde/kde/slack-desc/plasma-bigscreen
new file mode 100644
index 000000000..31ca7e4fb
--- /dev/null
+++ b/source/kde/kde/slack-desc/plasma-bigscreen
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+plasma-bigscreen: plasma-bigscreen (Plasma Big Screen launcher)
+plasma-bigscreen:
+plasma-bigscreen: A big launcher giving you easy access to installed apps and skills.
+plasma-bigscreen:
+plasma-bigscreen:
+plasma-bigscreen:
+plasma-bigscreen:
+plasma-bigscreen:
+plasma-bigscreen:
+plasma-bigscreen:
+plasma-bigscreen:
diff --git a/source/kde/kde/slack-desc/plasma-remotecontrollers b/source/kde/kde/slack-desc/plasma-remotecontrollers
new file mode 100644
index 000000000..2b78eccc4
--- /dev/null
+++ b/source/kde/kde/slack-desc/plasma-remotecontrollers
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+plasma-remotecontrollers: plasma-remotecontrollers (Remote control support)
+plasma-remotecontrollers:
+plasma-remotecontrollers: This package translates events from various input devices to
+plasma-remotecontrollers: keypresses on a keyboard and pointer events (mouse movement).
+plasma-remotecontrollers:
+plasma-remotecontrollers:
+plasma-remotecontrollers:
+plasma-remotecontrollers:
+plasma-remotecontrollers:
+plasma-remotecontrollers:
+plasma-remotecontrollers:
diff --git a/source/kde/kde/slack-desc/sddm b/source/kde/kde/slack-desc/sddm
deleted file mode 100644
index 7fa590b2a..000000000
--- a/source/kde/kde/slack-desc/sddm
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-sddm: sddm (QML based X11 display manager)
-sddm:
-sddm: SDDM is a modern display manager for X11 aiming to be fast, simple and
-sddm: beautiful. It uses modern technologies like QtQuick, which in turn
-sddm: gives the designer the ability to create smooth, animated user
-sddm: interfaces. SDDM is extremely themeable. There are a few sample themes
-sddm: distributed with SDDM. They can be used as a starting point for new
-sddm: themes.
-sddm:
-sddm: Homepage: https://github.com/sddm/sddm
-sddm:
diff --git a/source/kde/kde/slack-desc/skanpage b/source/kde/kde/slack-desc/skanpage
new file mode 100644
index 000000000..2a4f8ce7e
--- /dev/null
+++ b/source/kde/kde/slack-desc/skanpage
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+skanpage: skanpage (scanning program)
+skanpage:
+skanpage: Skanpage is a multi-page scanning application built using the libksane
+skanpage: library and a QML interface. It supports saving to image and PDF
+skanpage: files.
+skanpage:
+skanpage: Homepage: https://invent.kde.org/utilities/skanpage/
+skanpage:
+skanpage:
+skanpage:
+skanpage:
diff --git a/source/kde/kde/slack-desc/tokodon b/source/kde/kde/slack-desc/tokodon
new file mode 100644
index 000000000..938903b03
--- /dev/null
+++ b/source/kde/kde/slack-desc/tokodon
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+tokodon: tokodon (Mastodon client)
+tokodon:
+tokodon: A modern Mastodon client.
+tokodon:
+tokodon: Homepage: https://invent.kde.org/network/tokodon
+tokodon:
+tokodon:
+tokodon:
+tokodon:
+tokodon:
+tokodon:
diff --git a/source/kde/kde/slack-desc/xdg-desktop-portal-kde b/source/kde/kde/slack-desc/xdg-desktop-portal-kde
index 8edffed7c..2f0024b46 100644
--- a/source/kde/kde/slack-desc/xdg-desktop-portal-kde
+++ b/source/kde/kde/slack-desc/xdg-desktop-portal-kde
@@ -8,8 +8,8 @@
|-----handy-ruler------------------------------------------------------|
xdg-desktop-portal-kde: xdg-desktop-portal-kde (implementation for xdg-desktop-portal)
xdg-desktop-portal-kde:
-xdg-desktop-portal-kde: A backend implementation for xdg-desktop-portal using Qt/KF5.
-xdg-desktop-portal-kde:
+xdg-desktop-portal-kde: A backend implementation for xdg-desktop-portal using Qt and the KDE
+xdg-desktop-portal-kde: Frameworks.
xdg-desktop-portal-kde:
xdg-desktop-portal-kde:
xdg-desktop-portal-kde:
diff --git a/source/kde/kde/slack-desc/zanshin b/source/kde/kde/slack-desc/zanshin
new file mode 100644
index 000000000..6e6aab779
--- /dev/null
+++ b/source/kde/kde/slack-desc/zanshin
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+zanshin: zanshin (A Getting Things Done application)
+zanshin:
+zanshin: Zanshin is a powerful yet simple application to manage your day to day
+zanshin: actions. It helps you organize and reduce the cognitive pressure of
+zanshin: what you have to do in your job and personal life. You'll never forget
+zanshin: anything anymore, getting your mind like water.
+zanshin: Zanshin's user interface lets you quickly see an overview of your life
+zanshin: and tasks.
+zanshin:
+zanshin: Homepage: https://zanshin.kde.org
+zanshin:
diff --git a/source/kde/kde/slack-desc/zeroconf-ioslave b/source/kde/kde/slack-desc/zeroconf-ioslave
deleted file mode 100644
index 0a881c204..000000000
--- a/source/kde/kde/slack-desc/zeroconf-ioslave
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|' on
-# the right side marks the last column you can put a character in. You must make
-# exactly 11 lines for the formatting to be correct. It's also customary to
-# leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-zeroconf-ioslave: zeroconf-ioslave (network monitor for zeroconf)
-zeroconf-ioslave:
-zeroconf-ioslave: A network monitor for DNS-SD services (Zeroconf).
-zeroconf-ioslave:
-zeroconf-ioslave:
-zeroconf-ioslave:
-zeroconf-ioslave:
-zeroconf-ioslave:
-zeroconf-ioslave:
-zeroconf-ioslave:
-zeroconf-ioslave:
diff --git a/source/kde/kquickimageeditor/kquickimageeditor.SlackBuild b/source/kde/kquickimageeditor/kquickimageeditor.SlackBuild
new file mode 100755
index 000000000..a511095f7
--- /dev/null
+++ b/source/kde/kquickimageeditor/kquickimageeditor.SlackBuild
@@ -0,0 +1,151 @@
+#!/bin/bash
+
+# Copyright 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=kquickimageeditor
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DBUILD_SHARED_LIBS=ON \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/kde/kquickimageeditor/slack-desc b/source/kde/kquickimageeditor/slack-desc
new file mode 100644
index 000000000..7b880981b
--- /dev/null
+++ b/source/kde/kquickimageeditor/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kquickimageeditor: kquickimageeditor (QtQuick components for image editing)
+kquickimageeditor:
+kquickimageeditor: KQuickImageEditor is a set of QtQuick components providing basic image
+kquickimageeditor: editing capabilities.
+kquickimageeditor:
+kquickimageeditor:
+kquickimageeditor:
+kquickimageeditor:
+kquickimageeditor:
+kquickimageeditor:
+kquickimageeditor:
diff --git a/source/kde/kuserfeedback/kuserfeedback.SlackBuild b/source/kde/kuserfeedback/kuserfeedback.SlackBuild
new file mode 100755
index 000000000..448ef178c
--- /dev/null
+++ b/source/kde/kuserfeedback/kuserfeedback.SlackBuild
@@ -0,0 +1,151 @@
+#!/bin/bash
+
+# Copyright 2022 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=kuserfeedback
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DBUILD_SHARED_LIBS=ON \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/kde/kuserfeedback/slack-desc b/source/kde/kuserfeedback/slack-desc
new file mode 100644
index 000000000..ebf87dc8f
--- /dev/null
+++ b/source/kde/kuserfeedback/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kuserfeedback: kuserfeedback (User feedback framework)
+kuserfeedback:
+kuserfeedback: KUserFeedback is a framework for collecting feedback from application
+kuserfeedback: users via telemetry and targeted surveys. It features an extensible
+kuserfeedback: set of data sources for telemetry and offers the user full control on
+kuserfeedback: what data to contribute.
+kuserfeedback:
+kuserfeedback:
+kuserfeedback:
+kuserfeedback:
+kuserfeedback:
diff --git a/source/kde/libindi/libindi.SlackBuild b/source/kde/libindi/libindi.SlackBuild
new file mode 100755
index 000000000..cf32b36a3
--- /dev/null
+++ b/source/kde/libindi/libindi.SlackBuild
@@ -0,0 +1,136 @@
+#!/bin/bash
+
+# Copyright 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libindi
+SRCNAM=indi
+VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$SRCNAM-$VERSION.tar.?z || exit 1
+cd $SRCNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_C_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX="$LIBDIRSUFFIX" \
+ -DDOC_INSTALL_DIR="doc" \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DINCLUDE_INSTALL_DIR=/usr/include \
+ -DUDEVRULES_INSTALL_DIR=/lib/udev/rules.d \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DINDI_BUILD_STATIC=OFF \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* COPYING* ChangeLog INSTALL* LICENSE* NEWS* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/kde/libindi/libindi.url b/source/kde/libindi/libindi.url
new file mode 100644
index 000000000..9ed426fff
--- /dev/null
+++ b/source/kde/libindi/libindi.url
@@ -0,0 +1 @@
+https://github.com/indilib/indi
diff --git a/source/kde/libindi/slack-desc b/source/kde/libindi/slack-desc
new file mode 100644
index 000000000..67903683e
--- /dev/null
+++ b/source/kde/libindi/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libindi: libindi (Instrument Neutral Distributed Interface)
+libindi:
+libindi: INDI is a distributed control protocol designed to operate
+libindi: astronomical instrumentation. INDI is small, flexible, easy to parse,
+libindi: and scalable. It supports common DCS functions such as remote control,
+libindi: data acquisition, monitoring, and a lot more.
+libindi:
+libindi: Homepage: https://www.indilib.org
+libindi:
+libindi:
+libindi:
diff --git a/source/kde/libnova/libnova.SlackBuild b/source/kde/libnova/libnova.SlackBuild
new file mode 100755
index 000000000..6c68fa126
--- /dev/null
+++ b/source/kde/libnova/libnova.SlackBuild
@@ -0,0 +1,146 @@
+#!/bin/bash
+
+# Copyright 2013 Chris Abela
+# Copyright 2014 Ryan P.C. McQuen <ryanpcmcquen at member dot fsf dot org>
+# Copyright 2017 Philip Lacroix <slackph at posteo dot de>
+# Copyright 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libnova
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+autoreconf -vif
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Build docs:
+make -C doc doc
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Install man pages:
+mkdir -p $PKG/usr/man/man3
+cp -a doc/man/man3/*.3 $PKG/usr/man/man3
+rm -f $PKG/usr/man/man3/version.3 # This conflicts with the Slackware perl package
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog COPYING* NEWS* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/kde/libnova/libnova.url b/source/kde/libnova/libnova.url
new file mode 100644
index 000000000..e381b9c96
--- /dev/null
+++ b/source/kde/libnova/libnova.url
@@ -0,0 +1 @@
+http://sourceforge.net/projects/libnova/files/libnova/
diff --git a/source/kde/libnova/slack-desc b/source/kde/libnova/slack-desc
new file mode 100644
index 000000000..5ee1aca6d
--- /dev/null
+++ b/source/kde/libnova/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libnova: libnova (celestial mechanics, astrometry and astrodynamics library)
+libnova:
+libnova: libnova is a general purpose, double precision, celestial mechanics,
+libnova: astrometry, and astrodynamics library. It is the calculation engine
+libnova: used by the Nova project. The intended audience of libnova are C / C++
+libnova: programmers, astronomers, and anyone else interested in calculating
+libnova: positions of astronomical objects or celestial mechanics.
+libnova:
+libnova: Homepage: http://libnova.sourceforge.net/
+libnova:
+libnova:
diff --git a/source/kde/qca/qca.SlackBuild b/source/kde/qca/qca.SlackBuild
new file mode 100755
index 000000000..dad6549cf
--- /dev/null
+++ b/source/kde/qca/qca.SlackBuild
@@ -0,0 +1,128 @@
+#!/bin/bash
+
+# Copyright 2015, 2020 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2015, 2016, 2017, 2018, 2019, 2020 Eric Hameleers, Eindhoven, NL
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=qca
+SRCNAM=qca
+VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$SRCNAM-$VERSION.tar.?z || exit 1
+cd $SRCNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DQCA_MAN_INSTALL_DIR=/usr/man \
+ -DQCA_INSTALL_IN_QT_PREFIX:BOOL=ON \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DBUILD_TESTS:BOOL=OFF \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ COPYING* INSTALL* README* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/kde/qca/qca.url b/source/kde/qca/qca.url
new file mode 100644
index 000000000..6761b96a5
--- /dev/null
+++ b/source/kde/qca/qca.url
@@ -0,0 +1 @@
+https://download.kde.org/stable/qca/
diff --git a/source/kde/qca/slack-desc b/source/kde/qca/slack-desc
new file mode 100644
index 000000000..ec4e9f0d6
--- /dev/null
+++ b/source/kde/qca/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+qca: qca (Qt Cryptographic Architecture)
+qca:
+qca: QCA aims to provide a straightforward and cross-platform cryptographic
+qca: API using Qt datatypes and conventions. The library and plugins
+qca: support a range of cryptographic features, including SSL/TLS, X.509
+qca: certificates, SASL, OpenPGP, smartcards, and much more.
+qca:
+qca: Homepage: https://github.com/KDE/qca
+qca:
+qca:
+qca:
diff --git a/source/kde/qcoro/qcoro.SlackBuild b/source/kde/qcoro/qcoro.SlackBuild
new file mode 100755
index 000000000..6dc1e1195
--- /dev/null
+++ b/source/kde/qcoro/qcoro.SlackBuild
@@ -0,0 +1,124 @@
+#!/bin/bash
+
+# Copyright 2023, 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=qcoro
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_C_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX="$LIBDIRSUFFIX" \
+ -DDOC_INSTALL_DIR="doc" \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DUSE_QT_VERSION=5 \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/kde/qcoro/qcoro.url b/source/kde/qcoro/qcoro.url
new file mode 100644
index 000000000..bee65d597
--- /dev/null
+++ b/source/kde/qcoro/qcoro.url
@@ -0,0 +1 @@
+https://github.com/danvratil/qcoro
diff --git a/source/kde/qcoro/slack-desc b/source/kde/qcoro/slack-desc
new file mode 100644
index 000000000..b681f33b1
--- /dev/null
+++ b/source/kde/qcoro/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+qcoro: qcoro (Coroutines for Qt)
+qcoro:
+qcoro: The QCoro library provides set of tools to make use of C++20
+qcoro: coroutines with Qt.
+qcoro:
+qcoro: Homepage: https://github.com/danvratil/qcoro
+qcoro:
+qcoro:
+qcoro:
+qcoro:
+qcoro:
diff --git a/source/kde/stellarsolver/slack-desc b/source/kde/stellarsolver/slack-desc
new file mode 100644
index 000000000..5ec2f2169
--- /dev/null
+++ b/source/kde/stellarsolver/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+stellarsolver: stellarsolver (internal astrometric solver)
+stellarsolver:
+stellarsolver: StellarSolver is a SEP-based star extractor and astrometry.net based
+stellarsolver: internal astrometric solver, meant to be an internal library for use
+stellarsolver: in a program like KStars for internal plate solving on all supported
+stellarsolver: operating systems.
+stellarsolver:
+stellarsolver: Homepage: https://github.com/rlancaste/stellarsolver
+stellarsolver:
+stellarsolver:
+stellarsolver:
diff --git a/source/kde/stellarsolver/stellarsolver.SlackBuild b/source/kde/stellarsolver/stellarsolver.SlackBuild
new file mode 100755
index 000000000..de4dbc90d
--- /dev/null
+++ b/source/kde/stellarsolver/stellarsolver.SlackBuild
@@ -0,0 +1,123 @@
+#!/bin/bash
+
+# Copyright 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=stellarsolver
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_C_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX="$LIBDIRSUFFIX" \
+ -DDOC_INSTALL_DIR="doc" \
+ -DMAN_INSTALL_DIR=/usr/man \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ LICENSE* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/kde/stellarsolver/stellarsolver.url b/source/kde/stellarsolver/stellarsolver.url
new file mode 100644
index 000000000..4e39af773
--- /dev/null
+++ b/source/kde/stellarsolver/stellarsolver.url
@@ -0,0 +1 @@
+https://github.com/rlancaste/stellarsolver
diff --git a/source/kde/wcslib/slack-desc b/source/kde/wcslib/slack-desc
new file mode 100644
index 000000000..f85d20e77
--- /dev/null
+++ b/source/kde/wcslib/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+wcslib: wcslib (FITS WCS standard library)
+wcslib:
+wcslib: WCSLIB is a C library, supplied with a full set of Fortran wrappers,
+wcslib: that implements the "World Coordinate System" (WCS) standard in FITS
+wcslib: (Flexible Image Transport System).
+wcslib:
+wcslib: Homepage: https://www.atnf.csiro.au/people/Mark.Calabretta/WCS/
+wcslib:
+wcslib:
+wcslib:
+wcslib:
diff --git a/source/kde/wcslib/wcslib.SlackBuild b/source/kde/wcslib/wcslib.SlackBuild
new file mode 100755
index 000000000..85d0cbad0
--- /dev/null
+++ b/source/kde/wcslib/wcslib.SlackBuild
@@ -0,0 +1,150 @@
+#!/bin/bash
+
+# Copyright 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=wcslib
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --without-pgplot \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Don't ship static library:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.a
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ CHANGES COPYING* INSTALL* README* THANKS* VALIDATION* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a CHANGES file, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat CHANGES | head -n 1000 > $DOCSDIR/CHANGES
+ touch -r CHANGES $DOCSDIR/CHANGES
+fi
+
+# This seems a bit out of hand, but comments welcome :)
+rm -rf $PKG/usr/doc/${PKGNAM}-$VERSION/html
+rm -f $PKG/usr/doc/${PKGNAM}-$VERSION/*.pdf
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/kde/wcslib/wcslib.url b/source/kde/wcslib/wcslib.url
new file mode 100644
index 000000000..88b06c7a8
--- /dev/null
+++ b/source/kde/wcslib/wcslib.url
@@ -0,0 +1 @@
+ftp://ftp.atnf.csiro.au/pub/software/wcslib