Gentoo Archives: gentoo-commits

From: "Andreas HAttel (dilfridge)" <dilfridge@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in kde-base/kdelibs: kdelibs-4.6.5-r2.ebuild kdelibs-4.6.3-r3.ebuild ChangeLog kdelibs-4.7.1-r3.ebuild
Date: Mon, 03 Oct 2011 13:29:34
Message-Id: 20111003132922.01CD72004C@flycatcher.gentoo.org
1 dilfridge 11/10/03 13:29:21
2
3 Modified: ChangeLog
4 Added: kdelibs-4.6.5-r2.ebuild kdelibs-4.6.3-r3.ebuild
5 kdelibs-4.7.1-r3.ebuild
6 Log:
7 Fix QLabel spoofing vulnerability, bug 384227 and CVE-2011-3365
8
9 (Portage version: 2.1.10.19/cvs/Linux x86_64)
10
11 Revision Changes Path
12 1.790 kde-base/kdelibs/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/kde-base/kdelibs/ChangeLog?rev=1.790&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/kde-base/kdelibs/ChangeLog?rev=1.790&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/kde-base/kdelibs/ChangeLog?r1=1.789&r2=1.790
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/kde-base/kdelibs/ChangeLog,v
21 retrieving revision 1.789
22 retrieving revision 1.790
23 diff -u -r1.789 -r1.790
24 --- ChangeLog 2 Oct 2011 19:21:14 -0000 1.789
25 +++ ChangeLog 3 Oct 2011 13:29:21 -0000 1.790
26 @@ -1,6 +1,16 @@
27 # ChangeLog for kde-base/kdelibs
28 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/ChangeLog,v 1.789 2011/10/02 19:21:14 reavertm Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/ChangeLog,v 1.790 2011/10/03 13:29:21 dilfridge Exp $
31 +
32 +*kdelibs-4.7.1-r3 (03 Oct 2011)
33 +*kdelibs-4.6.5-r2 (03 Oct 2011)
34 +
35 + 03 Oct 2011; Andreas K. Huettel <dilfridge@g.o>
36 + +kdelibs-4.6.3-r3.ebuild, +kdelibs-4.6.5-r2.ebuild,
37 + +files/kdelibs-4.6.5-qlabel-1.patch, +files/kdelibs-4.6.5-qlabel-2.patch,
38 + +kdelibs-4.7.1-r3.ebuild, +files/kdelibs-4.7.1-qlabel-1.patch,
39 + +files/kdelibs-4.7.1-qlabel-2.patch:
40 + Fix QLabel spoofing vulnerability, bug 384227 and CVE-2011-3365
41
42 02 Oct 2011; Maciej Mrozowski <reavertm@g.o> kdelibs-4.7.0-r1.ebuild,
43 kdelibs-4.7.1-r1.ebuild, kdelibs-4.7.1-r2.ebuild:
44
45
46
47 1.1 kde-base/kdelibs/kdelibs-4.6.5-r2.ebuild
48
49 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/kde-base/kdelibs/kdelibs-4.6.5-r2.ebuild?rev=1.1&view=markup
50 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/kde-base/kdelibs/kdelibs-4.6.5-r2.ebuild?rev=1.1&content-type=text/plain
51
52 Index: kdelibs-4.6.5-r2.ebuild
53 ===================================================================
54 # Copyright 1999-2011 Gentoo Foundation
55 # Distributed under the terms of the GNU General Public License v2
56 # $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/kdelibs-4.6.5-r2.ebuild,v 1.1 2011/10/03 13:29:21 dilfridge Exp $
57
58 EAPI=4
59
60 CPPUNIT_REQUIRED="optional"
61 DECLARATIVE_REQUIRED="always"
62 OPENGL_REQUIRED="optional"
63 KDE_SCM="git"
64 inherit kde4-base fdo-mime toolchain-funcs
65
66 DESCRIPTION="KDE libraries needed by all KDE programs."
67 HOMEPAGE="http://www.kde.org/"
68
69 KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
70 LICENSE="LGPL-2.1"
71 IUSE="3dnow acl alsa altivec bindist +bzip2 debug doc fam +handbook jpeg2k kerberos
72 lzma mmx nls openexr +policykit semantic-desktop spell sse sse2 ssl +udev +udisks +upower zeroconf"
73
74 REQUIRED_USE="
75 udisks? ( udev )
76 upower? ( udev )
77 "
78
79 # needs the kate regression testsuite from svn
80 RESTRICT="test"
81
82 COMMONDEPEND="
83 app-crypt/qca:2
84 >=app-misc/strigi-0.6.3
85 >=dev-libs/libattica-0.1.90
86 >=dev-libs/libdbusmenu-qt-0.3.2
87 dev-libs/libpcre[unicode]
88 dev-libs/libxml2
89 dev-libs/libxslt
90 media-libs/fontconfig
91 media-libs/freetype:2
92 media-libs/giflib
93 >=media-libs/libpng-1.4
94 >=media-libs/phonon-4.4.3
95 sys-libs/zlib
96 virtual/jpeg
97 >=x11-misc/shared-mime-info-0.60
98 acl? ( virtual/acl )
99 alsa? ( media-libs/alsa-lib )
100 !aqua? (
101 x11-libs/libICE
102 x11-libs/libSM
103 x11-libs/libX11
104 x11-libs/libXau
105 x11-libs/libXcursor
106 x11-libs/libXdmcp
107 x11-libs/libXext
108 x11-libs/libXfixes
109 x11-libs/libXft
110 x11-libs/libXpm
111 x11-libs/libXrender
112 x11-libs/libXScrnSaver
113 x11-libs/libXtst
114 !kernel_SunOS? ( sys-libs/libutempter )
115 )
116 bzip2? ( app-arch/bzip2 )
117 fam? ( virtual/fam )
118 jpeg2k? ( media-libs/jasper )
119 kerberos? ( virtual/krb5 )
120 lzma? ( app-arch/xz-utils )
121 openexr? (
122 media-libs/openexr
123 media-libs/ilmbase
124 )
125 policykit? ( >=sys-auth/polkit-qt-0.99 )
126 semantic-desktop? (
127 >=dev-libs/shared-desktop-ontologies-0.5
128 >=dev-libs/soprano-2.5.63_pre[dbus,raptor,redland]
129 )
130 spell? ( app-text/enchant )
131 ssl? ( dev-libs/openssl )
132 udev? ( sys-fs/udev )
133 zeroconf? (
134 || (
135 net-dns/avahi[mdnsresponder-compat]
136 !bindist? ( net-misc/mDNSResponder )
137 )
138 )
139 "
140 DEPEND="${COMMONDEPEND}
141 app-text/docbook-xml-dtd:4.2
142 app-text/docbook-xsl-stylesheets
143 doc? ( app-doc/doxygen )
144 nls? ( virtual/libintl )
145 "
146 RDEPEND="${COMMONDEPEND}
147 !dev-libs/conversion
148 !dev-libs/kunitconversion
149 !x11-libs/qt-phonon
150 !<=kde-misc/kdnssd-avahi-0.1.2:0
151 !<=kde-misc/knetworkmanager-4.4.0_p20100820
152 >=app-crypt/gnupg-2.0.11
153 app-misc/ca-certificates
154 $(add_kdebase_dep kde-env)
155 !aqua? (
156 x11-apps/iceauth
157 x11-apps/rgb
158 >=x11-misc/xdg-utils-1.0.2-r3
159 udisks? ( sys-fs/udisks )
160 upower? ( sys-power/upower )
161 )
162 "
163 PDEPEND="
164 || ( ( $(add_kdebase_dep kfmclient) ) x11-misc/xdg-utils )
165 handbook? ( $(add_kdebase_dep khelpcenter) )
166 policykit? (
167 >=kde-misc/polkit-kde-kcmodules-0.98_pre20101127
168 >=sys-auth/polkit-kde-agent-0.99
169 )
170 semantic-desktop? ( $(add_kdebase_dep nepomuk) )
171 "
172
173 # Blockers added due to packages from old versions, removed in the meanwhile
174 # as well as for file collisions
175 add_blocker libknotificationitem
176 add_blocker libkworkspace '<4.3.66'
177 add_blocker kcontrol '<4.5.80'
178 # @since 4.4 - kpilot is gone (blocker added to help upgrades)
179 add_blocker kpilot
180 # Block some old versions of KDE-3.5 packages that don't work well with KDE-4
181 add_blocker kdebase 0 3.5.9-r4:3.5
182 add_blocker kdebase-startkde 0 3.5.10:3.5
183 add_blocker kdelibs 0 '<3.5.10:3.5'
184 # libnepomukquery moved to kdelibs from plasma-workspace between 4.3.74 -> 4.3.75
185 add_blocker plasma-workspace '<4.3.75'
186
187 PATCHES=(
188 "${FILESDIR}/dist/01_gentoo_set_xdg_menu_prefix-1.patch"
189 "${FILESDIR}/dist/02_gentoo_append_xdg_config_dirs-1.patch"
190 "${FILESDIR}/${PN}-4.5.90-mimetypes.patch"
191 "${FILESDIR}/${PN}-4.4.90-xslt.patch"
192 "${FILESDIR}/${PN}-4.6.2-nonepomuk.patch"
193 "${FILESDIR}/${PN}-4.6.3-no_suid_kdeinit.patch"
194 "${FILESDIR}/${PN}-4.6.3-bytecode.patch"
195 "${FILESDIR}/${PN}-4.6.5-cardinality.patch"
196 "${FILESDIR}/${PN}-4.6.5-qlabel-1.patch"
197 "${FILESDIR}/${PN}-4.6.5-qlabel-2.patch"
198 )
199
200 pkg_pretend() {
201 if [[ ${MERGE_TYPE} != binary ]]; then
202 [[ $(gcc-major-version) -lt 4 ]] || \
203 ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -le 3 ]] ) \
204 && die "Sorry, but gcc-4.3 and earlier won't work for KDE SC 4.6 (see bug #354837)."
205 fi
206 }
207
208 src_prepare() {
209 kde4-base_src_prepare
210 use arm && epatch "${FILESDIR}/${PN}-4.6.2-armlinking.patch"
211
212 # Rename applications.menu (needs 01_gentoo_set_xdg_menu_prefix-1.patch to work)
213 sed -e 's|FILES[[:space:]]applications.menu|FILES applications.menu RENAME kde-4-applications.menu|g' \
214 -i kded/CMakeLists.txt || die "Sed on CMakeLists.txt for applications.menu failed."
215
216 if use aqua; then
217 sed -i -e \
218 "s:BUNDLE_INSTALL_DIR \"/Applications:BUNDLE_INSTALL_DIR \"${EPREFIX}/${APP_BUNDLE_DIR}:g" \
219 cmake/modules/FindKDE4Internal.cmake || die "failed to sed FindKDE4Internal.cmake"
220
221 #if [[ ${CHOST} == *-darwin8 ]]; then
222 sed -i -e \
223 "s:set(_add_executable_param MACOSX_BUNDLE):remove(_add_executable_param MACOSX_BUNDLE):g" \
224 cmake/modules/KDE4Macros.cmake || die "failed to sed KDE4Macros.cmake"
225 #fi
226
227 # solid/solid/backends/iokit doesn't properly link, so disable it.
228 sed -e "s|\(APPLE\)|(FALSE)|g" -i solid/solid/CMakeLists.txt \
229 || die "disabling solid/solid/backends/iokit failed"
230 sed -e "s|m_backend = .*Backends::IOKit.*;|m_backend = 0;|g" -i solid/solid/managerbase.cpp \
231 || die "disabling solid/solid/backends/iokit failed"
232
233 # There's no fdatasync on OSX and the check fails to detect that.
234 sed -e "/HAVE_FDATASYNC/ d" -i config.h.cmake \
235 || die "disabling fdatasync failed"
236
237 # Fix nameser include to nameser8_compat
238 sed -e "s|nameser8_compat.h|nameser_compat.h|g" -i kio/misc/kpac/discovery.cpp \
239 || die "fixing nameser include failed"
240 append-flags -DHAVE_ARPA_NAMESER8_COMPAT_H=1
241
242 # Try to fix kkeyserver_mac
243 epatch "${FILESDIR}"/${PN}-4.3.80-kdeui_util_kkeyserver_mac.patch
244 fi
245
246 if [[ ${CHOST} == *-solaris* ]] ; then
247 epatch "${FILESDIR}/kdelibs-4.3.2-solaris-ksyscoca.patch"
248 # getgrouplist not in solaris libc
249 epatch "${FILESDIR}/kdelibs-4.3.2-solaris-getgrouplist.patch"
250 # solaris has no d_type element in dir_ent
251 epatch "${FILESDIR}/kdelibs-4.3.2-solaris-fileunix.patch"
252 fi
253 }
254
255 src_configure() {
256 if use zeroconf; then
257 if has_version net-dns/avahi; then
258 mycmakeargs=(-DWITH_Avahi=ON -DWITH_DNSSD=OFF)
259 elif has_version net-misc/mDNSResponder; then
260 mycmakeargs=(-DWITH_Avahi=OFF -DWITH_DNSSD=ON)
261 else
262 die "USE=\"zeroconf\" enabled but neither net-dns/avahi nor net-misc/mDNSResponder were found."
263 fi
264 else
265 mycmakeargs=(-DWITH_Avahi=OFF -DWITH_DNSSD=OFF)
266 fi
267 mycmakeargs+=(
268 -DWITH_HSPELL=OFF
269 -DWITH_ASPELL=OFF
270 -DKDE_DEFAULT_HOME=.kde4
271 -DKAUTH_BACKEND=POLKITQT-1
272 $(cmake-utils_use_build handbook doc)
273 $(cmake-utils_use_has 3dnow X86_3DNOW)
274 $(cmake-utils_use_has altivec PPC_ALTIVEC)
275 $(cmake-utils_use_has mmx X86_MMX)
276 $(cmake-utils_use_has sse X86_SSE)
277 $(cmake-utils_use_has sse2 X86_SSE2)
278 $(cmake-utils_use_with acl)
279 $(cmake-utils_use_with alsa)
280 $(cmake-utils_use_with bzip2 BZip2)
281 $(cmake-utils_use_with fam)
282 $(cmake-utils_use_with jpeg2k Jasper)
283 $(cmake-utils_use_with kerberos GSSAPI)
284 $(cmake-utils_use_with lzma LibLZMA)
285 $(cmake-utils_use_with nls Libintl)
286 $(cmake-utils_use_with openexr OpenEXR)
287 $(cmake-utils_use_with opengl OpenGL)
288 $(cmake-utils_use_with policykit PolkitQt-1)
289 $(cmake-utils_use_with semantic-desktop Soprano)
290 $(cmake-utils_use_with semantic-desktop SharedDesktopOntologies)
291 $(cmake-utils_use_with spell ENCHANT)
292 $(cmake-utils_use_with ssl OpenSSL)
293 $(cmake-utils_use_with udev UDev)
294 )
295 kde4-base_src_configure
296 }
297
298 src_compile() {
299 kde4-base_src_compile
300
301 # The building of apidox is not managed anymore by the build system
302 if use doc; then
303 einfo "Building API documentation"
304 cd "${S}"/doc/api/
305 ./doxygen.sh "${S}" || die "APIDOX generation failed"
306 fi
307 }
308
309 src_install() {
310 kde4-base_src_install
311
312 # use system certificates
313 rm -f "${ED}"/usr/share/apps/kssl/ca-bundle.crt || die
314 dosym /etc/ssl/certs/ca-certificates.crt /usr/share/apps/kssl/ca-bundle.crt
315
316 if use doc; then
317 einfo "Installing API documentation. This could take a bit of time."
318 cd "${S}"/doc/api/
319 docinto /HTML/en/kdelibs-apidox
320 dohtml -r ${P}-apidocs/*
321 fi
322
323 if use aqua; then
324 einfo "fixing ${PN} plugins"
325
326 local _PV=${PV:0:3}.0
327 local _dir=${EPREFIX}/usr/$(get_libdir)/kde4/plugins/script
328
329 install_name_tool -id \
330 "${_dir}/libkrossqtsplugin.${_PV}.dylib" \
331 "${D}/${_dir}/libkrossqtsplugin.${_PV}.dylib" \
332 || die "failed fixing libkrossqtsplugin.${_PV}.dylib"
333
334 einfo "fixing ${PN} cmake detection files"
335 #sed -i -e \
336 # "s:if (HAVE_XKB):if (HAVE_XKB AND NOT APPLE):g" \
337 echo -e "set(XKB_FOUND FALSE)\nset(HAVE_XKB FALSE)" > \
338 "${ED}"/usr/share/apps/cmake/modules/FindXKB.cmake \
339 || die "failed fixing FindXKB.cmake"
340 fi
341
342 einfo Installing environment file.
343 echo "COLON_SEPARATED=QT_PLUGIN_PATH" > "${T}/77kde"
344 echo "QT_PLUGIN_PATH=${EPREFIX}/usr/$(get_libdir)/kde4/plugins" >> "${T}/77kde"
345 doenvd "${T}/77kde"
346 }
347
348 pkg_postinst() {
349 fdo-mime_mime_database_update
350
351 if use zeroconf; then
352 echo
353 elog "To make zeroconf support available in KDE make sure that the 'mdnsd' daemon"
354 elog "is running."
355 echo
356 einfo "If you also want to use zeroconf for hostname resolution, emerge sys-auth/nss-mdns"
357 einfo "and enable multicast dns lookups by editing the 'hosts:' line in /etc/nsswitch.conf"
358 einfo "to include 'mdns', e.g.:"
359 einfo " hosts: files mdns dns"
360 echo
361 fi
362
363 if has_version 'net-libs/libproxy'; then
364 echo
365 elog "You have net-libs/libproxy installed. This may lead to serious problems, e.g."
366 elog "not being able to log in. We used to prohibit that combination via a blocker,"
367 elog "however the blocker has been removed because of popular request. Now everyone"
368 elog "may shoot himself in the foot as much as he wants."
369 ewarn "If you encounter timeouts and/or hangs, please have a look at bug 365479,"
370 ewarn "https://bugs.gentoo.org/show_bug.cgi?id=365479"
371 fi
372
373 elog "Your homedir is set to \${HOME}/.kde4"
374 echo
375
376 kde4-base_pkg_postinst
377 }
378
379 pkg_prerm() {
380 # Remove ksycoca4 global database
381 rm -f "${EROOT}${PREFIX}"/share/kde4/services/ksycoca4
382 }
383
384 pkg_postrm() {
385 fdo-mime_mime_database_update
386
387 kde4-base_pkg_postrm
388 }
389
390
391
392 1.5 kde-base/kdelibs/kdelibs-4.6.3-r3.ebuild
393
394 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/kde-base/kdelibs/kdelibs-4.6.3-r3.ebuild?rev=1.5&view=markup
395 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/kde-base/kdelibs/kdelibs-4.6.3-r3.ebuild?rev=1.5&content-type=text/plain
396 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/kde-base/kdelibs/kdelibs-4.6.3-r3.ebuild?r1=1.4&r2=1.5
397
398
399
400
401 1.1 kde-base/kdelibs/kdelibs-4.7.1-r3.ebuild
402
403 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/kde-base/kdelibs/kdelibs-4.7.1-r3.ebuild?rev=1.1&view=markup
404 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/kde-base/kdelibs/kdelibs-4.7.1-r3.ebuild?rev=1.1&content-type=text/plain
405
406 Index: kdelibs-4.7.1-r3.ebuild
407 ===================================================================
408 # Copyright 1999-2011 Gentoo Foundation
409 # Distributed under the terms of the GNU General Public License v2
410 # $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/kdelibs-4.7.1-r3.ebuild,v 1.1 2011/10/03 13:29:21 dilfridge Exp $
411
412 EAPI=4
413
414 CPPUNIT_REQUIRED="optional"
415 DECLARATIVE_REQUIRED="always"
416 OPENGL_REQUIRED="optional"
417 KDE_SCM="git"
418 inherit kde4-base fdo-mime toolchain-funcs
419
420 DESCRIPTION="KDE libraries needed by all KDE programs."
421 HOMEPAGE="http://www.kde.org/"
422
423 KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
424 LICENSE="LGPL-2.1"
425 IUSE="3dnow acl alsa altivec bindist +bzip2 debug doc fam +handbook jpeg2k kerberos
426 lzma mmx nls openexr +policykit semantic-desktop spell sse sse2 ssl +udev
427 +udisks +upower upnp zeroconf"
428
429 REQUIRED_USE="
430 udisks? ( udev )
431 upower? ( udev )
432 "
433
434 # needs the kate regression testsuite from svn
435 RESTRICT="test"
436
437 COMMONDEPEND="
438 app-crypt/qca:2
439 >=app-misc/strigi-0.7.6
440 >=dev-libs/libattica-0.1.90
441 >=dev-libs/libdbusmenu-qt-0.3.2
442 dev-libs/libpcre[unicode]
443 dev-libs/libxml2
444 dev-libs/libxslt
445 media-libs/fontconfig
446 media-libs/freetype:2
447 media-libs/giflib
448 >=media-libs/libpng-1.4
449 >=media-libs/phonon-4.4.3
450 sys-libs/zlib
451 virtual/jpeg
452 >=x11-misc/shared-mime-info-0.60
453 acl? ( virtual/acl )
454 alsa? ( media-libs/alsa-lib )
455 !aqua? (
456 x11-libs/libICE
457 x11-libs/libSM
458 x11-libs/libX11
459 x11-libs/libXau
460 x11-libs/libXcursor
461 x11-libs/libXdmcp
462 x11-libs/libXext
463 x11-libs/libXfixes
464 x11-libs/libXft
465 x11-libs/libXpm
466 x11-libs/libXrender
467 x11-libs/libXScrnSaver
468 x11-libs/libXtst
469 !kernel_SunOS? ( sys-libs/libutempter )
470 )
471 bzip2? ( app-arch/bzip2 )
472 fam? ( virtual/fam )
473 jpeg2k? ( media-libs/jasper )
474 kerberos? ( virtual/krb5 )
475 lzma? ( app-arch/xz-utils )
476 openexr? (
477 media-libs/openexr
478 media-libs/ilmbase
479 )
480 policykit? ( >=sys-auth/polkit-qt-0.99 )
481 semantic-desktop? (
482 >=dev-libs/shared-desktop-ontologies-0.6.50
483 >=dev-libs/soprano-2.6.51[dbus,raptor,redland]
484 )
485 spell? ( app-text/enchant )
486 ssl? ( dev-libs/openssl )
487 udev? ( sys-fs/udev )
488 upnp? ( media-libs/herqq )
489 zeroconf? (
490 || (
491 net-dns/avahi[mdnsresponder-compat]
492 !bindist? ( net-misc/mDNSResponder )
493 )
494 )
495 "
496 DEPEND="${COMMONDEPEND}
497 app-text/docbook-xml-dtd:4.2
498 app-text/docbook-xsl-stylesheets
499 doc? ( app-doc/doxygen )
500 nls? ( virtual/libintl )
501 "
502 RDEPEND="${COMMONDEPEND}
503 !dev-libs/conversion
504 !dev-libs/kunitconversion
505 !x11-libs/qt-phonon
506 !<=kde-misc/kdnssd-avahi-0.1.2:0
507 !<=kde-misc/knetworkmanager-4.4.0_p20100820
508 >=app-crypt/gnupg-2.0.11
509 app-misc/ca-certificates
510 $(add_kdebase_dep kde-env)
511 !aqua? (
512 x11-apps/iceauth
513 x11-apps/rgb
514 >=x11-misc/xdg-utils-1.0.2-r3
515 udisks? ( sys-fs/udisks )
516 upower? ( sys-power/upower )
517 )
518 "
519 PDEPEND="
520 || ( ( $(add_kdebase_dep kfmclient) ) x11-misc/xdg-utils )
521 handbook? ( $(add_kdebase_dep khelpcenter) )
522 policykit? (
523 >=kde-misc/polkit-kde-kcmodules-0.98_pre20101127
524 >=sys-auth/polkit-kde-agent-0.99
525 )
526 semantic-desktop? ( $(add_kdebase_dep nepomuk) )
527 "
528
529 # Blockers added due to packages from old versions, removed in the meanwhile
530 # as well as for file collisions
531 add_blocker libknotificationitem
532 add_blocker libkworkspace '<4.3.66'
533 add_blocker kcontrol '<4.5.80'
534 # @since 4.4 - kpilot is gone (blocker added to help upgrades)
535 add_blocker kpilot
536 # Block some old versions of KDE-3.5 packages that don't work well with KDE-4
537 add_blocker kdebase 0 3.5.9-r4:3.5
538 add_blocker kdebase-startkde 0 3.5.10:3.5
539 add_blocker kdelibs 0 '<3.5.10:3.5'
540 # Force the upgrade of plasma-workspace to a version that explicitly depends on kactivities
541 add_blocker plasma-workspace 4.7.1
542
543 PATCHES=(
544 "${FILESDIR}/dist/01_gentoo_set_xdg_menu_prefix-1.patch"
545 "${FILESDIR}/dist/02_gentoo_append_xdg_config_dirs-1.patch"
546 "${FILESDIR}/${PN}-4.5.90-mimetypes.patch"
547 "${FILESDIR}/${PN}-4.4.90-xslt.patch"
548 "${FILESDIR}/${PN}-4.6.3-no_suid_kdeinit.patch"
549 "${FILESDIR}/${PN}-4.6.3-bytecode.patch"
550 "${FILESDIR}/${PN}-4.7.1-clearbutton.patch"
551 "${FILESDIR}/${PN}-4.7.1-libpng15.patch"
552 "${FILESDIR}/${PN}-4.7.1-qlabel-1.patch"
553 "${FILESDIR}/${PN}-4.7.1-qlabel-2.patch"
554 )
555
556 pkg_pretend() {
557 if [[ ${MERGE_TYPE} != binary ]]; then
558 [[ $(gcc-major-version) -lt 4 ]] || \
559 ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -le 3 ]] ) \
560 && die "Sorry, but gcc-4.3 and earlier won't work for KDE SC 4.6 (see bug #354837)."
561 fi
562 }
563
564 src_prepare() {
565 kde4-base_src_prepare
566 use arm && epatch "${FILESDIR}/${PN}-4.6.2-armlinking.patch"
567
568 # Rename applications.menu (needs 01_gentoo_set_xdg_menu_prefix-1.patch to work)
569 sed -e 's|FILES[[:space:]]applications.menu|FILES applications.menu RENAME kde-4-applications.menu|g' \
570 -i kded/CMakeLists.txt || die "Sed on CMakeLists.txt for applications.menu failed."
571
572 if use aqua; then
573 sed -i -e \
574 "s:BUNDLE_INSTALL_DIR \"/Applications:BUNDLE_INSTALL_DIR \"${EPREFIX}/${APP_BUNDLE_DIR}:g" \
575 cmake/modules/FindKDE4Internal.cmake || die "failed to sed FindKDE4Internal.cmake"
576
577 #if [[ ${CHOST} == *-darwin8 ]]; then
578 sed -i -e \
579 "s:set(_add_executable_param MACOSX_BUNDLE):remove(_add_executable_param MACOSX_BUNDLE):g" \
580 cmake/modules/KDE4Macros.cmake || die "failed to sed KDE4Macros.cmake"
581 #fi
582
583 # solid/solid/backends/iokit doesn't properly link, so disable it.
584 sed -e "s|\(APPLE\)|(FALSE)|g" -i solid/solid/CMakeLists.txt \
585 || die "disabling solid/solid/backends/iokit failed"
586 sed -e "s|m_backend = .*Backends::IOKit.*;|m_backend = 0;|g" -i solid/solid/managerbase.cpp \
587 || die "disabling solid/solid/backends/iokit failed"
588
589 # There's no fdatasync on OSX and the check fails to detect that.
590 sed -e "/HAVE_FDATASYNC/ d" -i config.h.cmake \
591 || die "disabling fdatasync failed"
592
593 # Fix nameser include to nameser8_compat
594 sed -e "s|nameser8_compat.h|nameser_compat.h|g" -i kio/misc/kpac/discovery.cpp \
595 || die "fixing nameser include failed"
596 append-flags -DHAVE_ARPA_NAMESER8_COMPAT_H=1
597
598 # Try to fix kkeyserver_mac
599 epatch "${FILESDIR}"/${PN}-4.3.80-kdeui_util_kkeyserver_mac.patch
600 fi
601
602 if [[ ${CHOST} == *-solaris* ]] ; then
603 epatch "${FILESDIR}/kdelibs-4.3.2-solaris-ksyscoca.patch"
604 # getgrouplist not in solaris libc
605 epatch "${FILESDIR}/kdelibs-4.3.2-solaris-getgrouplist.patch"
606 # solaris has no d_type element in dir_ent
607 epatch "${FILESDIR}/kdelibs-4.3.2-solaris-fileunix.patch"
608 fi
609 }
610
611 src_configure() {
612 if use zeroconf; then
613 if has_version net-dns/avahi; then
614 mycmakeargs=(-DWITH_Avahi=ON -DWITH_DNSSD=OFF)
615 elif has_version net-misc/mDNSResponder; then
616 mycmakeargs=(-DWITH_Avahi=OFF -DWITH_DNSSD=ON)
617 else
618 die "USE=\"zeroconf\" enabled but neither net-dns/avahi nor net-misc/mDNSResponder were found."
619 fi
620 else
621 mycmakeargs=(-DWITH_Avahi=OFF -DWITH_DNSSD=OFF)
622 fi
623 mycmakeargs+=(
624 -DWITH_HSPELL=OFF
625 -DWITH_ASPELL=OFF
626 -DKDE_DEFAULT_HOME=.kde4
627 -DKAUTH_BACKEND=POLKITQT-1
628 -DBUILD_libkactivities=OFF
629 $(cmake-utils_use_build handbook doc)
630 $(cmake-utils_use_has 3dnow X86_3DNOW)
631 $(cmake-utils_use_has altivec PPC_ALTIVEC)
632 $(cmake-utils_use_has mmx X86_MMX)
633 $(cmake-utils_use_has sse X86_SSE)
634 $(cmake-utils_use_has sse2 X86_SSE2)
635 $(cmake-utils_use_with acl)
636 $(cmake-utils_use_with alsa)
637 $(cmake-utils_use_with bzip2 BZip2)
638 $(cmake-utils_use_with fam)
639 $(cmake-utils_use_with jpeg2k Jasper)
640 $(cmake-utils_use_with kerberos GSSAPI)
641 $(cmake-utils_use_with lzma LibLZMA)
642 $(cmake-utils_use_with nls Libintl)
643 $(cmake-utils_use_with openexr OpenEXR)
644 $(cmake-utils_use_with opengl OpenGL)
645 $(cmake-utils_use_with policykit PolkitQt-1)
646 $(cmake-utils_use_with semantic-desktop Soprano)
647 $(cmake-utils_use_with semantic-desktop SharedDesktopOntologies)
648 $(cmake-utils_use_with spell ENCHANT)
649 $(cmake-utils_use_with ssl OpenSSL)
650 $(cmake-utils_use_with udev UDev)
651 $(cmake-utils_use_with upnp HUpnp)
652 )
653 kde4-base_src_configure
654 }
655
656 src_compile() {
657 kde4-base_src_compile
658
659 # The building of apidox is not managed anymore by the build system
660 if use doc; then
661 einfo "Building API documentation"
662 cd "${S}"/doc/api/
663 ./doxygen.sh "${S}" || die "APIDOX generation failed"
664 fi
665 }
666
667 src_install() {
668 kde4-base_src_install
669
670 # use system certificates
671 rm -f "${ED}"/usr/share/apps/kssl/ca-bundle.crt || die
672 dosym /etc/ssl/certs/ca-certificates.crt /usr/share/apps/kssl/ca-bundle.crt
673
674 if use doc; then
675 einfo "Installing API documentation. This could take a bit of time."
676 cd "${S}"/doc/api/
677 docinto /HTML/en/kdelibs-apidox
678 dohtml -r ${P}-apidocs/*
679 fi
680
681 if use aqua; then
682 einfo "fixing ${PN} plugins"
683
684 local _PV=${PV:0:3}.0
685 local _dir=${EPREFIX}/usr/$(get_libdir)/kde4/plugins/script
686
687 install_name_tool -id \
688 "${_dir}/libkrossqtsplugin.${_PV}.dylib" \
689 "${D}/${_dir}/libkrossqtsplugin.${_PV}.dylib" \
690 || die "failed fixing libkrossqtsplugin.${_PV}.dylib"
691
692 einfo "fixing ${PN} cmake detection files"
693 #sed -i -e \
694 # "s:if (HAVE_XKB):if (HAVE_XKB AND NOT APPLE):g" \
695 echo -e "set(XKB_FOUND FALSE)\nset(HAVE_XKB FALSE)" > \
696 "${ED}"/usr/share/apps/cmake/modules/FindXKB.cmake \
697 || die "failed fixing FindXKB.cmake"
698 fi
699
700 einfo Installing environment file.
701 # Since 44qt4 is sourced earlier QT_PLUGIN_PATH is defined.
702 echo "COLON_SEPARATED=QT_PLUGIN_PATH" > "${T}/77kde"
703 echo "QT_PLUGIN_PATH=${EPREFIX}/usr/$(get_libdir)/kde4/plugins" >> "${T}/77kde"
704 doenvd "${T}/77kde"
705 }
706
707 pkg_postinst() {
708 fdo-mime_mime_database_update
709
710 if use zeroconf; then
711 echo
712 elog "To make zeroconf support available in KDE make sure that the 'mdnsd' daemon"
713 elog "is running."
714 echo
715 einfo "If you also want to use zeroconf for hostname resolution, emerge sys-auth/nss-mdns"
716 einfo "and enable multicast dns lookups by editing the 'hosts:' line in /etc/nsswitch.conf"
717 einfo "to include 'mdns', e.g.:"
718 einfo " hosts: files mdns dns"
719 echo
720 fi
721
722 elog "Your homedir is set to \${HOME}/.kde4"
723 echo
724
725 kde4-base_pkg_postinst
726 }
727
728 pkg_prerm() {
729 # Remove ksycoca4 global database
730 rm -f "${EROOT}${PREFIX}"/share/kde4/services/ksycoca4
731 }
732
733 pkg_postrm() {
734 fdo-mime_mime_database_update
735
736 kde4-base_pkg_postrm
737 }