summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHartmut Goebel <h.goebel@crazy-compilers.com>2019-06-12 11:17:42 +0200
committerHartmut Goebel <h.goebel@crazy-compilers.com>2021-01-31 16:25:47 +0100
commited000b6d2bf27229f2aab8470fc4c7a64f345193 (patch)
tree3a85fdbe5291da66d281c7802b5715f3435342a3
parent861e6676325dfd1fa19b4e7ca1797f294415908e (diff)
TEMP Add some Readme-files for packaging Plasma for Guix.
This is just to pass my knowledge and processing to somebody who wants to work in Plasma for Guix.
-rw-r--r--00-README-Plasma.txt69
-rw-r--r--10-TODO-KDE-Frameworks.txt302
-rw-r--r--10-TODO-KDE-applications.txt24
-rw-r--r--10-TODO-plasma.txt461
-rw-r--r--11-TODO-Plasma-Desktop-Service.txt513
5 files changed, 1369 insertions, 0 deletions
diff --git a/00-README-Plasma.txt b/00-README-Plasma.txt
new file mode 100644
index 0000000000..00bc8ebffa
--- /dev/null
+++ b/00-README-Plasma.txt
@@ -0,0 +1,69 @@
+This branch contains my work for bringing the KDE Plasma dekstop to Guix.
+
+Hartmut Goebel, Juni 2019 & January 2021
+
+Note 1: It might be worth making an older version of Plasma work, as this an
+ older version has less dependencies. This is why this branch still
+ sticks at 5.19.5.
+
+Note 2: https://invent.kde.org/plasma lists about 60 packages, many of which
+ are applications. I expect most of these
+ applications to be not required to start the Plasma Desktop.
+ See 10-TODO-plasma.txt for more information.
+
+
+About the other Readme-files
+===============================
+
+* 10-TODO-….txt contain the status of my efforts (which might be outdated) and
+ a lot of snippets useful for building packages and making tests pass.
+
+ Please at least skim through these files as they contain lots hof hints and
+ some gems :-)
+
+ The most central of this is the "Status Unit-tests" in
+ 10-TODO-plasma.txt. This documents the status of building the packages
+ required for plasma. I'm encouraging you to use this list to avoid getting
+ lost :-)
+
+
+Proposed approach
+==========================
+
+ 1. Make the packages listed in "Status Unit-tests" in
+ 10-TODO-plasma.txt. build and (most) tests pass. This list hopefully
+ contains all package required for a minimal Plasma desktop service.
+
+ I suggest using the plasma versions currently package on this branch to
+ avoid introducing more issues.
+
+ 2. Build a system (see gnu/system/examples/plasma.tmpl and
+ gnu/services/desktop.scm) which starts runs a small (or even minimal)
+ Plasma desktop.
+
+ 3. Define two (maybe more) desktop-services:
+ - plasma-minimal
+ - plasma
+ (- plasma-all-bells-and-wistels)
+
+
+Notes about my Commit messages
+====================================
+
+ I'm using pre- and postfixes in my commit messages:
+
+ - TEMP: This is an intermediate commit to preserve some state. This might be
+ dropped, merged, fixed, etc. later.
+ - REWORD: Message needs rewording (e.g. is not written well or unfinished)
+ - FIXUP: This is a fixup for another commit, which should be `fixup`d using
+ `git rebase -i` soon.
+ - SQUASH: same, but to be `sqash`ed.
+ - WIP: work in progress, commited to preserve acceptable state
+ - TODO: This is unfinished work
+
+
+Further reading
+========================
+
+* https://lists.gnu.org/archive/html/guix-devel/2017-11/msg00161.html
+* https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00185.html
diff --git a/10-TODO-KDE-Frameworks.txt b/10-TODO-KDE-Frameworks.txt
new file mode 100644
index 0000000000..743abf74b3
--- /dev/null
+++ b/10-TODO-KDE-Frameworks.txt
@@ -0,0 +1,302 @@
+===================
+KDE-Frameworks
+===================
+
+Update Instructions
+==========================
+
+To update all KDE Frameworks packages process as follows:
+
+- sh ./kde-update # (adjust!) or run "guix download" manually
+- sh ./kde-build.sh # (adjust!)
+- ./kde-filter-buildlog.py # run one-by-one?
+
+
+Status Unit-tests 5.49.0
+===================================
+
+ extra-cmake-modules ✔
+
+ ;; Tier 1
+ attica ✔ (1 test requiring network access disabled)
+ bluez-qt tests hang
+ breeze-icons ✔
+ kapidox ✔ (no test-suite)
+ karchive ✔
+ kcodecs ✔
+ kconfig ✔
+ kcoreaddons 1 blacklisted
+ kdbusaddons ✔
+ kdnssd ✔
+ kguiaddons ✔
+ ki18n ✔
+ kidletime ✔
+ kirigami ✔
+ kitemmodels ✔
+ kitemviews ✔
+ kplotting ✔
+ ksyntaxhighlighting ✔
+ kwayland tests require weston to run, weston requires wayland flags in mesa
+ kwidgetsaddons ✔
+ kwindowsystem 2 blacklisted
+ modemmanager-qt ✔
+ networkmanager-qt ✔
+ oxygen-icons ✔
+ prison ✔
+ qqc2-desktop-style ✔
+ solid ✔
+ sonnet ✔
+ threadweaver ✔
+
+ ;; Tier 2
+ kactivities ✔
+ kauth ✔
+ kcompletion ✔
+ kcrash ✔
+ kdoctools ✔
+ kfilemetadata 1 blacklisted (weil Container getxattr nicht unterstützt)
+ kimageformats 1 blacklisted (did also fail at the KDE CI farm)
+ kjobwidgets ✔
+ knotifications ✔
+ kpackage ✔
+ kpty 1/1 tests fail.
+ kunitconversion 1 tests disabled, FIXME: re-enable if fixed upstream
+
+ ;; Tier 3
+ baloo ✔ (but one test fails on i686 and aarch64)
+ kactivities-stats ✔
+ kbookmarks ✔
+ kcmutils ✔
+ kconfigwidgets ✔
+ kdeclarative ✔
+ kded ✔
+ kdesignerplugin ✔
+ kdesu ✔
+ kdewebkit ✔
+ kemoticons ✔
+ kglobalaccel ✔
+ kiconthemes ✔
+ kinit ✔
+ kio 41/50 tests fail.
+ knewstuff ✔
+ knotifyconfig ✔
+ kparts ✔
+ kpeople 1/3 tests fail.
+ krunner 2 blacklisted
+ kservice 6/10 tests fail - findet service-defs nicht check-after-install???
+ ktexteditor 5/66 tests fail:
+ ktextwidgets ✔
+ kwallet ✔
+ kxmlgui 1/5 tests fail.
+ kxmlrpcclient ✔
+ plasma-framework 9/15 tests fail. (service types not found)
+
+ ;; Tier 4
+ kde-frameworkintegration ✔
+ kdelibs4support 1 blacklisted, 2 disabled
+ khtml ✔
+ kjs ✔
+ kjsembed ✔
+ kmediaplayer ✔
+ kross ✔
+
+
+
+Find dependencies KDE uses for building
+==================================================
+
+https://cgit.kde.org/sysadmin/ci-tooling.git/tree/system-images/suse-qt511/Dockerfile
+
+
+How does the test-environemnt KDE uses look like?
+=================================================
+
+Build-Specs are in
+<https://cgit.kde.org/sysadmin/ci-tooling.git/tree/build-specs>
+
+Environment is build using
+<https://cgit.kde.org/sysadmin/ci-tooling.git/tree/helpers/run-tests.py>:
+
+ - in-source-build? (default: False)
+ - XDG_RUNTIME_DIR='/tmp/runtime-kdeci/' + mkdir $XDG_RUNTIME_DIR
+ - force-inject-asan? (default: False)
+ Address Sanitizer library used for -fsanitize=address instrumented programs
+ -> LD_PRELOAD=...
+ - 'QT_LOGGING_RULES' = "*.debug=true" ;; make Qt noisy about debug output to make debugging tests easier
+ - 'QT_LOGGING_TO_CONSOLE' = '1' ;; force Qt to print to stderr
+ - 'QT_FORCE_STDERR_LOGGING' = '1'
+ - 'CTEST_OUTPUT_ON_FAILURE' = '1'
+ - setup-x-environment? (default: True)
+ -> Xvfb :90 -ac -screen 0 1600x1200x24+32
+ -> DISPLAY=:90
+ -> sleep(5) ; Give Xvfb a few moments to get on it's feet
+ -> openbox
+ - launch-dbus-session? (default: True)
+ -> export $(dbus-launch)
+ - Wenn usingInstall+'share/mime' existiert
+ -> update-mime-database DIRNAME
+ - kdeinit5 && sleep(5)
+ - ctest -T test
+
+
+Snippets for Tests
+===========================
+
+These are commonly used snippets to make the tests pass in guix
+
+ (add-before 'build 'setup-build
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; FIXME build phase doesn't find parts.desktop
+ (setenv "XDG_DATA_DIRS"
+ (string-append (assoc-ref inputs "kparts") "/share"))
+
+
+ `(#:configure-flags
+ `(,(string-append "-DKDE_INSTALL_DATADIR="
+ (assoc-ref %outputs "out") "/share"))
+ (add-before 'configure 'patch-cmakelists
+ (lambda _
+ (substitute* "processcore/CMakeLists.txt"
+ (("KAUTH_HELPER_INSTALL_DIR") "KDE_INSTALL_LIBEXECDIR"))))
+
+ ;; (assoc-ref %standard-phases 'check))
+ (add-before 'check 'check-setup
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "HOME" (getcwd))
+ (setenv "TMPDIR" "/tmp")
+ (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug output
+ ;; make Qt render "offscreen", required for tests
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ (setenv "QT_PLUGIN_PATH"
+ (string-append out "/lib/plugins:"
+ (getenv "QT_PLUGIN_PATH")))
+ (setenv "QT_DEBUG_PLUGINS" "1") ; important helper!
+ (setenv "QML_IMPORT_TRACE" "1") ;; Trace QML import issues
+ (setenv "XDG_RUNTIME_DIR" "/tmp")
+ (setenv "XDG_DATA_DIRS"
+ (string-append
+ (assoc-ref inputs "shared-mime-info") "/share:"
+ (assoc-ref inputs "kjobwidgets") "/share:"
+ (getenv "XDG_DATA_DIRS")))
+ (setenv "TZDIR" ; KDateTimeTestsome needs TZDIR
+ (string-append (assoc-ref inputs "tzdata")
+ "/share/zoneinfo"))
+ #t))
+ (add-before 'check 'start-xorg-server
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; The test suite requires a running X server.
+ (system (string-append (assoc-ref inputs "xorg-server")
+ "/bin/Xvfb :1 &"))
+ (setenv "DISPLAY" ":1")
+ #t))
+ (replace 'check
+ (lambda _
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug output
+ (use-modules (ice-9 rdelim))
+ (use-modules (ice-9 popen))
+ (use-modules (ice-9 match))
+ (let ((port (open-input-pipe "dbus-launch")))
+ (do ((line (read-line port) (read-line port)))
+ ((eof-object? line))
+ (match (string-split line (char-set #\=))
+ ((varname value)
+ (setenv varname value))
+ (_ #t))) ;; skip any no-matching line
+ (close-pipe port))
+ (invoke
+ "strace" "-o" "trace.txt" "-f" "-e" "trace=file"
+ "dbus-launch"
+ "ctest" ".")))
+
+ ;; GuixSD's polkit service stores actions under
+ ;; /etc/polkit-1/actions.
+ (substitute* "src/polkitbackend/polkitbackendinteractiveauthority.c"
+ (("PACKAGE_DATA_DIR \"/polkit-1/actions\"")
+ "PACKAGE_SYSCONF_DIR \"/polkit-1/actions\""))
+
+
+export $(dbus-launch)
+/usr/bin/strace -o /tmp/trace.txt -f -e trace=file \
+ctest --output-on-failure -R runnercontexttest .
+
+
+
+Patches from NixOS
+===================
+
+
+2018-02-13
+
+
+kinit/kinit-libpath.patch -- PRÜFEN
++ // Try to load the library relative to the active profiles.
++ QByteArrayList profiles = qgetenv("GUIX_KF5INIT_LIB_PATH").split(':');
++ for (const QByteArray &profile: profiles) {
++ if (!profile.isEmpty()) {
++ l.setFileName(QFile::decodeName(profile) + QStringLiteral("/") + libpath);
++ if (l.load()) break;
++ }
++ }
+
+
+extra-cmake-modules -- no need, we just replace "lib64" by "lib"
+kauth -- implemented since dc2ef09ad79803f2cc4828ef18927ca0e75e24fa
+
+kcmutils -- done
+kconfigwidgets -- done
+kdelibs4support -- comment added
+
+kdoctools -- NixOS doesn't search for package DocBookXML. Can't see any reason
+ why we should adopt this
+
+kfilemetadata -- NixOS installs .cmake files into the @dev@ package, we don't
+ do so. Thus we do not need 'cmake-install-paths.patch'.
+
+kiconthemes -- NixOS changes the defaut icon theme, we keep what KF5 wants.
+
+kinit/kdeinit-extra_libs.patch -- done
+kinit/kinit-libpath.patch -- PRÜFEN
+
+kinit/start_kdeinit-path.patch -- don't need
+-> prüfen: CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/start_kdeinit"
+ /gnu/store/... muss in executable start_kdeinit_wrapper sein
+
+kio/kio-debug-module-loader.patch -- implemented since
+ bb4fcf7ba6c361f45215c0200515b7270d93dbdc
+kio/samba-search-path.patch -- done
+
+kpackage -- done
+kservice -- done
+
+kwindowsystem -- NixOS has a patch to find plugins at some special place. We
+ don't need this, since we use Qt-mechanism ($QT_PLUGIN_PATH).
+
+
+kdelibs4support
+---------------------
+FAIL! : KStandarddirsTest::testResourceDirs() 'dir.endsWith("xdg/") || dir.endsWith("share/config/") || dir.endsWith(".kde-unit-test/xdg/config/")' returned FALSE. (/tmp/guix-build-kdelibs4support-5.39.0.drv-0/build/.kde-unit-test/xdg/config/./)
+ Loc: [/tmp/guix-build-kdelibs4support-5.39.0.drv-0/kdelibs4support-5.39.0/autotests/kstandarddirstest.cpp(113)]
+FAIL! : KStandarddirsTest::testFindAllResources() 'dbusInterfaceFiles.count() > 20' returned FALSE. ()
+ Loc: [/tmp/guix-build-kdelibs4support-5.39.0.drv-0/kdelibs4support-5.39.0/autotests/kstandarddirstest.cpp(183)]
+FAIL! : KStandarddirsTest::testFindResourceDir() '!configDir.isEmpty()' returned FALSE. ()
+ Loc: [/tmp/guix-build-kdelibs4support-5.39.0.drv-0/kdelibs4support-5.39.0/autotests/kstandarddirstest.cpp(289)]
+
+
+
+Notes
+===================
+
+
+KAUTH_POLICY_FILES_INSTALL_DIR kauth
+/gnu/store/…-kauth-5.27.0/lib64/cmake/KF5Auth/KF5AuthConfig.cmake
+KDE4_AUTH_POLICY_FILES_INSTALL_DIR kdeliibs4support
+/gnu/store/…-kdelibs4support-5.27.0/lib64/cmake/KDELibs4/KDELibsDependencies.cmake
+set(KAUTH_POLICY_FILES_INSTALL_DIR "/gnu/store/4zv2cq8gh6jkvwl2d7mbq9llvx9ljdm1-kauth-5.27.0/share/polkit-1/actions")
+
+src/ConfigureChecks.cmake: set(KAUTH_POLICY_FILES_INSTALL_DIR ${POLKITQT_POLICY_FILES_INSTALL_DIR} CACHE STRING
+
+set(KAUTH_POLICY_FILES_INSTALL_DIR "@KAUTH_POLICY_FILES_INSTALL_DIR@")
+
+muss was werden wie:
+include("${CMAKE_CURRENT_LIST_DIR}/KF5AuthTargets.cmake")
diff --git a/10-TODO-KDE-applications.txt b/10-TODO-KDE-applications.txt
new file mode 100644
index 0000000000..f7e0eeab73
--- /dev/null
+++ b/10-TODO-KDE-applications.txt
@@ -0,0 +1,24 @@
+===================
+KDE Applications
+===================
+
+See 10-KDE-Frameworks.txt für snippets and more information.
+
+
+ark ;; some tests fail
+filelight ;; builds, but "unable to load filelight part"
+kcalc
+kcharselect
+kdf
+kfloppy
+ktimer
+kgpg ;; not build, still requires kde 4 and KdepimLibs
+kwalletmanager
+sweeper ;; not build, still requires kde4
+
+printer-applet: seems to be no longer maintained
+kremote-control: still requires KDE4
+
+https://community.kde.org/KDE_Utils additionally lists
+"ksecretservice" (KDE secrets management infrastructure, aiming to replace KDE
+wallet) which seems to not be finished yet.
diff --git a/10-TODO-plasma.txt b/10-TODO-plasma.txt
new file mode 100644
index 0000000000..fc66b5cadd
--- /dev/null
+++ b/10-TODO-plasma.txt
@@ -0,0 +1,461 @@
+=====================
+KDE Plasma
+=====================
+
+When Plasma is running on Guix System, enlist Guix System at
+https://community.kde.org/Plasma/Packages
+
+
+https://invent.kde.org/plasma lists about 60 packages, many of which
+are applications. I expect most of these
+applications to be not required to start the Plasma Desktop.
+I expect plasma-desktop, plasma-workspace, kwin, kwayland-server,
+plasma-wayland-protocols, kwayland-integration, and ksysguard
+to be sufficient to start the Plasma Desktop.
+This is why the commits adding these are "grouped".
+
+
+Status as of January 2021:
+
+* plasma-desktop builds, most tests are passing.
+
+* Directory 99-playground/ contains file to test the desktop following the
+ idea from
+ <https://guix.gnu.org/de/blog/2019/running-a-guix-xfce-desktop-on-centos-7/>.
+
+ The basic idea: Start an X11 server (provided by the host OS) on another
+ virtual terminal and make this run the desktop. See there for a short Readme.
+
+* when trying to start the desktop following the idea from
+ <https://guix.gnu.org/de/blog/2019/running-a-guix-xfce-desktop-on-centos-7/>
+ I get sole KDE animation, a black screen, but no desktop elements
+
+
+
+Followng Notes are from Juni 2019
+
+See 10-KDE-Frameworks.txt für snippets and more information.
+
+
+TODO
+============================
+
+Patch startkde (and startplasma?:
+XDG_DATA_DIRS=/gnu/store/...:/run/current-system/profile/share/
+
+
+
+Packages added after 5.12.2
+===================================
+
+drkonqi-5.14.4.tar.xz
+kde-gtk-config-5.14.4.tar.xz
+kinfocenter-5.14.4.tar.xz
+plasma-browser-integration-5.14.4.tar.xz
+plasma-vault-5.14.4.tar.xz
+plymouth-kcm-5.14.4.tar.xz
+xdg-desktop-portal-kde-5.14.4.tar.xz
+
+
+Packages added up to 5.18.5
+===============================
+
+{'plasma-tests', 'breeze-plymouth', 'kinfocenter', 'plasma-nano', 'plasma-phone-components', 'plymouth-kcm', 'plasma-thunderbolt', 'plasma-browser-integration'}
+
+
+Desktop-Service
+----------------------
+
+Not sure what this notes are for, I assume this is a list of rin-time packages
+required to run plasma (kinit)
+
+xrdb
+xprop
+xmessage
+qttools
+kinit
+kconfig
+#plasma-desktop kapplymousetheme -> fehlt
+qtdeclarative
+xset
+xsetroot
+
+Snippets for Commit messages or comments
+========================================
+
+Use this template to provide document what you tried to make tests pass, but
+did not suffice.
+
+Setting QT_PLUGIN_PATH,
+starting a X11-server, openbox and kdeinit5
+or running ctest via dbus-launch
+are not sufficient to make the
+two failing test-cases pass.
+
+
+Snippets for Tests
+===========================
+
+See 10-KDE-Frameworks.txt
+
+https://community.kde.org/KWin/Wayland
+https://community.kde.org/Get_Involved/Quality/Tutorial
+
+KDE test-environment [2] per default [1] does this:
+- starts `Xvfb :90 -ac -screen 0 1600x1200x24+32`
+- starts `openbox`
+- runs `dbus-launch` and sets all the environement variables
+- runs `update-mime-database …/share/mime`
+- runs `kdeinit5` in the background
+- runs `ctest -T Test --output-on-failure … --timeout {timeLimit} {additionalCTestArguments}"`
+
+[1] https://cgit.kde.org/sysadmin/ci-tooling.git/tree/helpers/helperslib/BuildSpecs.py#n54
+[2] https://cgit.kde.org/sysadmin/ci-tooling.git/tree/helpers/run-tests.py
+
+* settings for individual packages (one about a dozen) are at
+ https://cgit.kde.org/sysadmin/ci-tooling.git/tree/build-specs
+
+
+Interactively running tests within a guix build-environment
+--------------------------------------------------------------
+
+# guix environment …
+cd ../build
+make install
+export CTEST_OUTPUT_ON_FAILURE=1
+Xvfb :98 -screen 0 640x480x24 &
+$GUIX_ENVIRONMENT/bin/strace -f -o ../trace.log \
+bin/testBuiltInEffectLoader
+ctest -R testBuiltInEffectLoader
+ctest --force-new-ctest-process -R testBuiltInEffectLoader
+
+
+Status Unit-tests 5.49.0
+===================================
+
+overall stauts (first column):
+ ✔: finished
+
+`build`-status:
+ (b) builds successfully
+ (d) all config dependencies are added
+ (+) all dependencies are added
+
+`test*-status:
+ w-blist: tests blacklisted
+ w-fail: some tests still fail
+ +: pass or given up at a reasonable acceptance level
+
+log: logfile checked
+lic: lizenz checked
+desc: homepage, synopsis, description finished
+lint: guix lint passed
+
+discover
+ /var/log/guix/drvs/mp/l34qr78jc1052j0zy4n88snyqklhcx-discover-5.10.1.drv.bz2
+ warnings during generation of metainfo for org.kde.discovernotifier:
+ Package type "Plasma/Applet" not found
+
+✔
+ build tests log
+bluedevil ✔ + + +
+discover later bd - - deferred
+breeze-gtk ✔ + + +
+kactivitymanagerd ✔ + + -
+kdecoration ✔ + + +
+kgamma5 ✔ + + +
+--kholidays-- . + w-fail . frameworks.scm
+kscreenlocker ✔ + + +
+ksshaskpass ✔ + + +
+ksysguard ✔ + + +
+kwallet-pam ✔ + + +
+kwayland-integration ✔ + + +
+breeze ✔ + + +
+kwin . . w-fail . TODO 35/77 tests fail
+kwrited ✔ + + +
+--libkscreen-- . . w-blist . build by somebody else
+milou ✔ + + +
+oxygen ✔ + + +
+plasma-nm ✔ + + +
+plasma-pa ✔ + + +
+plasma-sdk . . . .
+ --> see below
+
+plasma-tests . . . .
+plasma-workspace-wallpapers ✔ + + +
+polkit-kde-agent-1 ✔ + + +
+sddm-kcm ✔ + + +
+user-manager ✔ + + +
+---
+plasma-workspace . . w-fail .
+---
+kde-cli-tools . X w-fail . plasma-workspace
+kscreen . . . . plasma-workspace
+systemsettings . . . . plasma-workspace
+kdeplasma-addons . . . .
+khotkeys . . . .
+kmenuedit . . . .
+plasma-integration . . w-fail .
+powerdevil . . . .
+---
+plasma-desktop . . w-blist .
+
+breeze-grub . . . .
+breeze-plymouth dep. missing - -
+
+
+plasma-workspace requirements
+============================================
+
+requirements used by other Gnu/Linux distributions
+
+fedora nix debian
+-------- ----------- -----------
+docbook-dtds kconfig coreadons
+docbook-ste-xsl libdbusmenu kconfig
+kdewebkit libkscreen kdewebkit
+kdoctools libXcursor kdoctools
+kfilemetadata pam kinit
+kinit qtgraphicaleffects kio
+libkscreen qtquickcontrols knotifyconfig
+libxml2-utils qtquickcontrols2 libgp
+ wayland libraw1394-dev,
+pam Libudev-dev (systemd)
+ -libxi
+ libxkbcommon
+ libxkbfile
+ lm-sensors
+ pam
+ libdbusmenu-qt
+ qttools5
+ wayland
+ xapian-core
+ xcb-proto
+
+
+Find dependencies
+==================================================
+
+Several places where to find required packages:
+
+https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/x11/desktop-managers/plasma5.nix
+
+https://github.com/NixOS/nixpkgs/tree/master/pkgs/desktops/plasma-5
+
+https://apps.fedoraproject.org/packages/
+
+https://cgit.kde.org/sysadmin/ci-tooling.git/tree/system-images/suse-qt511/Dockerfile
+
+
+Check if the tests for a packages actually passes at KDE
+============================================================
+
+For some package versions text fail even at KDE jenkins. THus it is worth
+spending checking prior to spending time on fixing:
+
+https://build.kde.org/ # jenkins
+-> search project
+-> go to last passing build
+-> "show unformated"
+
+
+Random Snippets
+========================
+
+build:/gnu/store/8vsh99baxxsh2qbf0c0g77hiyzk7nvj0-qemu-image
+
+Run Plasma in a Test-System (QEMU)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Hint: I had had some helper scripts to run within the VM to simplify testing,
+but these got lsot somewhen.
+
+# build the VM
+./pre-inst-env guix system vm-image --image-size=7G --fallback \
+ --share=$PWD=/exchange \
+ gnu/system/examples/plasma.tmpl
+# copy generated system-image and make it writeable (so you can change
+# things within the system without rebuilding the system-image, e.g.
+# build packages)
+cp … /var/tmp/plasma-image
+chmod +w /var/tmp/plasma-image
+# garbace-collect generated system-image
+guix gc -d …
+# run the system
+qemu-system-x86_64 -m 2048 -smp 2 -enable-kvm -cpu host \
+ -net nic,model=virtio -net user,hostfwd=tcp::10022-:22 \
+ -virtfs local,path="$PWD",security_model=none,mount_tag="TAG_PWD" \
+ -virtfs local,path=/gnu/store,security_model=none,mount_tag="TAG_STORE" \
+ -drive file=/var/tmp/plasma-image &
+
+
+Find desktop-file defining a property
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+find /gnu/store/* -name \*.desktop 2>/dev/null | \
+ xargs grep -rl PropertyDef::X-KDE-DBus-ModuleName
+
+
+Build packages within the VM
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# log into the VM (port 10022 is forwarded to port 22, see above)
+ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022 \
+ root@localhost
+# make your development environment available within the VM (this needs to
+# keep the same absolute path to avois re-configure
+
+mkdir -p /exchange /path/of/your/develop/env/on/the/host
+mount -t 9p TAG_PWD /exchange
+mount -t none -o bind /exchange /path/of/your/develop/env/on/the/host
+
+cd /exchange
+guix environment guix
+./configure --localstatedir=/var
+
+./pre-inst-env guix package -p /run/current-system -r ksysguard \
+ --substitute-urls="http://YOUR_HOST:8181 https://berlin.guixsd.org https://mirror.hydra.gnu.org"
+
+
+Unknon snippet (maybe for qscintilla)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+QSCI=$(for i in $(echo $CPLUS_INCLUDE_PATH | sed 's/:/ /g') ; do echo $i ; \
+done | grep qscin | sed 's!/include!!')
+echo $QSCI
+PYQT=$(for i in $(echo $LIBRARY_PATH | sed 's/:/ /g') ; do echo $i ; \
+done | grep pyqt | sed 's!/lib!!')
+echo $PYQT
+python3 configure.py \
+--pyqt=PyQt5 --qsci-incdir=$QSCI/include --qsci-libdir=$QSCI/lib \
+--pyqt-sipdir=$PYQT/share/sip
+
+
+Pattern for matching a store-name prefix
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+/gnu/store/................................-
+
+
+Notes about packages
+=====================================
+
+plasma-sdk 5.13.5
+---------------------------
+
+FAIL! : TestFilters::testDateBasedFilters(date01) Compared values are not the same
+ Actual (result): ""
+ Expected (output): "01"
+ Loc: [/tmp/guix-build-grantlee-5.1.0.drv-0/grantlee-5.1.0/templates/tests/testfilters.cpp(117)]
+FAIL! : TestFilters::testDateBasedFilters(date02) Compared values are not the same
+ Actual (result): ""
+ Expected (output): "Jan. 1, 2008"
+ Loc: [/tmp/guix-build-grantlee-5.1.0.drv-0/grantlee-5.1.0/templates/tests/testfilters.cpp(117)]
+
+
+plasma-workspace 5.13.5
+---------------------------
+-- The following RUNTIME packages have not been found:
+
+ * QtQuick.Controls-QMLModule, QML module 'QtQuick.Controls' is a runtime dependency.
+ * QtQuick.VirtualKeyboard-QMLModule, QML module 'QtQuick.VirtualKeyboard' is a runtime dependency.
+ * org.kde.plasma.core-QMLModule, QML module 'org.kde.plasma.core' is a runtime dependency.
+ * org.kde.plasma.components-QMLModule, QML module 'org.kde.plasma.components' is a runtime dependency.
+
+-- The following OPTIONAL packages have not been found:
+
+ * libhybris, libhybris allows to run bionic-based HW adaptations in glibc systems., <https://github.com/libhybris/libhybris>
+ Required for libhybris backend
+ * Libcap, Capabilities are a measure to limit the omnipotence of the superuser., <https://sites.google.com/site/fullycapable/>
+ Needed for running kwin_wayland with real-time scheduling policy
+
+
+
+breeze-gtk
+---------------
+
+Check if this nix-patch is required (may already be implemented in guix,
+though)
+
+ postPatch = ''
+ sed -i cmake/FindGTKEngine.cmake \
+ -e "s|\''${KDE_INSTALL_FULL_LIBDIR}|${getLib gtk2}/lib|"
+ '';
+ cmakeFlags = [ "-DWITH_GTK3_VERSION=3.22" ];
+
+
+
+kdeinit5 (or such)
+-----------------------
+
+"/run/current-system/profilelib/libkdeinit5_kaccess.so" (missing slash in
+front of "lib")
+
+
+kcm, kcmshell or libkdeinit5_kded5.so
+-----------------------------------------
+
+In some programm that tries to load plugins "kcm_access" (.so), "kcm_style",
+"kcm_kgamma". This program might be kcm, kcmshell or libkdeinit5_kded5.so
+
+ not found: kcminit
+
+
+klauncher
+------------------
+
+* /gnu/store/…-qtbase-5.9.2/lib/qt5/plugins/platforms/libqxcb.so
+ not found:
+ /gnu/store/…-kinit-5.37.1/lib/libexec/kf5/platforms/.
+ <<
+ /gnu/store/…-qtbase-5.9.2/lib/qt5/plugins/platforms/libqxcb.so
+
+ Seems to occur also in other e.g. libkdeinit5_kded5.so (if I spotted the
+ correct process)
+
+ Similar later with:
+
+ /gnu/store/…-plasma-integration-5.10.4/lib/qt5/plugins/platformthemes/KDEPlasmaPlatformTheme.so
+ not found:
+ /gnu/store/…-qtbase-5.9.2/lib/qt5/plugins/platformthemes/.
+ /gnu/store/…-kinit-5.37.1/lib/libexec/kf5/platformthemes/.
+ <<
+ /gnu/store/…-plasma-integration-5.10.4/lib/qt5/plugins/platformthemes/KDEPlasmaPlatformTheme.so
+
+ /gnu/store/…-qtbase-5.9.2/lib/qt5/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so
+ not found:
+ /gnu/store/…-kinit-5.37.1/lib/libexec/kf5/platforminputcontexts/.
+ <<
+ /gnu/store/…-qtbase-5.9.2/lib/qt5/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so
+
+
+
+
+* Tries loading libXcursor.so.1 via RUNPATH, but it is not listed there
+
+ /gnu/store/…-xcb-util-0.4.0/lib/libxcb-util.so.1
+ /run/user/0
+ /run/user/0
+ /tmp/xauth-0-_0
+ not found:
+ /gnu/store/…-glibc-2.25/lib/libXcursor.so.1
+ /gnu/store/…-gcc-5.4.0-lib/lib/libXcursor.so.1
+ …
+
+ Other applications share the same behaviour. Which means, this is a common
+ issue.
+
+ Maybe caused by qtbase-5.9.2/lib/libQt5XcbQpa.so.5.9.2
+
+* not found:
+ /gnu/store/…-kinit-5.37.1/lib/libexec/kf5/drkonqi
+ /gnu/store/…-qtbase-5.9.2/lib/qt5/libexec/drkonqi
+ /gnu/store/…-kcrash-5.37.0/lib/libexec/drkonqi
+ <<
+ stemms from kdebase4-runtime-16.12.3-1.mga6.src.rpm
+
+
+kwin 5.13.5
+---------------------------
+
+kwin-testVirtualKeyboardDBus
diff --git a/11-TODO-Plasma-Desktop-Service.txt b/11-TODO-Plasma-Desktop-Service.txt
new file mode 100644
index 0000000000..95ac1f4b2a
--- /dev/null
+++ b/11-TODO-Plasma-Desktop-Service.txt
@@ -0,0 +1,513 @@
+==================================================================
+What is required to successfully start a minimal Plasma desktop?
+==================================================================
+
+In Plasma 5.5.0 these packages did not exist
+---------------------------------------------------------------------------
+
+This might be useful for creating seme "plasma-minimal" service)
+
+-breeze-grub
+-breeze-gtk
+-discover
+-kactivitymanagerd
+-kdecoration
+-kdeplasma-addons
+-kgamma5
+-kscreen
+-kscreenlocker
+-ksshaskpass
+-kwallet-pam
+-kwayland-integration
+-plasma-integration
+-plasma-pa
+-plasma-sdk
+-polkit-kde-agent-1
+-sddm-kcm
+-user-manager
+
+Addes in Plasma 5.11.2
+-----------------------------------
+
+drkonqi
+kde-gtk-config
+kinfocenter
+plasma-vault
+plymouth-kcm
+xdg-desktop-portal-kde
+
+
+plasma-desktop
+---------------------
+
+Plasma 5 application workspace components
+http://sophie.zarb.org/rpms/d003b4dc3a435faa84060a1065bd2dac/files
+
+
+Files z.B.
+/etc/xdg/emoticons.knsrc
+/usr/bin/kcolorschemeeditor
+/usr/lib/qt5/plugins/kcm_joystick.so
+/usr/lib/qt5/qml/org/kde/plasma/private/kicker
+/usr/libexec/kfontprint
+/usr/share/appdata/org.kde.plasma.kimpanel.appdata.xml
+/usr/share/dbus-1/services/org.kde.fontinst.service
+/usr/share/kdm/pics/users/_happy.png
+/usr/share/kf5/kactivitymanagerd/workspace/settings/qml/activitiesTab/main.qml
+/usr/share/kservices5/kded
+/usr/share/solid/devices/solid-device-Battery.desktop
+
+hat ein paar patches, siehe
+http://sophie.zarb.org/rpms/5a71ad33f7bd507508da1fbf03165ce6/files
+
+Requires: bluedevil
+Requires: kactivitymanagerd
+Requires: kde-cli-tools
+Requires: kdeplasma-addons
+Requires: kdesu
+Requires: kglobalaccel
+Requires: khotkeys
+Requires: kinit
+Requires: kio
+Requires: kio-extras
+Requires: kmenuedit
+Requires: kparts
+Requires: kscreen
+Requires: kservice
+Requires: mageia-plasma5-config
+Requires: milou
+Requires: plasma-pa
+Requires: polkit-kde-agent-1
+Requires: powerdevil
+Requires: solid
+Requires: sonnet
+Requires: user-manager
+Requires: xsettings-kde
+
+obsoletes:
+kcm-touchpad, kdepasswd, plasma-applet-… plasme-runner-… superkaramba
+
+
+vanilla-kde4-config
+-----------------------
+
+Default configs used for upstream KDE.
+http://sophie.zarb.org/distrib/Mageia/6/x86_64/media/core-release/by-pkgid/daba730d5001b77c799e31e97f29f396/deps
+
+Includes some scripts
+
+
+kdeplasma-addons
+--------------------
+
+kdeplasma is a compilation of plasma items
+( runners, applets, plasmoids ) for Plasma.
+
+zarb contains package meta-data for Mageia packages
+
+http://sophie.zarb.org/rpms/5b0851a8dd773fe6988df7f75c3ad1b9
+Patches:
+- http://sophie.zarb.org/rpms/5b0851a8dd773fe6988df7f75c3ad1b9/files/1
+ --> Substitute, falls nötig
+
+http://download.kde.org/stable/%version/src/kdeplasma-addons-%{version}.tar.xz
+
+
+BuildRequires: pkgconfig(Qt5X11Extras)
+BuildRequires: pkgconfig(Qt5Core)
+BuildRequires: pkgconfig(Qt5Gui)
+BuildRequires: pkgconfig(Qt5DBus)
+BuildRequires: pkgconfig(Qt5Network)
+BuildRequires: pkgconfig(Qt5Quick)
+BuildRequires: pkgconfig(Qt5Qml)
+BuildRequires: pkgconfig(Qt5Widgets)
+
+BuildRequires: kf5-macros
+BuildRequires: kconfig-devel
+BuildRequires: kconfigwidgets-devel
+BuildRequires: kcoreaddons-devel
+BuildRequires: ki18n-devel
+BuildRequires: kio-devel
+BuildRequires: kcmutils-devel
+BuildRequires: kf5-krunner-devel
+BuildRequires: kservice-devel
+BuildRequires: kunitconversion-devel
+BuildRequires: kdelibs4support-devel
+BuildRequires: knewstuff-devel
+BuildRequires: kactivities-devel
+BuildRequires: kross-devel
+BuildRequires: plasma-workspace-devel >= 5.7.0
+
+
+guixsd-plasma5-config
+-------------------------
+This package regroups all specific GuixSD config file for Plasma.
+
+http://sophie.zarb.org/rpms/b42114fdb4eee2ac3dbb0cca5c076524
+
+Files z.B.
+/etc/xdg/kdeglobals
+/usr/share/icons/breeze/places/64/mgabutton.svg
+/var/lib/plasma5-profiles/common/share/config/ksmserverrc
+/var/lib/plasma5-profiles/common/xdg/kscreenlockerrc
+/var/lib/plasma5-profiles/common/xdg/systemsettingsrc
+/etc/xdg/plasma-workspace/env/env.sh
+
+Requires
+kf5-macros
+plasma-workspace
+
+Source: muss noch gesucht werden
+http://sophie.zarb.org/rpms/26d24d08b01be795dbefbc444da5677f/files
+
+
+mageia-kde-translation
+-------------------------
+Localization files for Mageia KDE strings
+This package includes that translations that have been added on
+Mageia KDE.
+http://sophie.zarb.org/rpms/13b45fa5ffe8a08a9329f2f0d5c035ab
+
+
+mageia-kde4-config
+------------------------
+Falls nötig
+http://sophie.zarb.org/rpms/c6e178da9983be6b1ea005e60d555f97
+
+
+plasma-desktop
+--------------------
+
+baloo - framework for searching and managing metadata.
+bluedevil - application
+iso-codes
+*kactivities
+*kactivitymanagerd
+kamera
+kconfig
+kde-cli-tools
+*kdeplasma-addons
+kdesu
+kglobalaccel
+khotkeys
+kimageformats
+kinit
+kio
+kio-extras
+kirigami2
+kmenuedit
+kpackage
+*kparts
+*krunner
+kscreen
+*kservice
+kwallet - application
+kwalletmanager - application
+mageia-plasma5-config
+milou - search application
+plasma-pa - volume management using PulseAudio
+polkit-kde-agent-1
+powerdevil - application
+qqc2-desktop-style
+solid - Tier 1 provides hardware information
+sonnet - Tier 1 solution for spell checking.
+systemsettings - application
+user-manager - application
+xsettings-kde
+
+
+
+plasma-workspace
+--------------------
+
+bluez-qt
+breeze
+breeze-gtk
+breeze-icons
+desktop-common-data >= 3.9-3
+frameworkintegration
+iso-codes
+kde-gtk-config
+kdeclarative
+kded
+kinfocenter
+kinit
+kio
+kirigami2
+konsole
+kscreenlocker
+kservice
+kwin
+kwindowsystem
+mageia-plasma5-config
+oxygen
+oxygen-fonts
+oxygen-icons5
+plasma-desktop
+plasma-framework
+plasma-integration
+plasma5-milou
+qtdeclarative5
+qtgraphicaleffects5
+qtquickcontrols5
+qttools5
+qttools5-qtdbus
+solid
+udisks2
+xmessage
+
+
+task-plasma5-minimal
+--------------------
+Metapackage for Plasma 5
+
+This package is a meta-package, meaning that its purpose is to contain
+the complete dependencies for running the Plasma 5 desktop ( plus digikam,
+calligra, ...) ### stimmt nicht, die genannten sind keinen Requirements
+
+ark
+dbus-x11
+dolphin
+gwenview
+kcalc
+kdialog
+khelpcenter
+kmozillahelper
+konqueror
+kwalletmanager
+kwrite
+okular
+oxygen-fonts
+phonon4qt5-gstreamer
+plasma-desktop
+plasma-pa
+plasma-workspace
+sddm
+systemsettings
+task-x11
+xsettings-kde
+
+
+spectacle
+----------------
+
+The new screenshot capture utility, replaces KSnapshot
+http://sophie.zarb.org/rpms/ceb4198acc2f20dfd622e8e6813fe98a
+http://download.kde.org/stable/applications/%{version}/src/%{name}-%{version}.tar.xz
+
+
+Paket-Definition in Alt-Linux
+-----------------------------------
+http://packages.altlinux.org/en/search?query=kf5
+
+kde5-runtime: qt5-phonon-backend qt5-quickcontrols qt5-quickcontrols2
+ qt5-graphicaleffects qt5-imageformats qt5-translations kf5-kio
+ kf5-kded kf5-kinit kf5-kwayland-integration
+
+kde5-mini: kde5-runtime qt5-dbus kf5-kde-cli-tools kf5-kwin
+ kf5-plasma-desktop kf5-kinit kf5-kdeclarative kde5-dolphin
+ kde5-kdialog
+
+kde5-small: icon-theme-breeze kde5-mini kde5-volume-control webclient
+ kf5-sddm-kcm kf5-polkit-kde-agent kf5-kio-extras kf5-breeze
+ kf5-oxygen kf5-powerdevil kf5-ksysguard kf5-kwallet kf5-kconfig
+ kf5-kglobalaccel kf5-kimageformats kde5-svgpart kde5-ark kde5-konsole
+ kde5-gwenview kde5-okular kde5-kwrite kde5-kwalletmanager kde5-kcalc
+ kde5-kdebugsettings kde5-kross-python kf5-milou kf5-systemsettings
+ kf5-plasma-integration
+
+kde5 = kde5-normal: gtk3-theme-breeze gtk2-theme-breeze kde5-small
+ kde5-video-player kde5-audio-player kde5-network-manager
+ kde5-plasma-applet-places-widget kf5-kde-gtk-config kf5-baloo
+ kf5-bluedevil kf5-kscreen kf5-ksshaskpass kde5-krdc kde5-kgpg
+ kf5-khotkeys kf5-kinfocenter kf5-kdeplasma-addons kde5-khelpcenter
+ kde5-kolourpaint kde5-kio-audiocd kf5-kmenuedit kf5-solid
+ kf5-kdbusaddons kf5-kgamma kde5-kfind kde5-filelight kde5-kcharselect
+ kde5-kteatime kde5-ktimer kde5-spectacle kde5-kamera
+ kde5-network-filesharing kde5-ktorrent kde5-kio-zeroconf kde5-sweeper
+ ## kde5-kget pam0_kwallet5
+
+kde5-big: kde5 kde5-email-client kf5-plasma-workspace-wallpapers
+ kf5-kwrited kf5-user-manager kde5-ksystemlog kde5-konversation
+ kde5-kate kde5-pim kde5-pim-addons kde5-kcron kde5-kruler
+ kde5-ffmpegthumbs kde5-krfb kde5-kdf kde5-kfloppy kid3-ui-kde5
+ ring-client-kde5 kde5-kipi-plugins-core
+ # kde5-telepathy
+
+kde5-maxi: kde5-konqueror kde5-keditbookmarks kde5-dragon kde5-kmail
+ kde5-juk kde5-kmouth kde5-big kde5-edu kde5-games kde5-printing
+ kde5-scanning kdenlive kde5-connect kde5-k3b kde5-kwave kde5-digikam
+ kde5-kipi-plugins
+# webclient
+# kde5-kmousetool kde5-kmag
+
+kde5-somedevel: kde5-runtime kde5-dolphin-plugins kde5-lokalize
+ kde5-okteta kde5-kapptemplate kde5-dev-scripts kde5-kompare
+ kde5-sdk-thumbnailers kde5-poxml kde5-umbrello kde5-kimagemapeditor
+# kde5-kcachegrind
+
+kde5-edu: kde5-runtime kde5-kanagram kde5-khangman kde5-parley
+ kde5-kwordquiz kde5-kturtle kde5-marble kde5-step kde5-kstars
+ kde5-kig kde5-kmplot kde5-kalgebra kde5-cantor kde5-rocs kde5-kbruch
+ kde5-kgeography kde5-ktouch kde5-kalzium
+# kde5-minuet
+Educational software based on the KDE technologies
+
+kde5-games: kde5-runtime kde5-lskat kde5-kmines kde5-kshisen
+ kde5-ktuberling kde5-bovo kde5-knetwalk kde5-katomic
+ kde5-knavalbattle kde5-kpat kde5-kmahjongg
+ kde5-kolf kde5-ksirk kde5-palapeli
+# kde5-ksudoku kde5-kigo
+High quality gaming and entertainment software.
+Summary: Set of KDE-based games
+
+kde5-printing: kde5-runtime kde5-print-manager cups
+ printer-drivers-X11
+#system-config-printer-udev
+KDE printing support applications.
+Summary: Set of printing support applications
+
+kde5-scanning: kde5-runtime kde5-skanlite hplip-sane libsane-gphoto2
+ sane
+KDE image scanning support applications.
+Summary: Set of image scanning support applications
+
+kde5-pim: kde5-akonadi-calendar-tools kde5-akonadi-import-wizard
+ kde5-kmail-account-wizard kde5-akregator kde5-blogilo
+ kde5-kaddressbook kde5-kalarm kde5-kmail kde5-knotes kde5-kontact
+ kde5-korganizer kde5-mbox-importer kde5-pim-data-exporter
+ kde5-pim-sieve-editor kde5-grantlee-editor
+## kde5-akonadiconsole
+
+
+
+Dependency chain in Mageia
+-----------------------------------
+
+xprop -> xdg-utils -> desktop-common-data -> plasma-workspace
+xset -> xdg-utils
+xrdb -> xinitrc -> xinit -> task-x11
+xsetroot -> xinitrc
+xmessage -> plasma-workspace
+
+"unable to load any usable ISO8859 font"
+
+mageia-plasma5-config -> plasma-desktop
+milou -> plasma-desktop
+plasma-pa -> plasma-desktop
+polkit-kde-agent-1 -> plasma-desktop
+powerdevil -> plasma-desktop
+sonnet -> plasma-desktop
+user-manager -> plasma-desktop
+xsettings-kde -> plasma-desktop
+bluedevil -> plasma-desktop
+kactivities -> plasma-desktop
+kactivitymanagerd -> plasma-desktop
+kconfig -> plasma-desktop
+kde-cli-tools -> plasma-desktop
+kdeplasma-addons -> plasma-desktop
+kdesu -> plasma-desktop
+kglobalaccel -> plasma-desktop
+khotkeys -> plasma-desktop
+kinit -> plasma-desktop
+kio -> plasma-desktop
+kio-extras -> plasma-desktop
+kmenuedit -> plasma-desktop
+kparts -> plasma-desktop
+krunner -> plasma-desktop
+kscreen -> plasma-desktop
+kservice -> plasma-desktop
+kwallet -> plasma-desktop
+kwalletmanager -> plasma-desktop
+
+mageia-plasma5-config -> plasma-workspace
+oxygen -> plasma-workspace
+oxygen-fonts -> plasma-workspace
+oxygen-icons5 -> plasma-workspace
+plasma-desktop -> plasma-workspace
+plasma-framework -> plasma-workspace
+plasma-integration -> plasma-workspace
+plasma5-milou -> plasma-workspace
+qtdeclarative5 -> plasma-workspace
+qtgraphicaleffects5 -> plasma-workspace
+qtquickcontrols5 -> plasma-workspace
+qttools5 -> plasma-workspace
+qttools5-qtdbus -> plasma-workspace
+solid -> plasma-workspace
+udisks2 -> plasma-workspace
+xmessage -> plasma-workspace
+bluez-qt -> plasma-workspace
+breeze -> plasma-workspace
+breeze-gtk -> plasma-workspace
+breeze-icons -> plasma-workspace
+desktop-common-data >= 3.9-3 -> plasma-workspace
+frameworkintegration -> plasma-workspace
+kde-gtk-config -> plasma-workspace
+kdeclarative -> plasma-workspace
+kded -> plasma-workspace
+kinfocenter -> plasma-workspace
+kinit -> plasma-workspace
+kio -> plasma-workspace
+konsole -> plasma-workspace
+kscreenlocker -> plasma-workspace
+kservice -> plasma-workspace
+kwin -> plasma-workspace
+kwindowsystem -> plasma-workspace
+
+
+
+plasma-desktop
+~~~~~~~~~~~~~~~~~~~~~
+
+
+$ qtpaths --locate-dirs GenericConfigLocation plasma-workspace
+/etc/xdg/plasma-workspace
+$ ls /etc/xdg/plasma-workspace
+/etc/xdg/plasma-workspace/env/env.sh
+/etc/xdg/plasma-workspace/env/plasma5-firstsetup.sh
+
+
+
+;; (define-public kde-plasma5-minimal
+;; (package
+;; (name "plasma5-minimal")
+;; (version (package-version plasma-desktop))
+;; (source #f)
+;; (build-system trivial-build-system)
+;; (arguments
+;; '(#:modules ((guix build union))
+;; #:builder
+;; (begin
+;; (use-modules (ice-9 match)
+;; (guix build union))
+;; (match %build-inputs
+;; (((names . directories) ...)
+;; (union-build (assoc-ref %outputs "out")
+;; directories))))))
+;; (inputs
+;; `(("ark", ark)
+;; ("dbus-x11", dbus-x11)
+;; ("dolphin", dolphin)
+;; ("gwenview", gwenview)
+;; ("kcalc", kcalc)
+;; ("khelpcenter", khelpcenter)
+;; ("kwalletmanager", kwalletmanager)
+;; ("kwrite", kwrite)
+;; ("oxygen-fonts", oxygen-fonts)
+;; ("phonon4qt5-backend", phonon4qt5-backend)
+;; ; ("plasma-desktop", plasma-desktop)
+;; ; ("plasma-pa", plasma-pa)
+;; ; ("plasma-workspace", plasma-workspace)
+;; ("sddm", sddm)
+;; ("systemsettings", systemsettings)
+;; ("task-x11", task-x11)
+;; ("xsettings-kde", xsettings-kde)))
+;; ; (native-search-paths
+;; ; ;; For finding panel plugins.
+;; ; (package-native-search-paths xfce4-panel)) ;; FIXME
+;; (home-page "http://www.kde.org/")
+;; (synopsis "KDA Plasma desktop environment (meta-package)")
+;; (description
+;; "This package is a meta-package, meaning that its purpose is to contain
+;; minimal dependencies for running a minimal Plasma 5 desktop environment.")
+;; (license gpl2+)))