Contents of /trunk/extras/kdebase-workspace/kdebase-workspace-4.11.0-r1.smage2
Parent Directory | Revision Log
Revision 19044 -
(show annotations)
(download)
Sat Aug 24 09:47:29 2013 UTC (10 years, 9 months ago) by niro
File size: 8280 byte(s)
Sat Aug 24 09:47:29 2013 UTC (10 years, 9 months ago) by niro
File size: 8280 byte(s)
--drop old systemd patch and use new multiseat patch, added plasma fix
1 | # $Id$ |
2 | |
3 | PNAME="kdebase-workspace" |
4 | PVER="4.11.0" |
5 | PBUILD="r1" |
6 | |
7 | SPLIT_PACKAGES="libkworkspace kdm kdebase-workspace" |
8 | |
9 | # todo: |
10 | # - google-gadgets |
11 | # - libgps |
12 | # - lm_sensors support |
13 | COMMON_DEPEND="== kde-base/kdelibs-${PVER}" |
14 | LIBKWORKSPACE_DEPEND="${COMMON_DEPEND}" |
15 | |
16 | WORKSPACE_DEPEND="${COMMON_DEPEND} |
17 | == kde-base/kdepimlibs-${PVER} |
18 | == kde-base/kdepim-runtime-${PVER} |
19 | == kde-base/kactivities-${PVER} |
20 | == kde-base/kde-wallpapers-${PVER} |
21 | == kde-base/kde-base-artwork-${PVER} |
22 | >= virtual/phonon |
23 | >= dev-libs/polkit-qt-0.103 |
24 | >= kde-base/polkit-kde-kcmodules-0.99 |
25 | >= kde-base/polkit-kde-agent-0.99 |
26 | >= dev-libs/glib2-2.36 |
27 | >= dev-libs/libusb-compat-0.1 |
28 | >= dev-libs/soprano-2.9 |
29 | >= dev-libs/shared-desktop-ontologies-0.11 |
30 | >= media-libs/fontconfig-2.10 |
31 | >= media-libs/freetype-2.4 |
32 | >= media-libs/prison-1 |
33 | >= sys-apps/pciutils-3.1 |
34 | >= sys-libs/libraw1394-2.1 |
35 | >= sci-libs/libqalculate-0.9.7 |
36 | >= x11-apps/xprop-1.2 |
37 | >= x11-apps/xrandr-1.3 |
38 | >= x11-apps/xrdb-1 |
39 | >= x11-apps/xset-1.2 |
40 | >= x11-apps/xsetroot-1.1 |
41 | >= x11-libs/libxkbfile-1.0.7 |
42 | >= x11-libs/libXcomposite-0.4 |
43 | >= x11-libs/libXdamage-1.1 |
44 | >= x11-libs/libXfixes-5 |
45 | >= x11-libs/libXft-2.2 |
46 | >= x11-libs/libXinerama-1.1 |
47 | >= x11-libs/libXScrnSaver-1 |
48 | >= x11-libs/libXrender-0.9 |
49 | >= x11-libs/libXres-1 |
50 | >= x11-libs/libXrandr-1.3 |
51 | >= x11-libs/xcb-util-image-0.3.9 |
52 | >= x11-libs/xcb-util-renderutil-0.3.8 |
53 | >= virtual/opengl" |
54 | |
55 | KDM_DEPEND="${COMMON_DEPEND} |
56 | >= kde-base/qimageblitz-0.0.6 |
57 | >= sys-apps/dbus-1.6 |
58 | >= sys-libs/pam-1.1 |
59 | >= x11-libs/libX11-1.4 |
60 | >= x11-libs/libXtst-1.2 |
61 | >= x11-apps/xinit-1.3 |
62 | >= x11-apps/xmessage-1" |
63 | |
64 | SDEPEND=">= dev-libs/boost-1.53 |
65 | >= dev-python/pyqt4-4.10 |
66 | == dev-python/pykde4-${PVER} |
67 | >= net-misc/networkmanager-0.9.8 |
68 | >= x11-proto/compositeproto-1 |
69 | >= x11-proto/damageproto-1 |
70 | >= x11-proto/fixesproto-5 |
71 | >= x11-proto/randrproto-1.3 |
72 | >= x11-proto/renderproto-0.11 |
73 | >= x11-proto/scrnsaverproto-1 |
74 | >= x11-proto/xineramaproto-1" |
75 | |
76 | SRCFILE="kde-workspace-${PVER}.tar.xz" |
77 | SRCDIR="${BUILDDIR}/kde-workspace-${PVER}" |
78 | |
79 | # no meta-package required |
80 | KDE4_GENERATE_META_PACKAGE=0 |
81 | sminclude kde4-split-2 |
82 | |
83 | # script/pam revisions |
84 | KDE_PAMD=kde.pamd-systemauth |
85 | KDE_NP_PAMD=kde-np.pamd-systemauth |
86 | KDM_REV=1.2 |
87 | AGENT_STARTUP_REV=1.2 |
88 | AGENT_SHUTDOWN_REV=1.2 |
89 | |
90 | SRC_URI=( |
91 | ${SRC_URI[*]} |
92 | mirror://${PNAME}/kde.desktop |
93 | mirror://${PNAME}/${KDE_PAMD} |
94 | mirror://${PNAME}/${KDE_NP_PAMD} |
95 | mirror://${PNAME}/agent-startup.sh-${AGENT_STARTUP_REV} |
96 | mirror://${PNAME}/agent-shutdown.sh-${AGENT_SHUTDOWN_REV} |
97 | mirror://${PNAME}/kdm.logrotate |
98 | mirror://${PNAME}/kdm.service-${KDM_REV} |
99 | mirror://${PNAME}/${PNAME}-4.9.4-rootprivs.patch |
100 | mirror://${PNAME}/${PNAME}-4.9.4-battery-plasmoid-showremainingtime.patch |
101 | mirror://${PNAME}/${PNAME}-4.9.4-kdm-plymouth.patch |
102 | mirror://${PNAME}/${PNAME}-4.9.4-xsession-errors-O_APPEND.patch |
103 | mirror://${PNAME}/${PNAME}-4.9.4-fix-reboot.patch |
104 | mirror://${PNAME}/${PNAME}-4.11-plasma-desktop-dbus.patch |
105 | mirror://${PNAME}/${PNAME}-4.11-kdm-logind-multiseat.patch |
106 | ) |
107 | |
108 | UP2DATE="updatecmd -listonly http://download.kde.org/stable/ | grep 'stable/[0-9]' | sed -n 's:.*/\([0-9].*\)/:\1:;$ p'" |
109 | |
110 | split_info_libkworkspace() |
111 | { |
112 | DESCRIPTION="A library for KDE desktop applications." |
113 | DEPEND="${LIBKWORKSPACE_DEPEND}" |
114 | } |
115 | |
116 | split_info_kdm() |
117 | { |
118 | DESCRIPTION="KDE4 login manager." |
119 | DEPEND="${KDM_DEPEND} |
120 | == kde-base/libkworkspace-${PVER}" |
121 | PROVIDE="virtual/windowmanager" |
122 | } |
123 | |
124 | split_info_kdebase-workspace() |
125 | { |
126 | DESCRIPTION="The KDE4 workspace." |
127 | DEPEND="${WORKSPACE_DEPEND} |
128 | == kde-base/kdm-${PVER}" |
129 | } |
130 | |
131 | src_prepare() |
132 | { |
133 | munpack ${SRCFILE} || die |
134 | cd ${SRCDIR} |
135 | |
136 | # allow systemsettings to enter an administrative mode |
137 | mpatch ${PNAME}-4.9.4-rootprivs.patch || die |
138 | |
139 | # show remaing battery time by default |
140 | mpatch ${PNAME}-4.9.4-battery-plasmoid-showremainingtime.patch || die |
141 | |
142 | # improved plymouth support |
143 | mpatch ${PNAME}-4.9.4-kdm-plymouth.patch || die |
144 | |
145 | # add missing O_APPEND |
146 | mpatch ${PNAME}-4.9.4-xsession-errors-O_APPEND.patch || die |
147 | |
148 | # systemd fix kdm restart/shutdown does not work |
149 | mpatch ${PNAME}-4.9.4-fix-reboot.patch || die |
150 | |
151 | # fix plasma start issues |
152 | mpatch ${PNAME}-4.11-plasma-desktop-dbus.patch || die |
153 | |
154 | # multiseat support with systemd |
155 | mpatch ${PNAME}-4.11-kdm-logind-multiseat.patch || die |
156 | } |
157 | |
158 | src_compile() |
159 | { |
160 | cd ${SRCDIR} |
161 | |
162 | # no consolekit anymore, use systemd-logind |
163 | kde4_configure \ |
164 | $(cmake_with Akonadi) \ |
165 | $(cmake_with Boost) \ |
166 | $(cmake_with GLIB2) \ |
167 | $(cmake_with NetworkManager) \ |
168 | $(cmake_with OpenGL) \ |
169 | $(cmake_with PAM) \ |
170 | $(cmake_with PyKDE4) \ |
171 | $(cmake_with PythonLibrary) \ |
172 | $(cmake_with Qalculate) \ |
173 | $(cmake_with RAW1394) \ |
174 | $(cmake_with SIP) \ |
175 | $(cmake_with Soprano) \ |
176 | $(cmake_with USB) \ |
177 | $(cmake_with XKB) \ |
178 | $(cmake_without Googlegadgets) \ |
179 | $(cmake_without Sensors) \ |
180 | $(cmake_without Xmms) \ |
181 | $(cmake_without libgps) \ |
182 | $(cmake_without CkConnector) \ |
183 | || die |
184 | |
185 | mmake || die |
186 | } |
187 | |
188 | src_install_libkworkspace() |
189 | { |
190 | cd ${SRCDIR} |
191 | kde4-split_src_install_wrapper libs/kworkspace || die |
192 | } |
193 | |
194 | src_install_kdm() |
195 | { |
196 | cd ${SRCDIR} |
197 | |
198 | local module="kdm" |
199 | |
200 | # generate a valid kdm configuration |
201 | minstalldir ${KDEDIR}/share/config/kdm || die |
202 | export GENKDMCONF_FLAGS="--no-old --no-backup" |
203 | kde4-split_src_install_wrapper ${module} || die |
204 | kde4-split_src_install_wrapper libs/${module} || die |
205 | kde4-split_src_install_wrapper doc/${module} || die |
206 | |
207 | # workaround a dm bug the the xserver is not restarted |
208 | # see: https://bugs.kde.org/show_bug.cgi?id=202629#c13 |
209 | sed -i -e '/#TerminateServer=/s/^.*$/TerminateServer=true/' \ |
210 | -e '/#ServerTimeout=/s/^.*$/ServerTimeout=30/' \ |
211 | ${BINDIR}/usr/share/config/kdm/kdmrc || die |
212 | |
213 | # install gnome session |
214 | minstalldir /usr/share/xsessions || die |
215 | minstallexec -s kde.desktop /usr/share/xsessions || die |
216 | |
217 | # install pam related stuff |
218 | minstallpam ${KDE_PAMD} kde || die |
219 | minstallpam ${KDE_NP_PAMD} kde-np || die |
220 | |
221 | # systemd unit |
222 | minstallunit kdm.service-${KDM_REV} kdm.service || die |
223 | |
224 | # kdm logrotate |
225 | minstalllog kdm.logrotate kdm || die |
226 | |
227 | # kdm run dir |
228 | mkeepdir /var/lib/kdm || die |
229 | mchown root:kdm /var/lib/kdm || die |
230 | mchmod 1770 /var/lib/kdm || die |
231 | } |
232 | |
233 | src_install_kdebase-workspace() |
234 | { |
235 | cd ${SRCDIR} |
236 | |
237 | # to find all candifates search for 'cmake_install.cmake' |
238 | local module |
239 | # libs |
240 | for module in kephal ksysguard oxygen taskmanager plasmaclock plasmagenericshell solid |
241 | do |
242 | kde4-split_src_install_wrapper libs/${module} || die |
243 | done |
244 | # progs |
245 | for module in cursors freespacenotifier kcheckpass kcminit kcontrol khotkeys kinfocenter klipper \ |
246 | kmenuedit krunner kscreensaver ksmserver ksplash kstartupconfig kstyles ksysguard kwin kwrited \ |
247 | plasma powerdevil qguiplatformplugin_kde statusnotifierwatcher solid ksystraycmd systemsettings |
248 | do |
249 | kde4-split_src_install_wrapper ${module} || die |
250 | done |
251 | # cmake |
252 | kde4-split_src_install_wrapper cmake || die |
253 | # missing docs |
254 | kde4-split_src_install_wrapper doc/kfontview || die |
255 | kde4-split_src_install_wrapper doc/plasma-desktop || die |
256 | |
257 | # install missing files which are in the source root dir and not catched by the above |
258 | # minstallexec startkde ${KDEDIR}/bin || die |
259 | # minstalldir ${KDEDIR}/$(mlibdir)/cmake/KDE4Workspace || die |
260 | # minstallfile KDE4WorkspaceConfig.cmake ${KDEDIR}/$(mlibdir)/cmake/KDE4Workspace || die |
261 | # minstallfile KDE4WorkspaceConfigVersion.cmake ${KDEDIR}/$(mlibdir)/cmake/KDE4Workspace || die |
262 | # minstallfile CMakeFiles/Export/_*/$(mlibdir)/cmake/KDE4Workspace/KDE4WorkspaceLibraryTargets.cmake ${KDEDIR}/$(mlibdir)/cmake/KDE4Workspace || die |
263 | # minstallfile CMakeFiles/Export/_*/$(mlibdir)/cmake/KDE4Workspace/KDE4WorkspaceLibraryTargets-release.cmake ${KDEDIR}/$(mlibdir)/cmake/KDE4Workspace || die |
264 | # try a hack |
265 | cd ${BUILDDIR}/build |
266 | DESTDIR=${BINDIR} cmake -DCMAKE_INSTALL_LOCAL_ONLY='ON' -P cmake_install.cmake || die |
267 | cd ${SRCDIR} |
268 | |
269 | # install global agent startup and shutdown scripts |
270 | minstalldir ${KDEDIR}/env || die |
271 | minstallfile -s agent-startup.sh-${AGENT_STARTUP_REV} ${KDEDIR}/env/agent-startup.sh || die |
272 | minstalldir ${KDEDIR}/shutdown || die |
273 | minstallfile -s agent-shutdown.sh-${AGENT_SHUTDOWN_REV} ${KDEDIR}/shutdown/agent-shutdown.sh || die |
274 | } |
275 | |
276 | preinstall_kdm() |
277 | { |
278 | # kdm now requires a user |
279 | ${MLIBDIR}/mgroupadd -o "-g 135" kdm |
280 | ${MLIBDIR}/museradd -o "-u 135 -g kdm -d /var/lib/kdm -s /bin/false" kdm |
281 | } |
282 | |
283 | postinstall_kdm() |
284 | { |
285 | mreloadunit dbus.service |
286 | mstartunit kdm.service |
287 | } |
288 | |
289 | postremove_kdm() |
290 | { |
291 | mstopunit kdm.service |
292 | mreloadunit dbus.service |
293 | } |