Line 0
Link Here
|
0 |
- |
1 |
# Copyright 1999-2014 Gentoo Foundation |
|
|
2 |
# Distributed under the terms of the GNU General Public License v2 |
3 |
# $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/kdelibs-4.13.3-r1.ebuild,v 1.1 2014/07/23 11:07:59 kensington Exp $ |
4 |
|
5 |
EAPI=5 |
6 |
|
7 |
CPPUNIT_REQUIRED="optional" |
8 |
DECLARATIVE_REQUIRED="always" |
9 |
OPENGL_REQUIRED="optional" |
10 |
KDE_HANDBOOK="optional" |
11 |
inherit kde4-base fdo-mime multilib toolchain-funcs flag-o-matic |
12 |
|
13 |
EGIT_BRANCH="KDE/4.13" |
14 |
|
15 |
DESCRIPTION="KDE libraries needed by all KDE programs." |
16 |
|
17 |
KEYWORDS=" ~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" |
18 |
LICENSE="LGPL-2.1" |
19 |
IUSE="3dnow acl alsa altivec +bzip2 debug doc fam jpeg2k kerberos lzma mmx |
20 |
nepomuk nls openexr +policykit spell sse sse2 ssl +udev +udisks +upower |
21 |
zeroconf" |
22 |
|
23 |
REQUIRED_USE=" |
24 |
udisks? ( udev ) |
25 |
upower? ( udev ) |
26 |
" |
27 |
|
28 |
# needs the kate regression testsuite from svn |
29 |
RESTRICT="test" |
30 |
|
31 |
COMMONDEPEND=" |
32 |
app-crypt/qca:2 |
33 |
>=app-misc/strigi-0.7.7 |
34 |
app-text/docbook-xml-dtd:4.2 |
35 |
app-text/docbook-xsl-stylesheets |
36 |
>=dev-libs/libattica-0.4.2 |
37 |
>=dev-libs/libdbusmenu-qt-0.3.2 |
38 |
dev-libs/libpcre[unicode] |
39 |
dev-libs/libxml2 |
40 |
dev-libs/libxslt |
41 |
media-libs/fontconfig |
42 |
media-libs/freetype:2 |
43 |
media-libs/giflib |
44 |
media-libs/libpng:0= |
45 |
>=media-libs/phonon-4.4.3 |
46 |
sys-libs/zlib |
47 |
virtual/jpeg:0 |
48 |
>=x11-misc/shared-mime-info-0.60 |
49 |
acl? ( virtual/acl ) |
50 |
alsa? ( media-libs/alsa-lib ) |
51 |
!aqua? ( |
52 |
x11-libs/libICE |
53 |
x11-libs/libSM |
54 |
x11-libs/libX11 |
55 |
x11-libs/libXau |
56 |
x11-libs/libXcursor |
57 |
x11-libs/libXdmcp |
58 |
x11-libs/libXext |
59 |
x11-libs/libXfixes |
60 |
x11-libs/libXft |
61 |
x11-libs/libXpm |
62 |
x11-libs/libXrender |
63 |
x11-libs/libXScrnSaver |
64 |
x11-libs/libXtst |
65 |
!kernel_SunOS? ( |
66 |
|| ( |
67 |
sys-libs/libutempter |
68 |
>=sys-freebsd/freebsd-lib-9.0 |
69 |
) |
70 |
) |
71 |
) |
72 |
bzip2? ( app-arch/bzip2 ) |
73 |
fam? ( virtual/fam ) |
74 |
jpeg2k? ( media-libs/jasper ) |
75 |
kerberos? ( virtual/krb5 ) |
76 |
nepomuk? ( |
77 |
>=dev-libs/shared-desktop-ontologies-0.11.0 |
78 |
>=dev-libs/soprano-2.9.0[dbus,raptor,redland] |
79 |
) |
80 |
openexr? ( |
81 |
media-libs/openexr:= |
82 |
media-libs/ilmbase:= |
83 |
) |
84 |
policykit? ( >=sys-auth/polkit-qt-0.103.0 ) |
85 |
spell? ( app-text/enchant ) |
86 |
ssl? ( dev-libs/openssl ) |
87 |
udev? ( virtual/udev ) |
88 |
zeroconf? ( net-dns/avahi[mdnsresponder-compat] ) |
89 |
" |
90 |
DEPEND="${COMMONDEPEND} |
91 |
doc? ( app-doc/doxygen ) |
92 |
nls? ( virtual/libintl ) |
93 |
" |
94 |
RDEPEND="${COMMONDEPEND} |
95 |
!dev-qt/qtphonon |
96 |
!<=kde-base/plasma-workspace-4.7.1:4 |
97 |
!<=kde-base/kcontrol-4.4.50:4 |
98 |
>=app-crypt/gnupg-2.0.11 |
99 |
app-misc/ca-certificates |
100 |
$(add_kdebase_dep kde-env) |
101 |
sys-apps/dbus[X] |
102 |
!aqua? ( |
103 |
udisks? ( sys-fs/udisks:2 ) |
104 |
x11-apps/iceauth |
105 |
x11-apps/rgb |
106 |
>=x11-misc/xdg-utils-1.0.2-r3 |
107 |
upower? ( || ( >=sys-power/upower-0.9.23 sys-power/upower-pm-utils ) ) |
108 |
) |
109 |
udev? ( app-misc/media-player-info ) |
110 |
" |
111 |
PDEPEND=" |
112 |
$(add_kdebase_dep katepart) |
113 |
|| ( |
114 |
$(add_kdebase_dep kfmclient) |
115 |
x11-misc/xdg-utils |
116 |
) |
117 |
handbook? ( |
118 |
|| ( |
119 |
$(add_kdebase_dep khelpcenter) |
120 |
kde-base/khelpcenter:5[kde4_compat] |
121 |
) |
122 |
) |
123 |
nepomuk? ( |
124 |
$(add_kdebase_dep nepomuk-core) |
125 |
$(add_kdebase_dep nepomuk-widgets) |
126 |
) |
127 |
policykit? ( |
128 |
>=sys-auth/polkit-kde-agent-0.99 |
129 |
) |
130 |
" |
131 |
|
132 |
PATCHES=( |
133 |
"${FILESDIR}/dist/01_gentoo_set_xdg_menu_prefix-1.patch" |
134 |
"${FILESDIR}/dist/02_gentoo_append_xdg_config_dirs-1.patch" |
135 |
"${FILESDIR}/${PN}-4.7.96-mimetypes.patch" |
136 |
"${FILESDIR}/${PN}-4.4.90-xslt.patch" |
137 |
"${FILESDIR}/${PN}-4.6.2-armlinking.patch" |
138 |
"${FILESDIR}/${PN}-4.6.3-no_suid_kdeinit.patch" |
139 |
"${FILESDIR}/${PN}-4.8.1-norpath.patch" |
140 |
"${FILESDIR}/${PN}-4.9.3-werror.patch" |
141 |
"${FILESDIR}/${PN}-4.10.0-udisks.patch" |
142 |
"${FILESDIR}/${PN}-4.13.3-CVE-2014-5033.patch" |
143 |
) |
144 |
|
145 |
pkg_pretend() { |
146 |
if [[ ${MERGE_TYPE} != binary ]]; then |
147 |
[[ $(gcc-major-version) -lt 4 ]] || \ |
148 |
( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -le 3 ]] ) \ |
149 |
&& die "Sorry, but gcc-4.3 and earlier won't work for KDE SC 4.6 (see bug #354837)." |
150 |
fi |
151 |
} |
152 |
|
153 |
src_prepare() { |
154 |
kde4-base_src_prepare |
155 |
|
156 |
# Rename applications.menu (needs 01_gentoo_set_xdg_menu_prefix-1.patch to work) |
157 |
sed -e 's|FILES[[:space:]]applications.menu|FILES applications.menu RENAME kde-4-applications.menu|g' \ |
158 |
-i kded/CMakeLists.txt || die "Sed on CMakeLists.txt for applications.menu failed." |
159 |
|
160 |
if use aqua; then |
161 |
sed -i -e \ |
162 |
"s:BUNDLE_INSTALL_DIR \"/Applications:BUNDLE_INSTALL_DIR \"${EPREFIX}/${APP_BUNDLE_DIR}:g" \ |
163 |
cmake/modules/FindKDE4Internal.cmake || die "failed to sed FindKDE4Internal.cmake" |
164 |
|
165 |
#if [[ ${CHOST} == *-darwin8 ]]; then |
166 |
sed -i -e \ |
167 |
"s:set(_add_executable_param MACOSX_BUNDLE):remove(_add_executable_param MACOSX_BUNDLE):g" \ |
168 |
cmake/modules/KDE4Macros.cmake || die "failed to sed KDE4Macros.cmake" |
169 |
#fi |
170 |
|
171 |
# solid/solid/backends/iokit doesn't properly link, so disable it. |
172 |
sed -e "s|\(APPLE\)|(FALSE)|g" -i solid/solid/CMakeLists.txt \ |
173 |
|| die "disabling solid/solid/backends/iokit failed" |
174 |
sed -e "s|m_backend = .*Backends::IOKit.*;|m_backend = 0;|g" -i solid/solid/managerbase.cpp \ |
175 |
|| die "disabling solid/solid/backends/iokit failed" |
176 |
|
177 |
# There's no fdatasync on OSX and the check fails to detect that. |
178 |
sed -e "/HAVE_FDATASYNC/ d" -i config.h.cmake \ |
179 |
|| die "disabling fdatasync failed" |
180 |
|
181 |
# Fix nameser include to nameser8_compat |
182 |
sed -e "s|nameser8_compat.h|nameser_compat.h|g" -i kio/misc/kpac/discovery.cpp \ |
183 |
|| die "fixing nameser include failed" |
184 |
append-flags -DHAVE_ARPA_NAMESER8_COMPAT_H=1 |
185 |
|
186 |
# Try to fix kkeyserver_mac |
187 |
epatch "${FILESDIR}"/${PN}-4.3.80-kdeui_util_kkeyserver_mac.patch |
188 |
fi |
189 |
} |
190 |
|
191 |
src_configure() { |
192 |
local mycmakeargs=( |
193 |
-DWITH_HSPELL=OFF |
194 |
-DWITH_ASPELL=OFF |
195 |
-DWITH_DNSSD=OFF |
196 |
-DKDE_DEFAULT_HOME=.kde4 |
197 |
-DKAUTH_BACKEND=POLKITQT-1 |
198 |
-DBUILD_libkactivities=OFF |
199 |
$(cmake-utils_use_build handbook doc) |
200 |
$(cmake-utils_use_has 3dnow X86_3DNOW) |
201 |
$(cmake-utils_use_has altivec PPC_ALTIVEC) |
202 |
$(cmake-utils_use_has mmx X86_MMX) |
203 |
$(cmake-utils_use_has sse X86_SSE) |
204 |
$(cmake-utils_use_has sse2 X86_SSE2) |
205 |
$(cmake-utils_use_with acl) |
206 |
$(cmake-utils_use_with alsa) |
207 |
$(cmake-utils_use_with bzip2 BZip2) |
208 |
$(cmake-utils_use_with fam) |
209 |
$(cmake-utils_use_with jpeg2k Jasper) |
210 |
$(cmake-utils_use_with kerberos GSSAPI) |
211 |
$(cmake-utils_use_with lzma LibLZMA) |
212 |
$(cmake-utils_use_with nepomuk Soprano) |
213 |
$(cmake-utils_use_with nepomuk SharedDesktopOntologies) |
214 |
$(cmake-utils_use_with nls Libintl) |
215 |
$(cmake-utils_use_with openexr OpenEXR) |
216 |
$(cmake-utils_use_with opengl OpenGL) |
217 |
$(cmake-utils_use_with policykit PolkitQt-1) |
218 |
$(cmake-utils_use_with spell ENCHANT) |
219 |
$(cmake-utils_use_with ssl OpenSSL) |
220 |
$(cmake-utils_use_with udev UDev) |
221 |
$(cmake-utils_use_with udisks SOLID_UDISKS2) |
222 |
$(cmake-utils_use_with zeroconf Avahi) |
223 |
) |
224 |
kde4-base_src_configure |
225 |
} |
226 |
|
227 |
src_compile() { |
228 |
kde4-base_src_compile |
229 |
|
230 |
# The building of apidox is not managed anymore by the build system |
231 |
if use doc; then |
232 |
einfo "Building API documentation" |
233 |
cd "${S}"/doc/api/ |
234 |
./doxygen.sh "${S}" || die "APIDOX generation failed" |
235 |
fi |
236 |
} |
237 |
|
238 |
src_install() { |
239 |
kde4-base_src_install |
240 |
|
241 |
# use system certificates |
242 |
rm -f "${ED}"/usr/share/apps/kssl/ca-bundle.crt || die |
243 |
dosym /etc/ssl/certs/ca-certificates.crt /usr/share/apps/kssl/ca-bundle.crt |
244 |
|
245 |
if use doc; then |
246 |
einfo "Installing API documentation. This could take a bit of time." |
247 |
cd "${S}"/doc/api/ |
248 |
docinto /HTML/en/kdelibs-apidox |
249 |
dohtml -r ${P}-apidocs/* |
250 |
fi |
251 |
|
252 |
if use aqua; then |
253 |
einfo "fixing ${PN} plugins" |
254 |
|
255 |
local _PV=${PV:0:3}.0 |
256 |
local _dir=${EPREFIX}/usr/$(get_libdir)/kde4/plugins/script |
257 |
|
258 |
install_name_tool -id \ |
259 |
"${_dir}/libkrossqtsplugin.${_PV}.dylib" \ |
260 |
"${D}/${_dir}/libkrossqtsplugin.${_PV}.dylib" \ |
261 |
|| die "failed fixing libkrossqtsplugin.${_PV}.dylib" |
262 |
|
263 |
einfo "fixing ${PN} cmake detection files" |
264 |
#sed -i -e \ |
265 |
# "s:if (HAVE_XKB):if (HAVE_XKB AND NOT APPLE):g" \ |
266 |
echo -e "set(XKB_FOUND FALSE)\nset(HAVE_XKB FALSE)" > \ |
267 |
"${ED}"/usr/share/apps/cmake/modules/FindXKB.cmake \ |
268 |
|| die "failed fixing FindXKB.cmake" |
269 |
fi |
270 |
|
271 |
einfo Installing environment file. |
272 |
# Since 44qt4 is sourced earlier QT_PLUGIN_PATH is defined. |
273 |
echo "COLON_SEPARATED=QT_PLUGIN_PATH" > "${T}/77kde" |
274 |
echo "QT_PLUGIN_PATH=${EPREFIX}/usr/$(get_libdir)/kde4/plugins" >> "${T}/77kde" |
275 |
doenvd "${T}/77kde" |
276 |
} |
277 |
|
278 |
pkg_postinst() { |
279 |
fdo-mime_mime_database_update |
280 |
|
281 |
if use zeroconf; then |
282 |
echo |
283 |
elog "To make zeroconf support available in KDE make sure that the avahi daemon" |
284 |
elog "is running." |
285 |
echo |
286 |
einfo "If you also want to use zeroconf for hostname resolution, emerge sys-auth/nss-mdns" |
287 |
einfo "and enable multicast dns lookups by editing the 'hosts:' line in /etc/nsswitch.conf" |
288 |
einfo "to include 'mdns', e.g.:" |
289 |
einfo " hosts: files mdns dns" |
290 |
echo |
291 |
fi |
292 |
|
293 |
kde4-base_pkg_postinst |
294 |
} |
295 |
|
296 |
pkg_prerm() { |
297 |
# Remove ksycoca4 global database |
298 |
rm -f "${EROOT}${PREFIX}"/share/kde4/services/ksycoca4 |
299 |
} |
300 |
|
301 |
pkg_postrm() { |
302 |
fdo-mime_mime_database_update |
303 |
|
304 |
kde4-base_pkg_postrm |
305 |
} |