summaryrefslogtreecommitdiffstats
path: root/README
blob: 98fad214568bd6b72b527929357df893c792e7d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
KDE 5_1501
==========

This is KDE 5 for Slackware-current, composed of Frameworks 5.6.0, Plasma 5.2.0
and Applications 14.12.1.

Compared to Applications 14.12.0, the Applications 14.12.1 adds LTS releases of
kdelibs, kdepimlibs, kdepim-runtime, kdepim and kde-workspace.
I am not going to ship kde-workspace because its contents largely collide with
the plasma-workspace and we want to have a Plasma Workspace.

Plasma 5.2.0 has many improvements to the previous 5.1.2, and comes with
several new packages (some of which I originally had in plasma-extra but have
now found their rightful place): (lib)bluedevil, ksshaskpass, muon,
sddm-kcm-module, kscreen2, polkit-framework, kde-gtk-config, kdecoration.
And unfortunately, in order to be able to compile KWin, I had to add wayland
to the "deps/" for this release of Plasma.
I will not ship a 'muon' package since that is only meaningful on debian and
derivatives like ubuntu.

Note that there is still a lot of KDE 4 stuff in here, which is necessary to
support all the Applications that have not yet been ported to KDE Frameworks 5.
The Applications 15.04 (march 2015) release should offer a lot more KF5 ports.


CURRENT RUNTIME ISSUES:
=======================

These are issues I ran into while testing on my Virtual machine. Not tested yet
if they occur on real hardware.

- plasmashell crashes a lot, with error message "the x11 connection broke:
  unsupported extension used (code 2)".  I can reliably reproduce this by
  moving the mouse into any window icon in the task bar (probably because
  KWin wants to show something of the window contents).
  Symptom: the desktop disappears and leaves a black screen. If you happen to
  have a konsole window open, you can type "plasmashell" to get the desktop
  back and watch the errors when it crashes again.


COMPILING IT ALL:
=================

Preliminary build procedure:
----------------------------

- (crude) get rid of Slackware's KDE:
  # removepkg /var/log/packages/*-4.10.5-*
  # removepkg libkscreen
  # removepkg kscreen
- build all the deps using "updates.SlackBuild" script in the "deps/" directory
  - note that extra-cmake-modules is required here as well as when building the
    frameworks, so I just copied it from frameworks to deps.
  - I removed akonadi-qt5 from the built deps because it won't be used until
    there is a kdepimlibs-framework, and currently it causes kdepimlibs-4.14
    to pick up Qt5 dependencies making its build fail
- logoff/login to activate Qt5 profile script.
- build all the KDE 4 stuff in the "kde/" directory, using "./KDE.SlackBuild kde libs kdebase:nepomuk-core kdepimlibs kdebase kdebindings kdepim extragear"
- check that everything built correctly
- build the remaining KDE 5 stuff in the "kde/" directory, using "./KDE.SlackBui
ld frameworks plasma plasma-extra applications"
- check that everything built correctly
- remove kde-workspace and re-install plasma-workspace (kde-workspace is only
  used to build kdeartwork)
- (optionally) build kdei
- If you want to use SDDM as your graphical login manager, use the following
  patch to /etc/rc.d/rc.4:

# -------- 8< --------------------------------------
--- /etc/rc.d/rc.4.orig 2015-01-23 13:26:43.273394439 +0100
+++ /etc/rc.d/rc.4      2015-01-23 10:01:12.189036253 +0100
@@ -28,6 +28,8 @@
 # Not there?  OK, try to use KDE's kdm session manager:
 if [ -x /opt/kde/bin/kdm ]; then
   exec /opt/kde/bin/kdm -nodaemon
+elif [ -x /usr/bin/sddm ]; then
+  exec /usr/bin/sddm
 elif [ -x /usr/bin/kdm ]; then
   exec /usr/bin/kdm -nodaemon
 fi
# -------- 8< --------------------------------------



BUILD LOG FOR PLASMA:
=====================

DONE: Need to recompile everything making sure that Qt4 is not picked up by accident, or else set "export QT_QPA_PLATFORM_PLUGIN_PATH=path/to/qt/plugins" to get rid of the start-time error:
    Failed to load platform plugin "xcb". Available platforms are:
    linuxfb minimal offscreen xcb
    Aborted
    >> The fix was to rebuild the qt5 package, not all of the rest :-) 
SKIP: change "qtpaths" to "qtpaths-qt5" in /usr/bin/startkde
   (not needed for Slackware, because /etc/profile.d/qt5.sh expands $PATH)
SKIP: change "qdbus" to "qdbus-qt5" in /usr/bin/startkde
   (not needed for Slackware, because /etc/profile.d/qt5.sh expands $PATH)
SKIP: rename /usr/bin/startkde to /usr/bin/startkde5 because it clashes with the script from kde-workspace. Also update the plasma*desktop scripts to call startkde5 instead of startkde.
   (I removed kde-workspace instead, we do not need that anyway)
DONE: Remove kde5-plasma*.desktop because plasma-workspace now includes its own plasma.desktop


BUILD LOG FOR PLASMA-EXTRA:
===========================

DONE: sddm-qt5 (no longer adds an /etc/sddm.conf so we need to generate one in its doinst.sh)


BUILD LOG FOR APPLICATIONS:
===========================

DONE: kdoctools (needs a fix for its CMake search for path to "/usr/share/xml/docbook/xml-dtd-4.5/docbookx.dtd", which causes a build error in kde-dev-scripts later on)
DONE: kde-dev-scripts (needs a fixed "/usr/share/kf5/kdoctools/customization/dtd/kdex.dtd" in kdoctools)
SKIP: libkface (needs opencv, so this will get skipped due to my reservations with it)
DONE: kdeartwork (missed kde-workspace, will be fixed in the next iteration)
DONE: kdewebdev (seems like tidy added the KDE.SlackBuild parameter to the path of its header file)
DONE: kalgebra (needs patch to link properly to ncurses)
DONE: kanagram (needed libkeduvocdocument, was missing due to build order issue)
DONE: khangman (needed libkeduvocdocument, was missing due to build order issue)
DONE: parley (needed libkeduvocdocument, was missing due to build order issue)
DONE: okular (needed libkscreen removed)
DONE: kalgebra (needed a refreshed curses patch)
DONE: step (needed an update of eigen2 to compile successfully)

==============================================================================
                     Eric Hameleers / alien at slackware dot com / 27-jan-2015